ovpay/src/openapi/customers/SE-notifications.yaml

2406 lines
128 KiB
YAML

openapi: 3.0.1
info:
title: Service Engine APIs for Notifications
description: >-
Service Engine APIs for all HTM Notifications. These are NOT the CRUD APIs to access raw data in the database.
version: "1.0"
servers:
- url: https://services.acc.api.htm.nl/abt/touchpoint/2.0
tags:
- name: Notification categories
description: >-
Service Engine APIs for all HTM Notifications metadata. To build content only.
- name: Notification subscriptions
description: >-
Service Engine APIs for the HTM Notification subscriptions for a user.
Contains the subscriptions on category level.
- name: Notification preferences
description: >-
Service Engine APIs for the HTM Notification preferences for a category for a user.
Contains a full list on event type channel level.
paths:
/notificationcategories:
get:
tags:
- Notification categories
summary: Get notification categories and optins references for that category that a touchpoint can show.
description: |
Get notification categories that a touchpoint can show and optins ( eventTypes) and channels (eventType_channels) for the optin for that category
parameters:
- name: expand
in: query
schema:
type: string
enum: [none, eventType, eventTypeChannel]
default: none
responses:
"200":
description: OK
content:
application/json:
examples:
getNotifactionCategories?expand=none:
summary: Return all the notification categories without nested attributes (expand=none)
value:
notificationCategories:
- notificationCategoryId: 1
name: Mijn Reizen
- notificationCategoryId: 2
name: Nieuwsbrief aanmelding
- notificationCategoryId: 3
name: Mijn Passen
getNotifactionCategories?expand=eventType:
summary: Return all the notification categories with nested event types (expand=eventType)
value:
notificationCategories:
- notificationCategoryId: 1
name: Mijn Reizen
eventTypes:
- eventTypeId: 2
eventOrigin:
eventOriginId: 1
name: GBO
name: ALERTS, TRAVEL_SCHEME
subName: CI
prettyName: Check In
optinRequired: false
- eventTypeId: 3
eventOrigin:
eventOriginId: 1
name: GBO
name: ALERTS, PAD
subName: null
prettyName: Profielgegevens op de pas
optinRequired: false
- notificationCategoryId: 2
name: Nieuwsbrief aanmelding
eventTypes:
- eventTypeId: 1
eventOrigin:
eventOriginId: 6
name: Maileon
name: newsletter
subName: null
prettyName: HTM nieuwsbrief
optinRequired: false
- notificationCategoryId: 3
name: Mijn Passen
eventTypes:
- eventTypeId: 4
eventOrigin:
eventOriginId: 1
name: GBO
name: ALERTS, CARD
subName: null
prettyName: Mijn passen
optinRequired: false
- eventTypeId: 5
eventOrigin:
eventOriginId: 1
name: GBO
name: ALERTS, PAD
subName: null
prettyName: Profielgegevens op de pas
optinRequired: false
getNotifactionCategories?expand=eventTypeChannel:
summary: Return all the notification categories with all nested attributes (expand=eventTypeChannel)
value:
notificationCategories:
- notificationCategoryId: 1
name: Mijn Reizen
eventTypes:
- eventTypeId: 2
eventOrigin:
eventOriginId: 1
name: GBO
name: ALERTS, TRAVEL_SCHEME
subName: CI
prettyName: Check In
optinRequired: false
eventTypeChannels:
- eventTypeChannelId: ccc8c025-06b5-4928-a632-23e1c55cd173
channel:
channelId: 1
name: push
isDefault: true
isMandatory: false
- eventTypeChannelId: da2deb4c-ce77-4b5f-aecc-ddebfd14349d
channel:
channelId: 2
name: email
isDefault: false
isMandatory: false
- eventTypeId: 3
eventOrigin:
eventOriginId: 1
name: GBO
name: ALERTS, PAD
subName: null
prettyName: Profielgegevens op de pas
optinRequired: false
eventTypeChannels:
- eventTypeChannelId: 8e7df8f1-7e50-482f-8301-d399e75fd432
channel:
channelId: 1
name: push
isDefault: true
isMandatory: false
- eventTypeChannelId: 72960a92-1855-469f-9cfd-5d72f57106f2
channel:
channelId: 2
name: email
isDefault: false
isMandatory: false
- notificationCategoryId: 2
name: Nieuwsbrief aanmelding
eventTypes:
- eventTypeId: 1
eventOrigin:
eventOriginId: 6
name: Maileon
name: newsletter
subName: null
prettyName: HTM nieuwsbrief
optinRequired: false
eventTypeChannels:
- eventTypeChannelId: 447a1116-6cd7-4645-8c3d-43237b6186cd
channel:
channelId: 2
name: email
isDefault: true
isMandatory: false
- notificationCategoryId: 3
name: Mijn Passen
eventTypes:
- eventTypeId: 4
eventOrigin:
eventOriginId: 1
name: GBO
name: ALERTS, CARD
subName: null
prettyName: Mijn passen
optinRequired: false
eventTypeChannels:
- eventTypeChannelId: be07c7bb-714b-4637-acf5-a67025ad8e60
channel:
channelId: 1
name: push
isDefault: true
isMandatory: false
- eventTypeChannelId: 0c797b5a-ed34-494b-8c64-0a832830d392
channel:
channelId: 2
name: email
isDefault: false
isMandatory: false
- eventTypeId: 5
eventOrigin:
eventOriginId: 1
name: GBO
name: ALERTS, PAD
subName: null
prettyName: Profielgegevens op de pas
optinRequired: false
eventTypeChannels:
- eventTypeChannelId: b910368f-c045-4e8e-b01d-bcbc78708bac
channel:
channelId: 1
name: push
isDefault: true
isMandatory: false
- eventTypeChannelId: 93e773da-ba3b-48da-9a0e-ee478eaa752f
channel:
channelId: 2
name: email
isDefault: false
isMandatory: false
"404":
description: No notification category found
content:
application/json:
example:
{
"type": "https://api.integratielaag.nl/abt/touchpoint/2.0/notifications",
"title": "Niet gevonden",
"detail": "Notificatiecategorie niet gevonden",
"instance": "555d00b5-bc3f-4591-949b-479e76d49ea7",
"errors":
[
{
"code": "404",
"detail": null,
"path": null,
"parameter": null,
},
],
}
/customers/notificationpreferences:
parameters:
- name: X-HTM-JWT-AUTH-HEADER
in: header
schema:
type: string
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
required: false
description: The JWT of a customer in case of touchpoint were customer logs in themselves
- name: X-HTM-CUSTOMER-PROFILE-ID-HEADER
in: header
schema:
type: string
example: feaaef83-a551-4283-8419-340b1ada3b55
required: false
description: The customerProfileId of a customer in the case of the SMP
- name: X-HTM-ROLE-HEADER
in: header
schema:
type: string
example: Customer
required: false
description: The role of the HTM employee in the case of the SMP
- name: deviceId
in: query
schema:
type: string
format: uuid
example: 7b3379b8-fb12-41f5-94a8-0d3f0fbcf55b
required: false
description: |
Filter only notification preferences for this device id. Note that as a result, only eventTypeChannels that have resources for this device will be returned.
Also note that once the preferences are PUT back, the deviceId should be provided again to avoid overwriting other device preferences.
get:
tags:
- Notification preferences
summary: Get notification categories and optins references for that category that a touchpoint can show for a specific customer.
description: |
Get notification categories that a touchpoint can show and optins ( eventTypes) and channels (eventType_channels) for the optin for that category for a specific customer.
responses:
"200":
description: OK
content:
application/json:
examples:
noNotificationSubscriptions:
summary: Return no notification categories with subscriptions
value: { "notificationCategories": [] }
oneNotificationCategoryWithSubscription:
summary: Return one notification category with one subscription
value:
{
"notificationCategories":
[
{
"notificationCategoryId": 2,
"name": "Nieuwsbrief aanmelding",
"groupName": "Marketing",
"notificationSubscriptions":
[
{
"notificationSubscriptionId": "af6305d3-f95d-42af-b22a-4181594d45dc",
"customerProfileId": 42,
"ovPayTokenId": null,
"isActive": true,
"eventTypes":
[
{
"eventTypeId": 1,
"name": "newsletter",
"subName": null,
"prettyName": "HTM Nieuwsbrief",
"eventTypeChannels":
[
{
"eventTypeChannelId": "29cfcde2-c2f9-4548-a65e-d7789e3decc2",
"channelId": 2,
"name": "email",
"isMandatory": false,
"resources":
[
{
"resourceName": "customers",
"resourceIdentifier": "42",
"alias": "stasjo.van.bakel@htm.nl",
"isActive": true,
},
],
},
],
},
],
},
],
},
],
}
oneNotificationSubscriptionFilteredByDeviceId:
summary: Return one notification category with one subscription, filtered for 'Mijn iPhone 12'
value:
{
"notificationCategories":
[
{
"notificationCategoryId": 1,
"name": "Reizen",
"groupName": "Mijn passen",
"notificationSubscriptions":
[
{
"notificationSubscriptionId": "04ef3297-e0ff-4db6-90a4-6f0576ef4741",
"customerProfileId": 42,
"ovPayToken":
{
"ovPayTokenId": 112,
"alias": "Mijn ING bankpas",
},
"isActive": true,
"eventTypes":
[
{
"eventTypeId": 2,
"name": "GBO",
"subName": "CI",
"prettyName": "Normal Check-in",
"eventTypeChannels":
[
{
"eventTypeChannelId": "912ef811-976d-4b8d-8e39-24496335d556",
"channelId": 1,
"name": "push",
"isMandatory": false,
"resources":
[
{
"resourceName": "devices",
"resourceIdentifier": "7b3379b8-fb12-41f5-94a8-0d3f0fbcf55b",
"alias": "Mijn iPhone 12",
"isActive": true,
},
],
},
],
},
{
"eventTypeId": 3,
"name": "GBO",
"subName": "CO",
"prettyName": "Normal Check-out",
"eventTypeChannels":
[
{
"eventTypeChannelId": "a1b2c3d4-e5f6-4789-abcd-1234567890ab",
"channelId": 1,
"name": "push",
"isMandatory": false,
"resources":
[
{
"resourceName": "devices",
"resourceIdentifier": "7b3379b8-fb12-41f5-94a8-0d3f0fbcf55b",
"alias": "Mijn iPhone 12",
"isActive": true,
},
],
},
],
},
{
"eventTypeId": 3,
"name": "GBO",
"subName": "MISSING_CO",
"prettyName": "Missing Check-out",
"eventTypeChannels":
[
{
"eventTypeChannelId": "b2c3d4e5-f678-49ab-cdef-234567890abc",
"channelId": 1,
"name": "push",
"isMandatory": false,
"resources":
[
{
"resourceName": "devices",
"resourceIdentifier": "7b3379b8-fb12-41f5-94a8-0d3f0fbcf55b",
"alias": "Mijn iPhone 12",
"isActive": true,
},
],
},
],
},
],
},
],
},
],
}
multipleNotificationCategoriesWithSubscriptions:
summary: Return multiple notification categories with subscriptions for one customer, both push and mail
value:
{
"notificationCategories":
[
{
"notificationCategoryId": 1,
"name": "Reizen",
"groupName": "Mijn passen",
"notificationSubscriptions":
[
{
"notificationSubscriptionId": "04ef3297-e0ff-4db6-90a4-6f0576ef4741",
"customerProfileId": 42,
"ovPayToken":
{
"ovPayTokenId": 112,
"alias": "Mijn ING bankpas",
},
"isActive": true,
"eventTypes":
[
{
"eventTypeId": 2,
"name": "GBO",
"subName": "CI",
"prettyName": "Normal Check-in",
"eventTypeChannels":
[
{
"eventTypeChannelId": "912ef811-976d-4b8d-8e39-24496335d556",
"channelId": 1,
"name": "push",
"isMandatory": false,
"resources":
[
{
"resourceName": "devices",
"resourceIdentifier": "7b3379b8-fb12-41f5-94a8-0d3f0fbcf55b",
"alias": "Mijn iPhone 12",
"isActive": true,
},
{
"resourceName": "devices",
"resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4",
"alias": "Mijn Pixel 9 Pro",
"isActive": true,
},
],
},
],
},
{
"eventTypeId": 3,
"name": "GBO",
"subName": "CO",
"prettyName": "Normal Check-out",
"eventTypeChannels":
[
{
"eventTypeChannelId": "a1b2c3d4-e5f6-4789-abcd-1234567890ab",
"channelId": 1,
"name": "push",
"isMandatory": false,
"resources":
[
{
"resourceName": "devices",
"resourceIdentifier": "7b3379b8-fb12-41f5-94a8-0d3f0fbcf55b",
"alias": "Mijn iPhone 12",
"isActive": true,
},
{
"resourceName": "devices",
"resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4",
"alias": "Mijn Pixel 9 Pro",
"isActive": false,
},
],
},
],
},
{
"eventTypeId": 3,
"name": "GBO",
"subName": "MISSING_CO",
"prettyName": "Missing Check-out",
"eventTypeChannels":
[
{
"eventTypeChannelId": "b2c3d4e5-f678-49ab-cdef-234567890abc",
"channelId": 1,
"name": "push",
"isMandatory": false,
"resources":
[
{
"resourceName": "devices",
"resourceIdentifier": "7b3379b8-fb12-41f5-94a8-0d3f0fbcf55b",
"alias": "Mijn iPhone 12",
"isActive": true,
},
{
"resourceName": "devices",
"resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4",
"alias": "Mijn Pixel 9 Pro",
"isActive": true,
},
],
},
{
"eventTypeChannelId": "c3d4e5f6-789a-4bcd-ef01-34567890abcd",
"channelId": 2,
"name": "email",
"isMandatory": false,
"resources":
[
{
"resourceName": "customers",
"resourceIdentifier": "42",
"alias": "stasjo.van.bakel@htm.nl",
"isActive": true,
},
],
},
],
},
],
},
{
"notificationSubscriptionId": "8469e00a-724a-4e72-b432-fb14c939c9d3",
"customerProfileId": 42,
"ovPayToken":
{
"ovPayTokenId": 113,
"alias": "Mijn OV-pas",
},
"isActive": true,
"eventTypes":
[
{
"eventTypeId": 2,
"name": "GBO",
"subName": "CI",
"prettyName": "Normal Check-in",
"eventTypeChannels":
[
{
"eventTypeChannelId": "912ef811-976d-4b8d-8e39-24496335d556",
"channelId": 1,
"name": "push",
"isMandatory": false,
"resources":
[
{
"resourceName": "devices",
"resourceIdentifier": "7b3379b8-fb12-41f5-94a8-0d3f0fbcf55b",
"alias": "Mijn iPhone 12",
"isActive": true,
},
{
"resourceName": "devices",
"resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4",
"alias": "Mijn Pixel 9 Pro",
"isActive": true,
},
],
},
],
},
{
"eventTypeId": 3,
"name": "GBO",
"subName": "CO",
"prettyName": "Normal Check-out",
"eventTypeChannels":
[
{
"eventTypeChannelId": "a1b2c3d4-e5f6-4789-abcd-1234567890ab",
"channelId": 1,
"name": "push",
"isMandatory": false,
"resources":
[
{
"resourceName": "devices",
"resourceIdentifier": "7b3379b8-fb12-41f5-94a8-0d3f0fbcf55b",
"alias": "Mijn iPhone 12",
"isActive": true,
},
{
"resourceName": "devices",
"resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4",
"alias": "Mijn Pixel 9 Pro",
"isActive": false,
},
],
},
],
},
{
"eventTypeId": 3,
"name": "GBO",
"subName": "MISSING_CO",
"prettyName": "Missing Check-out",
"eventTypeChannels":
[
{
"eventTypeChannelId": "b2c3d4e5-f678-49ab-cdef-234567890abc",
"channelId": 1,
"name": "push",
"isMandatory": false,
"resources":
[
{
"resourceName": "devices",
"resourceIdentifier": "7b3379b8-fb12-41f5-94a8-0d3f0fbcf55b",
"alias": "Mijn iPhone 12",
"isActive": true,
},
{
"resourceName": "devices",
"resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4",
"alias": "Mijn Pixel 9 Pro",
"isActive": false,
},
],
},
{
"eventTypeChannelId": "c3d4e5f6-789a-4bcd-ef01-34567890abcd",
"channelId": 2,
"name": "email",
"isMandatory": false,
"resources":
[
{
"resourceName": "customers",
"resourceIdentifier": "42",
"alias": "stasjo.van.bakel@htm.nl",
"isActive": false,
},
],
},
],
},
],
},
],
},
{
"notificationCategoryId": 4,
"name": "Producten",
"groupName": "Mijn passen",
"notificationSubscriptions":
[
{
"notificationSubscriptionId": "af6305d3-f95d-42af-b22a-4181594d45dc",
"customerProfileId": 42,
"ovPayToken":
{
"ovPayTokenId": 112,
"alias": "Mijn ING bankpas",
},
"isActive": true,
"eventTypes":
[
{
"eventTypeId": 8,
"name": "GBO",
"subName": "PRODUCT_ACTIVATED",
"prettyName": "Product Activated",
"eventTypeChannels":
[
{
"eventTypeChannelId": "912ef811-976d-4b8d-8e39-24496335d556",
"channelId": 1,
"name": "push",
"isMandatory": true,
"resources":
[
{
"resourceName": "devices",
"resourceIdentifier": "7b3379b8-fb12-41f5-94a8-0d3f0fbcf55b",
"alias": "Mijn iPhone 12",
"isActive": true,
},
{
"resourceName": "devices",
"resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4",
"alias": "Mijn Pixel 9 Pro",
"isActive": true,
},
],
},
{
"eventTypeChannelId": "f6789abc-def0-1234-5678-90abcdef1234",
"channelId": 2,
"name": "email",
"isMandatory": false,
"resources":
[
{
"resourceName": "customers",
"resourceIdentifier": "42",
"alias": "stasjo.van.bakel@htm.nl",
"isActive": true,
},
],
},
],
},
{
"eventTypeId": 9,
"name": "GBO",
"subName": "PRODUCT_REFUNDED",
"prettyName": "Product Refunded",
"eventTypeChannels":
[
{
"eventTypeChannelId": "b2c3d4e5-f678-49ab-cdef-234567890abc",
"channelId": 1,
"name": "push",
"isMandatory": true,
"resources":
[
{
"resourceName": "devices",
"resourceIdentifier": "7b3379b8-fb12-41f5-94a8-0d3f0fbcf55b",
"alias": "Mijn iPhone 12",
"isActive": true,
},
{
"resourceName": "devices",
"resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4",
"alias": "Mijn Pixel 9 Pro",
"isActive": false,
},
],
},
{
"eventTypeChannelId": "f6789abc-def0-1234-5678-90abcdef1234",
"channelId": 2,
"name": "email",
"isMandatory": false,
"resources":
[
{
"resourceName": "customers",
"resourceIdentifier": "42",
"alias": "stasjo.van.bakel@htm.nl",
"isActive": false,
},
],
},
],
},
],
},
{
"notificationSubscriptionId": "f2acafdc-0410-474f-8c8b-ba7c7b550f8e",
"customerProfileId": 42,
"ovPayToken":
{
"ovPayTokenId": 113,
"alias": "Mijn OV-pas",
},
"isActive": true,
"eventTypes":
[
{
"eventTypeId": 8,
"name": "GBO",
"subName": "PRODUCT_ACTIVATED",
"prettyName": "Product Activated",
"eventTypeChannels":
[
{
"eventTypeChannelId": "912ef811-976d-4b8d-8e39-24496335d556",
"channelId": 1,
"name": "push",
"isMandatory": true,
"resources":
[
{
"resourceName": "devices",
"resourceIdentifier": "7b3379b8-fb12-41f5-94a8-0d3f0fbcf55b",
"alias": "Mijn iPhone 12",
"isActive": true,
},
{
"resourceName": "devices",
"resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4",
"alias": "Mijn Pixel 9 Pro",
"isActive": true,
},
],
},
{
"eventTypeChannelId": "f6789abc-def0-1234-5678-90abcdef1234",
"channelId": 2,
"name": "email",
"isMandatory": false,
"resources":
[
{
"resourceName": "customers",
"resourceIdentifier": "42",
"alias": "stasjo.van.bakel@htm.nl",
"isActive": false,
},
],
},
],
},
{
"eventTypeId": 9,
"name": "GBO",
"subName": "PRODUCT_REFUNDED",
"prettyName": "Product Refunded",
"eventTypeChannels":
[
{
"eventTypeChannelId": "b2c3d4e5-f678-49ab-cdef-234567890abc",
"channelId": 1,
"name": "push",
"isMandatory": true,
"resources":
[
{
"resourceName": "devices",
"resourceIdentifier": "7b3379b8-fb12-41f5-94a8-0d3f0fbcf55b",
"alias": "Mijn iPhone 12",
"isActive": true,
},
{
"resourceName": "devices",
"resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4",
"alias": "Mijn Pixel 9 Pro",
"isActive": false,
},
],
},
{
"eventTypeChannelId": "f6789abc-def0-1234-5678-90abcdef1234",
"channelId": 2,
"name": "email",
"isMandatory": false,
"resources":
[
{
"resourceName": "customers",
"resourceIdentifier": "42",
"alias": "stasjo.van.bakel@htm.nl",
"isActive": true,
},
],
},
],
},
],
},
],
},
{
"notificationCategoryId": 2,
"name": "Nieuwsbrief aanmelding",
"groupName": "Marketing",
"notificationSubscriptions":
[
{
"notificationSubscriptionId": "af6305d3-f95d-42af-b22a-4181594d45dc",
"customerProfileId": 42,
"ovPayTokenId": null,
"isActive": true,
"eventTypes":
[
{
"eventTypeId": 1,
"name": "HTM",
"subName": "NEWSLETTER",
"prettyName": "HTM Nieuwsbrief",
"eventTypeChannels":
[
{
"eventTypeChannelId": "29cfcde2-c2f9-4548-a65e-d7789e3decc2",
"channelId": 2,
"name": "email",
"isMandatory": false,
"resources":
[
{
"resourceName": "customers",
"resourceIdentifier": "42",
"alias": "stasjo.van.bakel@htm.nl",
"isActive": true,
},
],
},
],
},
],
},
],
},
],
}
put:
tags:
- Notification preferences
summary: Get notification categories and optins references for that category that a touchpoint can show for a specific customer.
description: |
Get notification categories that a touchpoint can show and optins ( eventTypes) and channels (eventType_channels) for the optin for that category for a specific customer.
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/unavailable"
examples:
putMultipleSubscriptionsWithoutFilter:
summary: Put all notification categories with all subscriptions for a single customer, without filtering
value:
{
"notificationCategories":
[
{
"notificationCategoryId": 1,
"name": "Reizen",
"groupName": "Mijn passen",
"notificationSubscriptions":
[
{
"notificationSubscriptionId": "04ef3297-e0ff-4db6-90a4-6f0576ef4741",
"customerProfileId": 42,
"ovPayToken":
{
"ovPayTokenId": 112,
"alias": "Mijn ING bankpas",
},
"isActive": true,
"eventTypes":
[
{
"eventTypeId": 2,
"name": "GBO",
"subName": "CI",
"prettyName": "Normal Check-in",
"eventTypeChannels":
[
{
"eventTypeChannelId": "912ef811-976d-4b8d-8e39-24496335d556",
"channelId": 1,
"name": "push",
"isMandatory": false,
"resources":
[
{
"resourceName": "devices",
"resourceIdentifier": "7b3379b8-fb12-41f5-94a8-0d3f0fbcf55b",
"alias": "Mijn iPhone 12",
"isActive": true,
},
{
"resourceName": "devices",
"resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4",
"alias": "Mijn Pixel 9 Pro",
"isActive": true,
},
],
},
],
},
{
"eventTypeId": 3,
"name": "GBO",
"subName": "CO",
"prettyName": "Normal Check-out",
"eventTypeChannels":
[
{
"eventTypeChannelId": "a1b2c3d4-e5f6-4789-abcd-1234567890ab",
"channelId": 1,
"name": "push",
"isMandatory": false,
"resources":
[
{
"resourceName": "devices",
"resourceIdentifier": "7b3379b8-fb12-41f5-94a8-0d3f0fbcf55b",
"alias": "Mijn iPhone 12",
"isActive": true,
},
{
"resourceName": "devices",
"resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4",
"alias": "Mijn Pixel 9 Pro",
"isActive": false,
},
],
},
],
},
{
"eventTypeId": 3,
"name": "GBO",
"subName": "MISSING_CO",
"prettyName": "Missing Check-out",
"eventTypeChannels":
[
{
"eventTypeChannelId": "b2c3d4e5-f678-49ab-cdef-234567890abc",
"channelId": 1,
"name": "push",
"isMandatory": false,
"resources":
[
{
"resourceName": "devices",
"resourceIdentifier": "7b3379b8-fb12-41f5-94a8-0d3f0fbcf55b",
"alias": "Mijn iPhone 12",
"isActive": true,
},
{
"resourceName": "devices",
"resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4",
"alias": "Mijn Pixel 9 Pro",
"isActive": true,
},
],
},
{
"eventTypeChannelId": "c3d4e5f6-789a-4bcd-ef01-34567890abcd",
"channelId": 2,
"name": "email",
"isMandatory": false,
"resources":
[
{
"resourceName": "customers",
"resourceIdentifier": "42",
"alias": "stasjo.van.bakel@htm.nl",
"isActive": true,
},
],
},
],
},
],
},
{
"notificationSubscriptionId": "8469e00a-724a-4e72-b432-fb14c939c9d3",
"customerProfileId": 42,
"ovPayToken":
{
"ovPayTokenId": 113,
"alias": "Mijn OV-pas",
},
"isActive": true,
"eventTypes":
[
{
"eventTypeId": 2,
"name": "GBO",
"subName": "CI",
"prettyName": "Normal Check-in",
"eventTypeChannels":
[
{
"eventTypeChannelId": "912ef811-976d-4b8d-8e39-24496335d556",
"channelId": 1,
"name": "push",
"isMandatory": false,
"resources":
[
{
"resourceName": "devices",
"resourceIdentifier": "7b3379b8-fb12-41f5-94a8-0d3f0fbcf55b",
"alias": "Mijn iPhone 12",
"isActive": true,
},
{
"resourceName": "devices",
"resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4",
"alias": "Mijn Pixel 9 Pro",
"isActive": true,
},
],
},
],
},
{
"eventTypeId": 3,
"name": "GBO",
"subName": "CO",
"prettyName": "Normal Check-out",
"eventTypeChannels":
[
{
"eventTypeChannelId": "a1b2c3d4-e5f6-4789-abcd-1234567890ab",
"channelId": 1,
"name": "push",
"isMandatory": false,
"resources":
[
{
"resourceName": "devices",
"resourceIdentifier": "7b3379b8-fb12-41f5-94a8-0d3f0fbcf55b",
"alias": "Mijn iPhone 12",
"isActive": true,
},
{
"resourceName": "devices",
"resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4",
"alias": "Mijn Pixel 9 Pro",
"isActive": false,
},
],
},
],
},
{
"eventTypeId": 3,
"name": "GBO",
"subName": "MISSING_CO",
"prettyName": "Missing Check-out",
"eventTypeChannels":
[
{
"eventTypeChannelId": "b2c3d4e5-f678-49ab-cdef-234567890abc",
"channelId": 1,
"name": "push",
"isMandatory": false,
"resources":
[
{
"resourceName": "devices",
"resourceIdentifier": "7b3379b8-fb12-41f5-94a8-0d3f0fbcf55b",
"alias": "Mijn iPhone 12",
"isActive": true,
},
{
"resourceName": "devices",
"resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4",
"alias": "Mijn Pixel 9 Pro",
"isActive": false,
},
],
},
{
"eventTypeChannelId": "c3d4e5f6-789a-4bcd-ef01-34567890abcd",
"channelId": 2,
"name": "email",
"isMandatory": false,
"resources":
[
{
"resourceName": "customers",
"resourceIdentifier": "42",
"alias": "stasjo.van.bakel@htm.nl",
"isActive": false,
},
],
},
],
},
],
},
],
},
{
"notificationCategoryId": 4,
"name": "Producten",
"groupName": "Mijn passen",
"notificationSubscriptions":
[
{
"notificationSubscriptionId": "af6305d3-f95d-42af-b22a-4181594d45dc",
"customerProfileId": 42,
"ovPayToken":
{
"ovPayTokenId": 112,
"alias": "Mijn ING bankpas",
},
"isActive": true,
"eventTypes":
[
{
"eventTypeId": 8,
"name": "GBO",
"subName": "PRODUCT_ACTIVATED",
"prettyName": "Product Activated",
"eventTypeChannels":
[
{
"eventTypeChannelId": "912ef811-976d-4b8d-8e39-24496335d556",
"channelId": 1,
"name": "push",
"isMandatory": true,
"resources":
[
{
"resourceName": "devices",
"resourceIdentifier": "7b3379b8-fb12-41f5-94a8-0d3f0fbcf55b",
"alias": "Mijn iPhone 12",
"isActive": true,
},
{
"resourceName": "devices",
"resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4",
"alias": "Mijn Pixel 9 Pro",
"isActive": true,
},
],
},
{
"eventTypeChannelId": "f6789abc-def0-1234-5678-90abcdef1234",
"channelId": 2,
"name": "email",
"isMandatory": false,
"resources":
[
{
"resourceName": "customers",
"resourceIdentifier": "42",
"alias": "stasjo.van.bakel@htm.nl",
"isActive": true,
},
],
},
],
},
{
"eventTypeId": 9,
"name": "GBO",
"subName": "PRODUCT_REFUNDED",
"prettyName": "Product Refunded",
"eventTypeChannels":
[
{
"eventTypeChannelId": "b2c3d4e5-f678-49ab-cdef-234567890abc",
"channelId": 1,
"name": "push",
"isMandatory": true,
"resources":
[
{
"resourceName": "devices",
"resourceIdentifier": "7b3379b8-fb12-41f5-94a8-0d3f0fbcf55b",
"alias": "Mijn iPhone 12",
"isActive": true,
},
{
"resourceName": "devices",
"resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4",
"alias": "Mijn Pixel 9 Pro",
"isActive": false,
},
],
},
{
"eventTypeChannelId": "f6789abc-def0-1234-5678-90abcdef1234",
"channelId": 2,
"name": "email",
"isMandatory": false,
"resources":
[
{
"resourceName": "customers",
"resourceIdentifier": "42",
"alias": "stasjo.van.bakel@htm.nl",
"isActive": false,
},
],
},
],
},
],
},
{
"notificationSubscriptionId": "f2acafdc-0410-474f-8c8b-ba7c7b550f8e",
"customerProfileId": 42,
"ovPayToken":
{
"ovPayTokenId": 113,
"alias": "Mijn OV-pas",
},
"isActive": true,
"eventTypes":
[
{
"eventTypeId": 8,
"name": "GBO",
"subName": "PRODUCT_ACTIVATED",
"prettyName": "Product Activated",
"eventTypeChannels":
[
{
"eventTypeChannelId": "912ef811-976d-4b8d-8e39-24496335d556",
"channelId": 1,
"name": "push",
"isMandatory": true,
"resources":
[
{
"resourceName": "devices",
"resourceIdentifier": "7b3379b8-fb12-41f5-94a8-0d3f0fbcf55b",
"alias": "Mijn iPhone 12",
"isActive": true,
},
{
"resourceName": "devices",
"resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4",
"alias": "Mijn Pixel 9 Pro",
"isActive": true,
},
],
},
{
"eventTypeChannelId": "f6789abc-def0-1234-5678-90abcdef1234",
"channelId": 2,
"name": "email",
"isMandatory": false,
"resources":
[
{
"resourceName": "customers",
"resourceIdentifier": "42",
"alias": "stasjo.van.bakel@htm.nl",
"isActive": false,
},
],
},
],
},
{
"eventTypeId": 9,
"name": "GBO",
"subName": "PRODUCT_REFUNDED",
"prettyName": "Product Refunded",
"eventTypeChannels":
[
{
"eventTypeChannelId": "b2c3d4e5-f678-49ab-cdef-234567890abc",
"channelId": 1,
"name": "push",
"isMandatory": true,
"resources":
[
{
"resourceName": "devices",
"resourceIdentifier": "7b3379b8-fb12-41f5-94a8-0d3f0fbcf55b",
"alias": "Mijn iPhone 12",
"isActive": true,
},
{
"resourceName": "devices",
"resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4",
"alias": "Mijn Pixel 9 Pro",
"isActive": false,
},
],
},
{
"eventTypeChannelId": "f6789abc-def0-1234-5678-90abcdef1234",
"channelId": 2,
"name": "email",
"isMandatory": false,
"resources":
[
{
"resourceName": "customers",
"resourceIdentifier": "42",
"alias": "stasjo.van.bakel@htm.nl",
"isActive": true,
},
],
},
],
},
],
},
],
},
{
"notificationCategoryId": 2,
"name": "Nieuwsbrief aanmelding",
"groupName": "Marketing",
"notificationSubscriptions":
[
{
"notificationSubscriptionId": "af6305d3-f95d-42af-b22a-4181594d45dc",
"customerProfileId": 42,
"ovPayTokenId": null,
"isActive": true,
"eventTypes":
[
{
"eventTypeId": 1,
"name": "HTM",
"subName": "NEWSLETTER",
"prettyName": "HTM Nieuwsbrief",
"eventTypeChannels":
[
{
"eventTypeChannelId": "29cfcde2-c2f9-4548-a65e-d7789e3decc2",
"channelId": 2,
"name": "email",
"isMandatory": false,
"resources":
[
{
"resourceName": "customers",
"resourceIdentifier": "42",
"alias": "stasjo.van.bakel@htm.nl",
"isActive": true,
},
],
},
],
},
],
},
],
},
],
}
putSingleSubscriptionFilteredByDeviceId:
summary: Put one notification category with one subscription, which is filtered for 'Mijn iPhone 12'
value:
{
"notificationCategories":
[
{
"notificationCategoryId": 1,
"name": "Reizen",
"groupName": "Mijn passen",
"notificationSubscriptions":
[
{
"notificationSubscriptionId": "04ef3297-e0ff-4db6-90a4-6f0576ef4741",
"customerProfileId": 42,
"ovPayToken":
{
"ovPayTokenId": 112,
"alias": "Mijn ING bankpas",
},
"isActive": true,
"eventTypes":
[
{
"eventTypeId": 2,
"name": "GBO",
"subName": "CI",
"prettyName": "Normal Check-in",
"eventTypeChannels":
[
{
"eventTypeChannelId": "912ef811-976d-4b8d-8e39-24496335d556",
"channelId": 1,
"name": "push",
"isMandatory": false,
"resources":
[
{
"resourceName": "devices",
"resourceIdentifier": "7b3379b8-fb12-41f5-94a8-0d3f0fbcf55b",
"alias": "Mijn iPhone 12",
"isActive": true,
},
],
},
],
},
{
"eventTypeId": 3,
"name": "GBO",
"subName": "CO",
"prettyName": "Normal Check-out",
"eventTypeChannels":
[
{
"eventTypeChannelId": "a1b2c3d4-e5f6-4789-abcd-1234567890ab",
"channelId": 1,
"name": "push",
"isMandatory": false,
"resources":
[
{
"resourceName": "devices",
"resourceIdentifier": "7b3379b8-fb12-41f5-94a8-0d3f0fbcf55b",
"alias": "Mijn iPhone 12",
"isActive": true,
},
],
},
],
},
{
"eventTypeId": 3,
"name": "GBO",
"subName": "MISSING_CO",
"prettyName": "Missing Check-out",
"eventTypeChannels":
[
{
"eventTypeChannelId": "b2c3d4e5-f678-49ab-cdef-234567890abc",
"channelId": 1,
"name": "push",
"isMandatory": false,
"resources":
[
{
"resourceName": "devices",
"resourceIdentifier": "7b3379b8-fb12-41f5-94a8-0d3f0fbcf55b",
"alias": "Mijn iPhone 12",
"isActive": true,
},
],
},
],
},
],
},
],
},
],
}
responses:
"200":
description: OK
content:
application/json:
example:
{
"notificationCategories":
[
{
"notificationCategoryId": 1,
"name": "Reizen",
"groupName": "Mijn passen",
"notificationSubscriptions":
[
{
"notificationSubscriptionId": "04ef3297-e0ff-4db6-90a4-6f0576ef4741",
"customerProfileId": 42,
"ovPayToken":
{
"ovPayTokenId": 112,
"alias": "Mijn ING bankpas",
},
"isActive": true,
"eventTypes":
[
{
"eventTypeId": 2,
"name": "GBO",
"subName": "CI",
"prettyName": "Normal Check-in",
"eventTypeChannels":
[
{
"eventTypeChannelId": "912ef811-976d-4b8d-8e39-24496335d556",
"channelId": 1,
"name": "push",
"isMandatory": false,
"resources":
[
{
"resourceName": "devices",
"resourceIdentifier": "7b3379b8-fb12-41f5-94a8-0d3f0fbcf55b",
"alias": "Mijn iPhone 12",
"isActive": true,
},
{
"resourceName": "devices",
"resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4",
"alias": "Mijn Pixel 9 Pro",
"isActive": true,
},
],
},
],
},
{
"eventTypeId": 3,
"name": "GBO",
"subName": "CO",
"prettyName": "Normal Check-out",
"eventTypeChannels":
[
{
"eventTypeChannelId": "a1b2c3d4-e5f6-4789-abcd-1234567890ab",
"channelId": 1,
"name": "push",
"isMandatory": false,
"resources":
[
{
"resourceName": "devices",
"resourceIdentifier": "7b3379b8-fb12-41f5-94a8-0d3f0fbcf55b",
"alias": "Mijn iPhone 12",
"isActive": true,
},
{
"resourceName": "devices",
"resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4",
"alias": "Mijn Pixel 9 Pro",
"isActive": false,
},
],
},
],
},
{
"eventTypeId": 3,
"name": "GBO",
"subName": "MISSING_CO",
"prettyName": "Missing Check-out",
"eventTypeChannels":
[
{
"eventTypeChannelId": "b2c3d4e5-f678-49ab-cdef-234567890abc",
"channelId": 1,
"name": "push",
"isMandatory": false,
"resources":
[
{
"resourceName": "devices",
"resourceIdentifier": "7b3379b8-fb12-41f5-94a8-0d3f0fbcf55b",
"alias": "Mijn iPhone 12",
"isActive": true,
},
{
"resourceName": "devices",
"resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4",
"alias": "Mijn Pixel 9 Pro",
"isActive": true,
},
],
},
{
"eventTypeChannelId": "c3d4e5f6-789a-4bcd-ef01-34567890abcd",
"channelId": 2,
"name": "email",
"isMandatory": false,
"resources":
[
{
"resourceName": "customers",
"resourceIdentifier": "42",
"alias": "stasjo.van.bakel@htm.nl",
"isActive": true,
},
],
},
],
},
],
},
{
"notificationSubscriptionId": "8469e00a-724a-4e72-b432-fb14c939c9d3",
"customerProfileId": 42,
"ovPayToken":
{ "ovPayTokenId": 113, "alias": "Mijn OV-pas" },
"isActive": true,
"eventTypes":
[
{
"eventTypeId": 2,
"name": "GBO",
"subName": "CI",
"prettyName": "Normal Check-in",
"eventTypeChannels":
[
{
"eventTypeChannelId": "912ef811-976d-4b8d-8e39-24496335d556",
"channelId": 1,
"name": "push",
"isMandatory": false,
"resources":
[
{
"resourceName": "devices",
"resourceIdentifier": "7b3379b8-fb12-41f5-94a8-0d3f0fbcf55b",
"alias": "Mijn iPhone 12",
"isActive": true,
},
{
"resourceName": "devices",
"resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4",
"alias": "Mijn Pixel 9 Pro",
"isActive": true,
},
],
},
],
},
{
"eventTypeId": 3,
"name": "GBO",
"subName": "CO",
"prettyName": "Normal Check-out",
"eventTypeChannels":
[
{
"eventTypeChannelId": "a1b2c3d4-e5f6-4789-abcd-1234567890ab",
"channelId": 1,
"name": "push",
"isMandatory": false,
"resources":
[
{
"resourceName": "devices",
"resourceIdentifier": "7b3379b8-fb12-41f5-94a8-0d3f0fbcf55b",
"alias": "Mijn iPhone 12",
"isActive": true,
},
{
"resourceName": "devices",
"resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4",
"alias": "Mijn Pixel 9 Pro",
"isActive": false,
},
],
},
],
},
{
"eventTypeId": 3,
"name": "GBO",
"subName": "MISSING_CO",
"prettyName": "Missing Check-out",
"eventTypeChannels":
[
{
"eventTypeChannelId": "b2c3d4e5-f678-49ab-cdef-234567890abc",
"channelId": 1,
"name": "push",
"isMandatory": false,
"resources":
[
{
"resourceName": "devices",
"resourceIdentifier": "7b3379b8-fb12-41f5-94a8-0d3f0fbcf55b",
"alias": "Mijn iPhone 12",
"isActive": true,
},
{
"resourceName": "devices",
"resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4",
"alias": "Mijn Pixel 9 Pro",
"isActive": false,
},
],
},
{
"eventTypeChannelId": "c3d4e5f6-789a-4bcd-ef01-34567890abcd",
"channelId": 2,
"name": "email",
"isMandatory": false,
"resources":
[
{
"resourceName": "customers",
"resourceIdentifier": "42",
"alias": "stasjo.van.bakel@htm.nl",
"isActive": false,
},
],
},
],
},
],
},
],
},
{
"notificationCategoryId": 4,
"name": "Producten",
"groupName": "Mijn passen",
"notificationSubscriptions":
[
{
"notificationSubscriptionId": "af6305d3-f95d-42af-b22a-4181594d45dc",
"customerProfileId": 42,
"ovPayToken":
{
"ovPayTokenId": 112,
"alias": "Mijn ING bankpas",
},
"isActive": true,
"eventTypes":
[
{
"eventTypeId": 8,
"name": "GBO",
"subName": "PRODUCT_ACTIVATED",
"prettyName": "Product Activated",
"eventTypeChannels":
[
{
"eventTypeChannelId": "912ef811-976d-4b8d-8e39-24496335d556",
"channelId": 1,
"name": "push",
"isMandatory": true,
"resources":
[
{
"resourceName": "devices",
"resourceIdentifier": "7b3379b8-fb12-41f5-94a8-0d3f0fbcf55b",
"alias": "Mijn iPhone 12",
"isActive": true,
},
{
"resourceName": "devices",
"resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4",
"alias": "Mijn Pixel 9 Pro",
"isActive": true,
},
],
},
{
"eventTypeChannelId": "f6789abc-def0-1234-5678-90abcdef1234",
"channelId": 2,
"name": "email",
"isMandatory": false,
"resources":
[
{
"resourceName": "customers",
"resourceIdentifier": "42",
"alias": "stasjo.van.bakel@htm.nl",
"isActive": true,
},
],
},
],
},
{
"eventTypeId": 9,
"name": "GBO",
"subName": "PRODUCT_REFUNDED",
"prettyName": "Product Refunded",
"eventTypeChannels":
[
{
"eventTypeChannelId": "b2c3d4e5-f678-49ab-cdef-234567890abc",
"channelId": 1,
"name": "push",
"isMandatory": true,
"resources":
[
{
"resourceName": "devices",
"resourceIdentifier": "7b3379b8-fb12-41f5-94a8-0d3f0fbcf55b",
"alias": "Mijn iPhone 12",
"isActive": true,
},
{
"resourceName": "devices",
"resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4",
"alias": "Mijn Pixel 9 Pro",
"isActive": false,
},
],
},
{
"eventTypeChannelId": "f6789abc-def0-1234-5678-90abcdef1234",
"channelId": 2,
"name": "email",
"isMandatory": false,
"resources":
[
{
"resourceName": "customers",
"resourceIdentifier": "42",
"alias": "stasjo.van.bakel@htm.nl",
"isActive": false,
},
],
},
],
},
],
},
{
"notificationSubscriptionId": "f2acafdc-0410-474f-8c8b-ba7c7b550f8e",
"customerProfileId": 42,
"ovPayToken":
{ "ovPayTokenId": 113, "alias": "Mijn OV-pas" },
"isActive": true,
"eventTypes":
[
{
"eventTypeId": 8,
"name": "GBO",
"subName": "PRODUCT_ACTIVATED",
"prettyName": "Product Activated",
"eventTypeChannels":
[
{
"eventTypeChannelId": "912ef811-976d-4b8d-8e39-24496335d556",
"channelId": 1,
"name": "push",
"isMandatory": true,
"resources":
[
{
"resourceName": "devices",
"resourceIdentifier": "7b3379b8-fb12-41f5-94a8-0d3f0fbcf55b",
"alias": "Mijn iPhone 12",
"isActive": true,
},
{
"resourceName": "devices",
"resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4",
"alias": "Mijn Pixel 9 Pro",
"isActive": true,
},
],
},
{
"eventTypeChannelId": "f6789abc-def0-1234-5678-90abcdef1234",
"channelId": 2,
"name": "email",
"isMandatory": false,
"resources":
[
{
"resourceName": "customers",
"resourceIdentifier": "42",
"alias": "stasjo.van.bakel@htm.nl",
"isActive": false,
},
],
},
],
},
{
"eventTypeId": 9,
"name": "GBO",
"subName": "PRODUCT_REFUNDED",
"prettyName": "Product Refunded",
"eventTypeChannels":
[
{
"eventTypeChannelId": "b2c3d4e5-f678-49ab-cdef-234567890abc",
"channelId": 1,
"name": "push",
"isMandatory": true,
"resources":
[
{
"resourceName": "devices",
"resourceIdentifier": "7b3379b8-fb12-41f5-94a8-0d3f0fbcf55b",
"alias": "Mijn iPhone 12",
"isActive": true,
},
{
"resourceName": "devices",
"resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4",
"alias": "Mijn Pixel 9 Pro",
"isActive": false,
},
],
},
{
"eventTypeChannelId": "f6789abc-def0-1234-5678-90abcdef1234",
"channelId": 2,
"name": "email",
"isMandatory": false,
"resources":
[
{
"resourceName": "customers",
"resourceIdentifier": "42",
"alias": "stasjo.van.bakel@htm.nl",
"isActive": true,
},
],
},
],
},
],
},
],
},
{
"notificationCategoryId": 2,
"name": "Nieuwsbrief aanmelding",
"groupName": "Marketing",
"notificationSubscriptions":
[
{
"notificationSubscriptionId": "af6305d3-f95d-42af-b22a-4181594d45dc",
"customerProfileId": 42,
"ovPayTokenId": null,
"isActive": true,
"eventTypes":
[
{
"eventTypeId": 1,
"name": "HTM",
"subName": "NEWSLETTER",
"prettyName": "HTM Nieuwsbrief",
"eventTypeChannels":
[
{
"eventTypeChannelId": "29cfcde2-c2f9-4548-a65e-d7789e3decc2",
"channelId": 2,
"name": "email",
"isMandatory": false,
"resources":
[
{
"resourceName": "customers",
"resourceIdentifier": "42",
"alias": "stasjo.van.bakel@htm.nl",
"isActive": true,
},
],
},
],
},
],
},
],
},
],
}
/notificationsubscriptions:
get:
tags:
- Notification subscriptions
summary: Get all possible notificationSubscriptions for a customer (account or private).
description: |
Get all possible notificationSubscriptions for a customer (account or private), including if they have opted-in for it.
parameters:
- name: X-HTM-JWT-AUTH-HEADER
in: header
schema:
type: string
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
required: false
description: The JWT of a customer in case of touchpoint were customer logs in themselves
- name: X-HTM-CUSTOMER-PROFILE-ID-HEADER
in: header
schema:
type: string
example: feaaef83-a551-4283-8419-340b1ada3b55
required: false
description: The customerProfileId of a customer in the case of the SMP
- name: X-HTM-ROLE-HEADER
in: header
schema:
type: string
example: Customer
required: false
description: The role of the HTM employee in the case of the SMP
- name: emailAddress
in: query
schema:
type: string
format: email
example: john.doe@mymailprovider.com
required: false
description: The emailadress of the customer in the case of anonymous opt-ins
responses:
"200":
description: OK
content:
application/json:
examples:
getNotifactionSubscriptionsAll:
summary: Return all the notification subscriptions where for each category the client has actively opted in or out - All
value:
{
"notificationSubscriptions":
[
{
"notificationSubscriptionId": "64047471-e0c3-4abc-b4eb-83a12a6de903",
"notificationCategory":
{
"notificationCategoryId": 1,
"name": "Mijn reizen",
},
"isActive": true,
},
{
"notificationSubscriptionId": "571388cd-8903-40d5-89e6-9191cb8d656e",
"notificationCategory":
{
"notificationCategoryId": 2,
"name": "Nieuwsbrief aanmelding",
},
"isActive": true,
},
{
"notificationSubscriptionId": "cf736ff2-2f8f-434e-a3c7-a14064b73c9b",
"notificationCategory":
{
"notificationCategoryId": 3,
"name": "Mijn contracten",
},
"isActive": false,
},
],
}
getNotifactionSubscriptionsSome:
summary: Return all the notification subscriptions where for each category the client has actively opted in or out - Some
value:
{
"notificationSubscriptions":
[
{
"notificationSubscriptionId": "64047471-e0c3-4abc-b4eb-83a12a6de903",
"notificationCategory":
{
"notificationCategoryId": 1,
"name": "Mijn reizen",
},
"isActive": true,
},
{
"notificationSubscriptionId": "cf736ff2-2f8f-434e-a3c7-a14064b73c9b",
"notificationCategory":
{
"notificationCategoryId": 2,
"name": "Nieuwsbrief aanmelding",
},
"isActive": false,
},
],
}
"403":
description: Forbidden // Als geverifieerd profiel gevonden wordt, maar niet op een geverifieerde manier benaderd wordt
content:
application/json:
example:
{
"type": "https://api.integratielaag.nl/abt/touchpoint/2.0/notifications",
"title": "Verboden",
"detail": "Niet toegestaan",
"instance": "555d00b5-bc3f-4591-949b-479e76d49ea7",
"errors":
[
{
"code": "403",
"detail": null,
"path": null,
"parameter": null,
},
],
}
"404":
description: No notification subscriptions found
content:
application/json:
example:
{
"type": "https://api.integratielaag.nl/abt/touchpoint/2.0/notifications",
"title": "Niet gevonden",
"detail": "Notificatie niet gevonden",
"instance": "555d00b5-bc3f-4591-949b-479e76d49ea7",
"errors":
[
{
"code": "404",
"detail": null,
"path": null,
"parameter": null,
},
],
}
post:
tags:
- Notification subscriptions
summary: Create a new notificationSubscription for a customer (account or private).
description: |
Create a notificationSubscriptions for a customer (account or private), including if they have opted-in for it.
parameters:
- name: X-HTM-JWT-AUTH-HEADER
in: header
schema:
type: string
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
required: false
description: The JWT of a customer in case of touchpoint were customer logs in themselves
- name: X-HTM-CUSTOMER-PROFILE-ID-HEADER
in: header
schema:
type: string
example: feaaef83-a551-4283-8419-340b1ada3b55
required: false
description: The customerProfileId of a customer in the case of the SMP
- name: X-HTM-ROLE-HEADER
in: header
schema:
type: string
example: Customer
required: false
description: The role of the HTM employee in the case of the SMP
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/unavailable"
examples:
Create notificationSubscription anonymous:
value:
{
"emailAddress": "anonymous@mymailprovider.com",
"notificationCategoryId": 1,
}
Create notificationSubscription account active:
value: { "notificationCategoryId": 2 }
Create notificationSubscription for token:
value: { "notificationCategoryId": 3, "ovPayTokenId": 42 }
responses:
"201":
description: Created
content:
application/json:
examples:
Create notificationSubscription anonymous:
summary: Return the created notification for an anonymous user inactive by default.
value:
{
"notificationSubscriptionId": "e112f26e-37fa-4bde-8def-9977cd1d50ae",
"notificationCategory":
{
"notificationCategoryId": 2,
"name": "Nieuwsbrief aanmelding",
},
"isActive": False,
}
Create notificationSubscription account active:
summary: Return the created notification for an anonymous user active
value:
{
"notificationSubscriptionId": "6b88eba1-af1f-42fc-82d3-d7202d5f1afe",
"notificationCategory":
{
"notificationCategoryId": 2,
"name": "Nieuwsbrief aanmelding",
},
"isActive": True,
}
"405":
description: Method not allowed, ook als een notificatie aangemaakt wordt voor een account maar op een anonieme manier benadert wordt.
content:
application/json:
example:
{
"type": "https://api.integratielaag.nl/abt/touchpoint/2.0/notifications",
"title": "Methode niet toegestaan",
"detail": "",
"instance": "555d00b5-bc3f-4591-949b-479e76d49ea7",
"errors":
[
{
"code": "405",
"detail": null,
"path": null,
"parameter": null,
},
],
}
/notificationsubscriptions/{notificationSubscriptionId}:
patch:
tags:
- Notification subscriptions
summary: Update a notificationSubscription for a customer.
description: |
Update a notificationSubscription for a customer.
parameters:
- name: X-HTM-JWT-AUTH-HEADER
in: header
schema:
type: string
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
required: false
description: The JWT of a customer in case of touchpoint were customer logs in themselves
- name: X-HTM-CUSTOMER-PROFILE-ID-HEADER
in: header
schema:
type: string
example: feaaef83-a551-4283-8419-340b1ada3b55
required: false
description: The customerProfileId of a customer in the case of the SMP
- name: X-HTM-ROLE-HEADER
in: header
schema:
type: string
example: Customer
required: false
description: The role of the HTM employee in the case of the SMP
- name: notificationSubscriptionId
in: path
schema:
type: string
format: uuid
example: e112f26e-37fa-4bde-8def-9977cd1d50ae
required: true
description: The id of the notificationSubscription you want to update
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/unavailable"
examples:
Update a notificationSubscription to inactive:
value: { "isActive": False }
Update a notificationSubscription to active:
value: { "isActive": True }
responses:
"200":
description: OK
content:
application/json:
examples:
Update a notificationSubscription to inactive:
summary: Return the updated inactive notification
value:
{
"notificationSubscriptionId": "e112f26e-37fa-4bde-8def-9977cd1d50ae",
"notificationCategory":
{
"notificationCategoryId": 2,
"name": "Nieuwsbrief aanmelding",
},
"isActive": False,
}
Update a notificationSubscription to active:
summary: Return the updated active notification
value:
{
"notificationSubscriptionId": "e112f26e-37fa-4bde-8def-9977cd1d50ae",
"notificationCategory":
{
"notificationCategoryId": 2,
"name": "Nieuwsbrief aanmelding",
},
"isActive": True,
}
"405":
description: Method not allowed,wanneer het account emailadres niet geverifieerd is.
content:
application/json:
example:
{
"type": "https://api.integratielaag.nl/abt/touchpoint/2.0/notifications",
"title": "Methode niet toegestaan",
"detail": "",
"instance": "555d00b5-bc3f-4591-949b-479e76d49ea7",
"errors":
[
{
"code": "405",
"detail": null,
"path": null,
"parameter": null,
},
],
}
components:
schemas:
unavailable:
type: object