develop #38

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

View File

@ -15,31 +15,9 @@ paths:
get: get:
tags: tags:
- Notifications - Notifications
summary: Get notification categories that a person can opt in for, can also be accessed anonymously summary: Get notification categories and optins for that category that a touchpoint can show.
description: | description: |
Get notification categories that a person can opt in for, can also be accessed anonymously. If accessed anonymously, it only returns the categories for which a user does not need to have an account. Get notification categories that a touchpoint can show and optins ( eventTypes) and channels (eventType_channels) for the optin for that category
parameters:
- name: X-HTM-JWT-AUTH-HEADER
in: header
schema:
type: string
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
required: false
description: The JWT of a customer in case of touchpoint were customer logs in themselves
- name: X-HTM-CUSTOMER-PROFILE-ID-HEADER
in: header
schema:
type: string
example: feaaef83-a551-4283-8419-340b1ada3b55
required: false
description: The customerProfileId of a customer in the case of the SMP
- name: X-HTM-ROLE-HEADER
in: header
schema:
type: string
example: Customer
required: false
description: The role of the HTM employee in the case of the SMP
responses: responses:
"200": "200":
description: OK description: OK
@ -47,7 +25,7 @@ paths:
application/json: application/json:
examples: examples:
getNotifactionCategoriesWithAccount: getNotifactionCategoriesWithAccount:
summary: Return all the notification categories when the user has an account summary: Return all the notification categories
value: value:
{ {
"notificationCategories":[ "notificationCategories":[
@ -86,7 +64,7 @@ paths:
"optinRequired": False, "optinRequired": False,
"eventTypes": [ "eventTypes": [
{ {
"eventTypeId": 1, "eventTypeId": 2,
"eventOrigin": { "eventOrigin": {
"eventOriginId": 1, "eventOriginId": 1,
"name": "GBO" "name": "GBO"
@ -117,7 +95,7 @@ paths:
] ]
}, },
{ {
"eventTypeId": 2, "eventTypeId": 3,
"eventOrigin": { "eventOrigin": {
"eventOriginId": 1, "eventOriginId": 1,
"name": "GBO" "name": "GBO"
@ -155,6 +133,7 @@ paths:
"optinRequired": False, "optinRequired": False,
"eventTypes": [ "eventTypes": [
{ {
"eventTypeId": 4,
"eventOrigin": { "eventOrigin": {
"eventOriginId": 1, "eventOriginId": 1,
"name": "GBO" "name": "GBO"
@ -185,6 +164,7 @@ paths:
] ]
}, },
{ {
"eventTypeId": 5,
"eventOrigin": { "eventOrigin": {
"eventOriginId": 1, "eventOriginId": 1,
"name": "GBO" "name": "GBO"
@ -271,9 +251,9 @@ paths:
get: get:
tags: tags:
- Notifications - Notifications
summary: Get a notificationSubscription for a customer (account or private). summary: Get all possible notificationSubscriptions for a customer (account or private).
description: | description: |
Get a notificationSubscription for a customer (account or private). Get all possible notificationSubscriptions for a customer (account or private), including if they have opted-in for it.
parameters: parameters:
- name: X-HTM-JWT-AUTH-HEADER - name: X-HTM-JWT-AUTH-HEADER
in: header in: header
@ -304,16 +284,238 @@ paths:
example: john.doe@mymailprovider.com example: john.doe@mymailprovider.com
required: false required: false
description: The emailadress of the customer in the case of anonymous opt-ins description: The emailadress of the customer in the case of anonymous opt-ins
- name: nested
in: query
schema:
type: boolean
default: true
required: false
description: Return subscriptions nested, so it is presentation ready for touchpoint (default), if false only return the notificationSubcriptions as a flat list
responses: responses:
"200": "200":
description: OK description: OK
content: content:
application/json: application/json:
examples: examples:
getNotifactionSubscriptionsWithAccount: 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
value: value:
{ {
"customer":{
"emailAddress": "j.jansen@mymailprovider.nl",
"isEmailVerified": True
},
"notificationCategory":[
{
"notificationCategoryId": 1,
"status": "on",
"eventTypes":[
{
"eventTypeId": 1,
"status": "on",
"eventTypeChannels":[
{
"eventTypeChannelId": "447a1116-6cd7-4645-8c3d-43237b6186cd",
"notificationSubscriptions":[
{
"notificationSubscriptionId":"",
"ovpayToken": null,
"isActive": True
}
]
}
]
}
]
},
{
"notificationCategoryId": 2,
"status": "off",
"eventTypes":[
{
"eventTypeId": 2,
"status": "off",
"eventTypeChannels":[
{
"eventTypeChannelId": "ccc8c025-06b5-4928-a632-23e1c55cd173",
"notificationSubscriptions":[
{
"notificationSubscriptionId":"",
"ovpayToken":{
"ovPayTokenId": 134,
"alias": "Mijn Rabopas"
},
"isActive": False
},
{
"notificationSubscriptionId":"",
"ovpayToken": {
"ovPayTokenId": 138,
"alias": "Mijn ING pas"
},
"isActive": False
}
]
},
{
"eventTypeChannelId": "da2deb4c-ce77-4b5f-aecc-ddebfd14349d",
"notificationSubscriptions":[
{
"notificationSubscriptionId":"",
"ovpayToken":{
"ovPayTokenId": 134,
"alias": "Mijn Rabopas"
},
"isActive": False
},
{
"notificationSubscriptionId":"",
"ovpayToken": {
"ovPayTokenId": 138,
"alias": "Mijn ING pas"
},
"isActive": False
}
]
}
]
},
{
"eventTypeId": 3,
"status": "off",
"eventTypeChannels":[
{
"eventTypeChannelId": "8e7df8f1-7e50-482f-8301-d399e75fd432",
"notificationSubscriptions":[
{
"notificationSubscriptionId":"",
"ovpayTokenId": 136,
"isActive": False
},
{
"notificationSubscriptionId":"",
"ovpayTokenId": 138,
"isActive": False
}
]
},
{
"eventTypeChannelId": "72960a92-1855-469f-9cfd-5d72f57106f2",
"notificationSubscriptions":[
{
"notificationSubscriptionId":"",
"ovpayTokenId": 136,
"isActive": False
},
{
"notificationSubscriptionId":"",
"ovpayTokenId": 138,
"isActive": False
}
]
}
]
}
]
},
{
"notificationCategoryId": 3,
"status": "partial",
"eventTypes":[
{
"eventTypeId": 4,
"status": "on",
"eventTypeChannels":[
{
"eventTypeChannelId": "ccc8c025-06b5-4928-a632-23e1c55cd173",
"notificationSubscriptions":[
{
"notificationSubscriptionId":"",
"ovpayToken":{
"ovPayTokenId": 134,
"alias": "Mijn Rabopas"
},
"isActive": True
},
{
"notificationSubscriptionId":"",
"ovpayToken": {
"ovPayTokenId": 138,
"alias": "Mijn ING pas"
},
"isActive": False
}
]
},
{
"eventTypeChannelId": "da2deb4c-ce77-4b5f-aecc-ddebfd14349d",
"notificationSubscriptions":[
{
"notificationSubscriptionId":"",
"ovpayToken":{
"ovPayTokenId": 134,
"alias": "Mijn Rabopas"
},
"isActive": False
},
{
"notificationSubscriptionId":"",
"ovpayToken": {
"ovPayTokenId": 138,
"alias": "Mijn ING pas"
},
"isActive": False
}
]
}
]
},
{
"eventTypeId": 5,
"status": "off",
"eventTypeChannels":[
{
"eventTypeChannelId": "8e7df8f1-7e50-482f-8301-d399e75fd432",
"notificationSubscriptions":[
{
"notificationSubscriptionId":"",
"ovpayTokenId": 136,
"isActive": False
},
{
"notificationSubscriptionId":"",
"ovpayTokenId": 138,
"isActive": False
}
]
},
{
"eventTypeChannelId": "72960a92-1855-469f-9cfd-5d72f57106f2",
"notificationSubscriptions":[
{
"notificationSubscriptionId":"",
"ovpayTokenId": 136,
"isActive": False
},
{
"notificationSubscriptionId":"",
"ovpayTokenId": 138,
"isActive": False
}
]
}
]
}
]
}
]
}
getNotifactionSubscriptionsWithAccountNestedFalse:
summary: Return all the notification subscriptions when the user is logged in with an account/ identified by SMP
value:
{
"notificationSubscriptions":[ "notificationSubscriptions":[
{ {
"notificationSubscriptionId": "e112f26e-37fa-4bde-8def-9977cd1d50ae", "notificationSubscriptionId": "e112f26e-37fa-4bde-8def-9977cd1d50ae",
@ -341,6 +543,21 @@ paths:
}, },
"isActive": True "isActive": True
}, },
{
"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", "notificationSubscriptionId": "17e87b99-014f-491f-87db-39b92ffd2b1d",
"notificationCategoryId": 3, "notificationCategoryId": 3,
@ -359,25 +576,6 @@ paths:
} }
] ]
} }
getNotifactionSubscriptionsWithoutAccount:
summary: Return all the notification subscriptions when the user is anoymous
value:
{
"notificationSubscriptions":[
{
"notificationSubscriptionId": "e112f26e-37fa-4bde-8def-9977cd1d50ae",
"notificationCategoryId": 1,
"eventTypeChannelId": "447a1116-6cd7-4645-8c3d-43237b6186cd",
"customer":{
"emailAddress": "j.jansen@mymailprovider.nl",
"isEmailVerified": False
},
"ovpayTokenId": null,
"isActive": True
}
]
}
"404": "404":
description: No notification subscriptions found description: No notification subscriptions found
content: content:
@ -391,122 +589,6 @@ paths:
"instance": "555d00b5-bc3f-4591-949b-479e76d49ea7", "instance": "555d00b5-bc3f-4591-949b-479e76d49ea7",
"errors": [{ "subApiErrorCode": "0017" }], "errors": [{ "subApiErrorCode": "0017" }],
} }
post:
tags:
- Notifications
summary: Create a new notificationSubscription for a customer (account or private).
description: |
Create a new notificationSubscription for a customer (account or private).
parameters:
- name: X-HTM-JWT-AUTH-HEADER
in: header
schema:
type: string
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
required: false
description: The JWT of a customer in case of touchpoint were customer logs in themselves
- name: X-HTM-CUSTOMER-PROFILE-ID-HEADER
in: header
schema:
type: string
example: feaaef83-a551-4283-8419-340b1ada3b55
required: false
description: The customerProfileId of a customer in the case of the SMP
- name: X-HTM-ROLE-HEADER
in: header
schema:
type: string
example: Customer
required: false
description: The role of the HTM employee in the case of the SMP
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/unavailable"
examples:
Add a new notificationSubscription for a customer with account:
value:
{
"notificationCategoryId": 1,
"eventTypeChannelId": "447a1116-6cd7-4645-8c3d-43237b6186cd",
"emailAddress": null,
"ovpayTokenId": null,
"isActive": True
}
Add a new token notificationSubscription for a customer with account:
value:
{
"notificationCategoryId": 3,
"eventTypeChannelId": "447a1116-6cd7-4645-8c3d-43237b6186cd",
"emailAddress": null,
"ovpayTokenId": 135,
"isActive": True
}
Add a new notificationSubscription for a customer without account:
value:
{
"notificationCategoryId": 1,
"eventTypeChannelId": "447a1116-6cd7-4645-8c3d-43237b6186cd",
"emailAddress": "j.jansen@mymailprovider.nl",
"ovpayTokenId": null,
"isActive": True
}
responses:
"201":
description: Created
content:
application/json:
examples:
Add a new notificationSubscription for a customer with account:
summary: Return all the notification subscriptions when the user is logged in with an account/ identified by SMP
value:
{
"notificationSubscriptions":[
{
"notificationSubscriptionId": "e112f26e-37fa-4bde-8def-9977cd1d50ae",
"notificationCategoryId": 1,
"eventTypeChannelId": "447a1116-6cd7-4645-8c3d-43237b6186cd",
"customer":{
"emailAddress": "j.jansen@mymailprovider.nl",
"isEmailVerified": True
},
"ovpayTokenId": null,
"isActive": True
},
{
"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
}
]
}
/notificationsubscriptions/{notificationSubscriptionId}: /notificationsubscriptions/{notificationSubscriptionId}:
patch: patch:
tags: tags:
@ -570,8 +652,8 @@ paths:
} }
responses: responses:
"201": "200":
description: Created description: OK
content: content:
application/json: application/json:
examples: examples: