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 1/3] 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: -- 2.45.2 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 2/3] 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": -- 2.45.2 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 3/3] 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: -- 2.45.2