1735 lines
61 KiB
YAML
1735 lines
61 KiB
YAML
openapi: "3.0.3"
|
|
info:
|
|
title: ABT Notifications CRUD APIs
|
|
version: "1.0"
|
|
description: CRUD APIs for ABT Notification tables. These are NOT the functional APIs from Service Engine.
|
|
servers:
|
|
- url: https://services.acc.api.htm.nl/abt/notifications/1.0
|
|
paths:
|
|
/notificationsubscriptions:
|
|
get:
|
|
summary: Find one or more notification subscriptions
|
|
tags:
|
|
- Notification Subscriptions
|
|
parameters:
|
|
- name: notificationSubscriptionId
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
description: Filter by notification subscription ID
|
|
- name: notificationCategoryId
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
description: Filter by notification category ID
|
|
- name: customerProfileId
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
description: Filter by customer profile ID
|
|
- name: ovPayTokenId
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
description: Filter by OV Pay token ID
|
|
- name: isCurrentlyActive
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: boolean
|
|
description: Filters if most recent subscription active is active/inactive
|
|
- name: activityLimit
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
default: 1
|
|
description: Limit the number of subscription activities returned per subscription (default is 1)
|
|
- name: expand
|
|
in: query
|
|
schema:
|
|
type: string
|
|
enum: [none, notificationPreference, eventTypeChannel]
|
|
default: none
|
|
description: "Expand nested attributes. Possible values: `none`, `notificationPreference`, and `eventTypeChannel`."
|
|
responses:
|
|
"200":
|
|
description: A list of notification subscriptions
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/GetNotificationSubscriptionsResponse"
|
|
examples:
|
|
emptyNotificationSubscriptionResponse:
|
|
summary: No notification subscriptions found
|
|
value:
|
|
notificationSubscriptions: []
|
|
href: null
|
|
notificationSubscriptionResponse?expand=none:
|
|
summary: Return notification subscriptions without nested attributes (expand=none)
|
|
value:
|
|
notificationSubscriptions:
|
|
- notificationSubscriptionId: 5bedce29-af0c-4f3c-b182-2caa8a1f9377
|
|
notificationCategory:
|
|
notificationCategoryId: 1
|
|
name: Mijn Reizen
|
|
groupName: Mijn Passen
|
|
customerProfileId: 1337
|
|
ovPayTokenId: 42
|
|
subscriptionActivities:
|
|
- subscriptionActivityId: 30b32657-1ba1-44e0-8868-4db807695387
|
|
user: "1001337"
|
|
timestamp: "2025-10-02T15:00:00Z"
|
|
isActive: true
|
|
- subscriptionActivityId: f78bc171-a50e-4b88-88d3-a76585bffd54
|
|
user: "1001337"
|
|
timestamp: "2025-10-02T14:00:00Z"
|
|
isActive: false
|
|
- notificationSubscriptionId: 39e8d8e6-5c85-49b6-ba4b-62e47fa4f7fd
|
|
notificationCategory:
|
|
notificationCategoryId: 2
|
|
name: Nieuwsbrief aanmelding
|
|
groupName: Marketing
|
|
customerProfileId: 1338
|
|
ovPayTokenId: null
|
|
subscriptionActivities:
|
|
- subscriptionActivityId: 7fae0d2c-1e20-4f3e-b25d-fd8505a381c4
|
|
user: "1001338"
|
|
timestamp: "2025-10-02T15:00:00Z"
|
|
isActive: false
|
|
- subscriptionActivityId: cb2fc1d3-f143-4dd7-8608-4538e5637e3a
|
|
user: "1001338"
|
|
timestamp: "2025-10-02T14:00:00Z"
|
|
isActive: true
|
|
href: null
|
|
notificationSubscriptionResponse?expand=notificationPreference:
|
|
summary: Return notification subscriptions with nested notification preferences (expand=notificationPreference)
|
|
value:
|
|
notificationSubscriptions:
|
|
- notificationSubscriptionId: 5bedce29-af0c-4f3c-b182-2caa8a1f9377
|
|
notificationCategory:
|
|
notificationCategoryId: 1
|
|
name: Mijn Reizen
|
|
groupName: Mijn Passen
|
|
customerProfileId: 1337
|
|
ovPayTokenId: 42
|
|
subscriptionActivities:
|
|
- subscriptionActivityId: 30b32657-1ba1-44e0-8868-4db807695387
|
|
user: "1001337"
|
|
timestamp: "2025-10-02T15:00:00Z"
|
|
isActive: true
|
|
- subscriptionActivityId: f78bc171-a50e-4b88-88d3-a76585bffd54
|
|
user: "1001337"
|
|
timestamp: "2025-10-02T14:00:00Z"
|
|
isActive: false
|
|
notificationPreferences:
|
|
- notificationPreferenceId: d4e5f6a7-b8c9-40d1-ef01-234567890abc
|
|
eventTypeChannelId: ccc8c025-06b5-4928-a632-23e1c55cd173
|
|
resourceIdentifier: null
|
|
- notificationPreferenceId: e5f6a7b8-c9d0-41e2-f012-34567890abcd
|
|
eventTypeChannelId: da2deb4c-ce77-4b5f-aecc-ddebfd14349d
|
|
resourceIdentifier: 44
|
|
- notificationSubscriptionId: 39e8d8e6-5c85-49b6-ba4b-62e47fa4f7fd
|
|
notificationCategory:
|
|
notificationCategoryId: 2
|
|
name: Nieuwsbrief aanmelding
|
|
groupName: Marketing
|
|
customerProfileId: 1338
|
|
ovPayTokenId: null
|
|
subscriptionActivities:
|
|
- subscriptionActivityId: 7fae0d2c-1e20-4f3e-b25d-fd8505a381c4
|
|
user: "1001338"
|
|
timestamp: "2025-10-02T15:00:00Z"
|
|
isActive: false
|
|
- subscriptionActivityId: cb2fc1d3-f143-4dd7-8608-4538e5637e3a
|
|
user: "1001338"
|
|
timestamp: "2025-10-02T14:00:00Z"
|
|
isActive: true
|
|
notificationPreferences: []
|
|
href: null
|
|
notificationSubscriptionResponse?expand=eventTypeChannel:
|
|
summary: Return notification subscriptions with nested event type channels (expand=eventTypeChannel)
|
|
value:
|
|
notificationSubscriptions:
|
|
- notificationSubscriptionId: 5bedce29-af0c-4f3c-b182-2caa8a1f9377
|
|
notificationCategory:
|
|
notificationCategoryId: 1
|
|
name: Mijn Reizen
|
|
groupName: Mijn Passen
|
|
customerProfileId: 1337
|
|
ovPayTokenId: 42
|
|
subscriptionActivities:
|
|
- subscriptionActivityId: 30b32657-1ba1-44e0-8868-4db807695387
|
|
user: "1001337"
|
|
timestamp: "2025-10-02T15:00:00Z"
|
|
isActive: true
|
|
- subscriptionActivityId: f78bc171-a50e-4b88-88d3-a76585bffd54
|
|
user: "1001337"
|
|
timestamp: "2025-10-02T14:00:00Z"
|
|
isActive: false
|
|
notificationPreferences:
|
|
- notificationPreferenceId: d4e5f6a7-b8c9-40d1-ef01-234567890abc
|
|
eventTypeChannel:
|
|
eventTypeChannelId: ccc8c025-06b5-4928-a632-23e1c55cd173
|
|
channel:
|
|
channelId: 1
|
|
name: push
|
|
resourceName:
|
|
resourceNameId: 8
|
|
name: devices
|
|
isDefault: true
|
|
isMandatory: false
|
|
resourceIdentifier: null
|
|
- notificationPreferenceId: e5f6a7b8-c9d0-41e2-f012-34567890abcd
|
|
eventTypeChannelId:
|
|
eventTypeChannelId: da2deb4c-ce77-4b5f-aecc-ddebfd14349d
|
|
channel:
|
|
channelId: 2
|
|
name: email
|
|
resourceName:
|
|
resourceNameId: 4
|
|
name: customers
|
|
isDefault: false
|
|
isMandatory: false
|
|
resourceIdentifier: 44
|
|
- notificationSubscriptionId: 39e8d8e6-5c85-49b6-ba4b-62e47fa4f7fd
|
|
notificationCategory:
|
|
notificationCategoryId: 2
|
|
name: Nieuwsbrief aanmelding
|
|
groupName: Marketing
|
|
customerProfileId: 1338
|
|
ovPayTokenId: null
|
|
subscriptionActivities:
|
|
- subscriptionActivityId: 7fae0d2c-1e20-4f3e-b25d-fd8505a381c4
|
|
user: "1001338"
|
|
timestamp: "2025-10-02T15:00:00Z"
|
|
isActive: false
|
|
- subscriptionActivityId: cb2fc1d3-f143-4dd7-8608-4538e5637e3a
|
|
user: "1001338"
|
|
timestamp: "2025-10-02T14:00:00Z"
|
|
isActive: true
|
|
notificationPreferences: []
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/400Response"
|
|
"401":
|
|
description: Unauthorized
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/401Response"
|
|
"404":
|
|
description: Not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/404Response"
|
|
"500":
|
|
description: Internal server error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/500Response"
|
|
post:
|
|
summary: Create a new notification subscription
|
|
tags:
|
|
- Notification Subscriptions
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/PostNotificationSubscriptionRequest"
|
|
examples:
|
|
fullNotificationSubscriptionRequest:
|
|
value:
|
|
notificationCategoryId: 1
|
|
customerProfileId: 1337
|
|
subscriptionActivity:
|
|
user: "1001337"
|
|
timestamp: "2025-10-02T14:00:00Z"
|
|
isActive: true
|
|
responses:
|
|
"201":
|
|
description: Notification subscription created successfully
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/PostNotificationSubscriptionResponse"
|
|
examples:
|
|
notificationSubscriptionResponse:
|
|
value:
|
|
notificationSubscriptionId: 5bedce29-af0c-4f3c-b182-2caa8a1f9377
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/400Response"
|
|
"401":
|
|
description: Unauthorized
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/401Response"
|
|
"404":
|
|
description: Not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/404Response"
|
|
"500":
|
|
description: Internal server error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/500Response"
|
|
/notificationsubscriptions/{notificationSubscriptionId}:
|
|
parameters:
|
|
- name: notificationSubscriptionId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
example: 5bedce29-af0c-4f3c-b182-2caa8a1f9377
|
|
patch:
|
|
summary: Update a notification subscription by ID
|
|
tags:
|
|
- Notification Subscriptions
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/PatchNotificationSubscriptionRequest"
|
|
examples:
|
|
updateNotificationSubscriptionRequest:
|
|
value:
|
|
ovPayTokenId: 43
|
|
responses:
|
|
"200":
|
|
description: Notification subscription updated successfully
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/PatchNotificationSubscriptionResponse"
|
|
examples:
|
|
updateNotificationSubscriptionResponse:
|
|
value:
|
|
notificationSubscriptionId: 5bedce29-af0c-4f3c-b182-2caa8a1f9377
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/400Response"
|
|
"401":
|
|
description: Unauthorized
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/401Response"
|
|
"404":
|
|
description: Not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/404Response"
|
|
"500":
|
|
description: Internal server error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/500Response"
|
|
delete:
|
|
summary: Delete a notification subscription by ID
|
|
tags:
|
|
- Notification Subscriptions
|
|
responses:
|
|
"204":
|
|
description: No content
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/400Response"
|
|
"401":
|
|
description: Unauthorized
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/401Response"
|
|
"404":
|
|
description: Not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/404Response"
|
|
"500":
|
|
description: Internal server error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/500Response"
|
|
/notificationsubscriptions/{notificationSubscriptionId}/subscriptionactivities:
|
|
post:
|
|
summary: Add a subscription activity to a notification subscription
|
|
tags:
|
|
- Notification Subscriptions
|
|
parameters:
|
|
- name: notificationSubscriptionId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
example: 5bedce29-af0c-4f3c-b182-2caa8a1f9377
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/PostSubscriptionActivityRequest"
|
|
examples:
|
|
addSubscriptionActivityRequest:
|
|
value:
|
|
user: "1001337"
|
|
timestamp: "2025-10-08T15:00:00Z"
|
|
isActive: true
|
|
responses:
|
|
"201":
|
|
description: Subscription activity added successfully
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/PostSubscriptionActivityResponse"
|
|
examples:
|
|
addSubscriptionActivityResponse:
|
|
value:
|
|
subscriptionActivityId: 30b32657-1ba1-44e0-8868-4db807695387
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/400Response"
|
|
"401":
|
|
description: Unauthorized
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/401Response"
|
|
"404":
|
|
description: Not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/404Response"
|
|
"500":
|
|
description: Internal server error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/500Response"
|
|
/notificationsubscriptions/{notificationSubscriptionId}/notificationpreferences:
|
|
parameters:
|
|
- name: notificationSubscriptionId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
example: 5bedce29-af0c-4f3c-b182-2caa8a1f9377
|
|
post:
|
|
summary: Add a notification preference to a notification subscription
|
|
tags:
|
|
- Notification Preferences
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/PostNotificationPreferenceRequest"
|
|
examples:
|
|
addNotificationPreferenceNotNull:
|
|
summary: With non-null resource identifier
|
|
value:
|
|
eventTypeChannelId: ccc8c025-06b5-4928-a632-23e1c55cd173
|
|
resourceIdentifier: 44
|
|
addNotificationPreferenceNull:
|
|
summary: With null resource identifier
|
|
value:
|
|
eventTypeChannelId: ccc8c025-06b5-4928-a632-23e1c55cd173
|
|
resourceIdentifier: null
|
|
responses:
|
|
"201":
|
|
description: Notification preference added successfully
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/PostNotificationPreferenceResponse"
|
|
examples:
|
|
addNotificationPreferenceResponse:
|
|
value:
|
|
notificationPreferenceId: d4e5f6a7-b8c9-40d1-ef01-234567890abc
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/400Response"
|
|
"401":
|
|
description: Unauthorized
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/401Response"
|
|
"404":
|
|
description: Not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/404Response"
|
|
"500":
|
|
description: Internal server error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/500Response"
|
|
/notificationpreferences/{notificationPreferenceId}:
|
|
parameters:
|
|
- name: notificationPreferenceId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
example: d4e5f6a7-b8c9-40d1-ef01-234567890abc
|
|
patch:
|
|
summary: Update a notification preference by ID
|
|
tags:
|
|
- Notification Preferences
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/PatchNotificationPreferenceRequest"
|
|
examples:
|
|
updateNotificationPreferenceRequest:
|
|
value:
|
|
resourceIdentifier: 55
|
|
responses:
|
|
"200":
|
|
description: Notification preference updated successfully
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/PatchNotificationPreferenceResponse"
|
|
examples:
|
|
updateNotificationPreferenceResponse:
|
|
value:
|
|
notificationPreferenceId: d4e5f6a7-b8c9-40d1-ef01-234567890abc
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/400Response"
|
|
"401":
|
|
description: Unauthorized
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/401Response"
|
|
"404":
|
|
description: Not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/404Response"
|
|
"500":
|
|
description: Internal server error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/500Response"
|
|
delete:
|
|
summary: Delete a notification preference by ID
|
|
tags:
|
|
- Notification Preferences
|
|
responses:
|
|
"204":
|
|
description: No content
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/400Response"
|
|
"401":
|
|
description: Unauthorized
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/401Response"
|
|
"404":
|
|
description: Not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/404Response"
|
|
"500":
|
|
description: Internal server error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/500Response"
|
|
/notificationcategories:
|
|
get:
|
|
tags:
|
|
- Notification Categories
|
|
summary: Get all notification categories.
|
|
parameters:
|
|
- name: notificationCategoryId
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
description: Filter by notification category ID
|
|
- name: name
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
description: Filter by notification category name (case-insensitive, partial match)
|
|
- name: groupName
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: integer
|
|
description: Filter by notification category group name (case-insensitive, partial match)
|
|
- name: expand
|
|
in: query
|
|
schema:
|
|
type: string
|
|
enum: [none, eventType, eventTypeChannel]
|
|
default: none
|
|
description: "Expand nested attributes. Possible values: `none`, `eventType`, and `eventTypeChannel`."
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/GetNotificationCategoriesResponse"
|
|
examples:
|
|
getNotifactionCategories?expand=none:
|
|
summary: Return all the notification categories without nested attributes (expand=none)
|
|
value:
|
|
notificationCategories:
|
|
- notificationCategoryId: 1
|
|
name: Mijn Reizen
|
|
groupName: Mijn Passen
|
|
- notificationCategoryId: 2
|
|
name: Nieuwsbrief aanmelding
|
|
groupName: Marketing
|
|
- notificationCategoryId: 3
|
|
name: Serviceberichten
|
|
groupName: Mijn Passen
|
|
getNotifactionCategories?expand=eventType:
|
|
summary: Return all the notification categories with nested event types (expand=eventType)
|
|
value:
|
|
notificationCategories:
|
|
- notificationCategoryId: 1
|
|
name: Mijn Reizen
|
|
groupName: Mijn Passen
|
|
eventTypes:
|
|
- eventTypeId: 2
|
|
eventOrigin:
|
|
eventOriginId: 1
|
|
name: GBO
|
|
name: TRIPS
|
|
subName: CKI
|
|
prettyName: Normal Check-in
|
|
optinRequired: false
|
|
originSubscription:
|
|
originSubscriptionId: a1b2c3d4-e5f6-4789-abcd-1234567890ab
|
|
name: GBO_TRIPS
|
|
externalSubscriptionId: fedcba98-7654-3210-fedc-ba9876543210
|
|
- eventTypeId: 3
|
|
eventOrigin:
|
|
eventOriginId: 1
|
|
name: GBO
|
|
name: PAD
|
|
subName: AMEND
|
|
prettyName: PAD Wijzigen/Aanvullen
|
|
optinRequired: false
|
|
originSubscription:
|
|
originSubscriptionId: b2c3d4e5-f678-49ab-bcde-2345678901bc
|
|
name: GBO_PAD
|
|
externalSubscriptionId: edcba987-6543-210f-edcb-a9876543210f
|
|
- notificationCategoryId: 2
|
|
name: Nieuwsbrief aanmelding
|
|
groupName: Marketing
|
|
eventTypes:
|
|
- eventTypeId: 1
|
|
eventOrigin:
|
|
eventOriginId: 6
|
|
name: Maileon
|
|
name: newsletter
|
|
subName: null
|
|
prettyName: HTM nieuwsbrief
|
|
optinRequired: false
|
|
originSubscription: null
|
|
- notificationCategoryId: 3
|
|
name: Serviceberichten
|
|
groupName: Mijn Passen
|
|
eventTypes:
|
|
- eventTypeId: 4
|
|
eventOrigin:
|
|
eventOriginId: 1
|
|
name: GBO
|
|
name: PRODUCT
|
|
subName: ACTIVATE
|
|
prettyName: Product Geactiveerd
|
|
optinRequired: false
|
|
originSubscription:
|
|
originSubscriptionId: f1a2b3c4-d5e6-4789-abcd-3456789012de
|
|
name: GBO_PRODUCT
|
|
externalSubscriptionId: 12345678-90ab-cdef-1234-567890abcdef
|
|
- eventTypeId: 5
|
|
eventOrigin:
|
|
eventOriginId: 1
|
|
name: GBO
|
|
name: PAD
|
|
subName: MARK
|
|
prettyName: PAD Markering
|
|
optinRequired: false
|
|
originSubscription:
|
|
originSubscriptionId: b2c3d4e5-f678-49ab-bcde-2345678901bc
|
|
name: GBO_PAD
|
|
externalSubscriptionId: edcba987-6543-210f-edcb-a9876543210f
|
|
getNotifactionCategories?expand=eventTypeChannel:
|
|
summary: Return all the notification categories with all nested attributes (expand=eventTypeChannel)
|
|
value:
|
|
notificationCategories:
|
|
- notificationCategoryId: 1
|
|
name: Mijn Reizen
|
|
groupName: Mijn Passen
|
|
eventTypes:
|
|
- eventTypeId: 2
|
|
eventOrigin:
|
|
eventOriginId: 1
|
|
name: GBO
|
|
name: TRIPS
|
|
subName: CKI
|
|
prettyName: Normal Check-in
|
|
optinRequired: false
|
|
originSubscription:
|
|
originSubscriptionId: a1b2c3d4-e5f6-4789-abcd-1234567890ab
|
|
name: GBO_TRIPS
|
|
externalSubscriptionId: fedcba98-7654-3210-fedc-ba9876543210
|
|
eventTypeChannels:
|
|
- eventTypeChannelId: ccc8c025-06b5-4928-a632-23e1c55cd173
|
|
channel:
|
|
channelId: 1
|
|
name: push
|
|
resourceName:
|
|
resourceNameId: 8
|
|
name: devices
|
|
isDefault: true
|
|
isMandatory: false
|
|
- eventTypeChannelId: da2deb4c-ce77-4b5f-aecc-ddebfd14349d
|
|
channel:
|
|
channelId: 2
|
|
name: email
|
|
resourceName:
|
|
resourceNameId: 4
|
|
name: customers
|
|
isDefault: false
|
|
isMandatory: false
|
|
- eventTypeId: 3
|
|
eventOrigin:
|
|
eventOriginId: 1
|
|
name: GBO
|
|
name: PAD
|
|
subName: AMEND
|
|
prettyName: PAD Wijzigen/Aanvullen
|
|
optinRequired: false
|
|
originSubscription:
|
|
originSubscriptionId: b2c3d4e5-f678-49ab-bcde-2345678901bc
|
|
name: GBO_PAD
|
|
externalSubscriptionId: edcba987-6543-210f-edcb-a9876543210f
|
|
eventTypeChannels:
|
|
- eventTypeChannelId: 8e7df8f1-7e50-482f-8301-d399e75fd432
|
|
channel:
|
|
channelId: 1
|
|
name: push
|
|
resourceName:
|
|
resourceNameId: 8
|
|
name: devices
|
|
isDefault: true
|
|
isMandatory: false
|
|
- eventTypeChannelId: 72960a92-1855-469f-9cfd-5d72f57106f2
|
|
channel:
|
|
channelId: 2
|
|
name: email
|
|
resourceName:
|
|
resourceNameId: 4
|
|
name: customers
|
|
isDefault: false
|
|
isMandatory: false
|
|
- notificationCategoryId: 2
|
|
name: Nieuwsbrief aanmelding
|
|
groupName: Marketing
|
|
eventTypes:
|
|
- eventTypeId: 1
|
|
eventOrigin:
|
|
eventOriginId: 6
|
|
name: Maileon
|
|
name: newsletter
|
|
subName: null
|
|
prettyName: HTM nieuwsbrief
|
|
optinRequired: false
|
|
originSubscription: null
|
|
eventTypeChannels:
|
|
- eventTypeChannelId: 447a1116-6cd7-4645-8c3d-43237b6186cd
|
|
channel:
|
|
channelId: 2
|
|
name: email
|
|
resourceName:
|
|
resourceNameId: 4
|
|
name: customers
|
|
isDefault: true
|
|
isMandatory: false
|
|
- notificationCategoryId: 3
|
|
name: Serviceberichten
|
|
groupName: Mijn Passen
|
|
eventTypes:
|
|
- eventTypeId: 4
|
|
eventOrigin:
|
|
eventOriginId: 1
|
|
name: GBO
|
|
name: PRODUCT
|
|
subName: ACTIVATE
|
|
prettyName: Product Geactiveerd
|
|
optinRequired: false
|
|
originSubscription:
|
|
originSubscriptionId: f1a2b3c4-d5e6-4789-abcd-3456789012de
|
|
name: GBO_PRODUCT
|
|
externalSubscriptionId: 12345678-90ab-cdef-1234-567890abcdef
|
|
eventTypeChannels:
|
|
- eventTypeChannelId: be07c7bb-714b-4637-acf5-a67025ad8e60
|
|
channel:
|
|
channelId: 1
|
|
name: push
|
|
resourceName:
|
|
resourceNameId: 8
|
|
name: devices
|
|
isDefault: true
|
|
isMandatory: false
|
|
- eventTypeChannelId: 0c797b5a-ed34-494b-8c64-0a832830d392
|
|
channel:
|
|
channelId: 2
|
|
name: email
|
|
resourceName:
|
|
resourceNameId: 4
|
|
name: customers
|
|
isDefault: false
|
|
isMandatory: false
|
|
- eventTypeId: 5
|
|
eventOrigin:
|
|
eventOriginId: 1
|
|
name: GBO
|
|
name: PAD
|
|
subName: MARK
|
|
prettyName: PAD Markering
|
|
optinRequired: false
|
|
originSubscription:
|
|
originSubscriptionId: b2c3d4e5-f678-49ab-bcde-2345678901bc
|
|
name: GBO_PAD
|
|
externalSubscriptionId: edcba987-6543-210f-edcb-a9876543210f
|
|
eventTypeChannels:
|
|
- eventTypeChannelId: b910368f-c045-4e8e-b01d-bcbc78708bac
|
|
channel:
|
|
channelId: 1
|
|
name: push
|
|
resourceName:
|
|
resourceNameId: 8
|
|
name: devices
|
|
isDefault: true
|
|
isMandatory: false
|
|
- eventTypeChannelId: 93e773da-ba3b-48da-9a0e-ee478eaa752f
|
|
channel:
|
|
channelId: 2
|
|
name: email
|
|
resourceName:
|
|
resourceNameId: 4
|
|
name: customers
|
|
isDefault: false
|
|
isMandatory: false
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/400Response"
|
|
"401":
|
|
description: Unauthorized
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/401Response"
|
|
"404":
|
|
description: Not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/404Response"
|
|
"500":
|
|
description: Internal server error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/500Response"
|
|
/eventorigins:
|
|
get:
|
|
summary: Get all event origins
|
|
deprecated: true
|
|
tags:
|
|
- References (not for MVP)
|
|
parameters:
|
|
- name: name
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
description: Filter by event origin name (case-insensitive, partial match)
|
|
responses:
|
|
"200":
|
|
description: A list of event origins
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/GetEventOriginsResponse"
|
|
examples:
|
|
eventOriginsResponse:
|
|
value:
|
|
eventOrigins:
|
|
- eventOriginId: 1
|
|
name: GBO
|
|
- eventOriginId: 2
|
|
name: Website
|
|
- eventOriginId: 3
|
|
name: Payt
|
|
- eventOriginId: 4
|
|
name: Twikey
|
|
- eventOriginId: 5
|
|
name: TapConnect
|
|
- eventOriginId: 6
|
|
name: Maileon
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/400Response"
|
|
"401":
|
|
description: Unauthorized
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/401Response"
|
|
"404":
|
|
description: Not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/404Response"
|
|
"500":
|
|
description: Internal server error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/500Response"
|
|
/channels:
|
|
get:
|
|
summary: Get all channels
|
|
deprecated: true
|
|
tags:
|
|
- References (not for MVP)
|
|
parameters:
|
|
- name: name
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
description: Filter by channel name (case-insensitive, partial match)
|
|
responses:
|
|
"200":
|
|
description: A list of channels
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/GetChannelsResponse"
|
|
examples:
|
|
channelsResponse:
|
|
value:
|
|
channels:
|
|
- channelId: 1
|
|
name: push
|
|
resourceName:
|
|
resourceNameId: 8
|
|
name: devices
|
|
- channelId: 2
|
|
name: email
|
|
resourceName:
|
|
resourceNameId: 4
|
|
name: customers
|
|
- channelId: 3
|
|
name: sms
|
|
resourceName:
|
|
resourceNameId: 4
|
|
name: customers
|
|
- channelId: 4
|
|
name: mail
|
|
resourceName:
|
|
resourceNameId: 4
|
|
name: customers
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/400Response"
|
|
"401":
|
|
description: Unauthorized
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/401Response"
|
|
"404":
|
|
description: Not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/404Response"
|
|
"500":
|
|
description: Internal server error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/500Response"
|
|
/eventtypes:
|
|
get:
|
|
summary: Get all event types
|
|
deprecated: true
|
|
tags:
|
|
- References (not for MVP)
|
|
parameters:
|
|
- name: name
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
description: Filter by event type name (case-insensitive, partial match)
|
|
responses:
|
|
"200":
|
|
description: A list of event types
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/GetEventTypesResponse"
|
|
examples:
|
|
eventTypesResponse:
|
|
value:
|
|
eventTypes:
|
|
- eventTypeId: 1
|
|
eventOrigin:
|
|
eventOriginId: 6
|
|
name: Maileon
|
|
name: newsletter
|
|
subname: null
|
|
prettyName: HTM nieuwsbrief
|
|
optInRequired: false
|
|
- eventTypeId: 15
|
|
eventOrigin:
|
|
eventOriginId: 1
|
|
name: GBO
|
|
name: Travel
|
|
subname: Missing CKO
|
|
prettyName: Checkout gemist
|
|
optInRequired: true
|
|
- eventTypeId: 16
|
|
eventOrigin:
|
|
eventOriginId: 1
|
|
name: GBO
|
|
name: Travel
|
|
subname: Missing CKI
|
|
prettyName: Checkin gemist
|
|
optInRequired: true
|
|
- eventTypeId: 25
|
|
eventOrigin:
|
|
eventOriginId: 3
|
|
name: Payt
|
|
name: Payment
|
|
subname: Failed Payment
|
|
prettyName: Betaling mislukt
|
|
optInRequired: false
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/400Response"
|
|
"401":
|
|
description: Unauthorized
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/401Response"
|
|
"404":
|
|
description: Not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/404Response"
|
|
"500":
|
|
description: Internal server error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/500Response"
|
|
/eventtypecategories:
|
|
get:
|
|
summary: Get all event type categories
|
|
deprecated: true
|
|
tags:
|
|
- References (not for MVP)
|
|
parameters:
|
|
- name: name
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
description: Filter by event type category name (case-insensitive, partial match)
|
|
responses:
|
|
"200":
|
|
description: A list of event type categories
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/GetEventTypeCategoriesResponse"
|
|
examples:
|
|
eventTypeCategoriesResponse:
|
|
value:
|
|
eventTypeCategories:
|
|
- eventType:
|
|
eventTypeId: 15
|
|
eventOrigin:
|
|
eventOriginId: 1
|
|
name: GBO
|
|
name: Travel
|
|
subname: Missing CKO
|
|
prettyName: Checkout gemist
|
|
optInRequired: true
|
|
notificationCategory:
|
|
notificationCategoryId: 1
|
|
name: Mijn Reizen
|
|
groupName: Mijn Passen
|
|
- eventType:
|
|
eventTypeId: 16
|
|
eventOrigin:
|
|
eventOriginId: 1
|
|
name: GBO
|
|
name: Travel
|
|
subname: Missing CKI
|
|
prettyName: Checkin gemist
|
|
optInRequired: true
|
|
notificationCategory:
|
|
notificationCategoryId: 1
|
|
name: Mijn Reizen
|
|
groupName: Mijn Passen
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/400Response"
|
|
"401":
|
|
description: Unauthorized
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/401Response"
|
|
"404":
|
|
description: Not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/404Response"
|
|
"500":
|
|
description: Internal server error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/500Response"
|
|
/eventtypechannels:
|
|
get:
|
|
summary: Get all event type channels
|
|
deprecated: true
|
|
tags:
|
|
- References (not for MVP)
|
|
parameters:
|
|
- name: name
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
description: Filter by event type channel name (case-insensitive, partial match)
|
|
responses:
|
|
"200":
|
|
description: A list of event type channels
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/GetEventTypeChannelResponse"
|
|
examples:
|
|
eventTypeChannelsResponse:
|
|
value:
|
|
eventTypeChannels:
|
|
- eventTypeChannelId: 22a9ab1cb-b1a3-482e-bae3-9a517a8cfb4f
|
|
eventType:
|
|
eventTypeId: 15
|
|
eventOrigin:
|
|
eventOriginId: 1
|
|
name: GBO
|
|
name: Travel
|
|
subname: Missing CKO
|
|
prettyName: Checkout gemist
|
|
optInRequired: true
|
|
channel:
|
|
channelId: 1
|
|
name: push
|
|
resourceName:
|
|
resourceNameId: 8
|
|
name: devices
|
|
isDefault: true
|
|
isMandatory: false
|
|
- eventTypeChannelId: c4729ad4-46ef-4329-94f9-5079be21dfc5
|
|
eventType:
|
|
eventTypeId: 16
|
|
eventOrigin:
|
|
eventOriginId: 1
|
|
name: GBO
|
|
name: Travel
|
|
subname: Missing CKI
|
|
prettyName: Checkin gemist
|
|
optInRequired: true
|
|
channel:
|
|
channelId: 1
|
|
name: push
|
|
resourceName:
|
|
resourceNameId: 8
|
|
name: devices
|
|
isDefault: true
|
|
isMandatory: false
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/400Response"
|
|
"401":
|
|
description: Unauthorized
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/401Response"
|
|
"404":
|
|
description: Not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/404Response"
|
|
"500":
|
|
description: Internal server error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/500Response"
|
|
components:
|
|
schemas:
|
|
GetNotificationSubscriptionsResponse:
|
|
type: object
|
|
properties:
|
|
notificationSubscriptions:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/NotificationSubscription"
|
|
href:
|
|
type: string
|
|
required:
|
|
- notificationSubscriptions
|
|
- href
|
|
NotificationSubscription:
|
|
type: object
|
|
properties:
|
|
notificationSubscriptionId:
|
|
type: string
|
|
format: uuid
|
|
example: 5bedce29-af0c-4f3c-b182-2caa8a1f9377
|
|
notificationCategory:
|
|
$ref: "#/components/schemas/NotificationCategory"
|
|
customerProfileId:
|
|
type: integer
|
|
example: 1337
|
|
subscriptionActivities:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
subscriptionActivityId:
|
|
type: string
|
|
format: uuid
|
|
example: 30b32657-1ba1-44e0-8868-4db807695387
|
|
user:
|
|
type: string
|
|
example: "1001337"
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
example: "2025-10-02T15:00:00Z"
|
|
isActive:
|
|
type: boolean
|
|
example: true
|
|
required:
|
|
- subscriptionActivityId
|
|
- user
|
|
- timestamp
|
|
- isActive
|
|
required:
|
|
- notificationSubscriptionId
|
|
- notificationCategory
|
|
- customerProfileId
|
|
PostNotificationSubscriptionRequest:
|
|
type: object
|
|
properties:
|
|
notificationCategoryId:
|
|
type: integer
|
|
example: 1
|
|
customerProfileId:
|
|
type: integer
|
|
example: 1337
|
|
subscriptionActivity:
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: string
|
|
example: "1001337"
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
example: "2025-10-02T15:00:00Z"
|
|
isActive:
|
|
type: boolean
|
|
example: true
|
|
required:
|
|
- user
|
|
- timestamp
|
|
- isActive
|
|
required:
|
|
- notificationCategoryId
|
|
- customerProfileId
|
|
PostNotificationSubscriptionResponse:
|
|
type: object
|
|
properties:
|
|
notificationSubscriptionId:
|
|
type: string
|
|
format: uuid
|
|
example: 5bedce29-af0c-4f3c-b182-2caa8a1f9377
|
|
PatchNotificationSubscriptionRequest:
|
|
type: object
|
|
properties:
|
|
notificationCategoryId:
|
|
type: integer
|
|
example: 1
|
|
customerProfileId:
|
|
type: integer
|
|
example: 1337
|
|
required:
|
|
- notificationCategoryId
|
|
PatchNotificationSubscriptionResponse:
|
|
type: object
|
|
properties:
|
|
notificationSubscriptionId:
|
|
type: string
|
|
format: uuid
|
|
example: 5bedce29-af0c-4f3c-b182-2caa8a1f9377
|
|
PostSubscriptionActivityRequest:
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: string
|
|
example: "1001337"
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
example: "2025-10-08T15:00:00Z"
|
|
isActive:
|
|
type: boolean
|
|
example: true
|
|
required:
|
|
- user
|
|
- timestamp
|
|
- isActive
|
|
PostSubscriptionActivityResponse:
|
|
type: object
|
|
properties:
|
|
subscriptionActivityId:
|
|
type: string
|
|
format: uuid
|
|
example: 30b32657-1ba1-44e0-8868-4db807695387
|
|
PostNotificationPreferenceRequest:
|
|
type: object
|
|
properties:
|
|
eventTypeChannelId:
|
|
type: string
|
|
format: uuid
|
|
example: 22a9ab1cb-b1a3-482e-bae3-9a517a8cfb4f
|
|
resourceIdentifier:
|
|
type: string
|
|
format: uuid
|
|
example: d4e5f678-49ab-bcde-2345-678901bcdef0
|
|
required:
|
|
- eventTypeChannelId
|
|
PostNotificationPreferenceResponse:
|
|
type: object
|
|
properties:
|
|
notificationPreferenceId:
|
|
type: string
|
|
format: uuid
|
|
example: d4e5f678-49ab-bcde-2345-678901bcdef0
|
|
PatchNotificationPreferenceRequest:
|
|
type: object
|
|
properties:
|
|
resourceIdentifier:
|
|
type: string
|
|
format: uuid
|
|
example: d4e5f678-49ab-bcde-2345-678901bcdef0
|
|
PatchNotificationPreferenceResponse:
|
|
type: object
|
|
properties:
|
|
notificationPreferenceId:
|
|
type: string
|
|
format: uuid
|
|
example: d4e5f678-49ab-bcde-2345-678901bcdef0
|
|
GetEventOriginsResponse:
|
|
type: object
|
|
properties:
|
|
eventOrigins:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/EventOrigin"
|
|
GetChannelsResponse:
|
|
type: object
|
|
properties:
|
|
channels:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Channel"
|
|
GetNotificationCategoriesResponse:
|
|
type: object
|
|
properties:
|
|
notificationCategories:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/NotificationCategory"
|
|
GetEventTypesResponse:
|
|
type: object
|
|
properties:
|
|
eventTypes:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/EventType"
|
|
GetEventTypeCategoriesResponse:
|
|
type: object
|
|
properties:
|
|
eventTypeCategories:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
eventType:
|
|
$ref: "#/components/schemas/EventType"
|
|
notificationCategory:
|
|
$ref: "#/components/schemas/NotificationCategory"
|
|
GetEventTypeChannelResponse:
|
|
type: object
|
|
properties:
|
|
eventTypeChannels:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/EventTypeChannel"
|
|
EventTypeChannel:
|
|
type: object
|
|
properties:
|
|
eventTypeChannelId:
|
|
type: string
|
|
format: uuid
|
|
example: 22a9ab1cb-b1a3-482e-bae3-9a517a8cfb4f
|
|
eventType:
|
|
$ref: "#/components/schemas/EventType"
|
|
channel:
|
|
$ref: "#/components/schemas/Channel"
|
|
isDefault:
|
|
type: boolean
|
|
example: true
|
|
isMandatory:
|
|
type: boolean
|
|
example: false
|
|
required:
|
|
- eventTypeChannelId
|
|
- eventType
|
|
- channel
|
|
- isDefault
|
|
- isMandatory
|
|
EventType:
|
|
type: object
|
|
properties:
|
|
eventTypeId:
|
|
type: integer
|
|
example: 15
|
|
eventOrigin:
|
|
$ref: "#/components/schemas/EventOrigin"
|
|
name:
|
|
type: string
|
|
example: Travel
|
|
subname:
|
|
type: string
|
|
example: Missing CKO
|
|
prettyName:
|
|
type: string
|
|
example: Checkout gemist
|
|
optInRequired:
|
|
type: boolean
|
|
example: true
|
|
originSubscription:
|
|
type: object
|
|
properties:
|
|
originSubscriptionId:
|
|
type: string
|
|
format: uuid
|
|
example: a1b2c3d4-e5f6-4789-abcd-1234567890ab
|
|
name:
|
|
type: string
|
|
example: GBO_TRIPS
|
|
externalSubscriptionId:
|
|
type: string
|
|
format: uuid
|
|
example: fedcba98-7654-3210-fedc-ba9876543210
|
|
required:
|
|
- originSubscriptionId
|
|
- name
|
|
- externalSubscriptionId
|
|
eventTypeChannels:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/EventTypeChannel"
|
|
required:
|
|
- eventTypeId
|
|
- eventOrigin
|
|
- name
|
|
- prettyName
|
|
- optInRequired
|
|
EventOrigin:
|
|
type: object
|
|
properties:
|
|
eventOriginId:
|
|
type: integer
|
|
example: 1
|
|
name:
|
|
type: string
|
|
example: GBO
|
|
required:
|
|
- eventOriginId
|
|
- name
|
|
Channel:
|
|
type: object
|
|
properties:
|
|
channelId:
|
|
type: integer
|
|
example: 1
|
|
name:
|
|
type: string
|
|
example: push
|
|
resourceName:
|
|
type: object
|
|
properties:
|
|
resourceNameId:
|
|
type: integer
|
|
example: 8
|
|
name:
|
|
type: string
|
|
example: devices
|
|
required:
|
|
- resourceNameId
|
|
- name
|
|
required:
|
|
- channelId
|
|
- name
|
|
- resourceName
|
|
NotificationCategory:
|
|
type: object
|
|
properties:
|
|
notificationCategoryId:
|
|
type: integer
|
|
example: 1
|
|
name:
|
|
type: string
|
|
example: Mijn Reizen
|
|
groupName:
|
|
type: string
|
|
example: Mijn Passen
|
|
eventTypes:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/EventType"
|
|
required:
|
|
- notificationCategoryId
|
|
- name
|
|
400Response:
|
|
type: object
|
|
properties:
|
|
code:
|
|
type: string
|
|
example: "400"
|
|
type:
|
|
type: string
|
|
message:
|
|
type: string
|
|
example: Bad Request
|
|
description:
|
|
type: string
|
|
example: >-
|
|
Bad Request: Input parameters missing! Please fill in at least 1
|
|
valid input parameter.
|
|
401Response:
|
|
type: object
|
|
properties:
|
|
code:
|
|
type: string
|
|
example: "401"
|
|
type:
|
|
type: string
|
|
message:
|
|
type: string
|
|
example: Invalid Credentials
|
|
description:
|
|
type: string
|
|
example: >-
|
|
Invalid Credentials. Make sure you have provided the correct
|
|
security credentials
|
|
404Response:
|
|
type: object
|
|
properties:
|
|
code:
|
|
type: string
|
|
example: "404"
|
|
type:
|
|
type: string
|
|
example: Status report
|
|
message:
|
|
type: string
|
|
example: Not Found
|
|
description:
|
|
type: string
|
|
example: The requested resource is not available.
|
|
500Response:
|
|
type: object
|
|
properties:
|
|
code:
|
|
type: string
|
|
example: "500"
|
|
type:
|
|
type: string
|
|
message:
|
|
type: string
|
|
example: Internal Server Error
|
|
description:
|
|
type: string
|
|
securitySchemes:
|
|
default:
|
|
type: oauth2
|
|
flows:
|
|
implicit:
|
|
authorizationUrl: https://services.acc.api.htm.nl/authorize
|
|
scopes: {}
|