1237 lines
40 KiB
YAML
1237 lines
40 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: eventTypeChannelId
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
description: Filter by event type channel ID
|
|
- name: eventTypeId
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
explode: false
|
|
description: Filter by event type IDs
|
|
- name: eventOriginId
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
description: Filter by event origin IDs
|
|
- name: channelId
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
description: Filter by channel IDs
|
|
- 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 OVPay token ID
|
|
- name: deviceId
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
description: Filter by device ID
|
|
- name: createdAfter
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
format: date-time
|
|
description: Filter by creation date (after)
|
|
- name: createdBefore
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
format: date-time
|
|
description: Filter by creation date (before)
|
|
- name: updatedAfter
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
format: date-time
|
|
description: Filter by update date (after)
|
|
- name: updatedBefore
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
format: date-time
|
|
description: Filter by update date (before)
|
|
- name: isActive
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: boolean
|
|
description: Filter by active status
|
|
responses:
|
|
'200':
|
|
description: A list of notification subscriptions
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/GetNotificationSubscriptionsResponse'
|
|
examples:
|
|
emptyNotificationSubscriptionResponse:
|
|
value:
|
|
notificationSubscriptions: []
|
|
href: null
|
|
minimalNotificationSubscriptionResponse:
|
|
value:
|
|
notificationSubscriptions:
|
|
- notificationSubscriptionId: 5bedce29-af0c-4f3c-b182-2caa8a1f9377
|
|
eventTypeChannel:
|
|
eventTypeChannelId: 22a9ab1cb-b1a3-482e-bae3-9a517a8cfb4f
|
|
eventType:
|
|
eventTypeId: 15
|
|
eventOrigin:
|
|
eventOriginId: 1
|
|
name: GBO
|
|
description: Events originated at GBO
|
|
name: Travel
|
|
subname: Missing CKO
|
|
prettyName: Checkout gemist
|
|
optInRequired: true
|
|
channel:
|
|
channelId: 1
|
|
name: push
|
|
isDefault: true
|
|
isMandatory: false
|
|
customerProfileId: null
|
|
ovpayTokenId: null
|
|
deviceId: null
|
|
createdAt: '2025-10-01T12:00:00Z'
|
|
createdBy: system
|
|
updatedAt: null
|
|
updatedBy: null
|
|
isActive: true
|
|
_links:
|
|
edit:
|
|
href: /notificationsubscriptions/5bedce29-af0c-4f3c-b182-2caa8a1f9377
|
|
method: PATCH
|
|
delete:
|
|
href: /notificationsubscriptions/5bedce29-af0c-4f3c-b182-2caa8a1f9377
|
|
method: DELETE
|
|
- notificationSubscriptionId: 39e8d8e6-5c85-49b6-ba4b-62e47fa4f7fd
|
|
eventTypeChannel:
|
|
eventTypeChannelId: c4729ad4-46ef-4329-94f9-5079be21dfc5
|
|
eventType:
|
|
eventTypeId: 16
|
|
eventOrigin:
|
|
eventOriginId: 1
|
|
name: GBO
|
|
description: Events originated at GBO
|
|
name: Travel
|
|
subname: Missing CKI
|
|
prettyName: Checkin gemist
|
|
optInRequired: true
|
|
channel:
|
|
channelId: 1
|
|
name: push
|
|
isDefault: true
|
|
isMandatory: false
|
|
createdAt: '2025-09-15T08:30:00Z'
|
|
createdBy: system
|
|
isActive: false
|
|
_links:
|
|
edit:
|
|
href: /notificationsubscriptions/39e8d8e6-5c85-49b6-ba4b-62e47fa4f7fd
|
|
method: PATCH
|
|
delete:
|
|
href: /notificationsubscriptions/39e8d8e6-5c85-49b6-ba4b-62e47fa4f7fd
|
|
method: DELETE
|
|
href: null
|
|
fullNotificationSubscriptionResponse:
|
|
value:
|
|
notificationSubscriptions:
|
|
- notificationSubscriptionId: 5bedce29-af0c-4f3c-b182-2caa8a1f9377
|
|
eventTypeChannel:
|
|
eventTypeChannelId: 22a9ab1cb-b1a3-482e-bae3-9a517a8cfb4f
|
|
eventType:
|
|
eventTypeId: 15
|
|
eventOrigin:
|
|
eventOriginId: 1
|
|
name: GBO
|
|
description: Events originated at GBO
|
|
name: Travel
|
|
subname: Missing CKO
|
|
prettyName: Checkout gemist
|
|
optInRequired: true
|
|
channel:
|
|
channelId: 1
|
|
name: push
|
|
isDefault: true
|
|
isMandatory: false
|
|
customerProfileId: 1337
|
|
ovpayTokenId: 42
|
|
deviceId: 7122a988-a00a-417d-a5b4-da2d91354976
|
|
createdAt: '2025-10-01T12:00:00Z'
|
|
createdBy: system
|
|
updatedAt: '2025-10-02T12:00:00Z'
|
|
updatedBy: user
|
|
isActive: true
|
|
_links:
|
|
edit:
|
|
href: /notificationsubscriptions/5bedce29-af0c-4f3c-b182-2caa8a1f9377
|
|
method: PATCH
|
|
delete:
|
|
href: /notificationsubscriptions/5bedce29-af0c-4f3c-b182-2caa8a1f9377
|
|
method: DELETE
|
|
- notificationSubscriptionId: 39e8d8e6-5c85-49b6-ba4b-62e47fa4f7fd
|
|
eventTypeChannel:
|
|
eventTypeChannelId: c4729ad4-46ef-4329-94f9-5079be21dfc5
|
|
eventType:
|
|
eventTypeId: 16
|
|
eventOrigin:
|
|
eventOriginId: 1
|
|
name: GBO
|
|
description: Events originated at GBO
|
|
name: Travel
|
|
subname: Missing CKI
|
|
prettyName: Checkin gemist
|
|
optInRequired: true
|
|
channel:
|
|
channelId: 1
|
|
name: push
|
|
isDefault: true
|
|
isMandatory: false
|
|
customerProfileId: 1338
|
|
ovpayTokenId: 43
|
|
deviceId: c4b8e1f3-8f4e-4d2a-9f3e-1c2b3a4d5e6f
|
|
createdAt: '2025-09-15T08:30:00Z'
|
|
createdBy: system
|
|
updatedAt: '2025-09-16T09:45:00Z'
|
|
updatedBy: user
|
|
isActive: false
|
|
_links:
|
|
edit:
|
|
href: /notificationsubscriptions/39e8d8e6-5c85-49b6-ba4b-62e47fa4f7fd
|
|
method: PATCH
|
|
delete:
|
|
href: /notificationsubscriptions/39e8d8e6-5c85-49b6-ba4b-62e47fa4f7fd
|
|
method: DELETE
|
|
href: null
|
|
'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:
|
|
minimalNotificationSubscriptionRequest:
|
|
value:
|
|
eventTypeChannelId: 22a9ab1cb-b1a3-482e-bae3-9a517a8cfb4f
|
|
createdAt: '2025-10-01T12:00:00Z'
|
|
createdBy: system
|
|
isActive: true
|
|
fullNotificationSubscriptionRequest:
|
|
value:
|
|
eventTypeChannelId: 22a9ab1cb-b1a3-482e-bae3-9a517a8cfb4f
|
|
customerProfileId: 1337
|
|
ovpayTokenId: 42
|
|
deviceId: 7122a988-a00a-417d-a5b4-da2d91354976
|
|
createdAt: '2025-10-01T12:00:00Z'
|
|
createdBy: system
|
|
isActive: true
|
|
responses:
|
|
'201':
|
|
description: Notification subscription created successfully
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PostNotificationSubscriptionResponse'
|
|
examples:
|
|
minimalNotificationSubscriptionResponse:
|
|
value:
|
|
notificationSubscriptionId: 5bedce29-af0c-4f3c-b182-2caa8a1f9377
|
|
eventTypeChannel:
|
|
eventTypeChannelId: 22a9ab1cb-b1a3-482e-bae3-9a517a8cfb4f
|
|
eventType:
|
|
eventTypeId: 15
|
|
eventOrigin:
|
|
eventOriginId: 1
|
|
name: GBO
|
|
description: Events originated at GBO
|
|
name: Travel
|
|
subname: Missing CKO
|
|
prettyName: Checkout gemist
|
|
optInRequired: true
|
|
channel:
|
|
channelId: 1
|
|
name: push
|
|
isDefault: true
|
|
isMandatory: false
|
|
createdAt: '2025-10-01T12:00:00Z'
|
|
createdBy: system
|
|
isActive: true
|
|
fullNotificationSubscriptionResponse:
|
|
value:
|
|
notificationSubscriptionId: 5bedce29-af0c-4f3c-b182-2caa8a1f9377
|
|
eventTypeChannel:
|
|
eventTypeChannelId: 22a9ab1cb-b1a3-482e-bae3-9a517a8cfb4f
|
|
eventType:
|
|
eventTypeId: 15
|
|
eventOrigin:
|
|
eventOriginId: 1
|
|
name: GBO
|
|
description: Events originated at GBO
|
|
name: Travel
|
|
subname: Missing CKO
|
|
prettyName: Checkout gemist
|
|
optInRequired: true
|
|
channel:
|
|
channelId: 1
|
|
name: push
|
|
isDefault: true
|
|
isMandatory: false
|
|
customerProfileId: 1337
|
|
ovpayTokenId: 42
|
|
deviceId: 7122a988-a00a-417d-a5b4-da2d91354976
|
|
createdAt: '2025-10-01T12:00:00Z'
|
|
createdBy: system
|
|
isActive: true
|
|
'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}:
|
|
patch:
|
|
summary: Update a notification subscription by ID
|
|
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/PatchNotificationSubscriptionRequest'
|
|
examples:
|
|
notificationSubscriptionRequest:
|
|
value:
|
|
updatedAt: '2025-10-01T12:00:00Z'
|
|
updatedBy: user
|
|
isActive: false
|
|
responses:
|
|
'200':
|
|
description: Notification subscription updated successfully
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PatchNotificationSubscriptionResponse'
|
|
examples:
|
|
minimalNotificationSubscriptionResponse:
|
|
value:
|
|
notificationSubscriptionId: 5bedce29-af0c-4f3c-b182-2caa8a1f9377
|
|
eventTypeChannel:
|
|
eventTypeChannelId: 22a9ab1cb-b1a3-482e-bae3-9a517a8cfb4f
|
|
eventType:
|
|
eventTypeId: 15
|
|
eventOrigin:
|
|
eventOriginId: 1
|
|
name: GBO
|
|
description: Events originated at GBO
|
|
name: Travel
|
|
subname: Missing CKO
|
|
prettyName: Checkout gemist
|
|
optInRequired: true
|
|
channel:
|
|
channelId: 1
|
|
name: push
|
|
isDefault: true
|
|
isMandatory: false
|
|
createdAt: '2025-10-01T12:00:00Z'
|
|
createdBy: system
|
|
updatedAt: '2025-10-02T12:00:00Z'
|
|
updatedBy: user
|
|
isActive: false
|
|
fullNotificationSubscriptionResponse:
|
|
value:
|
|
notificationSubscriptionId: 5bedce29-af0c-4f3c-b182-2caa8a1f9377
|
|
eventTypeChannel:
|
|
eventTypeChannelId: 22a9ab1cb-b1a3-482e-bae3-9a517a8cfb4f
|
|
eventType:
|
|
eventTypeId: 15
|
|
eventOrigin:
|
|
eventOriginId: 1
|
|
name: GBO
|
|
description: Events originated at GBO
|
|
name: Travel
|
|
subname: Missing CKO
|
|
prettyName: Checkout gemist
|
|
optInRequired: true
|
|
channel:
|
|
channelId: 1
|
|
name: push
|
|
isDefault: true
|
|
isMandatory: false
|
|
customerProfileId: 1337
|
|
ovpayTokenId: 42
|
|
deviceId: 7122a988-a00a-417d-a5b4-da2d91354976
|
|
createdAt: '2025-10-01T12:00:00Z'
|
|
createdBy: system
|
|
updatedAt: '2025-10-02T12:00:00Z'
|
|
updatedBy: user
|
|
isActive: 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'
|
|
delete:
|
|
summary: Delete a notification subscription by ID
|
|
tags:
|
|
- Notification Subscriptions
|
|
parameters:
|
|
- name: notificationSubscriptionId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
example: 5bedce29-af0c-4f3c-b182-2caa8a1f9377
|
|
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'
|
|
/eventorigins:
|
|
get:
|
|
summary: Get all event origins
|
|
tags:
|
|
- References
|
|
responses:
|
|
'200':
|
|
description: A list of event origins
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/GetEventOriginsResponse'
|
|
examples:
|
|
eventOriginsResponse:
|
|
value:
|
|
eventOrigins:
|
|
- eventOriginId: 1
|
|
name: GBO
|
|
description: Events originated at GBO
|
|
- eventOriginId: 2
|
|
name: Website
|
|
description: Events originated at the website
|
|
- eventOriginId: 3
|
|
name: Payt
|
|
description: Events originated at Payt
|
|
- eventOriginId: 4
|
|
name: Twikey
|
|
description: Events originated at Twikey
|
|
- eventOriginId: 5
|
|
name: TapConnect
|
|
description: Events originated at TapConnect
|
|
'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
|
|
tags:
|
|
- References
|
|
responses:
|
|
'200':
|
|
description: A list of channels
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/GetChannelsResponse'
|
|
examples:
|
|
channelsResponse:
|
|
value:
|
|
channels:
|
|
- channelId: 1
|
|
name: push
|
|
- channelId: 2
|
|
name: email
|
|
- channelId: 3
|
|
name: sms
|
|
- channelId: 4
|
|
name: mail
|
|
'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:
|
|
summary: Get all notification categories
|
|
tags:
|
|
- References
|
|
responses:
|
|
'200':
|
|
description: A list of notification categories
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/GetNotificationCategoriesResponse'
|
|
examples:
|
|
notificationCategoriesResponse:
|
|
value:
|
|
notificationCategories:
|
|
- notifcationCategoryId: 1
|
|
name: Mijn Reizen
|
|
- notifcationCategoryId: 2
|
|
name: Mijn Passen
|
|
- notifcationCategoryId: 3
|
|
name: Service Alerts
|
|
- notifcationCategoryId: 4
|
|
name: Service Berichten
|
|
- notifcationCategoryId: 5
|
|
name: Mijn Betalingen
|
|
'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
|
|
tags:
|
|
- References
|
|
responses:
|
|
'200':
|
|
description: A list of event types
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/GetEventTypesResponse'
|
|
examples:
|
|
eventTypesResponse:
|
|
value:
|
|
eventTypes:
|
|
- eventTypeId: 15
|
|
eventOrigin:
|
|
eventOriginId: 1
|
|
name: GBO
|
|
description: Events originated at GBO
|
|
name: Travel
|
|
subname: Missing CKO
|
|
prettyName: Checkout gemist
|
|
optInRequired: true
|
|
- eventTypeId: 16
|
|
eventOrigin:
|
|
eventOriginId: 1
|
|
name: GBO
|
|
description: Events originated at GBO
|
|
name: Travel
|
|
subname: Missing CKI
|
|
prettyName: Checkin gemist
|
|
optInRequired: true
|
|
- eventTypeId: 25
|
|
eventOrigin:
|
|
eventOriginId: 3
|
|
name: Payt
|
|
description: Events originated at 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
|
|
tags:
|
|
- References
|
|
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
|
|
description: Events originated at GBO
|
|
name: Travel
|
|
subname: Missing CKO
|
|
prettyName: Checkout gemist
|
|
optInRequired: true
|
|
notificationCategory:
|
|
notifcationCategoryId: 1
|
|
name: Mijn Reizen
|
|
- eventType:
|
|
eventTypeId: 16
|
|
eventOrigin:
|
|
eventOriginId: 1
|
|
name: GBO
|
|
description: Events originated at GBO
|
|
name: Travel
|
|
subname: Missing CKI
|
|
prettyName: Checkin gemist
|
|
optInRequired: true
|
|
notificationCategory:
|
|
notifcationCategoryId: 1
|
|
name: Mijn Reizen
|
|
'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
|
|
tags:
|
|
- References
|
|
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
|
|
description: Events originated at GBO
|
|
name: Travel
|
|
subname: Missing CKO
|
|
prettyName: Checkout gemist
|
|
optInRequired: true
|
|
channel:
|
|
channelId: 1
|
|
name: push
|
|
isDefault: true
|
|
isMandatory: false
|
|
- eventTypeChannelId: c4729ad4-46ef-4329-94f9-5079be21dfc5
|
|
eventType:
|
|
eventTypeId: 16
|
|
eventOrigin:
|
|
eventOriginId: 1
|
|
name: GBO
|
|
description: Events originated at GBO
|
|
name: Travel
|
|
subname: Missing CKI
|
|
prettyName: Checkin gemist
|
|
optInRequired: true
|
|
channel:
|
|
channelId: 1
|
|
name: push
|
|
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
|
|
eventTypeChannel:
|
|
$ref: '#/components/schemas/EventTypeChannel'
|
|
customerProfileId:
|
|
type: integer
|
|
example: 1337
|
|
ovpayTokenId:
|
|
type: integer
|
|
example: 42
|
|
deviceId:
|
|
type: string
|
|
format: uuid
|
|
example: 7122a988-a00a-417d-a5b4-da2d91354976
|
|
createdAt:
|
|
type: string
|
|
format: date-time
|
|
example: '2025-10-01T12:00:00Z'
|
|
createdBy:
|
|
type: string
|
|
example: system
|
|
updatedAt:
|
|
type: string
|
|
format: date-time
|
|
example: '2025-10-02T12:00:00Z'
|
|
updatedBy:
|
|
type: string
|
|
example: user
|
|
isActive:
|
|
type: boolean
|
|
example: true
|
|
required:
|
|
- notificationSubscriptionId
|
|
- eventTypeChannel
|
|
- createdAt
|
|
- createdBy
|
|
- isActive
|
|
PostNotificationSubscriptionRequest:
|
|
type: object
|
|
properties:
|
|
eventTypeChannelId:
|
|
type: string
|
|
format: uuid
|
|
example: 22a9ab1cb-b1a3-482e-bae3-9a517a8cfb4f
|
|
customerProfileId:
|
|
type: integer
|
|
example: 1337
|
|
ovpayTokenId:
|
|
type: integer
|
|
example: 42
|
|
deviceId:
|
|
type: string
|
|
format: uuid
|
|
example: 7122a988-a00a-417d-a5b4-da2d91354976
|
|
createdAt:
|
|
type: string
|
|
format: date-time
|
|
example: '2025-10-01T12:00:00Z'
|
|
createdBy:
|
|
type: string
|
|
example: system
|
|
isActive:
|
|
type: boolean
|
|
example: true
|
|
required:
|
|
- eventTypeChannelId
|
|
- createdAt
|
|
- createdBy
|
|
PostNotificationSubscriptionResponse:
|
|
$ref: '#/components/schemas/NotificationSubscription'
|
|
PatchNotificationSubscriptionRequest:
|
|
type: object
|
|
properties:
|
|
updatedAt:
|
|
type: string
|
|
format: date-time
|
|
example: '2025-10-01T12:00:00Z'
|
|
updatedBy:
|
|
type: string
|
|
example: user
|
|
isActive:
|
|
type: boolean
|
|
example: false
|
|
PatchNotificationSubscriptionResponse:
|
|
$ref: '#/components/schemas/NotificationSubscription'
|
|
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
|
|
required:
|
|
- eventTypeId
|
|
- eventOrigin
|
|
- name
|
|
- prettyName
|
|
- optInRequired
|
|
EventOrigin:
|
|
type: object
|
|
properties:
|
|
eventOriginId:
|
|
type: integer
|
|
example: 1
|
|
name:
|
|
type: string
|
|
example: GBO
|
|
description:
|
|
type: string
|
|
example: Events originated at GBO
|
|
required:
|
|
- eventOriginId
|
|
- name
|
|
Channel:
|
|
type: object
|
|
properties:
|
|
channelId:
|
|
type: integer
|
|
example: 1
|
|
name:
|
|
type: string
|
|
example: push
|
|
required:
|
|
- channelId
|
|
- name
|
|
NotificationCategory:
|
|
type: object
|
|
properties:
|
|
notifcationCategoryId:
|
|
type: integer
|
|
example: 1
|
|
name:
|
|
type: string
|
|
example: Mijn Reizen
|
|
required:
|
|
- notifcationCategoryId
|
|
- 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: {} |