develop #38

Merged
bboterm merged 451 commits from develop into main 2025-11-19 14:28:14 +00:00
Showing only changes of commit b518f4fbd1 - Show all commits

View File

@ -14,18 +14,26 @@ paths:
/notificationcategories:
get:
tags:
- Notifications
- Notification categories
summary: Get notification categories and optins for that category that a touchpoint can show.
description: |
Get notification categories that a touchpoint can show and optins ( eventTypes) and channels (eventType_channels) for the optin for that category
parameters:
- name: expand
in: query
schema:
type: array
items:
type: string
description: Choose the records related to the category nested, options are eventType, evenTypeChannel
responses:
"200":
description: OK
content:
application/json:
examples:
getNotifactionCategoriesWithAccount:
summary: Return all the notification categories
getNotifactionCategories?Expand=eventType, evenTypeChannel, channel:
summary: Return all the notification categories with their nested attributes
value:
{
"notificationCategories":[
@ -198,8 +206,8 @@ paths:
}
]
}
getNotifactionCategoriesWithoutAccount:
summary: Return the anonymous notification categories when the user does not have an account / is not logged in
getNotifactionCategories?Expand=eventType:
summary: Return all the notification categories with nested eventTypes
value:
{
"notificationCategories":[
@ -217,21 +225,90 @@ paths:
"name": "HTM nieuwsbrief",
"subName": "",
"prettyName": "HTM nieuwsbrief",
"optinRequired": False,
"eventTypeChannels":[
{
"eventTypeChannelId": "447a1116-6cd7-4645-8c3d-43237b6186cd",
"channel":{
"channelId": 2,
"name": "email"
"optinRequired": False
}
]
},
"isDefault": True,
"isMandatory": False
{
"notificationCategoryId": 2,
"name": "Mijn Reizen",
"optinRequired": False,
"eventTypes": [
{
"eventTypeId": 2,
"eventOrigin": {
"eventOriginId": 1,
"name": "GBO"
},
"name": "ALERTS, TRAVEL_SCHEME",
"subName": "CI",
"prettyName": "Check In",
"optinRequired": False
},
{
"eventTypeId": 3,
"eventOrigin": {
"eventOriginId": 1,
"name": "GBO"
},
"name": "ALERTS, PAD",
"subName": null,
"prettyName": "Profielgegevens op de pas",
"optinRequired": False
}
]
},
{
"notificationCategoryId": 3,
"name": "Mijn Passen",
"optinRequired": False,
"eventTypes": [
{
"eventTypeId": 4,
"eventOrigin": {
"eventOriginId": 1,
"name": "GBO"
},
"name": "ALERTS, CARD",
"subName": null,
"prettyName": "Mijn passen",
"optinRequired": False
},
{
"eventTypeId": 5,
"eventOrigin": {
"eventOriginId": 1,
"name": "GBO"
},
"name": "ALERTS, PAD",
"subName": null,
"prettyName": "Profielgegevens op de pas",
"optinRequired": False
}
]
}
]
}
getNotifactionCategories:
summary: Return all the notification categories
value:
{
"notificationCategories":[
{
"notificationCategoryId": 1,
"name": "Nieuwsbrief",
"optinRequired": False
},
{
"notificationCategoryId": 2,
"name": "Mijn Reizen",
"optinRequired": False
},
{
"notificationCategoryId": 3,
"name": "Mijn Passen",
"optinRequired": False
}
]
}
"404":
@ -298,10 +375,11 @@ paths:
application/json:
examples:
getNotifactionSubscriptionsWithAccountNestedTrue:
summary: Return all the notification subscriptions when the user is logged in with an account/ identified by SMP
summary: Return all the notification subscriptions when the user is logged in with an account/ identified by SMP in a nested form
value:
{
"customer":{
"customerProfileId":"f1ba488b-7b2f-46c2-b72f-f24fe25a81e5",
"emailAddress": "j.jansen@mymailprovider.nl",
"isEmailVerified": True
},
@ -324,7 +402,6 @@ paths:
}
]
}
]
}
]
@ -512,10 +589,9 @@ paths:
]
}
getNotifactionSubscriptionsWithAccountNestedFalse:
summary: Return all the notification subscriptions when the user is logged in with an account/ identified by SMP
summary: Return all the notification subscriptions when the user is logged in with an account/ identified by SMP as a flat list
value:
{
"notificationSubscriptions":[
{
"notificationSubscriptionId": "e112f26e-37fa-4bde-8def-9977cd1d50ae",
@ -576,14 +652,96 @@ paths:
}
]
}
getNotifactionSubscriptionsWithEmailNestedTrue:
summary: Return all the notification subscriptions when the user has identified themselves by email
description: Return all the notification subscriptions when the user has identified themselves by email, but the email is not verified
value:
{
"customer":{
"customerProfileId": "d6771347-b56f-4020-92bb-7c77c8f13f40",
"emailAddress": "j.jansen@mymailprovider.nl",
"isEmailVerified": False
},
"notificationCategory":[
{
"notificationCategoryId": 1,
"status": "on",
"eventTypes":[
{
"eventTypeId": 1,
"status": "on",
"eventTypeChannels":[
{
"eventTypeChannelId": "447a1116-6cd7-4645-8c3d-43237b6186cd",
"notificationSubscriptions":[
{
"notificationSubscriptionId":"882b33ef-b750-44f9-a1e0-bed8fe1b4e0b",
"ovpayToken": null,
"isActive": True
}
]
}
]
}
]
}
]
}
getNotifactionSubscriptionsAnonymousNestedTrue:
summary: Return all the notification subscriptions when the user is not identifiable, return customerobject with id if customer decides to opt in.
value:
{
"customer":{
"customerProfileId": "71e3cc93-ab16-4dc8-beed-7c7abfb3f09c",
"emailAddress": null,
"isEmailVerified": False
},
"notificationCategory":[
{
"notificationCategoryId": 1,
"status": "off",
"eventTypes":[
{
"eventTypeId": 1,
"status": "off",
"eventTypeChannels":[
{
"eventTypeChannelId": "447a1116-6cd7-4645-8c3d-43237b6186cd",
"notificationSubscriptions":[
{
"notificationSubscriptionId": "fde46cac-7dd3-46d0-86c0-fcab685998ad",
"ovpayToken": null,
"isActive": False
}
]
}
]
}
]
}
]
}
"403":
description: Forbidden // Als geverifieerd profiel gevonden wordt, maar niet op een geverifieerde manier benaderd wordt
content:
application/json:
example:
{
"type": "https://api.integratielaag.nl/abt/touchpoint/2.0/notifications",
"apiErrorCode": "403",
"title": "Verboden",
"detail": "",
"instance": "555d00b5-bc3f-4591-949b-479e76d49ea7",
"errors": [],
}
"404":
description: No notification subscriptions found
content:
application/json:
example:
{
"type": "https://api.integratielaag.nl/abt/touchpoint/1.0/customers",
"apiErrorCode": "400.1",
"type": "https://api.integratielaag.nl/abt/touchpoint/2.0/notifications",
"apiErrorCode": "404",
"title": "Niet gevonden",
"detail": "Notificatie niet gevonden",
"instance": "555d00b5-bc3f-4591-949b-479e76d49ea7",
@ -650,7 +808,6 @@ paths:
{
"isActive": True
}
responses:
"200":
description: OK
@ -658,10 +815,8 @@ paths:
application/json:
examples:
Update a notificationSubscription to inactive:
summary: Return all the notification subscriptions when the user is logged in with an account/ identified by SMP
summary: Return the updated notification
value:
{
"notificationSubscriptions":[
{
"notificationSubscriptionId": "e112f26e-37fa-4bde-8def-9977cd1d50ae",
"notificationCategoryId": 1,
@ -672,39 +827,6 @@ paths:
},
"ovpayTokenId": null,
"isActive": False
},
{
"notificationSubscriptionId": "17e87b99-014f-491f-87db-39b92ffd2b1d",
"notificationCategoryId": 3,
"eventTypeChannelId": "be07c7bb-714b-4637-acf5-a67025ad8e60",
"customer":{
"emailAddress": "j.jansen@mymailprovider.nl",
"isEmailVerified": True
},
"ovpayToken":
{
"ovPayTokenId": 134,
"alias": "Mijn Rabopas"
},
"isActive": True
},
{
"notificationSubscriptionId": "17e87b99-014f-491f-87db-39b92ffd2b1d",
"notificationCategoryId": 3,
"eventTypeChannelId": "be07c7bb-714b-4637-acf5-a67025ad8e60",
"customer":{
"emailAddress": "j.jansen@mymailprovider.nl",
"isEmailVerified": True
},
"ovpayTokenId": 101,
"ovpayToken":
{
"ovPayTokenId": 101,
"alias": "Mijn ING pas"
},
"isActive": False
}
]
}
components:
schemas: