Compare commits
18 Commits
features/O
...
develop
| Author | SHA1 | Date | |
|---|---|---|---|
| 5133903efb | |||
| cf0d24632f | |||
| aa4721c651 | |||
| 46bf7874d9 | |||
| 1a14918f4a | |||
| 7147318900 | |||
| e0f78d2e38 | |||
| ab57e27c1d | |||
| 68c7ccc279 | |||
| 8946026860 | |||
| fb8723124a | |||
| 6d7c260e9e | |||
| 292588b7ba | |||
| 4bd216bd37 | |||
| bfaa1ddcb1 | |||
| 55bac27561 | |||
|
|
715a9668fc | ||
| b4f20a9758 |
@ -597,9 +597,13 @@ paths:
|
|||||||
schema:
|
schema:
|
||||||
$ref: "#/components/schemas/unavailable"
|
$ref: "#/components/schemas/unavailable"
|
||||||
examples:
|
examples:
|
||||||
List all contract payments for a single debtor:
|
Empty list:
|
||||||
summary: List all contract payments for a single debtor
|
summary: Empty list
|
||||||
description: List all contract payments for single debtor with debtor number 'D123456'.
|
description: List all contract payments for a debtor with no payments.
|
||||||
|
value: { "contractPayments": [] }
|
||||||
|
Successful direct debit:
|
||||||
|
summary: Successful direct debit
|
||||||
|
description: One payment for a debtor with a successful direct debit.
|
||||||
value:
|
value:
|
||||||
{
|
{
|
||||||
"contractPayments":
|
"contractPayments":
|
||||||
@ -607,8 +611,133 @@ paths:
|
|||||||
{
|
{
|
||||||
"paymentId": "151845776",
|
"paymentId": "151845776",
|
||||||
"totalAmount": "26.62",
|
"totalAmount": "26.62",
|
||||||
"paymentMethod": "Twikey",
|
"paymentMethod": "Automatische incasso",
|
||||||
"paymentDate": "2024-09-12",
|
"paymentDate": "2024-09-12",
|
||||||
|
"iban": "NL25INGB******1337",
|
||||||
|
"invoice":
|
||||||
|
{
|
||||||
|
"invoiceId": "147722263",
|
||||||
|
"invoiceNumber": "F2024-0001",
|
||||||
|
"description": "HTM Maandkorting 20%",
|
||||||
|
"publicLink": "https://factuurinzien.nl/d/b0aac3f42f325f5dd6abc172f723caab5956524d/i/ddb245d6df67999eca48c4a71b5661b93038e20a",
|
||||||
|
},
|
||||||
|
"_links":
|
||||||
|
{
|
||||||
|
"get_contractdetails":
|
||||||
|
{
|
||||||
|
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/customers/contracts/5ca46c1a-cb9d-4c2d-960e-4471e8e28b6a",
|
||||||
|
"method": "GET",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
}
|
||||||
|
Direct debit reversal:
|
||||||
|
summary: Direct debit reversal
|
||||||
|
description: One payment for a debtor with a reversed direct debit.
|
||||||
|
value:
|
||||||
|
{
|
||||||
|
"contractPayments":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"paymentId": "151845776",
|
||||||
|
"totalAmount": "-26.62",
|
||||||
|
"paymentMethod": "Stornering",
|
||||||
|
"paymentDate": "2024-09-12",
|
||||||
|
"iban": "NL25INGB******1337",
|
||||||
|
"invoice":
|
||||||
|
{
|
||||||
|
"invoiceId": "147722263",
|
||||||
|
"invoiceNumber": "F2024-0001",
|
||||||
|
"description": "HTM Maandkorting 20%",
|
||||||
|
"publicLink": "https://factuurinzien.nl/d/b0aac3f42f325f5dd6abc172f723caab5956524d/i/ddb245d6df67999eca48c4a71b5661b93038e20a",
|
||||||
|
},
|
||||||
|
"_links":
|
||||||
|
{
|
||||||
|
"get_contractdetails":
|
||||||
|
{
|
||||||
|
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/customers/contracts/5ca46c1a-cb9d-4c2d-960e-4471e8e28b6a",
|
||||||
|
"method": "GET",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
}
|
||||||
|
iDEAL payment:
|
||||||
|
summary: iDEAL payment
|
||||||
|
description: One payment for a debtor with an iDEAL payment.
|
||||||
|
value:
|
||||||
|
{
|
||||||
|
"contractPayments":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"paymentId": "151845776",
|
||||||
|
"totalAmount": "26.62",
|
||||||
|
"paymentMethod": "iDEAL",
|
||||||
|
"paymentDate": "2024-09-12",
|
||||||
|
"iban": "NL25INGB******1337",
|
||||||
|
"invoice":
|
||||||
|
{
|
||||||
|
"invoiceId": "147722263",
|
||||||
|
"invoiceNumber": "F2024-0001",
|
||||||
|
"description": "HTM Maandkorting 20%",
|
||||||
|
"publicLink": "https://factuurinzien.nl/d/b0aac3f42f325f5dd6abc172f723caab5956524d/i/ddb245d6df67999eca48c4a71b5661b93038e20a",
|
||||||
|
},
|
||||||
|
"_links":
|
||||||
|
{
|
||||||
|
"get_contractdetails":
|
||||||
|
{
|
||||||
|
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/customers/contracts/5ca46c1a-cb9d-4c2d-960e-4471e8e28b6a",
|
||||||
|
"method": "GET",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
}
|
||||||
|
Bank transfer:
|
||||||
|
summary: Bank transfer
|
||||||
|
description: One payment for a debtor with a bank transfer.
|
||||||
|
value:
|
||||||
|
{
|
||||||
|
"contractPayments":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"paymentId": "151845776",
|
||||||
|
"totalAmount": "26.62",
|
||||||
|
"paymentMethod": "Overboeking",
|
||||||
|
"paymentDate": "2024-09-12",
|
||||||
|
"iban": "NL25INGB******1337",
|
||||||
|
"invoice":
|
||||||
|
{
|
||||||
|
"invoiceId": "147722263",
|
||||||
|
"invoiceNumber": "F2024-0001",
|
||||||
|
"description": "HTM Maandkorting 20%",
|
||||||
|
"publicLink": "https://factuurinzien.nl/d/b0aac3f42f325f5dd6abc172f723caab5956524d/i/ddb245d6df67999eca48c4a71b5661b93038e20a",
|
||||||
|
},
|
||||||
|
"_links":
|
||||||
|
{
|
||||||
|
"get_contractdetails":
|
||||||
|
{
|
||||||
|
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/customers/contracts/5ca46c1a-cb9d-4c2d-960e-4471e8e28b6a",
|
||||||
|
"method": "GET",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
}
|
||||||
|
List of four payments for one invoice:
|
||||||
|
summary: List of four payments for one invoice
|
||||||
|
description: Four payments for a debtor for one invoice; a direct debit, a direct debit reversal, a bank transfer and an iDEAL payment.
|
||||||
|
value:
|
||||||
|
{
|
||||||
|
"contractPayments":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"paymentId": "151845776",
|
||||||
|
"totalAmount": "26.62",
|
||||||
|
"paymentMethod": "Automatische incasso",
|
||||||
|
"paymentDate": "2024-09-12",
|
||||||
|
"iban": "NL25INGB******1337",
|
||||||
"invoice":
|
"invoice":
|
||||||
{
|
{
|
||||||
"invoiceId": "147722263",
|
"invoiceId": "147722263",
|
||||||
@ -626,22 +755,67 @@ paths:
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"paymentId": "151845851",
|
"paymentId": "151845776",
|
||||||
"totalAmount": "45.21",
|
"totalAmount": "-26.62",
|
||||||
"paymentMethod": "Twikey",
|
"paymentMethod": "Stornering",
|
||||||
"paymentDate": "2024-09-12",
|
"paymentDate": "2024-09-12",
|
||||||
|
"iban": "NL25INGB******1337",
|
||||||
"invoice":
|
"invoice":
|
||||||
{
|
{
|
||||||
"invoiceId": "147722266",
|
"invoiceId": "147722263",
|
||||||
"invoiceNumber": "F2024-0002",
|
"invoiceNumber": "F2024-0001",
|
||||||
"description": "HTM Maandkorting 20%",
|
"description": "HTM Maandkorting 20%",
|
||||||
"publicLink": "https://factuurinzien.nl/d/ddb245d6df67999eca48c4a71b5661b93038e20a/i/dp5h1i5cuu94nopiolkdst3u17vkmzo",
|
"publicLink": "https://factuurinzien.nl/d/b0aac3f42f325f5dd6abc172f723caab5956524d/i/ddb245d6df67999eca48c4a71b5661b93038e20a",
|
||||||
},
|
},
|
||||||
"_links":
|
"_links":
|
||||||
{
|
{
|
||||||
"get_contractdetails":
|
"get_contractdetails":
|
||||||
{
|
{
|
||||||
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/customers/contracts/7b2f8c1a-3d9d-4c2d-960e-4471e8e28b6a",
|
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/customers/contracts/5ca46c1a-cb9d-4c2d-960e-4471e8e28b6a",
|
||||||
|
"method": "GET",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"paymentId": "151845777",
|
||||||
|
"totalAmount": "10.00",
|
||||||
|
"paymentMethod": "Overboeking",
|
||||||
|
"paymentDate": "2024-09-13",
|
||||||
|
"iban": "NL25INGB******1337",
|
||||||
|
"invoice":
|
||||||
|
{
|
||||||
|
"invoiceId": "147722263",
|
||||||
|
"invoiceNumber": "F2024-0001",
|
||||||
|
"description": "HTM Maandkorting 20%",
|
||||||
|
"publicLink": "https://factuurinzien.nl/d/b0aac3f42f325f5dd6abc172f723caab5956524d/i/ddb245d6df67999eca48c4a71b5661b93038e20a",
|
||||||
|
},
|
||||||
|
"_links":
|
||||||
|
{
|
||||||
|
"get_contractdetails":
|
||||||
|
{
|
||||||
|
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/customers/contracts/5ca46c1a-cb9d-4c2d-960e-4471e8e28b6a",
|
||||||
|
"method": "GET",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"paymentId": "151845778",
|
||||||
|
"totalAmount": "16.62",
|
||||||
|
"paymentMethod": "iDEAL",
|
||||||
|
"paymentDate": "2024-09-14",
|
||||||
|
"iban": "NL25INGB******1337",
|
||||||
|
"invoice":
|
||||||
|
{
|
||||||
|
"invoiceId": "147722263",
|
||||||
|
"invoiceNumber": "F2024-0001",
|
||||||
|
"description": "HTM Maandkorting 20%",
|
||||||
|
"publicLink": "https://factuurinzien.nl/d/b0aac3f42f325f5dd6abc172f723caab5956524d/i/ddb245d6df67999eca48c4a71b5661b93038e20a",
|
||||||
|
},
|
||||||
|
"_links":
|
||||||
|
{
|
||||||
|
"get_contractdetails":
|
||||||
|
{
|
||||||
|
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/customers/contracts/5ca46c1a-cb9d-4c2d-960e-4471e8e28b6a",
|
||||||
"method": "GET",
|
"method": "GET",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|||||||
@ -1964,11 +1964,12 @@ paths:
|
|||||||
type: integer
|
type: integer
|
||||||
example: 1
|
example: 1
|
||||||
required: true
|
required: true
|
||||||
summary: Replace an OVpay token with another (+ transfer products) - V2 (for Integratielaag)
|
summary: |-
|
||||||
description: |
|
NOT TO BE CALLED BY TOUCHPOINTS - Replace an OVpay token with another (+ transfer products) - V2
|
||||||
|
description: |-
|
||||||
|
**NOTE: This endpoint is for usage by integratielaag only. Touchpoints should use
|
||||||
|
`/customers/tokens/{ovpayTokenId}/transfer` instead.**\
|
||||||
Transfer products from one OVpay token to another, and replace the tokens in the database.
|
Transfer products from one OVpay token to another, and replace the tokens in the database.
|
||||||
This endpoint is for usage by integratielaag only. Touch points should use
|
|
||||||
`/customers/tokens/{ovpayTokenId}/transfer` instead.
|
|
||||||
requestBody:
|
requestBody:
|
||||||
content:
|
content:
|
||||||
application/json:
|
application/json:
|
||||||
@ -2878,9 +2879,9 @@ paths:
|
|||||||
type: integer
|
type: integer
|
||||||
example: 1
|
example: 1
|
||||||
post:
|
post:
|
||||||
summary: "**INTEGRATIELAAG** Transfer old OVpay token to new OVpay token."
|
summary: "Transfer old OVpay token to new OVpay token."
|
||||||
description: |-
|
description: |-
|
||||||
**Note that this is an integratielaag endpoint, not a Service Engine endpoint!**
|
**Note that this directly calls the integratielaag and not the Service Engine!**
|
||||||
First transfers all personal account data (if present), then all products, of an existing OVpay token
|
First transfers all personal account data (if present), then all products, of an existing OVpay token
|
||||||
to a new OVpay token. The new token will also be persisted in the profile as a replacement
|
to a new OVpay token. The new token will also be persisted in the profile as a replacement
|
||||||
of the old token. This call is asynchronous, and progress can be monitored using the
|
of the old token. This call is asynchronous, and progress can be monitored using the
|
||||||
@ -3019,9 +3020,9 @@ paths:
|
|||||||
get:
|
get:
|
||||||
tags:
|
tags:
|
||||||
- Token Replace v2
|
- Token Replace v2
|
||||||
summary: "**INTEGRATIELAAG** Get the status of the initiated token transfer process (POST)."
|
summary: "Get the status of the initiated token transfer process (POST)."
|
||||||
description: |
|
description: |
|
||||||
**Note that this is an integratielaag endpoint, not a Service Engine endpoint!** Get the status of the
|
**Note that this directly calls the integratielaag and not the Service Engine!** Get the status of the
|
||||||
asynchronous token transfer processing.
|
asynchronous token transfer processing.
|
||||||
responses:
|
responses:
|
||||||
"200":
|
"200":
|
||||||
|
|||||||
@ -31,6 +31,12 @@ paths:
|
|||||||
schema:
|
schema:
|
||||||
type: integer
|
type: integer
|
||||||
description: Filter by customer profile ID
|
description: Filter by customer profile ID
|
||||||
|
- name: ovPayTokenId
|
||||||
|
in: query
|
||||||
|
required: false
|
||||||
|
schema:
|
||||||
|
type: integer
|
||||||
|
description: Filter by OV Pay token ID
|
||||||
- name: isCurrentlyActive
|
- name: isCurrentlyActive
|
||||||
in: query
|
in: query
|
||||||
required: false
|
required: false
|
||||||
@ -44,6 +50,13 @@ paths:
|
|||||||
type: integer
|
type: integer
|
||||||
default: 1
|
default: 1
|
||||||
description: Limit the number of subscription activities returned per subscription (default is 1)
|
description: Limit the number of subscription activities returned per subscription (default is 1)
|
||||||
|
- name: expand
|
||||||
|
in: query
|
||||||
|
schema:
|
||||||
|
type: string
|
||||||
|
enum: [none, notificationPreference, eventTypeChannel]
|
||||||
|
default: none
|
||||||
|
description: "Expand nested attributes. Possible values: `none`, `notificationPreference`, and `eventTypeChannel`."
|
||||||
responses:
|
responses:
|
||||||
"200":
|
"200":
|
||||||
description: A list of notification subscriptions
|
description: A list of notification subscriptions
|
||||||
@ -53,17 +66,21 @@ paths:
|
|||||||
$ref: "#/components/schemas/GetNotificationSubscriptionsResponse"
|
$ref: "#/components/schemas/GetNotificationSubscriptionsResponse"
|
||||||
examples:
|
examples:
|
||||||
emptyNotificationSubscriptionResponse:
|
emptyNotificationSubscriptionResponse:
|
||||||
|
summary: No notification subscriptions found
|
||||||
value:
|
value:
|
||||||
notificationSubscriptions: []
|
notificationSubscriptions: []
|
||||||
href: null
|
href: null
|
||||||
fullNotificationSubscriptionResponse:
|
notificationSubscriptionResponse?expand=none:
|
||||||
|
summary: Return notification subscriptions without nested attributes (expand=none)
|
||||||
value:
|
value:
|
||||||
notificationSubscriptions:
|
notificationSubscriptions:
|
||||||
- notificationSubscriptionId: 5bedce29-af0c-4f3c-b182-2caa8a1f9377
|
- notificationSubscriptionId: 5bedce29-af0c-4f3c-b182-2caa8a1f9377
|
||||||
notificationCategory:
|
notificationCategory:
|
||||||
notificationCategoryId: 1
|
notificationCategoryId: 1
|
||||||
name: Mijn Reizen
|
name: Mijn Reizen
|
||||||
|
groupName: Mijn Passen
|
||||||
customerProfileId: 1337
|
customerProfileId: 1337
|
||||||
|
ovPayTokenId: 42
|
||||||
subscriptionActivities:
|
subscriptionActivities:
|
||||||
- subscriptionActivityId: 30b32657-1ba1-44e0-8868-4db807695387
|
- subscriptionActivityId: 30b32657-1ba1-44e0-8868-4db807695387
|
||||||
user: "1001337"
|
user: "1001337"
|
||||||
@ -77,7 +94,9 @@ paths:
|
|||||||
notificationCategory:
|
notificationCategory:
|
||||||
notificationCategoryId: 2
|
notificationCategoryId: 2
|
||||||
name: Nieuwsbrief aanmelding
|
name: Nieuwsbrief aanmelding
|
||||||
|
groupName: Marketing
|
||||||
customerProfileId: 1338
|
customerProfileId: 1338
|
||||||
|
ovPayTokenId: null
|
||||||
subscriptionActivities:
|
subscriptionActivities:
|
||||||
- subscriptionActivityId: 7fae0d2c-1e20-4f3e-b25d-fd8505a381c4
|
- subscriptionActivityId: 7fae0d2c-1e20-4f3e-b25d-fd8505a381c4
|
||||||
user: "1001338"
|
user: "1001338"
|
||||||
@ -88,6 +107,113 @@ paths:
|
|||||||
timestamp: "2025-10-02T14:00:00Z"
|
timestamp: "2025-10-02T14:00:00Z"
|
||||||
isActive: true
|
isActive: true
|
||||||
href: null
|
href: null
|
||||||
|
notificationSubscriptionResponse?expand=notificationPreference:
|
||||||
|
summary: Return notification subscriptions with nested notification preferences (expand=notificationPreference)
|
||||||
|
value:
|
||||||
|
notificationSubscriptions:
|
||||||
|
- notificationSubscriptionId: 5bedce29-af0c-4f3c-b182-2caa8a1f9377
|
||||||
|
notificationCategory:
|
||||||
|
notificationCategoryId: 1
|
||||||
|
name: Mijn Reizen
|
||||||
|
groupName: Mijn Passen
|
||||||
|
customerProfileId: 1337
|
||||||
|
ovPayTokenId: 42
|
||||||
|
subscriptionActivities:
|
||||||
|
- subscriptionActivityId: 30b32657-1ba1-44e0-8868-4db807695387
|
||||||
|
user: "1001337"
|
||||||
|
timestamp: "2025-10-02T15:00:00Z"
|
||||||
|
isActive: true
|
||||||
|
- subscriptionActivityId: f78bc171-a50e-4b88-88d3-a76585bffd54
|
||||||
|
user: "1001337"
|
||||||
|
timestamp: "2025-10-02T14:00:00Z"
|
||||||
|
isActive: false
|
||||||
|
notificationPreferences:
|
||||||
|
- notificationPreferenceId: d4e5f6a7-b8c9-40d1-ef01-234567890abc
|
||||||
|
eventTypeChannelId: ccc8c025-06b5-4928-a632-23e1c55cd173
|
||||||
|
resourceIdentifier: null
|
||||||
|
- notificationPreferenceId: e5f6a7b8-c9d0-41e2-f012-34567890abcd
|
||||||
|
eventTypeChannelId: da2deb4c-ce77-4b5f-aecc-ddebfd14349d
|
||||||
|
resourceIdentifier: 44
|
||||||
|
- notificationSubscriptionId: 39e8d8e6-5c85-49b6-ba4b-62e47fa4f7fd
|
||||||
|
notificationCategory:
|
||||||
|
notificationCategoryId: 2
|
||||||
|
name: Nieuwsbrief aanmelding
|
||||||
|
groupName: Marketing
|
||||||
|
customerProfileId: 1338
|
||||||
|
ovPayTokenId: null
|
||||||
|
subscriptionActivities:
|
||||||
|
- subscriptionActivityId: 7fae0d2c-1e20-4f3e-b25d-fd8505a381c4
|
||||||
|
user: "1001338"
|
||||||
|
timestamp: "2025-10-02T15:00:00Z"
|
||||||
|
isActive: false
|
||||||
|
- subscriptionActivityId: cb2fc1d3-f143-4dd7-8608-4538e5637e3a
|
||||||
|
user: "1001338"
|
||||||
|
timestamp: "2025-10-02T14:00:00Z"
|
||||||
|
isActive: true
|
||||||
|
notificationPreferences: []
|
||||||
|
href: null
|
||||||
|
notificationSubscriptionResponse?expand=eventTypeChannel:
|
||||||
|
summary: Return notification subscriptions with nested event type channels (expand=eventTypeChannel)
|
||||||
|
value:
|
||||||
|
notificationSubscriptions:
|
||||||
|
- notificationSubscriptionId: 5bedce29-af0c-4f3c-b182-2caa8a1f9377
|
||||||
|
notificationCategory:
|
||||||
|
notificationCategoryId: 1
|
||||||
|
name: Mijn Reizen
|
||||||
|
groupName: Mijn Passen
|
||||||
|
customerProfileId: 1337
|
||||||
|
ovPayTokenId: 42
|
||||||
|
subscriptionActivities:
|
||||||
|
- subscriptionActivityId: 30b32657-1ba1-44e0-8868-4db807695387
|
||||||
|
user: "1001337"
|
||||||
|
timestamp: "2025-10-02T15:00:00Z"
|
||||||
|
isActive: true
|
||||||
|
- subscriptionActivityId: f78bc171-a50e-4b88-88d3-a76585bffd54
|
||||||
|
user: "1001337"
|
||||||
|
timestamp: "2025-10-02T14:00:00Z"
|
||||||
|
isActive: false
|
||||||
|
notificationPreferences:
|
||||||
|
- notificationPreferenceId: d4e5f6a7-b8c9-40d1-ef01-234567890abc
|
||||||
|
eventTypeChannel:
|
||||||
|
eventTypeChannelId: ccc8c025-06b5-4928-a632-23e1c55cd173
|
||||||
|
channel:
|
||||||
|
channelId: 1
|
||||||
|
name: push
|
||||||
|
resourceName:
|
||||||
|
resourceNameId: 8
|
||||||
|
name: devices
|
||||||
|
isDefault: true
|
||||||
|
isMandatory: false
|
||||||
|
resourceIdentifier: null
|
||||||
|
- notificationPreferenceId: e5f6a7b8-c9d0-41e2-f012-34567890abcd
|
||||||
|
eventTypeChannelId:
|
||||||
|
eventTypeChannelId: da2deb4c-ce77-4b5f-aecc-ddebfd14349d
|
||||||
|
channel:
|
||||||
|
channelId: 2
|
||||||
|
name: email
|
||||||
|
resourceName:
|
||||||
|
resourceNameId: 4
|
||||||
|
name: customers
|
||||||
|
isDefault: false
|
||||||
|
isMandatory: false
|
||||||
|
resourceIdentifier: 44
|
||||||
|
- notificationSubscriptionId: 39e8d8e6-5c85-49b6-ba4b-62e47fa4f7fd
|
||||||
|
notificationCategory:
|
||||||
|
notificationCategoryId: 2
|
||||||
|
name: Nieuwsbrief aanmelding
|
||||||
|
groupName: Marketing
|
||||||
|
customerProfileId: 1338
|
||||||
|
ovPayTokenId: null
|
||||||
|
subscriptionActivities:
|
||||||
|
- subscriptionActivityId: 7fae0d2c-1e20-4f3e-b25d-fd8505a381c4
|
||||||
|
user: "1001338"
|
||||||
|
timestamp: "2025-10-02T15:00:00Z"
|
||||||
|
isActive: false
|
||||||
|
- subscriptionActivityId: cb2fc1d3-f143-4dd7-8608-4538e5637e3a
|
||||||
|
user: "1001338"
|
||||||
|
timestamp: "2025-10-02T14:00:00Z"
|
||||||
|
isActive: true
|
||||||
|
notificationPreferences: []
|
||||||
"400":
|
"400":
|
||||||
description: Bad request
|
description: Bad request
|
||||||
content:
|
content:
|
||||||
@ -175,10 +301,6 @@ paths:
|
|||||||
type: object
|
type: object
|
||||||
$ref: "#/components/schemas/500Response"
|
$ref: "#/components/schemas/500Response"
|
||||||
/notificationsubscriptions/{notificationSubscriptionId}:
|
/notificationsubscriptions/{notificationSubscriptionId}:
|
||||||
delete:
|
|
||||||
summary: Delete a notification subscription by ID
|
|
||||||
tags:
|
|
||||||
- Notification Subscriptions
|
|
||||||
parameters:
|
parameters:
|
||||||
- name: notificationSubscriptionId
|
- name: notificationSubscriptionId
|
||||||
in: path
|
in: path
|
||||||
@ -187,6 +309,63 @@ paths:
|
|||||||
type: string
|
type: string
|
||||||
format: uuid
|
format: uuid
|
||||||
example: 5bedce29-af0c-4f3c-b182-2caa8a1f9377
|
example: 5bedce29-af0c-4f3c-b182-2caa8a1f9377
|
||||||
|
patch:
|
||||||
|
summary: Update a notification subscription by ID
|
||||||
|
tags:
|
||||||
|
- Notification Subscriptions
|
||||||
|
requestBody:
|
||||||
|
required: true
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: "#/components/schemas/PatchNotificationSubscriptionRequest"
|
||||||
|
examples:
|
||||||
|
updateNotificationSubscriptionRequest:
|
||||||
|
value:
|
||||||
|
ovPayTokenId: 43
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: Notification subscription updated successfully
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: "#/components/schemas/PatchNotificationSubscriptionResponse"
|
||||||
|
examples:
|
||||||
|
updateNotificationSubscriptionResponse:
|
||||||
|
value:
|
||||||
|
notificationSubscriptionId: 5bedce29-af0c-4f3c-b182-2caa8a1f9377
|
||||||
|
"400":
|
||||||
|
description: Bad request
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
$ref: "#/components/schemas/400Response"
|
||||||
|
"401":
|
||||||
|
description: Unauthorized
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
$ref: "#/components/schemas/401Response"
|
||||||
|
"404":
|
||||||
|
description: Not found
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
$ref: "#/components/schemas/404Response"
|
||||||
|
"500":
|
||||||
|
description: Internal server error
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
$ref: "#/components/schemas/500Response"
|
||||||
|
delete:
|
||||||
|
summary: Delete a notification subscription by ID
|
||||||
|
tags:
|
||||||
|
- Notification Subscriptions
|
||||||
responses:
|
responses:
|
||||||
"204":
|
"204":
|
||||||
description: No content
|
description: No content
|
||||||
@ -282,12 +461,196 @@ paths:
|
|||||||
schema:
|
schema:
|
||||||
type: object
|
type: object
|
||||||
$ref: "#/components/schemas/500Response"
|
$ref: "#/components/schemas/500Response"
|
||||||
|
/notificationsubscriptions/{notificationSubscriptionId}/notificationpreferences:
|
||||||
|
parameters:
|
||||||
|
- name: notificationSubscriptionId
|
||||||
|
in: path
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
type: string
|
||||||
|
format: uuid
|
||||||
|
example: 5bedce29-af0c-4f3c-b182-2caa8a1f9377
|
||||||
|
post:
|
||||||
|
summary: Add a notification preference to a notification subscription
|
||||||
|
tags:
|
||||||
|
- Notification Preferences
|
||||||
|
requestBody:
|
||||||
|
required: true
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: "#/components/schemas/PostNotificationPreferenceRequest"
|
||||||
|
examples:
|
||||||
|
addNotificationPreferenceNotNull:
|
||||||
|
summary: With non-null resource identifier
|
||||||
|
value:
|
||||||
|
eventTypeChannelId: ccc8c025-06b5-4928-a632-23e1c55cd173
|
||||||
|
resourceIdentifier: 44
|
||||||
|
addNotificationPreferenceNull:
|
||||||
|
summary: With null resource identifier
|
||||||
|
value:
|
||||||
|
eventTypeChannelId: ccc8c025-06b5-4928-a632-23e1c55cd173
|
||||||
|
resourceIdentifier: null
|
||||||
|
responses:
|
||||||
|
"201":
|
||||||
|
description: Notification preference added successfully
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: "#/components/schemas/PostNotificationPreferenceResponse"
|
||||||
|
examples:
|
||||||
|
addNotificationPreferenceResponse:
|
||||||
|
value:
|
||||||
|
notificationPreferenceId: d4e5f6a7-b8c9-40d1-ef01-234567890abc
|
||||||
|
"400":
|
||||||
|
description: Bad request
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
$ref: "#/components/schemas/400Response"
|
||||||
|
"401":
|
||||||
|
description: Unauthorized
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
$ref: "#/components/schemas/401Response"
|
||||||
|
"404":
|
||||||
|
description: Not found
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
$ref: "#/components/schemas/404Response"
|
||||||
|
"500":
|
||||||
|
description: Internal server error
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
$ref: "#/components/schemas/500Response"
|
||||||
|
/notificationpreferences/{notificationPreferenceId}:
|
||||||
|
parameters:
|
||||||
|
- name: notificationPreferenceId
|
||||||
|
in: path
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
type: string
|
||||||
|
format: uuid
|
||||||
|
example: d4e5f6a7-b8c9-40d1-ef01-234567890abc
|
||||||
|
patch:
|
||||||
|
summary: Update a notification preference by ID
|
||||||
|
tags:
|
||||||
|
- Notification Preferences
|
||||||
|
requestBody:
|
||||||
|
required: true
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: "#/components/schemas/PatchNotificationPreferenceRequest"
|
||||||
|
examples:
|
||||||
|
updateNotificationPreferenceRequest:
|
||||||
|
value:
|
||||||
|
resourceIdentifier: 55
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: Notification preference updated successfully
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: "#/components/schemas/PatchNotificationPreferenceResponse"
|
||||||
|
examples:
|
||||||
|
updateNotificationPreferenceResponse:
|
||||||
|
value:
|
||||||
|
notificationPreferenceId: d4e5f6a7-b8c9-40d1-ef01-234567890abc
|
||||||
|
"400":
|
||||||
|
description: Bad request
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
$ref: "#/components/schemas/400Response"
|
||||||
|
"401":
|
||||||
|
description: Unauthorized
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
$ref: "#/components/schemas/401Response"
|
||||||
|
"404":
|
||||||
|
description: Not found
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
$ref: "#/components/schemas/404Response"
|
||||||
|
"500":
|
||||||
|
description: Internal server error
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
$ref: "#/components/schemas/500Response"
|
||||||
|
delete:
|
||||||
|
summary: Delete a notification preference by ID
|
||||||
|
tags:
|
||||||
|
- Notification Preferences
|
||||||
|
responses:
|
||||||
|
"204":
|
||||||
|
description: No content
|
||||||
|
"400":
|
||||||
|
description: Bad request
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
$ref: "#/components/schemas/400Response"
|
||||||
|
"401":
|
||||||
|
description: Unauthorized
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
$ref: "#/components/schemas/401Response"
|
||||||
|
"404":
|
||||||
|
description: Not found
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
$ref: "#/components/schemas/404Response"
|
||||||
|
"500":
|
||||||
|
description: Internal server error
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
$ref: "#/components/schemas/500Response"
|
||||||
/notificationcategories:
|
/notificationcategories:
|
||||||
get:
|
get:
|
||||||
tags:
|
tags:
|
||||||
- Notification Categories
|
- Notification Categories
|
||||||
summary: Get all notification categories.
|
summary: Get all notification categories.
|
||||||
parameters:
|
parameters:
|
||||||
|
- name: notificationCategoryId
|
||||||
|
in: query
|
||||||
|
required: false
|
||||||
|
schema:
|
||||||
|
type: integer
|
||||||
|
description: Filter by notification category ID
|
||||||
|
- name: name
|
||||||
|
in: query
|
||||||
|
required: false
|
||||||
|
schema:
|
||||||
|
type: integer
|
||||||
|
description: Filter by notification category name (case-insensitive, partial match)
|
||||||
|
- name: groupName
|
||||||
|
in: query
|
||||||
|
required: false
|
||||||
|
schema:
|
||||||
|
type: integer
|
||||||
|
description: Filter by notification category group name (case-insensitive, partial match)
|
||||||
- name: expand
|
- name: expand
|
||||||
in: query
|
in: query
|
||||||
schema:
|
schema:
|
||||||
@ -303,41 +666,58 @@ paths:
|
|||||||
schema:
|
schema:
|
||||||
$ref: "#/components/schemas/GetNotificationCategoriesResponse"
|
$ref: "#/components/schemas/GetNotificationCategoriesResponse"
|
||||||
examples:
|
examples:
|
||||||
|
emptyNotificationCategoriesResponse:
|
||||||
|
summary: No notification categories found
|
||||||
|
value:
|
||||||
|
notificationCategories: []
|
||||||
getNotifactionCategories?expand=none:
|
getNotifactionCategories?expand=none:
|
||||||
summary: Return all the notification categories without nested attributes (expand=none)
|
summary: Return all the notification categories without nested attributes (expand=none)
|
||||||
value:
|
value:
|
||||||
notificationCategories:
|
notificationCategories:
|
||||||
- notificationCategoryId: 1
|
- notificationCategoryId: 1
|
||||||
name: Mijn Reizen
|
name: Mijn Reizen
|
||||||
|
groupName: Mijn Passen
|
||||||
- notificationCategoryId: 2
|
- notificationCategoryId: 2
|
||||||
name: Nieuwsbrief aanmelding
|
name: Nieuwsbrief aanmelding
|
||||||
|
groupName: Marketing
|
||||||
- notificationCategoryId: 3
|
- notificationCategoryId: 3
|
||||||
name: Mijn Passen
|
name: Serviceberichten
|
||||||
|
groupName: Mijn Passen
|
||||||
getNotifactionCategories?expand=eventType:
|
getNotifactionCategories?expand=eventType:
|
||||||
summary: Return all the notification categories with nested event types (expand=eventType)
|
summary: Return all the notification categories with nested event types (expand=eventType)
|
||||||
value:
|
value:
|
||||||
notificationCategories:
|
notificationCategories:
|
||||||
- notificationCategoryId: 1
|
- notificationCategoryId: 1
|
||||||
name: Mijn Reizen
|
name: Mijn Reizen
|
||||||
|
groupName: Mijn Passen
|
||||||
eventTypes:
|
eventTypes:
|
||||||
- eventTypeId: 2
|
- eventTypeId: 2
|
||||||
eventOrigin:
|
eventOrigin:
|
||||||
eventOriginId: 1
|
eventOriginId: 1
|
||||||
name: GBO
|
name: GBO
|
||||||
name: ALERTS, TRAVEL_SCHEME
|
name: TRIPS
|
||||||
subName: CI
|
subName: CKI
|
||||||
prettyName: Check In
|
prettyName: Normal Check-in
|
||||||
optinRequired: false
|
optinRequired: false
|
||||||
|
originSubscription:
|
||||||
|
originSubscriptionId: a1b2c3d4-e5f6-4789-abcd-1234567890ab
|
||||||
|
name: GBO_TRIPS
|
||||||
|
externalSubscriptionId: fedcba98-7654-3210-fedc-ba9876543210
|
||||||
- eventTypeId: 3
|
- eventTypeId: 3
|
||||||
eventOrigin:
|
eventOrigin:
|
||||||
eventOriginId: 1
|
eventOriginId: 1
|
||||||
name: GBO
|
name: GBO
|
||||||
name: ALERTS, PAD
|
name: PAD
|
||||||
subName: null
|
subName: AMEND
|
||||||
prettyName: Profielgegevens op de pas
|
prettyName: PAD Wijzigen/Aanvullen
|
||||||
optinRequired: false
|
optinRequired: false
|
||||||
|
originSubscription:
|
||||||
|
originSubscriptionId: b2c3d4e5-f678-49ab-bcde-2345678901bc
|
||||||
|
name: GBO_PAD
|
||||||
|
externalSubscriptionId: edcba987-6543-210f-edcb-a9876543210f
|
||||||
- notificationCategoryId: 2
|
- notificationCategoryId: 2
|
||||||
name: Nieuwsbrief aanmelding
|
name: Nieuwsbrief aanmelding
|
||||||
|
groupName: Marketing
|
||||||
eventTypes:
|
eventTypes:
|
||||||
- eventTypeId: 1
|
- eventTypeId: 1
|
||||||
eventOrigin:
|
eventOrigin:
|
||||||
@ -347,76 +727,108 @@ paths:
|
|||||||
subName: null
|
subName: null
|
||||||
prettyName: HTM nieuwsbrief
|
prettyName: HTM nieuwsbrief
|
||||||
optinRequired: false
|
optinRequired: false
|
||||||
|
originSubscription: null
|
||||||
- notificationCategoryId: 3
|
- notificationCategoryId: 3
|
||||||
name: Mijn Passen
|
name: Serviceberichten
|
||||||
|
groupName: Mijn Passen
|
||||||
eventTypes:
|
eventTypes:
|
||||||
- eventTypeId: 4
|
- eventTypeId: 4
|
||||||
eventOrigin:
|
eventOrigin:
|
||||||
eventOriginId: 1
|
eventOriginId: 1
|
||||||
name: GBO
|
name: GBO
|
||||||
name: ALERTS, CARD
|
name: PRODUCT
|
||||||
subName: null
|
subName: ACTIVATE
|
||||||
prettyName: Mijn passen
|
prettyName: Product Geactiveerd
|
||||||
optinRequired: false
|
optinRequired: false
|
||||||
|
originSubscription:
|
||||||
|
originSubscriptionId: f1a2b3c4-d5e6-4789-abcd-3456789012de
|
||||||
|
name: GBO_PRODUCT
|
||||||
|
externalSubscriptionId: 12345678-90ab-cdef-1234-567890abcdef
|
||||||
- eventTypeId: 5
|
- eventTypeId: 5
|
||||||
eventOrigin:
|
eventOrigin:
|
||||||
eventOriginId: 1
|
eventOriginId: 1
|
||||||
name: GBO
|
name: GBO
|
||||||
name: ALERTS, PAD
|
name: PAD
|
||||||
subName: null
|
subName: MARK
|
||||||
prettyName: Profielgegevens op de pas
|
prettyName: PAD Markering
|
||||||
optinRequired: false
|
optinRequired: false
|
||||||
|
originSubscription:
|
||||||
|
originSubscriptionId: b2c3d4e5-f678-49ab-bcde-2345678901bc
|
||||||
|
name: GBO_PAD
|
||||||
|
externalSubscriptionId: edcba987-6543-210f-edcb-a9876543210f
|
||||||
getNotifactionCategories?expand=eventTypeChannel:
|
getNotifactionCategories?expand=eventTypeChannel:
|
||||||
summary: Return all the notification categories with all nested attributes (expand=eventTypeChannel)
|
summary: Return all the notification categories with all nested attributes (expand=eventTypeChannel)
|
||||||
value:
|
value:
|
||||||
notificationCategories:
|
notificationCategories:
|
||||||
- notificationCategoryId: 1
|
- notificationCategoryId: 1
|
||||||
name: Mijn Reizen
|
name: Mijn Reizen
|
||||||
|
groupName: Mijn Passen
|
||||||
eventTypes:
|
eventTypes:
|
||||||
- eventTypeId: 2
|
- eventTypeId: 2
|
||||||
eventOrigin:
|
eventOrigin:
|
||||||
eventOriginId: 1
|
eventOriginId: 1
|
||||||
name: GBO
|
name: GBO
|
||||||
name: ALERTS, TRAVEL_SCHEME
|
name: TRIPS
|
||||||
subName: CI
|
subName: CKI
|
||||||
prettyName: Check In
|
prettyName: Normal Check-in
|
||||||
optinRequired: false
|
optinRequired: false
|
||||||
|
originSubscription:
|
||||||
|
originSubscriptionId: a1b2c3d4-e5f6-4789-abcd-1234567890ab
|
||||||
|
name: GBO_TRIPS
|
||||||
|
externalSubscriptionId: fedcba98-7654-3210-fedc-ba9876543210
|
||||||
eventTypeChannels:
|
eventTypeChannels:
|
||||||
- eventTypeChannelId: ccc8c025-06b5-4928-a632-23e1c55cd173
|
- eventTypeChannelId: ccc8c025-06b5-4928-a632-23e1c55cd173
|
||||||
channel:
|
channel:
|
||||||
channelId: 1
|
channelId: 1
|
||||||
name: push
|
name: push
|
||||||
|
resourceName:
|
||||||
|
resourceNameId: 8
|
||||||
|
name: devices
|
||||||
isDefault: true
|
isDefault: true
|
||||||
isMandatory: false
|
isMandatory: false
|
||||||
- eventTypeChannelId: da2deb4c-ce77-4b5f-aecc-ddebfd14349d
|
- eventTypeChannelId: da2deb4c-ce77-4b5f-aecc-ddebfd14349d
|
||||||
channel:
|
channel:
|
||||||
channelId: 2
|
channelId: 2
|
||||||
name: email
|
name: email
|
||||||
|
resourceName:
|
||||||
|
resourceNameId: 4
|
||||||
|
name: customers
|
||||||
isDefault: false
|
isDefault: false
|
||||||
isMandatory: false
|
isMandatory: false
|
||||||
- eventTypeId: 3
|
- eventTypeId: 3
|
||||||
eventOrigin:
|
eventOrigin:
|
||||||
eventOriginId: 1
|
eventOriginId: 1
|
||||||
name: GBO
|
name: GBO
|
||||||
name: ALERTS, PAD
|
name: PAD
|
||||||
subName: null
|
subName: AMEND
|
||||||
prettyName: Profielgegevens op de pas
|
prettyName: PAD Wijzigen/Aanvullen
|
||||||
optinRequired: false
|
optinRequired: false
|
||||||
|
originSubscription:
|
||||||
|
originSubscriptionId: b2c3d4e5-f678-49ab-bcde-2345678901bc
|
||||||
|
name: GBO_PAD
|
||||||
|
externalSubscriptionId: edcba987-6543-210f-edcb-a9876543210f
|
||||||
eventTypeChannels:
|
eventTypeChannels:
|
||||||
- eventTypeChannelId: 8e7df8f1-7e50-482f-8301-d399e75fd432
|
- eventTypeChannelId: 8e7df8f1-7e50-482f-8301-d399e75fd432
|
||||||
channel:
|
channel:
|
||||||
channelId: 1
|
channelId: 1
|
||||||
name: push
|
name: push
|
||||||
|
resourceName:
|
||||||
|
resourceNameId: 8
|
||||||
|
name: devices
|
||||||
isDefault: true
|
isDefault: true
|
||||||
isMandatory: false
|
isMandatory: false
|
||||||
- eventTypeChannelId: 72960a92-1855-469f-9cfd-5d72f57106f2
|
- eventTypeChannelId: 72960a92-1855-469f-9cfd-5d72f57106f2
|
||||||
channel:
|
channel:
|
||||||
channelId: 2
|
channelId: 2
|
||||||
name: email
|
name: email
|
||||||
|
resourceName:
|
||||||
|
resourceNameId: 4
|
||||||
|
name: customers
|
||||||
isDefault: false
|
isDefault: false
|
||||||
isMandatory: false
|
isMandatory: false
|
||||||
- notificationCategoryId: 2
|
- notificationCategoryId: 2
|
||||||
name: Nieuwsbrief aanmelding
|
name: Nieuwsbrief aanmelding
|
||||||
|
groupName: Marketing
|
||||||
eventTypes:
|
eventTypes:
|
||||||
- eventTypeId: 1
|
- eventTypeId: 1
|
||||||
eventOrigin:
|
eventOrigin:
|
||||||
@ -426,56 +838,81 @@ paths:
|
|||||||
subName: null
|
subName: null
|
||||||
prettyName: HTM nieuwsbrief
|
prettyName: HTM nieuwsbrief
|
||||||
optinRequired: false
|
optinRequired: false
|
||||||
|
originSubscription: null
|
||||||
eventTypeChannels:
|
eventTypeChannels:
|
||||||
- eventTypeChannelId: 447a1116-6cd7-4645-8c3d-43237b6186cd
|
- eventTypeChannelId: 447a1116-6cd7-4645-8c3d-43237b6186cd
|
||||||
channel:
|
channel:
|
||||||
channelId: 2
|
channelId: 2
|
||||||
name: email
|
name: email
|
||||||
|
resourceName:
|
||||||
|
resourceNameId: 4
|
||||||
|
name: customers
|
||||||
isDefault: true
|
isDefault: true
|
||||||
isMandatory: false
|
isMandatory: false
|
||||||
- notificationCategoryId: 3
|
- notificationCategoryId: 3
|
||||||
name: Mijn Passen
|
name: Serviceberichten
|
||||||
|
groupName: Mijn Passen
|
||||||
eventTypes:
|
eventTypes:
|
||||||
- eventTypeId: 4
|
- eventTypeId: 4
|
||||||
eventOrigin:
|
eventOrigin:
|
||||||
eventOriginId: 1
|
eventOriginId: 1
|
||||||
name: GBO
|
name: GBO
|
||||||
name: ALERTS, CARD
|
name: PRODUCT
|
||||||
subName: null
|
subName: ACTIVATE
|
||||||
prettyName: Mijn passen
|
prettyName: Product Geactiveerd
|
||||||
optinRequired: false
|
optinRequired: false
|
||||||
|
originSubscription:
|
||||||
|
originSubscriptionId: f1a2b3c4-d5e6-4789-abcd-3456789012de
|
||||||
|
name: GBO_PRODUCT
|
||||||
|
externalSubscriptionId: 12345678-90ab-cdef-1234-567890abcdef
|
||||||
eventTypeChannels:
|
eventTypeChannels:
|
||||||
- eventTypeChannelId: be07c7bb-714b-4637-acf5-a67025ad8e60
|
- eventTypeChannelId: be07c7bb-714b-4637-acf5-a67025ad8e60
|
||||||
channel:
|
channel:
|
||||||
channelId: 1
|
channelId: 1
|
||||||
name: push
|
name: push
|
||||||
|
resourceName:
|
||||||
|
resourceNameId: 8
|
||||||
|
name: devices
|
||||||
isDefault: true
|
isDefault: true
|
||||||
isMandatory: false
|
isMandatory: false
|
||||||
- eventTypeChannelId: 0c797b5a-ed34-494b-8c64-0a832830d392
|
- eventTypeChannelId: 0c797b5a-ed34-494b-8c64-0a832830d392
|
||||||
channel:
|
channel:
|
||||||
channelId: 2
|
channelId: 2
|
||||||
name: email
|
name: email
|
||||||
|
resourceName:
|
||||||
|
resourceNameId: 4
|
||||||
|
name: customers
|
||||||
isDefault: false
|
isDefault: false
|
||||||
isMandatory: false
|
isMandatory: false
|
||||||
- eventTypeId: 5
|
- eventTypeId: 5
|
||||||
eventOrigin:
|
eventOrigin:
|
||||||
eventOriginId: 1
|
eventOriginId: 1
|
||||||
name: GBO
|
name: GBO
|
||||||
name: ALERTS, PAD
|
name: PAD
|
||||||
subName: null
|
subName: MARK
|
||||||
prettyName: Profielgegevens op de pas
|
prettyName: PAD Markering
|
||||||
optinRequired: false
|
optinRequired: false
|
||||||
|
originSubscription:
|
||||||
|
originSubscriptionId: b2c3d4e5-f678-49ab-bcde-2345678901bc
|
||||||
|
name: GBO_PAD
|
||||||
|
externalSubscriptionId: edcba987-6543-210f-edcb-a9876543210f
|
||||||
eventTypeChannels:
|
eventTypeChannels:
|
||||||
- eventTypeChannelId: b910368f-c045-4e8e-b01d-bcbc78708bac
|
- eventTypeChannelId: b910368f-c045-4e8e-b01d-bcbc78708bac
|
||||||
channel:
|
channel:
|
||||||
channelId: 1
|
channelId: 1
|
||||||
name: push
|
name: push
|
||||||
|
resourceName:
|
||||||
|
resourceNameId: 8
|
||||||
|
name: devices
|
||||||
isDefault: true
|
isDefault: true
|
||||||
isMandatory: false
|
isMandatory: false
|
||||||
- eventTypeChannelId: 93e773da-ba3b-48da-9a0e-ee478eaa752f
|
- eventTypeChannelId: 93e773da-ba3b-48da-9a0e-ee478eaa752f
|
||||||
channel:
|
channel:
|
||||||
channelId: 2
|
channelId: 2
|
||||||
name: email
|
name: email
|
||||||
|
resourceName:
|
||||||
|
resourceNameId: 4
|
||||||
|
name: customers
|
||||||
isDefault: false
|
isDefault: false
|
||||||
isMandatory: false
|
isMandatory: false
|
||||||
"400":
|
"400":
|
||||||
@ -596,12 +1033,24 @@ paths:
|
|||||||
channels:
|
channels:
|
||||||
- channelId: 1
|
- channelId: 1
|
||||||
name: push
|
name: push
|
||||||
|
resourceName:
|
||||||
|
resourceNameId: 8
|
||||||
|
name: devices
|
||||||
- channelId: 2
|
- channelId: 2
|
||||||
name: email
|
name: email
|
||||||
|
resourceName:
|
||||||
|
resourceNameId: 4
|
||||||
|
name: customers
|
||||||
- channelId: 3
|
- channelId: 3
|
||||||
name: sms
|
name: sms
|
||||||
|
resourceName:
|
||||||
|
resourceNameId: 4
|
||||||
|
name: customers
|
||||||
- channelId: 4
|
- channelId: 4
|
||||||
name: mail
|
name: mail
|
||||||
|
resourceName:
|
||||||
|
resourceNameId: 4
|
||||||
|
name: customers
|
||||||
"400":
|
"400":
|
||||||
description: Bad request
|
description: Bad request
|
||||||
content:
|
content:
|
||||||
@ -750,6 +1199,7 @@ paths:
|
|||||||
notificationCategory:
|
notificationCategory:
|
||||||
notificationCategoryId: 1
|
notificationCategoryId: 1
|
||||||
name: Mijn Reizen
|
name: Mijn Reizen
|
||||||
|
groupName: Mijn Passen
|
||||||
- eventType:
|
- eventType:
|
||||||
eventTypeId: 16
|
eventTypeId: 16
|
||||||
eventOrigin:
|
eventOrigin:
|
||||||
@ -762,6 +1212,7 @@ paths:
|
|||||||
notificationCategory:
|
notificationCategory:
|
||||||
notificationCategoryId: 1
|
notificationCategoryId: 1
|
||||||
name: Mijn Reizen
|
name: Mijn Reizen
|
||||||
|
groupName: Mijn Passen
|
||||||
"400":
|
"400":
|
||||||
description: Bad request
|
description: Bad request
|
||||||
content:
|
content:
|
||||||
@ -827,6 +1278,9 @@ paths:
|
|||||||
channel:
|
channel:
|
||||||
channelId: 1
|
channelId: 1
|
||||||
name: push
|
name: push
|
||||||
|
resourceName:
|
||||||
|
resourceNameId: 8
|
||||||
|
name: devices
|
||||||
isDefault: true
|
isDefault: true
|
||||||
isMandatory: false
|
isMandatory: false
|
||||||
- eventTypeChannelId: c4729ad4-46ef-4329-94f9-5079be21dfc5
|
- eventTypeChannelId: c4729ad4-46ef-4329-94f9-5079be21dfc5
|
||||||
@ -842,6 +1296,9 @@ paths:
|
|||||||
channel:
|
channel:
|
||||||
channelId: 1
|
channelId: 1
|
||||||
name: push
|
name: push
|
||||||
|
resourceName:
|
||||||
|
resourceNameId: 8
|
||||||
|
name: devices
|
||||||
isDefault: true
|
isDefault: true
|
||||||
isMandatory: false
|
isMandatory: false
|
||||||
"400":
|
"400":
|
||||||
@ -962,6 +1419,24 @@ components:
|
|||||||
type: string
|
type: string
|
||||||
format: uuid
|
format: uuid
|
||||||
example: 5bedce29-af0c-4f3c-b182-2caa8a1f9377
|
example: 5bedce29-af0c-4f3c-b182-2caa8a1f9377
|
||||||
|
PatchNotificationSubscriptionRequest:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
notificationCategoryId:
|
||||||
|
type: integer
|
||||||
|
example: 1
|
||||||
|
customerProfileId:
|
||||||
|
type: integer
|
||||||
|
example: 1337
|
||||||
|
required:
|
||||||
|
- notificationCategoryId
|
||||||
|
PatchNotificationSubscriptionResponse:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
notificationSubscriptionId:
|
||||||
|
type: string
|
||||||
|
format: uuid
|
||||||
|
example: 5bedce29-af0c-4f3c-b182-2caa8a1f9377
|
||||||
PostSubscriptionActivityRequest:
|
PostSubscriptionActivityRequest:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
@ -986,6 +1461,40 @@ components:
|
|||||||
type: string
|
type: string
|
||||||
format: uuid
|
format: uuid
|
||||||
example: 30b32657-1ba1-44e0-8868-4db807695387
|
example: 30b32657-1ba1-44e0-8868-4db807695387
|
||||||
|
PostNotificationPreferenceRequest:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
eventTypeChannelId:
|
||||||
|
type: string
|
||||||
|
format: uuid
|
||||||
|
example: 22a9ab1cb-b1a3-482e-bae3-9a517a8cfb4f
|
||||||
|
resourceIdentifier:
|
||||||
|
type: string
|
||||||
|
format: uuid
|
||||||
|
example: d4e5f678-49ab-bcde-2345-678901bcdef0
|
||||||
|
required:
|
||||||
|
- eventTypeChannelId
|
||||||
|
PostNotificationPreferenceResponse:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
notificationPreferenceId:
|
||||||
|
type: string
|
||||||
|
format: uuid
|
||||||
|
example: d4e5f678-49ab-bcde-2345-678901bcdef0
|
||||||
|
PatchNotificationPreferenceRequest:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
resourceIdentifier:
|
||||||
|
type: string
|
||||||
|
format: uuid
|
||||||
|
example: d4e5f678-49ab-bcde-2345-678901bcdef0
|
||||||
|
PatchNotificationPreferenceResponse:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
notificationPreferenceId:
|
||||||
|
type: string
|
||||||
|
format: uuid
|
||||||
|
example: d4e5f678-49ab-bcde-2345-678901bcdef0
|
||||||
GetEventOriginsResponse:
|
GetEventOriginsResponse:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
@ -1076,6 +1585,24 @@ components:
|
|||||||
optInRequired:
|
optInRequired:
|
||||||
type: boolean
|
type: boolean
|
||||||
example: true
|
example: true
|
||||||
|
originSubscription:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
originSubscriptionId:
|
||||||
|
type: string
|
||||||
|
format: uuid
|
||||||
|
example: a1b2c3d4-e5f6-4789-abcd-1234567890ab
|
||||||
|
name:
|
||||||
|
type: string
|
||||||
|
example: GBO_TRIPS
|
||||||
|
externalSubscriptionId:
|
||||||
|
type: string
|
||||||
|
format: uuid
|
||||||
|
example: fedcba98-7654-3210-fedc-ba9876543210
|
||||||
|
required:
|
||||||
|
- originSubscriptionId
|
||||||
|
- name
|
||||||
|
- externalSubscriptionId
|
||||||
eventTypeChannels:
|
eventTypeChannels:
|
||||||
type: array
|
type: array
|
||||||
items:
|
items:
|
||||||
@ -1107,9 +1634,22 @@ components:
|
|||||||
name:
|
name:
|
||||||
type: string
|
type: string
|
||||||
example: push
|
example: push
|
||||||
|
resourceName:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
resourceNameId:
|
||||||
|
type: integer
|
||||||
|
example: 8
|
||||||
|
name:
|
||||||
|
type: string
|
||||||
|
example: devices
|
||||||
|
required:
|
||||||
|
- resourceNameId
|
||||||
|
- name
|
||||||
required:
|
required:
|
||||||
- channelId
|
- channelId
|
||||||
- name
|
- name
|
||||||
|
- resourceName
|
||||||
NotificationCategory:
|
NotificationCategory:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
@ -1119,6 +1659,9 @@ components:
|
|||||||
name:
|
name:
|
||||||
type: string
|
type: string
|
||||||
example: Mijn Reizen
|
example: Mijn Reizen
|
||||||
|
groupName:
|
||||||
|
type: string
|
||||||
|
example: Mijn Passen
|
||||||
eventTypes:
|
eventTypes:
|
||||||
type: array
|
type: array
|
||||||
items:
|
items:
|
||||||
|
|||||||
@ -60,6 +60,7 @@ paths:
|
|||||||
name: deviceId
|
name: deviceId
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
|
format: uuid
|
||||||
example: "7a28bd54-7ca9-499a-a722-d15ab858ab99"
|
example: "7a28bd54-7ca9-499a-a722-d15ab858ab99"
|
||||||
required: false
|
required: false
|
||||||
description: The id of the device used to place the order.
|
description: The id of the device used to place the order.
|
||||||
@ -170,46 +171,24 @@ paths:
|
|||||||
"description": "Betaling in behandeling",
|
"description": "Betaling in behandeling",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
"order_OrderVouchers": [
|
"orderVouchers": [
|
||||||
{
|
{
|
||||||
"order_OrderVoucherId": "399bd3b3-9721-4f09-a936-d64637de1621",
|
"orderVoucherId": "399bd3b3-9721-4f09-a936-d64637de1621",
|
||||||
"issuedVoucher":{
|
"issuedVoucher":{
|
||||||
"issuedVoucherId": "a0996218-bc5e-4826-9020-cda98a32838d",
|
"issuedVoucherId": "a0996218-bc5e-4826-9020-cda98a32838d",
|
||||||
"voucherCode": "Voucher1234",
|
"voucherCode": "Voucher1234",
|
||||||
"voucherStatusInstances":
|
"purchasedProductId": 31,
|
||||||
[
|
|
||||||
{
|
|
||||||
"voucherStatus":
|
|
||||||
{
|
|
||||||
"voucherStatusId": 2,
|
|
||||||
"name": "issued"
|
|
||||||
},
|
|
||||||
"createdOn": "2025-11-22T13:00:00"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"productId": 31,
|
|
||||||
"fromInclusive": "2025-03-22T08:55:00",
|
"fromInclusive": "2025-03-22T08:55:00",
|
||||||
"untillInclusive": "2026-03-22T08:55:00"
|
"untillInclusive": "2026-03-22T08:55:00"
|
||||||
},
|
},
|
||||||
"orderLineId": null
|
"orderLineId": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"order_OrderVoucherId": "f6c7ac42-1811-4e4d-82af-53e18fe16110",
|
"orderVoucherId": "f6c7ac42-1811-4e4d-82af-53e18fe16110",
|
||||||
"issuedVoucher":{
|
"issuedVoucher":{
|
||||||
"issuedVoucherId": "54668baf-4905-4e9a-af02-09c170f295ed",
|
"issuedVoucherId": "54668baf-4905-4e9a-af02-09c170f295ed",
|
||||||
"voucherCode": "Voucher124",
|
"voucherCode": "Voucher124",
|
||||||
"voucherStatusInstances":
|
"purchasedProductId": 35,
|
||||||
[
|
|
||||||
{
|
|
||||||
"voucherStatus":
|
|
||||||
{
|
|
||||||
"voucherStatusId": 2,
|
|
||||||
"name": "issued"
|
|
||||||
},
|
|
||||||
"createdOn": "2025-11-22T13:00:00"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"productId": 35,
|
|
||||||
"fromInclusive": "2025-03-22T08:55:00",
|
"fromInclusive": "2025-03-22T08:55:00",
|
||||||
"untillInclusive": "2026-03-22T08:55:00"
|
"untillInclusive": "2026-03-22T08:55:00"
|
||||||
},
|
},
|
||||||
@ -406,7 +385,7 @@ paths:
|
|||||||
"description": "Concept order",
|
"description": "Concept order",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
"order_OrderVouchers":
|
"orderVouchers":
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
"issuedVoucherId": "e81b2197-a6c2-45b6-9560-8ce8442e8604",
|
"issuedVoucherId": "e81b2197-a6c2-45b6-9560-8ce8442e8604",
|
||||||
@ -533,7 +512,7 @@ paths:
|
|||||||
"description": "Betaling in behandeling",
|
"description": "Betaling in behandeling",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
"order_OrderVouchers": null,
|
"orderVouchers": null,
|
||||||
"orderLines":
|
"orderLines":
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
@ -773,12 +752,12 @@ paths:
|
|||||||
$ref: "#/components/schemas/unavailable"
|
$ref: "#/components/schemas/unavailable"
|
||||||
example:
|
example:
|
||||||
{
|
{
|
||||||
"order_orderVoucherId": "b9cf0096-4211-4be6-ac21-7bc34bc8e066",
|
"orderVoucherId": "b9cf0096-4211-4be6-ac21-7bc34bc8e066",
|
||||||
}
|
}
|
||||||
/ordervouchers:
|
/ordervouchers:
|
||||||
parameters:
|
parameters:
|
||||||
- in: query
|
- in: query
|
||||||
name: order_OrderVoucherId
|
name: orderVoucherId
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
format: uuid
|
format: uuid
|
||||||
@ -814,15 +793,22 @@ paths:
|
|||||||
example:
|
example:
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
"order_OrderVoucherId": "19ef6882-8eda-43bf-b48e-9b4ff8745a50",
|
"orderVoucherId": "19ef6882-8eda-43bf-b48e-9b4ff8745a50",
|
||||||
|
"issuedVoucher":{
|
||||||
|
"issuedVoucherId": "54668baf-4905-4e9a-af02-09c170f295ed",
|
||||||
|
"voucherCode": "Voucher124",
|
||||||
|
"purchasedProductId": 35,
|
||||||
|
"fromInclusive": "2025-03-22T08:55:00",
|
||||||
|
"untillInclusive": "2026-03-22T08:55:00"
|
||||||
|
},
|
||||||
"orderId": "f59e4769-53a0-4156-8991-6f9119ba629f",
|
"orderId": "f59e4769-53a0-4156-8991-6f9119ba629f",
|
||||||
"orderLineId": "eeb86071-4f59-405d-b2be-7d7a77044bfa"
|
"orderLineId": "eeb86071-4f59-405d-b2be-7d7a77044bfa"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
/ordervouchers/{order_ordervoucherId}:
|
/ordervouchers/{ordervoucherId}:
|
||||||
parameters:
|
parameters:
|
||||||
- in: path
|
- in: path
|
||||||
name: order_ordervoucherId
|
name: ordervoucherId
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
format: uuid
|
format: uuid
|
||||||
@ -853,7 +839,7 @@ paths:
|
|||||||
$ref: "#/components/schemas/unavailable"
|
$ref: "#/components/schemas/unavailable"
|
||||||
example:
|
example:
|
||||||
{
|
{
|
||||||
"order_orderVoucherId": "b9cf0096-4211-4be6-ac21-7bc34bc8e066",
|
"orderVoucherId": "b9cf0096-4211-4be6-ac21-7bc34bc8e066",
|
||||||
}
|
}
|
||||||
delete:
|
delete:
|
||||||
summary: Delete an order voucher.
|
summary: Delete an order voucher.
|
||||||
|
|||||||
@ -5300,261 +5300,6 @@ paths:
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
/orders/{orderId}/ordervouchers:
|
|
||||||
parameters:
|
|
||||||
- in: path
|
|
||||||
name: orderId
|
|
||||||
required: true
|
|
||||||
style: simple
|
|
||||||
explode: false
|
|
||||||
schema:
|
|
||||||
type: string
|
|
||||||
format: uuid
|
|
||||||
example: a0ef57fa-395c-4a03-96e9-234c26dccea9
|
|
||||||
- in: header
|
|
||||||
name: X-HTM-JWT-AUTH-HEADER
|
|
||||||
schema:
|
|
||||||
type: string
|
|
||||||
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
|
|
||||||
description: The JWT of the logged in customer (in case of a web shop).
|
|
||||||
post:
|
|
||||||
tags:
|
|
||||||
- Order Creation Flow
|
|
||||||
summary: Add a voucher to an existing orders.
|
|
||||||
description: Add a voucher to an existing order.
|
|
||||||
requestBody:
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
$ref: "#/components/schemas/unavailable"
|
|
||||||
examples:
|
|
||||||
Add a voucher to an existing order:
|
|
||||||
summary: Add a voucher to an existing order
|
|
||||||
description: Add a voucher to an existing order
|
|
||||||
value:
|
|
||||||
{
|
|
||||||
"voucherCode": "Voucher1234",
|
|
||||||
"orderLineId": "6bb3d8a1-474f-4bdb-9cbc-31bf4ed0482e"
|
|
||||||
}
|
|
||||||
responses:
|
|
||||||
"201":
|
|
||||||
description: Created
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
$ref: "#/components/schemas/unavailable"
|
|
||||||
examples:
|
|
||||||
Order with added voucher:
|
|
||||||
value:
|
|
||||||
{
|
|
||||||
"validContents": true,
|
|
||||||
"orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df",
|
|
||||||
"externalOrderId": null,
|
|
||||||
"orderNumber": "ORD-123456",
|
|
||||||
"customerProfileId": 1337,
|
|
||||||
"totalAmount": 121,
|
|
||||||
"touchPoint":
|
|
||||||
{
|
|
||||||
"salesTouchpointId": 3,
|
|
||||||
"name": "Website (Perplex)",
|
|
||||||
"isActive": true,
|
|
||||||
"retailerId": 1001,
|
|
||||||
},
|
|
||||||
"language":
|
|
||||||
{
|
|
||||||
"languageId": 1,
|
|
||||||
"name": "Nederlands",
|
|
||||||
"iso639Code": "nl-NL",
|
|
||||||
"ietfCode": "nl",
|
|
||||||
},
|
|
||||||
"createdOn": "2024-03-22T09:00:00",
|
|
||||||
"lastUpdatedOn": "2024-03-22T09:00:00",
|
|
||||||
"order_OrderStatuses":
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"order_orderStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f",
|
|
||||||
"orderStatus":
|
|
||||||
{ "orderStatusId": 1, "name": "concept" },
|
|
||||||
"createdOn": "2024-03-22T09:00:00",
|
|
||||||
"description": "Order is aangemaakt",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
"order_OrderVouchers":
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"order_orderVoucherId": "a66f224f-347b-47e7-b480-0b84b8ef5177",
|
|
||||||
"issuedVoucher":
|
|
||||||
{ "voucherCode": "HTM1234",
|
|
||||||
"productName": "Ooievaarspas voucher",
|
|
||||||
"productDescription": "Ontvang de ooievaarspas om gratis te reizen bij de HTM",
|
|
||||||
"voucherStatus": {
|
|
||||||
"voucherStatusId": 2,
|
|
||||||
"name": "Issued"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"orderLineId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
||||||
"validations": [
|
|
||||||
{
|
|
||||||
"code": "VOUCHER_CLAIM_GBO_BIRTHDATE",
|
|
||||||
"detail": "Birthdate does not match the claim",
|
|
||||||
"path": "#/orderLines[cccada2c-d5ea-48ab-b4be-f590e16b5468]/customerToken[878ad7c1-cd8f-4bcf-a983-1bd8c6e6975e]/personalAccountData",
|
|
||||||
"parameter": "dateOfBirth",
|
|
||||||
"type": "ERROR"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"code": "VOUCHER_CLAIM_EMAIL",
|
|
||||||
"detail": "Email on the order needs to be filled",
|
|
||||||
"path": "#/orderCustomer",
|
|
||||||
"parameter": "emailAddress",
|
|
||||||
"type": "REMARK"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
|
|
||||||
},
|
|
||||||
],
|
|
||||||
"orderLines":
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"orderLineId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
||||||
"externalOrderLineId": null,
|
|
||||||
"productId": 1,
|
|
||||||
"productName": "HTM Maandkorting 20%",
|
|
||||||
"fikoArticleNumber": "6609",
|
|
||||||
"productDescription": "HTM Maandkorting 20%",
|
|
||||||
"taxCode": "V21",
|
|
||||||
"taxPercentage": 21.0000,
|
|
||||||
"taxAmount": null,
|
|
||||||
"amountExclTax": null,
|
|
||||||
"amountInclTax": 121,
|
|
||||||
"quantity": 1,
|
|
||||||
"orderLineTerms":
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"orderLineTermsId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
||||||
"termsUrl": "generalTermsAndConditions.pdf",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"orderLineTermsId": "bd76f723-9308-4629-a291-4c4fafd7ed87",
|
|
||||||
"termsUrl": "productTermsAndConditions.pdf",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
"createdOn": "2024-03-22T09:00:00",
|
|
||||||
"validFrom": "2024-03-22T09:00:00",
|
|
||||||
"validUntil": null,
|
|
||||||
"orderLineStatus":
|
|
||||||
{ "orderLineStatusId": 1, "name": "pending" },
|
|
||||||
"customerTokens":
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"customerTokenId": "878ad7c1-cd8f-4bcf-a983-1bd8c6e6975e",
|
|
||||||
"tokenType":
|
|
||||||
{ "tokenTypeId": 1, "name": "EMV" },
|
|
||||||
"ovPayTokenId": 1,
|
|
||||||
"serviceReferenceId": "NLOV1234567ABCDEFG",
|
|
||||||
"amount": 34,
|
|
||||||
"ovpasNumber": "OV34567",
|
|
||||||
"verificationCode": "A7H6",
|
|
||||||
"personalAccountData":
|
|
||||||
{
|
|
||||||
"personalAccountDataId": "47db8a40-3238-4bf5-9284-759e3888bd47",
|
|
||||||
"name": "Jan de Vries",
|
|
||||||
"birthdate": "1970-01-01",
|
|
||||||
"photo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAWJLR0Q+SWQA4wAAAAd0SU1FB+YCBAwmK58TFQgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDItMDRUMTI6Mzg6NDMrMDA6MDBAjYOrAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTAyLTA0VDEyOjM4OjQzKzAwOjAwMdA7FwAAAFd6VFh0UmF3IHByb2ZpbGUgdHlwZSBpcHRjAAB4nOPyDAhxVigoyk/LzEnlUgADIwsuYwsTIxNLkxQDEyBEgDTDZAMjs1Qgy9jUyMTMxBzEB8uASKBKLgDqFxF08kI1lQAAAYdpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+DQo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPjx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KPD94cGFja2V0IGVuZD0ndyc/PiyUmAsAAAANSURBVBhXY3grk/YfAAXYAm/HQierAAAAAElFTkSuQmCC",
|
|
||||||
"challengeType":
|
|
||||||
{
|
|
||||||
"challengeTypeId": 1,
|
|
||||||
"name": "email",
|
|
||||||
},
|
|
||||||
"oneTimePassword": "H5Iiz3JTaQeIV8p",
|
|
||||||
},
|
|
||||||
"ovPayToken":
|
|
||||||
{
|
|
||||||
"customerProfileId": 1,
|
|
||||||
"ovPayTokenId": 1,
|
|
||||||
"xTat": "32089cc8-d187-47ff-a3a9-5c2558def811",
|
|
||||||
"tokenType":
|
|
||||||
{
|
|
||||||
"tokenTypeId": 2,
|
|
||||||
"name": "OV-pas physical",
|
|
||||||
},
|
|
||||||
"alias": "MyToken",
|
|
||||||
"tokenStatus":
|
|
||||||
{
|
|
||||||
"tokenStatusId": 2,
|
|
||||||
"name": "Active",
|
|
||||||
},
|
|
||||||
"expirationDate": "2028-02-01",
|
|
||||||
"replacedByTokenId": null,
|
|
||||||
"autoReloadRegistration":
|
|
||||||
{
|
|
||||||
"autoReloadAmount": 500,
|
|
||||||
"retailerReferenceId": "abc",
|
|
||||||
"arrit": "425f7fc2-1103-4822-9c79-7c4aaa2fb6aa",
|
|
||||||
"autoReloadRegistrationStatus": "ACTIVE",
|
|
||||||
"autoReloadRegistrationStartDateTime": "2024-06-02T15:03:46Z",
|
|
||||||
},
|
|
||||||
"ePurse":
|
|
||||||
{
|
|
||||||
"e-PurseBalance":
|
|
||||||
{
|
|
||||||
"currency": "EUR",
|
|
||||||
"amount": 350,
|
|
||||||
},
|
|
||||||
"status": "ACTIVE",
|
|
||||||
"originDate": "2019-07-16T11:00:00+02:00",
|
|
||||||
},
|
|
||||||
"personalAccountData":
|
|
||||||
{
|
|
||||||
"name":
|
|
||||||
{
|
|
||||||
"inaccuracyFlag": false,
|
|
||||||
"inaccuracyFlagReason": null,
|
|
||||||
"inaccuracyFlagSetCounter": 0,
|
|
||||||
"isValidated": false,
|
|
||||||
"changeCounter": 0,
|
|
||||||
"maxUpdatesVerificationCount": 0,
|
|
||||||
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
||||||
},
|
|
||||||
"birthdate":
|
|
||||||
{
|
|
||||||
"inaccuracyFlag": false,
|
|
||||||
"inaccuracyFlagReason": null,
|
|
||||||
"inaccuracyFlagSetCounter": 0,
|
|
||||||
"isValidated": false,
|
|
||||||
"changeCounter": 0,
|
|
||||||
"maxUpdatesVerificationCount": 0,
|
|
||||||
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
||||||
},
|
|
||||||
"photo":
|
|
||||||
{
|
|
||||||
"inaccuracyFlag": false,
|
|
||||||
"inaccuracyFlagReason": null,
|
|
||||||
"inaccuracyFlagSetCounter": 0,
|
|
||||||
"isValidated": false,
|
|
||||||
"changeCounter": 0,
|
|
||||||
"maxUpdatesVerificationCount": 0,
|
|
||||||
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
"gboAgeProfile":
|
|
||||||
{
|
|
||||||
"gboAgeProfileId": 1,
|
|
||||||
"name": "Kind (4 t/m 11 jaar)",
|
|
||||||
"ageFromInclusive": 4,
|
|
||||||
"ageToInclusive": 11,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
],
|
|
||||||
"orderAccountingStatuses": [],
|
|
||||||
"validationResult": "valid",
|
|
||||||
"additionalRemarks": [],
|
|
||||||
"validationErrors": [],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
"payments": [],
|
|
||||||
"orderCustomer": null
|
|
||||||
}
|
|
||||||
/orders/{orderId}/fulfill:
|
/orders/{orderId}/fulfill:
|
||||||
parameters:
|
parameters:
|
||||||
- in: path
|
- in: path
|
||||||
|
|||||||
@ -1009,6 +1009,8 @@ paths:
|
|||||||
"value": "vlad.harkonnen@househarkonnen.net",
|
"value": "vlad.harkonnen@househarkonnen.net",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
"fromInclusive": "2024-10-04T12:34:56.000",
|
||||||
|
"untilInclusive": "2025-10-04T12:34:56.000",
|
||||||
}
|
}
|
||||||
responses:
|
responses:
|
||||||
"201":
|
"201":
|
||||||
@ -1104,6 +1106,8 @@ paths:
|
|||||||
"value": "vlad.harkonnen@househarkonnen.net",
|
"value": "vlad.harkonnen@househarkonnen.net",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
"fromInclusive": "2024-10-04T12:34:56.000",
|
||||||
|
"untilInclusive": "2025-10-04T12:34:56.000",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
@ -1181,7 +1185,8 @@ paths:
|
|||||||
Create Single Purchased GBO Product:
|
Create Single Purchased GBO Product:
|
||||||
value:
|
value:
|
||||||
{
|
{
|
||||||
"purchasedProducts":[
|
"purchasedProducts":
|
||||||
|
[
|
||||||
{
|
{
|
||||||
"productId": 11,
|
"productId": 11,
|
||||||
"createdOn": "2024-10-04T12:34:56.000",
|
"createdOn": "2024-10-04T12:34:56.000",
|
||||||
@ -1218,13 +1223,14 @@ paths:
|
|||||||
],
|
],
|
||||||
"purchasedTapconnectTickets": [],
|
"purchasedTapconnectTickets": [],
|
||||||
"issuedVouchers": [],
|
"issuedVouchers": [],
|
||||||
}
|
},
|
||||||
]
|
],
|
||||||
}
|
}
|
||||||
Create Single Purchased TapConnet Ticket:
|
Create Single Purchased TapConnet Ticket:
|
||||||
value:
|
value:
|
||||||
{
|
{
|
||||||
"purchasedProducts":[
|
"purchasedProducts":
|
||||||
|
[
|
||||||
{
|
{
|
||||||
"productId": 11,
|
"productId": 11,
|
||||||
"createdOn": "2024-10-04T12:34:56.000",
|
"createdOn": "2024-10-04T12:34:56.000",
|
||||||
@ -1255,13 +1261,14 @@ paths:
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
"issuedVouchers": [],
|
"issuedVouchers": [],
|
||||||
}
|
},
|
||||||
]
|
],
|
||||||
}
|
}
|
||||||
Create Single Issued Voucher:
|
Create Single Issued Voucher:
|
||||||
value:
|
value:
|
||||||
{
|
{
|
||||||
"purchasedProducts":[
|
"purchasedProducts":
|
||||||
|
[
|
||||||
{
|
{
|
||||||
"productId": 11,
|
"productId": 11,
|
||||||
"createdOn": "2024-10-04T12:34:56.000",
|
"createdOn": "2024-10-04T12:34:56.000",
|
||||||
@ -1303,13 +1310,14 @@ paths:
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
}
|
},
|
||||||
]
|
],
|
||||||
}
|
}
|
||||||
Create Multiple Issued Vouchers:
|
Create Multiple Issued Vouchers:
|
||||||
value:
|
value:
|
||||||
{
|
{
|
||||||
"purchasedProducts":[
|
"purchasedProducts":
|
||||||
|
[
|
||||||
{
|
{
|
||||||
"productId": 11,
|
"productId": 11,
|
||||||
"createdOn": "2024-10-04T12:34:56.000",
|
"createdOn": "2024-10-04T12:34:56.000",
|
||||||
@ -1435,8 +1443,8 @@ paths:
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
}
|
},
|
||||||
]
|
],
|
||||||
}
|
}
|
||||||
responses:
|
responses:
|
||||||
"202":
|
"202":
|
||||||
@ -1513,33 +1521,34 @@ paths:
|
|||||||
description: List of issued vouchers to set status to revoked
|
description: List of issued vouchers to set status to revoked
|
||||||
value:
|
value:
|
||||||
{
|
{
|
||||||
"voucherStatusInstances":[
|
"voucherStatusInstances":
|
||||||
|
[
|
||||||
{
|
{
|
||||||
"issuedVoucherId": "8a63552f-faf5-43f3-b22d-bebc976a8a5e",
|
"issuedVoucherId": "8a63552f-faf5-43f3-b22d-bebc976a8a5e",
|
||||||
"voucherStatusId": 4,
|
"voucherStatusId": 4,
|
||||||
"createdOn": "2024-10-04T12:34:56.000"
|
"createdOn": "2024-10-04T12:34:56.000",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"issuedVoucherId": "a9ff40ec-2940-413a-9957-dfd471c4caf3",
|
"issuedVoucherId": "a9ff40ec-2940-413a-9957-dfd471c4caf3",
|
||||||
"voucherStatusId": 4,
|
"voucherStatusId": 4,
|
||||||
"createdOn": "2024-10-04T12:34:56.000"
|
"createdOn": "2024-10-04T12:34:56.000",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"issuedVoucherId": "9e7363e6-beaa-4c38-9ed6-c8afed459bd5",
|
"issuedVoucherId": "9e7363e6-beaa-4c38-9ed6-c8afed459bd5",
|
||||||
"voucherStatusId": 4,
|
"voucherStatusId": 4,
|
||||||
"createdOn": "2024-10-04T12:34:56.000"
|
"createdOn": "2024-10-04T12:34:56.000",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"issuedVoucherId": "9d7332d6-1949-4c20-aa99-d87096b035fa",
|
"issuedVoucherId": "9d7332d6-1949-4c20-aa99-d87096b035fa",
|
||||||
"voucherStatusId": 4,
|
"voucherStatusId": 4,
|
||||||
"createdOn": "2024-10-04T12:34:56.000"
|
"createdOn": "2024-10-04T12:34:56.000",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"issuedVoucherId": "43ca757b-8370-4cb0-92b9-717948383d5e",
|
"issuedVoucherId": "43ca757b-8370-4cb0-92b9-717948383d5e",
|
||||||
"voucherStatusId": 4,
|
"voucherStatusId": 4,
|
||||||
"createdOn": "2024-10-04T12:34:56.000"
|
"createdOn": "2024-10-04T12:34:56.000",
|
||||||
},
|
},
|
||||||
]
|
],
|
||||||
}
|
}
|
||||||
responses:
|
responses:
|
||||||
"202":
|
"202":
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user