From e6b2146706a01f78890a8dd36227237808cf9381 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Tue, 30 Dec 2025 14:57:43 +0100 Subject: [PATCH 01/10] OVPAY-2346 - Implemented /issuedvouchers/{code}. --- src/openapi/products/vouchers-se.yaml | 181 ++++++++++++++++++++++++++ 1 file changed, 181 insertions(+) create mode 100644 src/openapi/products/vouchers-se.yaml diff --git a/src/openapi/products/vouchers-se.yaml b/src/openapi/products/vouchers-se.yaml new file mode 100644 index 0000000..5628f3c --- /dev/null +++ b/src/openapi/products/vouchers-se.yaml @@ -0,0 +1,181 @@ +openapi: 3.0.1 +info: + title: Service Engine APIs for HTM vouchers + description: Service Engine APIs for HTM vouchers. These are NOT the CRUD APIs to the data hub. + version: "1.0" +servers: + - url: https://services.acc.api.htm.nl/abt/abtvouchers/1.0 +paths: + /issuedvouchers/{voucherCode}: + get: + summary: Get voucher details by voucher code + description: Retrieve voucher details using its unique voucher code. + parameters: + - name: voucherCode + in: path + required: true + description: The unique code of the voucher details to retrieve. + schema: + type: string + tags: + - Vouchers + responses: + "200": + description: Successful retrieval of voucher instance + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + examples: + Voucher for a product with required attributes: + summary: Voucher for a single product with required attributes + value: + { + "issuedVoucher": + { + "issuedVoucherId": "d4e5f6a7-b8c9-0d1e-2f3a-4b5c6d7e8f90", + "voucherCode": "VOUCHER123", + "fromInclusive": "2024-10-04T00:00:00.000", + "untilInclusive": "2024-11-04T00:00:00.000", + "voucherStatus": + { "voucherStatusId": 1, "name": "New" }, + "products": + [ + { + "productId": 126, + "productName": "HTM-30001", + "productDescription": "Reis met 20% korting op je betaalpas bij HTM.", + "productCategory": + { + "productCategoryId": 1, + "isTravelProduct": true, + "name": "Kortingsabonnement", + }, + "tokenTypes": + [{ "tokenTypeId": 1, "name": "EMV" }], + "sellableTouchpointIds": [3, 4], + "amountInclTax": 300, + "imageReference": "https://www.htm.nl/media/leif2leu/htm-logo-mobile.svg", + "productPageUrl": "https://www.htm.nl/nog-onbekende-product-pagina", + "_links": + { + "get_details": + { + "href": "https://api.integratielaag.nl/abt/touchpoint/1.0/products/126", + "method": "GET", + } + } + } + ], + "mandatoryCustomerDataItems": + [ + { + "mandatoryCustomerDataItemId": 8, + "customerDataItem": "padBirthDate", + }, + { + "mandatoryCustomerDataItemId": 4, + "customerDataItem": "emailAddress", + } + ] + } + } + Voucher for a whole order: + summary: Voucher for a whole order + value: + { + "issuedVoucher": + { + "issuedVoucherId": "d4e5f6a7-b8c9-0d1e-2f3a-4b5c6d7e8f90", + "voucherCode": "VOUCHER123", + "fromInclusive": "2024-10-04T00:00:00.000", + "untilInclusive": "2024-11-04T00:00:00.000", + "voucherStatus": + { "voucherStatusId": 1, "name": "New" }, + "products": [], + "mandatoryCustomerDataItems": [] + } + } + "403": + description: Forbidden + content: + application/problem+json: + schema: + $ref: "#/components/schemas/rfc9457" + examples: + Access denied due to insufficient permissions: + summary: Access denied due to insufficient permissions + value: + { + "type": "https://example.com/probs/forbidden", + "title": "Access denied", + "detail": "You do not have permission to access this resource.", + "instance": "/issuedvouchers/VOUCHER123", + } + "404": + description: Not found + content: + application/problem+json: + schema: + $ref: "#/components/schemas/rfc9457" + examples: + Voucher not found: + summary: Voucher not found + value: + { + "type": "https://example.com/probs/not-found", + "title": "Voucher not found", + "detail": "The voucher with code VOUCHER123 does not exist.", + "instance": "/issuedvouchers/VOUCHER123", + } + "500": + description: Internal server error + content: + application/problem+json: + schema: + $ref: "#/components/schemas/rfc9457" + examples: + Unexpected server error: + summary: Unexpected server error + value: + { + "type": "https://example.com/probs/internal-server-error", + "title": "Internal Server Error", + "detail": "An unexpected error occurred while processing your request.", + "instance": "/issuedvouchers/VOUCHER123", + } +components: + securitySchemes: + bearerToken: + type: http + scheme: bearer + bearerFormat: JWT + schemas: + unavailable: + type: object + rfc9457: + type: object + properties: + type: + type: string + format: url + example: https://example.com/probs/out-of-credit + title: + type: string + example: You do not have enough credit. + detail: + type: string + example: Your current balance is 30, but that costs 50. + instance: + type: string + example: /account/12345/msgs/abc + balance: + type: string + example: 30 + accounts: + type: array + items: + type: string + example: + - /account/12345 + - /account/67890 From 80c9fe759980235c140f378ea85be2b671f9a6ae Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Mon, 5 Jan 2026 14:04:40 +0100 Subject: [PATCH 02/10] OVPAY-2346 - Processed review remarks. --- src/openapi/products/vouchers-se.yaml | 94 ++++++++++++++++++--------- 1 file changed, 62 insertions(+), 32 deletions(-) diff --git a/src/openapi/products/vouchers-se.yaml b/src/openapi/products/vouchers-se.yaml index 5628f3c..c8423d2 100644 --- a/src/openapi/products/vouchers-se.yaml +++ b/src/openapi/products/vouchers-se.yaml @@ -39,34 +39,43 @@ paths: "untilInclusive": "2024-11-04T00:00:00.000", "voucherStatus": { "voucherStatusId": 1, "name": "New" }, - "products": - [ - { - "productId": 126, - "productName": "HTM-30001", - "productDescription": "Reis met 20% korting op je betaalpas bij HTM.", - "productCategory": + "product": + { + "productId": 263, + "productName": "HTM-80001", + "productDescription": "10 euro korting op Regiovrij maand.", + "productCategory": + { + "productCategoryId": 9, + "isTravelProduct": false, + "name": "Voucher", + }, + "amountInclTax": -1000, + "requiredProducts": + [ { - "productCategoryId": 1, - "isTravelProduct": true, - "name": "Kortingsabonnement", - }, - "tokenTypes": - [{ "tokenTypeId": 1, "name": "EMV" }], - "sellableTouchpointIds": [3, 4], - "amountInclTax": 300, - "imageReference": "https://www.htm.nl/media/leif2leu/htm-logo-mobile.svg", - "productPageUrl": "https://www.htm.nl/nog-onbekende-product-pagina", - "_links": - { - "get_details": + "productId": 126, + "productName": "HTM-30001", + "productDescription": "Reis met 20% korting op je betaalpas bij HTM.", + "_links": { - "href": "https://api.integratielaag.nl/abt/touchpoint/1.0/products/126", - "method": "GET", - } - } - } - ], + "get_details": + { + "href": "https://api.integratielaag.nl/abt/touchpoint/1.0/products/126", + "method": "GET", + }, + }, + }, + ], + "_links": + { + "get_details": + { + "href": "https://api.integratielaag.nl/abt/touchpoint/1.0/products/263", + "method": "GET", + }, + }, + }, "mandatoryCustomerDataItems": [ { @@ -76,9 +85,9 @@ paths: { "mandatoryCustomerDataItemId": 4, "customerDataItem": "emailAddress", - } - ] - } + }, + ], + }, } Voucher for a whole order: summary: Voucher for a whole order @@ -92,9 +101,30 @@ paths: "untilInclusive": "2024-11-04T00:00:00.000", "voucherStatus": { "voucherStatusId": 1, "name": "New" }, - "products": [], - "mandatoryCustomerDataItems": [] - } + "product": + { + "productId": 263, + "productName": "HTM-80002", + "productDescription": "10 euro korting op je gehele winkelmand.", + "productCategory": + { + "productCategoryId": 9, + "isTravelProduct": false, + "name": "Voucher", + }, + "amountInclTax": -1000, + "requiredProducts": [], + "_links": + { + "get_details": + { + "href": "https://api.integratielaag.nl/abt/touchpoint/1.0/products/263", + "method": "GET", + }, + }, + }, + }, + "mandatoryCustomerDataItems": [], } "403": description: Forbidden From c6facc5a70d7f909dd1b7799995f40f451d07980 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Mon, 19 Jan 2026 14:31:01 +0100 Subject: [PATCH 03/10] OVPAY-973 - Added GET/PUT /customers/notificationpreferences. --- src/openapi/customers/SE-notifications.yaml | 1302 ++++++++++++++++++- 1 file changed, 1300 insertions(+), 2 deletions(-) diff --git a/src/openapi/customers/SE-notifications.yaml b/src/openapi/customers/SE-notifications.yaml index 72f3f4f..b4516c0 100644 --- a/src/openapi/customers/SE-notifications.yaml +++ b/src/openapi/customers/SE-notifications.yaml @@ -12,10 +12,12 @@ tags: 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 + Service Engine APIs for the HTM Notification subscriptions for a user. + Contains the subscriptions on category level. - name: Notification preferences description: >- - //future Service Engine APIs for the HTM Notification preferences for a category for a user. Contains the discrepancies from the default. or + 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: @@ -232,6 +234,1302 @@ paths: }, ], } + /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", + "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, + "ovPayTokenId": 112, + "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", + "isActive": true + }, + { + "resourceName": "devices", + "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", + "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", + "isActive": true + }, + { + "resourceName": "devices", + "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", + "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", + "isActive": true + }, + { + "resourceName": "devices", + "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", + "isActive": true + } + ] + }, + { + "eventTypeChannelId": "c3d4e5f6-789a-4bcd-ef01-34567890abcd", + "channelId": 2, + "name": "email", + "isMandatory": false, + "resources": [ + { + "resourceName": "customers", + "resourceIdentifier": "42", + "isActive": true + } + ] + } + ] + } + ] + }, + { + "notificationSubscriptionId": "8469e00a-724a-4e72-b432-fb14c939c9d3", + "customerProfileId": 42, + "ovPayTokenId": 113, + "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", + "isActive": true + }, + { + "resourceName": "devices", + "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", + "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": "79f069ff-c264-46c1-8240-064852ed0ff0", + "isActive": true + }, + { + "resourceName": "devices", + "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", + "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", + "isActive": false + }, + { + "resourceName": "devices", + "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", + "isActive": false + } + ] + }, + { + "eventTypeChannelId": "c3d4e5f6-789a-4bcd-ef01-34567890abcd", + "channelId": 2, + "name": "email", + "isMandatory": false, + "resources": [ + { + "resourceName": "customers", + "resourceIdentifier": "42", + "isActive": false + } + ] + } + ] + } + ] + } + ] + }, + { + "notificationCategoryId": 4, + "name": "Producten", + "groupName": "Mijn passen", + "notificationSubscriptions": [ + { + "notificationSubscriptionId": "af6305d3-f95d-42af-b22a-4181594d45dc", + "customerProfileId": 42, + "ovPayTokenId": 112, + "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", + "isActive": true + }, + { + "resourceName": "devices", + "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", + "isActive": true + } + ] + }, + { + "eventTypeChannelId": "f6789abc-def0-1234-5678-90abcdef1234", + "channelId": 2, + "name": "email", + "isMandatory": false, + "resources": [ + { + "resourceName": "customers", + "resourceIdentifier": "42", + "isActive": true + } + ] + } + ] + }, + { + "eventTypeId": 9, + "prettyName": "Product Refunded", + "channels": [ + { + "eventTypeChannelId": "b2c3d4e5-f678-49ab-cdef-234567890abc", + "channelId": 1, + "name": "push", + "isMandatory": true, + "resources": [ + { + "resourceName": "devices", + "resourceIdentifier": "79f069ff-c264-46c1-8240-064852ed0ff0", + "isActive": true + }, + { + "resourceName": "devices", + "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", + "isActive": false + } + ] + }, + { + "eventTypeChannelId": "f6789abc-def0-1234-5678-90abcdef1234", + "channelId": 2, + "name": "email", + "isMandatory": false, + "resources": [ + { + "resourceName": "customers", + "resourceIdentifier": "42", + "isActive": false + } + ] + } + ] + } + ] + }, + { + "notificationSubscriptionId": "f2acafdc-0410-474f-8c8b-ba7c7b550f8e", + "customerProfileId": 42, + "ovPayTokenId": 113, + "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", + "isActive": true + }, + { + "resourceName": "devices", + "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", + "isActive": true + } + ] + }, + { + "eventTypeChannelId": "f6789abc-def0-1234-5678-90abcdef1234", + "channelId": 2, + "name": "email", + "isMandatory": false, + "resources": [ + { + "resourceName": "customers", + "resourceIdentifier": "42", + "isActive": false + } + ] + } + ] + }, + { + "eventTypeId": 9, + "prettyName": "Product Refunded", + "channels": [ + { + "eventTypeChannelId": "b2c3d4e5-f678-49ab-cdef-234567890abc", + "channelId": 1, + "name": "push", + "isMandatory": true, + "resources": [ + { + "resourceName": "devices", + "resourceIdentifier": "79f069ff-c264-46c1-8240-064852ed0ff0", + "isActive": true + }, + { + "resourceName": "devices", + "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", + "isActive": false + } + ] + }, + { + "eventTypeChannelId": "f6789abc-def0-1234-5678-90abcdef1234", + "channelId": 2, + "name": "email", + "isMandatory": false, + "resources": [ + { + "resourceName": "customers", + "resourceIdentifier": "42", + "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", + "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, + "ovPayTokenId": 112, + "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", + "isActive": true + }, + { + "resourceName": "devices", + "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", + "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", + "isActive": true + }, + { + "resourceName": "devices", + "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", + "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", + "isActive": true + }, + { + "resourceName": "devices", + "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", + "isActive": true + } + ] + }, + { + "eventTypeChannelId": "c3d4e5f6-789a-4bcd-ef01-34567890abcd", + "channelId": 2, + "name": "email", + "isMandatory": false, + "resources": [ + { + "resourceName": "customers", + "resourceIdentifier": "42", + "isActive": true + } + ] + } + ] + } + ] + }, + { + "notificationSubscriptionId": "8469e00a-724a-4e72-b432-fb14c939c9d3", + "customerProfileId": 42, + "ovPayTokenId": 113, + "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", + "isActive": true + }, + { + "resourceName": "devices", + "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", + "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": "79f069ff-c264-46c1-8240-064852ed0ff0", + "isActive": true + }, + { + "resourceName": "devices", + "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", + "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", + "isActive": false + }, + { + "resourceName": "devices", + "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", + "isActive": false + } + ] + }, + { + "eventTypeChannelId": "c3d4e5f6-789a-4bcd-ef01-34567890abcd", + "channelId": 2, + "name": "email", + "isMandatory": false, + "resources": [ + { + "resourceName": "customers", + "resourceIdentifier": "42", + "isActive": false + } + ] + } + ] + } + ] + } + ] + }, + { + "notificationCategoryId": 4, + "name": "Producten", + "groupName": "Mijn passen", + "notificationSubscriptions": [ + { + "notificationSubscriptionId": "af6305d3-f95d-42af-b22a-4181594d45dc", + "customerProfileId": 42, + "ovPayTokenId": 112, + "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", + "isActive": true + }, + { + "resourceName": "devices", + "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", + "isActive": true + } + ] + }, + { + "eventTypeChannelId": "f6789abc-def0-1234-5678-90abcdef1234", + "channelId": 2, + "name": "email", + "isMandatory": false, + "resources": [ + { + "resourceName": "customers", + "resourceIdentifier": "42", + "isActive": true + } + ] + } + ] + }, + { + "eventTypeId": 9, + "prettyName": "Product Refunded", + "channels": [ + { + "eventTypeChannelId": "b2c3d4e5-f678-49ab-cdef-234567890abc", + "channelId": 1, + "name": "push", + "isMandatory": true, + "resources": [ + { + "resourceName": "devices", + "resourceIdentifier": "79f069ff-c264-46c1-8240-064852ed0ff0", + "isActive": true + }, + { + "resourceName": "devices", + "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", + "isActive": false + } + ] + }, + { + "eventTypeChannelId": "f6789abc-def0-1234-5678-90abcdef1234", + "channelId": 2, + "name": "email", + "isMandatory": false, + "resources": [ + { + "resourceName": "customers", + "resourceIdentifier": "42", + "isActive": false + } + ] + } + ] + } + ] + }, + { + "notificationSubscriptionId": "f2acafdc-0410-474f-8c8b-ba7c7b550f8e", + "customerProfileId": 42, + "ovPayTokenId": 113, + "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", + "isActive": true + }, + { + "resourceName": "devices", + "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", + "isActive": true + } + ] + }, + { + "eventTypeChannelId": "f6789abc-def0-1234-5678-90abcdef1234", + "channelId": 2, + "name": "email", + "isMandatory": false, + "resources": [ + { + "resourceName": "customers", + "resourceIdentifier": "42", + "isActive": false + } + ] + } + ] + }, + { + "eventTypeId": 9, + "prettyName": "Product Refunded", + "channels": [ + { + "eventTypeChannelId": "b2c3d4e5-f678-49ab-cdef-234567890abc", + "channelId": 1, + "name": "push", + "isMandatory": true, + "resources": [ + { + "resourceName": "devices", + "resourceIdentifier": "79f069ff-c264-46c1-8240-064852ed0ff0", + "isActive": true + }, + { + "resourceName": "devices", + "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", + "isActive": false + } + ] + }, + { + "eventTypeChannelId": "f6789abc-def0-1234-5678-90abcdef1234", + "channelId": 2, + "name": "email", + "isMandatory": false, + "resources": [ + { + "resourceName": "customers", + "resourceIdentifier": "42", + "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", + "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, + "ovPayTokenId": 112, + "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", + "isActive": true + }, + { + "resourceName": "devices", + "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", + "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", + "isActive": true + }, + { + "resourceName": "devices", + "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", + "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", + "isActive": true + }, + { + "resourceName": "devices", + "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", + "isActive": true + } + ] + }, + { + "eventTypeChannelId": "c3d4e5f6-789a-4bcd-ef01-34567890abcd", + "channelId": 2, + "name": "email", + "isMandatory": false, + "resources": [ + { + "resourceName": "customers", + "resourceIdentifier": "42", + "isActive": true + } + ] + } + ] + } + ] + }, + { + "notificationSubscriptionId": "8469e00a-724a-4e72-b432-fb14c939c9d3", + "customerProfileId": 42, + "ovPayTokenId": 113, + "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", + "isActive": true + }, + { + "resourceName": "devices", + "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", + "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": "79f069ff-c264-46c1-8240-064852ed0ff0", + "isActive": true + }, + { + "resourceName": "devices", + "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", + "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", + "isActive": false + }, + { + "resourceName": "devices", + "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", + "isActive": false + } + ] + }, + { + "eventTypeChannelId": "c3d4e5f6-789a-4bcd-ef01-34567890abcd", + "channelId": 2, + "name": "email", + "isMandatory": false, + "resources": [ + { + "resourceName": "customers", + "resourceIdentifier": "42", + "isActive": false + } + ] + } + ] + } + ] + } + ] + }, + { + "notificationCategoryId": 4, + "name": "Producten", + "groupName": "Mijn passen", + "notificationSubscriptions": [ + { + "notificationSubscriptionId": "af6305d3-f95d-42af-b22a-4181594d45dc", + "customerProfileId": 42, + "ovPayTokenId": 112, + "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", + "isActive": true + }, + { + "resourceName": "devices", + "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", + "isActive": true + } + ] + }, + { + "eventTypeChannelId": "f6789abc-def0-1234-5678-90abcdef1234", + "channelId": 2, + "name": "email", + "isMandatory": false, + "resources": [ + { + "resourceName": "customers", + "resourceIdentifier": "42", + "isActive": true + } + ] + } + ] + }, + { + "eventTypeId": 9, + "prettyName": "Product Refunded", + "channels": [ + { + "eventTypeChannelId": "b2c3d4e5-f678-49ab-cdef-234567890abc", + "channelId": 1, + "name": "push", + "isMandatory": true, + "resources": [ + { + "resourceName": "devices", + "resourceIdentifier": "79f069ff-c264-46c1-8240-064852ed0ff0", + "isActive": true + }, + { + "resourceName": "devices", + "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", + "isActive": false + } + ] + }, + { + "eventTypeChannelId": "f6789abc-def0-1234-5678-90abcdef1234", + "channelId": 2, + "name": "email", + "isMandatory": false, + "resources": [ + { + "resourceName": "customers", + "resourceIdentifier": "42", + "isActive": false + } + ] + } + ] + } + ] + }, + { + "notificationSubscriptionId": "f2acafdc-0410-474f-8c8b-ba7c7b550f8e", + "customerProfileId": 42, + "ovPayTokenId": 113, + "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", + "isActive": true + }, + { + "resourceName": "devices", + "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", + "isActive": true + } + ] + }, + { + "eventTypeChannelId": "f6789abc-def0-1234-5678-90abcdef1234", + "channelId": 2, + "name": "email", + "isMandatory": false, + "resources": [ + { + "resourceName": "customers", + "resourceIdentifier": "42", + "isActive": false + } + ] + } + ] + }, + { + "eventTypeId": 9, + "prettyName": "Product Refunded", + "channels": [ + { + "eventTypeChannelId": "b2c3d4e5-f678-49ab-cdef-234567890abc", + "channelId": 1, + "name": "push", + "isMandatory": true, + "resources": [ + { + "resourceName": "devices", + "resourceIdentifier": "79f069ff-c264-46c1-8240-064852ed0ff0", + "isActive": true + }, + { + "resourceName": "devices", + "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", + "isActive": false + } + ] + }, + { + "eventTypeChannelId": "f6789abc-def0-1234-5678-90abcdef1234", + "channelId": 2, + "name": "email", + "isMandatory": false, + "resources": [ + { + "resourceName": "customers", + "resourceIdentifier": "42", + "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", + "isActive": true + } + ] + } + ] + } + ] + } + ] + } + ] + } /notificationsubscriptions: get: tags: From 447912e081fa38e9461a117f4ec9cd65b11086e8 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Mon, 19 Jan 2026 15:08:42 +0100 Subject: [PATCH 04/10] OVPAY-973 - Added alias to request and response bodies. --- src/openapi/customers/SE-notifications.yaml | 2539 ++++++++++--------- 1 file changed, 1390 insertions(+), 1149 deletions(-) diff --git a/src/openapi/customers/SE-notifications.yaml b/src/openapi/customers/SE-notifications.yaml index b4516c0..a882f33 100644 --- a/src/openapi/customers/SE-notifications.yaml +++ b/src/openapi/customers/SE-notifications.yaml @@ -257,455 +257,537 @@ paths: examples: noNotificationSubscriptions: summary: Return no notification categories with subscriptions - value: - { - "notificationCategories": [], - } + 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": [ + "notificationCategories": + [ + { + "notificationCategoryId": 2, + "name": "Nieuwsbrief aanmelding", + "groupName": "Marketing", + "notificationSubscriptions": + [ { - "eventTypeId": 1, - "prettyName": "HTM Nieuwsbrief", - "channels": [ - { - "eventTypeChannelId": "29cfcde2-c2f9-4548-a65e-d7789e3decc2", - "channelId": 2, - "name": "email", - "isMandatory": false, - "resources": [ - { - "resourceName": "customers", - "resourceIdentifier": "42", - "isActive": true - } - ] - } - ] - } - ] - } - ] - } - ] + "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, - "ovPayTokenId": 112, - "isActive": true, - "eventTypes": [ + "notificationCategories": + [ + { + "notificationCategoryId": 1, + "name": "Reizen", + "groupName": "Mijn passen", + "notificationSubscriptions": + [ { - "eventTypeId": 2, - "prettyName": "Normal Check-in", - "channels": [ + "notificationSubscriptionId": "04ef3297-e0ff-4db6-90a4-6f0576ef4741", + "customerProfileId": 42, + "ovPayToken": { - "eventTypeChannelId": "912ef811-976d-4b8d-8e39-24496335d556", - "channelId": 1, - "name": "push", - "isMandatory": false, - "resources": [ - { - "resourceName": "devices", - "resourceIdentifier": "7b3379b8-fb12-41f5-94a8-0d3f0fbcf55b", - "isActive": true - }, - { - "resourceName": "devices", - "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", - "isActive": true - } - ] - } - ] + "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, + }, + ], + }, + ], + }, + ], }, { - "eventTypeId": 3, - "prettyName": "Normal Check-out", - "channels": [ + "notificationSubscriptionId": "8469e00a-724a-4e72-b432-fb14c939c9d3", + "customerProfileId": 42, + "ovPayToken": { - "eventTypeChannelId": "a1b2c3d4-e5f6-4789-abcd-1234567890ab", - "channelId": 1, - "name": "push", - "isMandatory": false, - "resources": [ - { - "resourceName": "devices", - "resourceIdentifier": "7b3379b8-fb12-41f5-94a8-0d3f0fbcf55b", - "isActive": true - }, - { - "resourceName": "devices", - "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", - "isActive": false - } - ] - } - ] + "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, + }, + ], + }, + ], + }, + ], }, { - "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", - "isActive": true - }, - { - "resourceName": "devices", - "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", - "isActive": true - } - ] - }, - { - "eventTypeChannelId": "c3d4e5f6-789a-4bcd-ef01-34567890abcd", - "channelId": 2, - "name": "email", - "isMandatory": false, - "resources": [ - { - "resourceName": "customers", - "resourceIdentifier": "42", - "isActive": true - } - ] - } - ] - } - ] - }, - { - "notificationSubscriptionId": "8469e00a-724a-4e72-b432-fb14c939c9d3", - "customerProfileId": 42, - "ovPayTokenId": 113, - "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", - "isActive": true - }, - { - "resourceName": "devices", - "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", - "isActive": true - } - ] - } - ] + "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": + [ { - "eventTypeId": 3, - "prettyName": "Normal Check-out", - "channels": [ - { - "eventTypeChannelId": "a1b2c3d4-e5f6-4789-abcd-1234567890ab", - "channelId": 1, - "name": "push", - "isMandatory": false, - "resources": [ - { - "resourceName": "devices", - "resourceIdentifier": "79f069ff-c264-46c1-8240-064852ed0ff0", - "isActive": true - }, - { - "resourceName": "devices", - "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", - "isActive": false - } - ] - } - ] + "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, + }, + ], + }, + ], + }, + ], }, - { - "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", - "isActive": false - }, - { - "resourceName": "devices", - "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", - "isActive": false - } - ] - }, - { - "eventTypeChannelId": "c3d4e5f6-789a-4bcd-ef01-34567890abcd", - "channelId": 2, - "name": "email", - "isMandatory": false, - "resources": [ - { - "resourceName": "customers", - "resourceIdentifier": "42", - "isActive": false - } - ] - } - ] - } - ] - } - ] - }, - { - "notificationCategoryId": 4, - "name": "Producten", - "groupName": "Mijn passen", - "notificationSubscriptions": [ - { - "notificationSubscriptionId": "af6305d3-f95d-42af-b22a-4181594d45dc", - "customerProfileId": 42, - "ovPayTokenId": 112, - "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", - "isActive": true - }, - { - "resourceName": "devices", - "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", - "isActive": true - } - ] - }, - { - "eventTypeChannelId": "f6789abc-def0-1234-5678-90abcdef1234", - "channelId": 2, - "name": "email", - "isMandatory": false, - "resources": [ - { - "resourceName": "customers", - "resourceIdentifier": "42", - "isActive": true - } - ] - } - ] - }, - { - "eventTypeId": 9, - "prettyName": "Product Refunded", - "channels": [ - { - "eventTypeChannelId": "b2c3d4e5-f678-49ab-cdef-234567890abc", - "channelId": 1, - "name": "push", - "isMandatory": true, - "resources": [ - { - "resourceName": "devices", - "resourceIdentifier": "79f069ff-c264-46c1-8240-064852ed0ff0", - "isActive": true - }, - { - "resourceName": "devices", - "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", - "isActive": false - } - ] - }, - { - "eventTypeChannelId": "f6789abc-def0-1234-5678-90abcdef1234", - "channelId": 2, - "name": "email", - "isMandatory": false, - "resources": [ - { - "resourceName": "customers", - "resourceIdentifier": "42", - "isActive": false - } - ] - } - ] - } - ] - }, - { - "notificationSubscriptionId": "f2acafdc-0410-474f-8c8b-ba7c7b550f8e", - "customerProfileId": 42, - "ovPayTokenId": 113, - "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", - "isActive": true - }, - { - "resourceName": "devices", - "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", - "isActive": true - } - ] - }, - { - "eventTypeChannelId": "f6789abc-def0-1234-5678-90abcdef1234", - "channelId": 2, - "name": "email", - "isMandatory": false, - "resources": [ - { - "resourceName": "customers", - "resourceIdentifier": "42", - "isActive": false - } - ] - } - ] - }, - { - "eventTypeId": 9, - "prettyName": "Product Refunded", - "channels": [ - { - "eventTypeChannelId": "b2c3d4e5-f678-49ab-cdef-234567890abc", - "channelId": 1, - "name": "push", - "isMandatory": true, - "resources": [ - { - "resourceName": "devices", - "resourceIdentifier": "79f069ff-c264-46c1-8240-064852ed0ff0", - "isActive": true - }, - { - "resourceName": "devices", - "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", - "isActive": false - } - ] - }, - { - "eventTypeChannelId": "f6789abc-def0-1234-5678-90abcdef1234", - "channelId": 2, - "name": "email", - "isMandatory": false, - "resources": [ - { - "resourceName": "customers", - "resourceIdentifier": "42", - "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", - "isActive": true - } - ] - } - ] - } - ] - } - ] - } - ] + ], + }, + ], } put: tags: @@ -721,407 +803,485 @@ paths: $ref: "#/components/schemas/unavailable" example: { - "notificationCategories": [ - { - "notificationCategoryId": 1, - "name": "Reizen", - "groupName": "Mijn passen", - "notificationSubscriptions": [ - { - "notificationSubscriptionId": "04ef3297-e0ff-4db6-90a4-6f0576ef4741", - "customerProfileId": 42, - "ovPayTokenId": 112, - "isActive": true, - "eventTypes": [ + "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", - "isActive": true - }, - { - "resourceName": "devices", - "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", - "isActive": true - } - ] - } - ] + "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", - "isActive": true - }, - { - "resourceName": "devices", - "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", - "isActive": false - } - ] - } - ] + "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", - "isActive": true - }, - { - "resourceName": "devices", - "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", - "isActive": true - } - ] - }, - { - "eventTypeChannelId": "c3d4e5f6-789a-4bcd-ef01-34567890abcd", - "channelId": 2, - "name": "email", - "isMandatory": false, - "resources": [ - { - "resourceName": "customers", - "resourceIdentifier": "42", - "isActive": true - } - ] - } - ] - } - ] - }, - { - "notificationSubscriptionId": "8469e00a-724a-4e72-b432-fb14c939c9d3", - "customerProfileId": 42, + "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, - "isActive": true, - "eventTypes": [ + "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", - "isActive": true - }, - { - "resourceName": "devices", - "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", - "isActive": true - } - ] - } - ] + "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": "79f069ff-c264-46c1-8240-064852ed0ff0", - "isActive": true - }, - { - "resourceName": "devices", - "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", - "isActive": false - } - ] - } - ] + "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", - "isActive": false - }, - { - "resourceName": "devices", - "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", - "isActive": false - } - ] - }, - { - "eventTypeChannelId": "c3d4e5f6-789a-4bcd-ef01-34567890abcd", - "channelId": 2, - "name": "email", - "isMandatory": false, - "resources": [ - { - "resourceName": "customers", - "resourceIdentifier": "42", - "isActive": false - } - ] - } - ] - } - ] - } - ] - }, - { - "notificationCategoryId": 4, - "name": "Producten", - "groupName": "Mijn passen", - "notificationSubscriptions": [ - { - "notificationSubscriptionId": "af6305d3-f95d-42af-b22a-4181594d45dc", - "customerProfileId": 42, - "ovPayTokenId": 112, - "isActive": true, - "eventTypes": [ + "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", - "isActive": true - }, - { - "resourceName": "devices", - "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", - "isActive": true - } - ] - }, - { - "eventTypeChannelId": "f6789abc-def0-1234-5678-90abcdef1234", - "channelId": 2, - "name": "email", - "isMandatory": false, - "resources": [ - { - "resourceName": "customers", - "resourceIdentifier": "42", - "isActive": true - } - ] - } - ] + "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": "79f069ff-c264-46c1-8240-064852ed0ff0", - "isActive": true - }, - { - "resourceName": "devices", - "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", - "isActive": false - } - ] - }, - { - "eventTypeChannelId": "f6789abc-def0-1234-5678-90abcdef1234", - "channelId": 2, - "name": "email", - "isMandatory": false, - "resources": [ - { - "resourceName": "customers", - "resourceIdentifier": "42", - "isActive": false - } - ] - } - ] - } - ] - }, - { - "notificationSubscriptionId": "f2acafdc-0410-474f-8c8b-ba7c7b550f8e", - "customerProfileId": 42, + "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, - "isActive": true, - "eventTypes": [ + "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", - "isActive": true - }, - { - "resourceName": "devices", - "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", - "isActive": true - } - ] - }, - { - "eventTypeChannelId": "f6789abc-def0-1234-5678-90abcdef1234", - "channelId": 2, - "name": "email", - "isMandatory": false, - "resources": [ - { - "resourceName": "customers", - "resourceIdentifier": "42", - "isActive": false - } - ] - } - ] + "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": "79f069ff-c264-46c1-8240-064852ed0ff0", - "isActive": true - }, - { - "resourceName": "devices", - "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", - "isActive": false - } - ] - }, - { - "eventTypeChannelId": "f6789abc-def0-1234-5678-90abcdef1234", - "channelId": 2, - "name": "email", - "isMandatory": false, - "resources": [ - { - "resourceName": "customers", - "resourceIdentifier": "42", - "isActive": true - } - ] - } - ] - } - ] - } - ] - }, - { - "notificationCategoryId": 2, - "name": "Nieuwsbrief aanmelding", - "groupName": "Marketing", - "notificationSubscriptions": [ - { - "notificationSubscriptionId": "af6305d3-f95d-42af-b22a-4181594d45dc", - "customerProfileId": 42, - "ovPayTokenId": null, - "isActive": true, - "eventTypes": [ + "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", - "isActive": true - } - ] - } - ] - } - ] - } - ] - } - ] - } + "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 @@ -1129,407 +1289,485 @@ paths: application/json: example: { - "notificationCategories": [ - { - "notificationCategoryId": 1, - "name": "Reizen", - "groupName": "Mijn passen", - "notificationSubscriptions": [ + "notificationCategories": + [ + { + "notificationCategoryId": 1, + "name": "Reizen", + "groupName": "Mijn passen", + "notificationSubscriptions": + [ { "notificationSubscriptionId": "04ef3297-e0ff-4db6-90a4-6f0576ef4741", "customerProfileId": 42, - "ovPayTokenId": 112, + "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": [ + "eventTypes": + [ + { + "eventTypeId": 2, + "prettyName": "Normal Check-in", + "channels": + [ { - "resourceName": "devices", - "resourceIdentifier": "7b3379b8-fb12-41f5-94a8-0d3f0fbcf55b", - "isActive": true + "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, + }, + ], }, { - "resourceName": "devices", - "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", - "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", - "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, + }, + ], }, - { - "resourceName": "devices", - "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", - "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", - "isActive": true - }, - { - "resourceName": "devices", - "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", - "isActive": true - } - ] - }, - { - "eventTypeChannelId": "c3d4e5f6-789a-4bcd-ef01-34567890abcd", - "channelId": 2, - "name": "email", - "isMandatory": false, - "resources": [ - { - "resourceName": "customers", - "resourceIdentifier": "42", - "isActive": true - } - ] - } - ] - } - ] + ], + }, + ], }, { "notificationSubscriptionId": "8469e00a-724a-4e72-b432-fb14c939c9d3", "customerProfileId": 42, - "ovPayTokenId": 113, + "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": [ + "eventTypes": + [ + { + "eventTypeId": 2, + "prettyName": "Normal Check-in", + "channels": + [ { - "resourceName": "devices", - "resourceIdentifier": "7b3379b8-fb12-41f5-94a8-0d3f0fbcf55b", - "isActive": true + "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, + }, + ], }, { - "resourceName": "devices", - "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", - "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": "79f069ff-c264-46c1-8240-064852ed0ff0", - "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": false, + }, + ], }, - { - "resourceName": "devices", - "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", - "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", - "isActive": false - }, - { - "resourceName": "devices", - "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", - "isActive": false - } - ] - }, - { - "eventTypeChannelId": "c3d4e5f6-789a-4bcd-ef01-34567890abcd", - "channelId": 2, - "name": "email", - "isMandatory": false, - "resources": [ - { - "resourceName": "customers", - "resourceIdentifier": "42", - "isActive": false - } - ] - } - ] - } - ] - } - ] - }, - { - "notificationCategoryId": 4, - "name": "Producten", - "groupName": "Mijn passen", - "notificationSubscriptions": [ + ], + }, + ], + }, + ], + }, + { + "notificationCategoryId": 4, + "name": "Producten", + "groupName": "Mijn passen", + "notificationSubscriptions": + [ { "notificationSubscriptionId": "af6305d3-f95d-42af-b22a-4181594d45dc", "customerProfileId": 42, - "ovPayTokenId": 112, - "isActive": true, - "eventTypes": [ + "ovPayToken": { - "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", - "isActive": true - }, - { - "resourceName": "devices", - "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", - "isActive": true - } - ] - }, - { - "eventTypeChannelId": "f6789abc-def0-1234-5678-90abcdef1234", - "channelId": 2, - "name": "email", - "isMandatory": false, - "resources": [ - { - "resourceName": "customers", - "resourceIdentifier": "42", - "isActive": true - } - ] - } - ] + "ovPayTokenId": 112, + "alias": "Mijn ING bankpas", }, - { - "eventTypeId": 9, - "prettyName": "Product Refunded", - "channels": [ - { - "eventTypeChannelId": "b2c3d4e5-f678-49ab-cdef-234567890abc", - "channelId": 1, - "name": "push", - "isMandatory": true, - "resources": [ + "isActive": true, + "eventTypes": + [ + { + "eventTypeId": 8, + "prettyName": "Product Activated", + "channels": + [ { - "resourceName": "devices", - "resourceIdentifier": "79f069ff-c264-46c1-8240-064852ed0ff0", - "isActive": true + "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, + }, + ], }, { - "resourceName": "devices", - "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", - "isActive": false - } - ] - }, - { - "eventTypeChannelId": "f6789abc-def0-1234-5678-90abcdef1234", - "channelId": 2, - "name": "email", - "isMandatory": false, - "resources": [ + "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": + [ { - "resourceName": "customers", - "resourceIdentifier": "42", - "isActive": false - } - ] - } - ] - } - ] + "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, - "ovPayTokenId": 113, + "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": [ + "eventTypes": + [ + { + "eventTypeId": 8, + "prettyName": "Product Activated", + "channels": + [ { - "resourceName": "devices", - "resourceIdentifier": "7b3379b8-fb12-41f5-94a8-0d3f0fbcf55b", - "isActive": true + "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, + }, + ], }, { - "resourceName": "devices", - "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", - "isActive": true - } - ] - }, - { - "eventTypeChannelId": "f6789abc-def0-1234-5678-90abcdef1234", - "channelId": 2, - "name": "email", - "isMandatory": false, - "resources": [ + "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": + [ { - "resourceName": "customers", - "resourceIdentifier": "42", - "isActive": false - } - ] - } - ] - }, - { - "eventTypeId": 9, - "prettyName": "Product Refunded", - "channels": [ - { - "eventTypeChannelId": "b2c3d4e5-f678-49ab-cdef-234567890abc", - "channelId": 1, - "name": "push", - "isMandatory": true, - "resources": [ - { - "resourceName": "devices", - "resourceIdentifier": "79f069ff-c264-46c1-8240-064852ed0ff0", - "isActive": true + "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, + }, + ], }, { - "resourceName": "devices", - "resourceIdentifier": "52ad19c1-f6f7-403d-b577-df7219aa6ab4", - "isActive": false - } - ] - }, - { - "eventTypeChannelId": "f6789abc-def0-1234-5678-90abcdef1234", - "channelId": 2, - "name": "email", - "isMandatory": false, - "resources": [ - { - "resourceName": "customers", - "resourceIdentifier": "42", - "isActive": true - } - ] - } - ] - } - ] - } - ] - }, - { - "notificationCategoryId": 2, - "name": "Nieuwsbrief aanmelding", - "groupName": "Marketing", - "notificationSubscriptions": [ + "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": [ + "eventTypes": + [ + { + "eventTypeId": 1, + "prettyName": "HTM Nieuwsbrief", + "channels": + [ { - "resourceName": "customers", - "resourceIdentifier": "42", - "isActive": true - } - ] - } - ] - } - ] - } - ] - } - ] - } + "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: @@ -1712,7 +1950,7 @@ paths: value: { "emailAddress": "anonymous@mymailprovider.com", - "notificationCategoryId": 1 + "notificationCategoryId": 1, } Create notificationSubscription account active: value: { "notificationCategoryId": 2 } @@ -1740,7 +1978,10 @@ paths: { "notificationSubscriptionId": "6b88eba1-af1f-42fc-82d3-d7202d5f1afe", "notificationCategory": - { "notificationCategoryId": 2, "name": "Nieuwsbrief aanmelding" }, + { + "notificationCategoryId": 2, + "name": "Nieuwsbrief aanmelding", + }, "isActive": True, } "405": From 5133903efb3350e2d7e928f3651f64e093593dda Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Wed, 21 Jan 2026 11:03:45 +0100 Subject: [PATCH 05/10] OVPAY-2394 - Added example for no notificationCategories found. --- src/openapi/customers/notifications-crud.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/openapi/customers/notifications-crud.yaml b/src/openapi/customers/notifications-crud.yaml index 22821dd..92c46b2 100644 --- a/src/openapi/customers/notifications-crud.yaml +++ b/src/openapi/customers/notifications-crud.yaml @@ -666,6 +666,10 @@ paths: schema: $ref: "#/components/schemas/GetNotificationCategoriesResponse" examples: + emptyNotificationCategoriesResponse: + summary: No notification categories found + value: + notificationCategories: [] getNotifactionCategories?expand=none: summary: Return all the notification categories without nested attributes (expand=none) value: From c7fa48b554e496e5be2d572a80ea659df2fa4c3d Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Thu, 22 Jan 2026 09:28:27 +0100 Subject: [PATCH 06/10] OVPAY-2394 - Fixed schema for patch NotificationSubscription. --- src/openapi/customers/notifications-crud.yaml | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/openapi/customers/notifications-crud.yaml b/src/openapi/customers/notifications-crud.yaml index 92c46b2..c188b56 100644 --- a/src/openapi/customers/notifications-crud.yaml +++ b/src/openapi/customers/notifications-crud.yaml @@ -1422,14 +1422,9 @@ components: PatchNotificationSubscriptionRequest: type: object properties: - notificationCategoryId: + ovPayTokenId: type: integer - example: 1 - customerProfileId: - type: integer - example: 1337 - required: - - notificationCategoryId + example: 43 PatchNotificationSubscriptionResponse: type: object properties: From 6a24636d50c1689dce5241bb47f9fc338301c028 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Fri, 23 Jan 2026 17:08:12 +0100 Subject: [PATCH 07/10] OVPAY-973 - Added ovPayTokenId to POST /notificationsubscriptions. --- src/openapi/customers/notifications-crud.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/openapi/customers/notifications-crud.yaml b/src/openapi/customers/notifications-crud.yaml index 22821dd..1bd7c41 100644 --- a/src/openapi/customers/notifications-crud.yaml +++ b/src/openapi/customers/notifications-crud.yaml @@ -257,6 +257,7 @@ paths: value: notificationCategoryId: 1 customerProfileId: 1337 + ovPayTokenId: 42 subscriptionActivity: user: "1001337" timestamp: "2025-10-02T14:00:00Z" @@ -1388,6 +1389,9 @@ components: customerProfileId: type: integer example: 1337 + ovPayTokenId: + type: integer + example: 42 subscriptionActivity: type: object properties: From 591347e08001473198d9f6b19700fbfa642f9ee3 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Tue, 27 Jan 2026 10:42:21 +0100 Subject: [PATCH 08/10] OVPAY-973 - Added ovPayTokenId example to POST. --- src/openapi/customers/SE-notifications.yaml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/openapi/customers/SE-notifications.yaml b/src/openapi/customers/SE-notifications.yaml index 72f3f4f..2100258 100644 --- a/src/openapi/customers/SE-notifications.yaml +++ b/src/openapi/customers/SE-notifications.yaml @@ -414,10 +414,12 @@ paths: value: { "emailAddress": "anonymous@mymailprovider.com", - "notificationCategoryId": 1 + "notificationCategoryId": 1, } Create notificationSubscription account active: value: { "notificationCategoryId": 2 } + Create notificationSubscription for token: + value: { "notificationCategoryId": 3, "ovPayTokenId": 42 } responses: "201": description: Created @@ -442,7 +444,10 @@ paths: { "notificationSubscriptionId": "6b88eba1-af1f-42fc-82d3-d7202d5f1afe", "notificationCategory": - { "notificationCategoryId": 2, "name": "Nieuwsbrief aanmelding" }, + { + "notificationCategoryId": 2, + "name": "Nieuwsbrief aanmelding", + }, "isActive": True, } "405": From bbf21e61f7366b89e1e4123c51db80c4ec4732c2 Mon Sep 17 00:00:00 2001 From: Max Martens Date: Thu, 29 Jan 2026 14:09:08 +0100 Subject: [PATCH 09/10] Fixed all addressTypes --- .../customers/customers_reference-crud.yaml | 44 +++++++++++++------ src/openapi/orders/orders-crud.yaml | 14 +++--- src/openapi/orders/service_engine_orders.yaml | 22 +++++----- 3 files changed, 49 insertions(+), 31 deletions(-) diff --git a/src/openapi/customers/customers_reference-crud.yaml b/src/openapi/customers/customers_reference-crud.yaml index e3c5a7e..8ea19c0 100644 --- a/src/openapi/customers/customers_reference-crud.yaml +++ b/src/openapi/customers/customers_reference-crud.yaml @@ -417,38 +417,56 @@ paths: example: Entries: phoneTypes: - - name: mobile + - name: Mobiel id: 1 - - name: fixed line + - name: Thuis id: 2 + - name: Ouders + id: 3 + - name: Bewindvoerder + id: 4 + - name: Home + id: 5 + - name: Mobile + id: 6 + - name: Work + id: 7 + - name: Noodtelefoon + id: 8 addressTypes: - - name: home + - name: Shipping id: 1 - - name: office + - name: Billing id: 2 customerStatuses: - - name: active + - name: Inactive id: 1 - - name: blocked + - name: Active id: 2 - - name: inactive + - name: Blocked id: 3 - - name: new + - name: Frozen id: 4 + - name: Cleared + id: 5 tokenTypes: - - name: Debit card + - name: EMV id: 1 - - name: Credit card - id: 2 - name: OVPas physical - id: 3 + id: 2 - name: OVPas digital - id: 4 + id: 3 directDebitMandateTypes: - name: Paper Contract id: 1 - name: PIN transaction id: 2 + - name: SEPA eMandate + id: 3 + - name: Digital signature + id: 4 + - name: IDEAL transaction + id: 5 tokenStatuses: - name: Expired id: 1 diff --git a/src/openapi/orders/orders-crud.yaml b/src/openapi/orders/orders-crud.yaml index 1258704..4587b8c 100644 --- a/src/openapi/orders/orders-crud.yaml +++ b/src/openapi/orders/orders-crud.yaml @@ -324,7 +324,7 @@ paths: { "orderCustomerAddressId": "aa50047c-58ac-4f15-9448-ee000dfc6893", "addressType": - { "addressTypeId": 3, "name": "Billing" }, + { "addressTypeId": 2, "name": "Billing" }, "street": "Kon. Julianaplein", "houseNumber": 10, "houseNumberSuffix": "a", @@ -635,7 +635,7 @@ paths: { "orderCustomerAddressId": "aa50047c-58ac-4f15-9448-ee000dfc6893", "addressType": - { "addressTypeId": 3, "name": "Billing" }, + { "addressTypeId": 2, "name": "Billing" }, "street": "Kon. Julianaplein", "houseNumber": 10, "houseNumberSuffix": "a", @@ -1046,7 +1046,7 @@ paths: "orderCustomerAddresses": [ { - "addressTypeId": 3, + "addressTypeId": 2, "street": "Kon. Julianaplein", "houseNumber": 10, "houseNumberSuffix": "a", @@ -2328,7 +2328,7 @@ paths: { "orderCustomerAddressId": "aa50047c-58ac-4f15-9448-ee000dfc6893", "addressType": - { "addressTypeId": 3, "name": "Billing" }, + { "addressTypeId": 2, "name": "Billing" }, "street": "Kon. Julianaplein", "houseNumber": 10, "houseNumberSuffix": "a", @@ -2398,7 +2398,7 @@ paths: $ref: "#/components/schemas/unavailable" example: { - "addressTypeId": 3, + "addressTypeId": 2, "street": "Kon. Julianaplein", "houseNumber": 10, "houseNumberSuffix": "a", @@ -2448,7 +2448,7 @@ paths: type: integer explode: false required: false - description: Filter on possible types of addresses. 1 = Shipping, 3 = Billing. + description: Filter on possible types of addresses. 1 = Shipping, 2 = Billing. - in: query name: street schema: @@ -2504,7 +2504,7 @@ paths: "orderCustomerAddressId": "aa50047c-58ac-4f15-9448-ee000dfc6893", "orderCustomerId": "540d8b7a-d626-443f-8f99-c24398604d7a", "orderId": "73cca95a-81d1-468f-a8bf-99b36367001a", - "addressType": { "addressTypeId": 3, "name": "Billing" }, + "addressType": { "addressTypeId": 2, "name": "Billing" }, "street": "Kon. Julianaplein", "houseNumber": 10, "houseNumberSuffix": "a", diff --git a/src/openapi/orders/service_engine_orders.yaml b/src/openapi/orders/service_engine_orders.yaml index adaebe9..38c3e5a 100644 --- a/src/openapi/orders/service_engine_orders.yaml +++ b/src/openapi/orders/service_engine_orders.yaml @@ -1314,7 +1314,7 @@ paths: { "orderCustomerAddressId": "aa50047c-58ac-4f15-9448-ee000dfc6893", "addressType": - { "addressTypeId": 3, "name": "Billing" }, + { "addressTypeId": 2, "name": "Billing" }, "street": "Kon. Julianaplein", "houseNumber": 10, "houseNumberSuffix": "a", @@ -3688,7 +3688,7 @@ paths: { "orderCustomerAddressId": "94270188-4cf6-447e-bd49-e8186bcec073", "addressType": - { "addressTypeId": 3, "name": "Billing" }, + { "addressTypeId": 2, "name": "Billing" }, "street": "Kon. Julianaplein", "houseNumber": 10, "houseNumberSuffix": "a", @@ -3965,7 +3965,7 @@ paths: { "orderCustomerAddressId": "94270188-4cf6-447e-bd49-e8186bcec073", "addressTypeId": - { "addressTypeId": 3, "name": "Billing" }, + { "addressTypeId": 2, "name": "Billing" }, "street": "Kon. Julianaplein", "houseNumber": 10, "houseNumberSuffix": "a", @@ -4174,7 +4174,7 @@ paths: { "orderCustomerAddressId": "94270188-4cf6-447e-bd49-e8186bcec073", "addressTypeId": - { "addressTypeId": 3, "name": "Billing" }, + { "addressTypeId": 2, "name": "Billing" }, "street": "Kon. Julianaplein", "houseNumber": 10, "houseNumberSuffix": "a", @@ -4226,7 +4226,7 @@ paths: "orderCustomerAddresses": [ { - "addressTypeId": 3, + "addressTypeId": 2, "street": "Kon. Julianaplein", "houseNumber": 10, "houseNumberSuffix": "a", @@ -4433,7 +4433,7 @@ paths: { "orderCustomerAddressId": "94270188-4cf6-447e-bd49-e8186bcec073", "addressType": - { "addressTypeId": 3, "name": "Billing" }, + { "addressTypeId": 2, "name": "Billing" }, "street": "Kon. Julianaplein", "houseNumber": 10, "houseNumberSuffix": "a", @@ -4680,7 +4680,7 @@ paths: { "orderCustomerAddressId": "94270188-4cf6-447e-bd49-e8186bcec073", "addressType": - { "addressTypeId": 3, "name": "Billing" }, + { "addressTypeId": 2, "name": "Billing" }, "street": "Kon. Julianaplein", "houseNumber": 10, "houseNumberSuffix": "a", @@ -4724,7 +4724,7 @@ paths: description: Add an address to a customer on an order value: { - "addressTypeId": 3, + "addressTypeId": 2, "street": "Kon. Julianaplein", "houseNumber": 10, "houseNumberSuffix": "a", @@ -4935,7 +4935,7 @@ paths: { "orderCustomerAddressId": "a0ef57fa-395c-4a03-96e9-234c26dccea9", "addressType": - { "addressTypeId": 3, "name": "Billing" }, + { "addressTypeId": 2, "name": "Billing" }, "street": "Kon. Julianaplein", "houseNumber": 10, "houseNumberSuffix": "a", @@ -4979,7 +4979,7 @@ paths: description: Update order customer address value: { - "addressTypeId": 3, + "addressTypeId": 2, "street": "Kon. Julianaplein", "houseNumber": 101, "houseNumberSuffix": "a", @@ -5190,7 +5190,7 @@ paths: { "orderCustomerAddressId": "94270188-4cf6-447e-bd49-e8186bcec073", "addressType": - { "addressTypeId": 3, "name": "Billing" }, + { "addressTypeId": 2, "name": "Billing" }, "street": "Kon. Julianaplein", "houseNumber": 101, "houseNumberSuffix": "a", From 77953a726a84ac2e639167fcb4cf16f841d57ef9 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Fri, 30 Jan 2026 16:00:20 +0100 Subject: [PATCH 10/10] OVPAY-973 - Fixed TP endpoints. Updated response and request body. --- src/openapi/customers/SE-notifications.yaml | 164 +++++++++++++++----- 1 file changed, 123 insertions(+), 41 deletions(-) diff --git a/src/openapi/customers/SE-notifications.yaml b/src/openapi/customers/SE-notifications.yaml index 0a9fc88..1b451b6 100644 --- a/src/openapi/customers/SE-notifications.yaml +++ b/src/openapi/customers/SE-notifications.yaml @@ -234,15 +234,29 @@ paths: }, ], } - /customers/{customerProfileId}/notificationpreferences: + /customers/notificationpreferences: parameters: - - name: customerProfileId - in: path + - name: X-HTM-JWT-AUTH-HEADER + in: header schema: - type: integer - example: 42 - required: true - description: The customerProfileId of the customer for whom to get the notification subscriptions + 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 get: tags: - Notification preferences @@ -279,8 +293,10 @@ paths: [ { "eventTypeId": 1, + "name": "newsletter", + "subName": null, "prettyName": "HTM Nieuwsbrief", - "channels": + "eventTypeChannels": [ { "eventTypeChannelId": "29cfcde2-c2f9-4548-a65e-d7789e3decc2", @@ -330,8 +346,10 @@ paths: [ { "eventTypeId": 2, + "name": "GBO", + "subName": "CI", "prettyName": "Normal Check-in", - "channels": + "eventTypeChannels": [ { "eventTypeChannelId": "912ef811-976d-4b8d-8e39-24496335d556", @@ -358,8 +376,10 @@ paths: }, { "eventTypeId": 3, + "name": "GBO", + "subName": "CO", "prettyName": "Normal Check-out", - "channels": + "eventTypeChannels": [ { "eventTypeChannelId": "a1b2c3d4-e5f6-4789-abcd-1234567890ab", @@ -386,8 +406,10 @@ paths: }, { "eventTypeId": 3, + "name": "GBO", + "subName": "MISSING_CO", "prettyName": "Missing Check-out", - "channels": + "eventTypeChannels": [ { "eventTypeChannelId": "b2c3d4e5-f678-49ab-cdef-234567890abc", @@ -442,8 +464,10 @@ paths: [ { "eventTypeId": 2, + "name": "GBO", + "subName": "CI", "prettyName": "Normal Check-in", - "channels": + "eventTypeChannels": [ { "eventTypeChannelId": "912ef811-976d-4b8d-8e39-24496335d556", @@ -470,8 +494,10 @@ paths: }, { "eventTypeId": 3, + "name": "GBO", + "subName": "CO", "prettyName": "Normal Check-out", - "channels": + "eventTypeChannels": [ { "eventTypeChannelId": "a1b2c3d4-e5f6-4789-abcd-1234567890ab", @@ -498,8 +524,10 @@ paths: }, { "eventTypeId": 3, + "name": "GBO", + "subName": "MISSING_CO", "prettyName": "Missing Check-out", - "channels": + "eventTypeChannels": [ { "eventTypeChannelId": "b2c3d4e5-f678-49ab-cdef-234567890abc", @@ -562,8 +590,10 @@ paths: [ { "eventTypeId": 8, + "name": "GBO", + "subName": "PRODUCT_ACTIVATED", "prettyName": "Product Activated", - "channels": + "eventTypeChannels": [ { "eventTypeChannelId": "912ef811-976d-4b8d-8e39-24496335d556", @@ -605,8 +635,10 @@ paths: }, { "eventTypeId": 9, + "name": "GBO", + "subName": "PRODUCT_REFUNDED", "prettyName": "Product Refunded", - "channels": + "eventTypeChannels": [ { "eventTypeChannelId": "b2c3d4e5-f678-49ab-cdef-234567890abc", @@ -660,8 +692,10 @@ paths: [ { "eventTypeId": 8, + "name": "GBO", + "subName": "PRODUCT_ACTIVATED", "prettyName": "Product Activated", - "channels": + "eventTypeChannels": [ { "eventTypeChannelId": "912ef811-976d-4b8d-8e39-24496335d556", @@ -703,8 +737,10 @@ paths: }, { "eventTypeId": 9, + "name": "GBO", + "subName": "PRODUCT_REFUNDED", "prettyName": "Product Refunded", - "channels": + "eventTypeChannels": [ { "eventTypeChannelId": "b2c3d4e5-f678-49ab-cdef-234567890abc", @@ -763,8 +799,10 @@ paths: [ { "eventTypeId": 1, + "name": "HTM", + "subName": "NEWSLETTER", "prettyName": "HTM Nieuwsbrief", - "channels": + "eventTypeChannels": [ { "eventTypeChannelId": "29cfcde2-c2f9-4548-a65e-d7789e3decc2", @@ -824,8 +862,10 @@ paths: [ { "eventTypeId": 2, + "name": "GBO", + "subName": "CI", "prettyName": "Normal Check-in", - "channels": + "eventTypeChannels": [ { "eventTypeChannelId": "912ef811-976d-4b8d-8e39-24496335d556", @@ -852,8 +892,10 @@ paths: }, { "eventTypeId": 3, + "name": "GBO", + "subName": "CO", "prettyName": "Normal Check-out", - "channels": + "eventTypeChannels": [ { "eventTypeChannelId": "a1b2c3d4-e5f6-4789-abcd-1234567890ab", @@ -880,8 +922,10 @@ paths: }, { "eventTypeId": 3, + "name": "GBO", + "subName": "MISSING_CO", "prettyName": "Missing Check-out", - "channels": + "eventTypeChannels": [ { "eventTypeChannelId": "b2c3d4e5-f678-49ab-cdef-234567890abc", @@ -935,8 +979,10 @@ paths: [ { "eventTypeId": 2, + "name": "GBO", + "subName": "CI", "prettyName": "Normal Check-in", - "channels": + "eventTypeChannels": [ { "eventTypeChannelId": "912ef811-976d-4b8d-8e39-24496335d556", @@ -963,8 +1009,10 @@ paths: }, { "eventTypeId": 3, + "name": "GBO", + "subName": "CO", "prettyName": "Normal Check-out", - "channels": + "eventTypeChannels": [ { "eventTypeChannelId": "a1b2c3d4-e5f6-4789-abcd-1234567890ab", @@ -991,8 +1039,10 @@ paths: }, { "eventTypeId": 3, + "name": "GBO", + "subName": "MISSING_CO", "prettyName": "Missing Check-out", - "channels": + "eventTypeChannels": [ { "eventTypeChannelId": "b2c3d4e5-f678-49ab-cdef-234567890abc", @@ -1055,8 +1105,10 @@ paths: [ { "eventTypeId": 8, + "name": "GBO", + "subName": "PRODUCT_ACTIVATED", "prettyName": "Product Activated", - "channels": + "eventTypeChannels": [ { "eventTypeChannelId": "912ef811-976d-4b8d-8e39-24496335d556", @@ -1098,8 +1150,10 @@ paths: }, { "eventTypeId": 9, + "name": "GBO", + "subName": "PRODUCT_REFUNDED", "prettyName": "Product Refunded", - "channels": + "eventTypeChannels": [ { "eventTypeChannelId": "b2c3d4e5-f678-49ab-cdef-234567890abc", @@ -1153,8 +1207,10 @@ paths: [ { "eventTypeId": 8, + "name": "GBO", + "subName": "PRODUCT_ACTIVATED", "prettyName": "Product Activated", - "channels": + "eventTypeChannels": [ { "eventTypeChannelId": "912ef811-976d-4b8d-8e39-24496335d556", @@ -1196,8 +1252,10 @@ paths: }, { "eventTypeId": 9, + "name": "GBO", + "subName": "PRODUCT_REFUNDED", "prettyName": "Product Refunded", - "channels": + "eventTypeChannels": [ { "eventTypeChannelId": "b2c3d4e5-f678-49ab-cdef-234567890abc", @@ -1256,8 +1314,10 @@ paths: [ { "eventTypeId": 1, + "name": "HTM", + "subName": "NEWSLETTER", "prettyName": "HTM Nieuwsbrief", - "channels": + "eventTypeChannels": [ { "eventTypeChannelId": "29cfcde2-c2f9-4548-a65e-d7789e3decc2", @@ -1310,8 +1370,10 @@ paths: [ { "eventTypeId": 2, + "name": "GBO", + "subName": "CI", "prettyName": "Normal Check-in", - "channels": + "eventTypeChannels": [ { "eventTypeChannelId": "912ef811-976d-4b8d-8e39-24496335d556", @@ -1338,8 +1400,10 @@ paths: }, { "eventTypeId": 3, + "name": "GBO", + "subName": "CO", "prettyName": "Normal Check-out", - "channels": + "eventTypeChannels": [ { "eventTypeChannelId": "a1b2c3d4-e5f6-4789-abcd-1234567890ab", @@ -1366,8 +1430,10 @@ paths: }, { "eventTypeId": 3, + "name": "GBO", + "subName": "MISSING_CO", "prettyName": "Missing Check-out", - "channels": + "eventTypeChannels": [ { "eventTypeChannelId": "b2c3d4e5-f678-49ab-cdef-234567890abc", @@ -1421,8 +1487,10 @@ paths: [ { "eventTypeId": 2, + "name": "GBO", + "subName": "CI", "prettyName": "Normal Check-in", - "channels": + "eventTypeChannels": [ { "eventTypeChannelId": "912ef811-976d-4b8d-8e39-24496335d556", @@ -1449,8 +1517,10 @@ paths: }, { "eventTypeId": 3, + "name": "GBO", + "subName": "CO", "prettyName": "Normal Check-out", - "channels": + "eventTypeChannels": [ { "eventTypeChannelId": "a1b2c3d4-e5f6-4789-abcd-1234567890ab", @@ -1477,8 +1547,10 @@ paths: }, { "eventTypeId": 3, + "name": "GBO", + "subName": "MISSING_CO", "prettyName": "Missing Check-out", - "channels": + "eventTypeChannels": [ { "eventTypeChannelId": "b2c3d4e5-f678-49ab-cdef-234567890abc", @@ -1541,8 +1613,10 @@ paths: [ { "eventTypeId": 8, + "name": "GBO", + "subName": "PRODUCT_ACTIVATED", "prettyName": "Product Activated", - "channels": + "eventTypeChannels": [ { "eventTypeChannelId": "912ef811-976d-4b8d-8e39-24496335d556", @@ -1584,8 +1658,10 @@ paths: }, { "eventTypeId": 9, + "name": "GBO", + "subName": "PRODUCT_REFUNDED", "prettyName": "Product Refunded", - "channels": + "eventTypeChannels": [ { "eventTypeChannelId": "b2c3d4e5-f678-49ab-cdef-234567890abc", @@ -1639,8 +1715,10 @@ paths: [ { "eventTypeId": 8, + "name": "GBO", + "subName": "PRODUCT_ACTIVATED", "prettyName": "Product Activated", - "channels": + "eventTypeChannels": [ { "eventTypeChannelId": "912ef811-976d-4b8d-8e39-24496335d556", @@ -1682,8 +1760,10 @@ paths: }, { "eventTypeId": 9, + "name": "GBO", + "subName": "PRODUCT_REFUNDED", "prettyName": "Product Refunded", - "channels": + "eventTypeChannels": [ { "eventTypeChannelId": "b2c3d4e5-f678-49ab-cdef-234567890abc", @@ -1742,8 +1822,10 @@ paths: [ { "eventTypeId": 1, + "name": "HTM", + "subName": "NEWSLETTER", "prettyName": "HTM Nieuwsbrief", - "channels": + "eventTypeChannels": [ { "eventTypeChannelId": "29cfcde2-c2f9-4548-a65e-d7789e3decc2",