2110 lines
110 KiB
YAML
2110 lines
110 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/{customerProfileId}/notificationpreferences:
|
|
parameters:
|
|
- name: customerProfileId
|
|
in: path
|
|
schema:
|
|
type: integer
|
|
example: 42
|
|
required: true
|
|
description: The customerProfileId of the customer for whom to get the notification subscriptions
|
|
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,
|
|
"prettyName": "HTM Nieuwsbrief",
|
|
"channels":
|
|
[
|
|
{
|
|
"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,
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
}
|
|
multipleNotificationCategoriesWithSubscriptions:
|
|
summary: Return multiple notification categories with subscriptions for one customer
|
|
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,
|
|
"prettyName": "Normal Check-in",
|
|
"channels":
|
|
[
|
|
{
|
|
"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,
|
|
"prettyName": "Normal Check-out",
|
|
"channels":
|
|
[
|
|
{
|
|
"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,
|
|
"prettyName": "Missing Check-out",
|
|
"channels":
|
|
[
|
|
{
|
|
"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,
|
|
"prettyName": "Normal Check-in",
|
|
"channels":
|
|
[
|
|
{
|
|
"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,
|
|
"prettyName": "Normal Check-out",
|
|
"channels":
|
|
[
|
|
{
|
|
"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,
|
|
"prettyName": "Missing Check-out",
|
|
"channels":
|
|
[
|
|
{
|
|
"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,
|
|
"prettyName": "Product Activated",
|
|
"channels":
|
|
[
|
|
{
|
|
"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,
|
|
"prettyName": "Product Refunded",
|
|
"channels":
|
|
[
|
|
{
|
|
"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,
|
|
"prettyName": "Product Activated",
|
|
"channels":
|
|
[
|
|
{
|
|
"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,
|
|
"prettyName": "Product Refunded",
|
|
"channels":
|
|
[
|
|
{
|
|
"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,
|
|
"prettyName": "HTM Nieuwsbrief",
|
|
"channels":
|
|
[
|
|
{
|
|
"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"
|
|
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,
|
|
"prettyName": "Normal Check-in",
|
|
"channels":
|
|
[
|
|
{
|
|
"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,
|
|
"prettyName": "Normal Check-out",
|
|
"channels":
|
|
[
|
|
{
|
|
"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,
|
|
"prettyName": "Missing Check-out",
|
|
"channels":
|
|
[
|
|
{
|
|
"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,
|
|
"prettyName": "Normal Check-in",
|
|
"channels":
|
|
[
|
|
{
|
|
"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,
|
|
"prettyName": "Normal Check-out",
|
|
"channels":
|
|
[
|
|
{
|
|
"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,
|
|
"prettyName": "Missing Check-out",
|
|
"channels":
|
|
[
|
|
{
|
|
"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,
|
|
"prettyName": "Product Activated",
|
|
"channels":
|
|
[
|
|
{
|
|
"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,
|
|
"prettyName": "Product Refunded",
|
|
"channels":
|
|
[
|
|
{
|
|
"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,
|
|
"prettyName": "Product Activated",
|
|
"channels":
|
|
[
|
|
{
|
|
"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,
|
|
"prettyName": "Product Refunded",
|
|
"channels":
|
|
[
|
|
{
|
|
"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,
|
|
"prettyName": "HTM Nieuwsbrief",
|
|
"channels":
|
|
[
|
|
{
|
|
"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,
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
}
|
|
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,
|
|
"prettyName": "Normal Check-in",
|
|
"channels":
|
|
[
|
|
{
|
|
"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,
|
|
"prettyName": "Normal Check-out",
|
|
"channels":
|
|
[
|
|
{
|
|
"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,
|
|
"prettyName": "Missing Check-out",
|
|
"channels":
|
|
[
|
|
{
|
|
"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,
|
|
"prettyName": "Normal Check-in",
|
|
"channels":
|
|
[
|
|
{
|
|
"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,
|
|
"prettyName": "Normal Check-out",
|
|
"channels":
|
|
[
|
|
{
|
|
"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,
|
|
"prettyName": "Missing Check-out",
|
|
"channels":
|
|
[
|
|
{
|
|
"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,
|
|
"prettyName": "Product Activated",
|
|
"channels":
|
|
[
|
|
{
|
|
"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,
|
|
"prettyName": "Product Refunded",
|
|
"channels":
|
|
[
|
|
{
|
|
"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,
|
|
"prettyName": "Product Activated",
|
|
"channels":
|
|
[
|
|
{
|
|
"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,
|
|
"prettyName": "Product Refunded",
|
|
"channels":
|
|
[
|
|
{
|
|
"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,
|
|
"prettyName": "HTM Nieuwsbrief",
|
|
"channels":
|
|
[
|
|
{
|
|
"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
|