Compare commits

..

25 Commits

Author SHA1 Message Date
5133903efb OVPAY-2394 - Added example for no notificationCategories found. 2026-01-21 11:03:45 +01:00
cf0d24632f Merge pull request 'feature/OVPAY-2394' (#49) from feature/OVPAY-2394 into develop
Reviewed-on: #49
2026-01-14 12:06:39 +00:00
aa4721c651 OVPAY-2394 - Processed review remarks. 2026-01-14 13:05:32 +01:00
46bf7874d9 OVPAY-2394 - Added POST, PATCH and DELETE operations for NotificationPreferences. 2026-01-13 16:08:39 +01:00
1a14918f4a OVPAY-2394 - Added PATCH /notificationsubscriptions/{uuid}. 2026-01-13 15:45:52 +01:00
7147318900 OVPAY-2394 - Added resourceNameId to Channel. 2026-01-13 15:38:48 +01:00
e0f78d2e38 OVPAY-2394 - Updated GET /notificationsubscriptions examples. 2026-01-13 15:19:49 +01:00
ab57e27c1d OVPAY-2394 - Added OriginSubscription. 2026-01-12 15:08:32 +01:00
68c7ccc279 OVPAY-2394 - Added groupName to NotificationCategory. Added query params. 2026-01-12 13:41:20 +01:00
8946026860 Added fromInclusive and untilInclusive. 2026-01-05 13:34:12 +01:00
fb8723124a Merge pull request 'OVPAY-2378 - Updated spec for /contractpayments.' (#46) from feature/OVPAY-2378 into develop
Reviewed-on: #46
Reviewed-by: Max Martens <m.martens@htm.nl>
2025-12-29 12:31:57 +00:00
6d7c260e9e OVPAY-2378 - PaymentMethod in NL. 2025-12-29 12:32:59 +01:00
292588b7ba OVPAY-2378 - Updated spec for /contractpayments. 2025-12-29 12:01:12 +01:00
4bd216bd37 Merge pull request 'features/OVPAY2294-vouchers-in-orders' (#45) from features/OVPAY2294-vouchers-in-orders into develop
Reviewed-on: #45
Reviewed-by: Bas Boterman <b.boterman@htm.nl>
2025-12-16 13:57:40 +00:00
bfaa1ddcb1 fixed comments 2025-12-16 14:52:23 +01:00
55bac27561 simplified order_orderVoucherId 2025-12-15 15:36:51 +01:00
Max Martens
715a9668fc Clear up name and description of token transfer V2 endpoints 2025-12-15 14:27:48 +01:00
b4f20a9758 moved changes to TP orders to another branch and made equal to develop in this branch 2025-12-15 11:50:39 +01:00
22cb3ddd92 added query param deviceId 2025-12-15 11:43:03 +01:00
1f3e2289dc finished CRUD endpoints 2025-12-15 11:40:42 +01:00
3ff55e5888 Merge branch 'develop' of https://git.integratielaag.nl/HTM/ovpay into features/OVPAY2294-vouchers-in-orders 2025-12-15 10:44:01 +01:00
d34ba20d19 Merge branch 'develop' of https://git.integratielaag.nl/HTM/ovpay into features/OVPAY2294-vouchers-in-orders 2025-12-12 11:09:30 +01:00
e4b3ab4ccf added post voucher in SE orders 2025-12-01 16:54:10 +01:00
01aa8a9f1a Added get vouchers and voucher in response body's 2025-12-01 14:48:17 +01:00
bb917c3635 updated CRUD order swaggers for vouchers 2025-12-01 13:35:41 +01:00
6 changed files with 1262 additions and 2458 deletions

View File

@ -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",
}, },
}, },

View File

@ -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":

View File

@ -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:

File diff suppressed because it is too large Load Diff

View File

@ -5,6 +5,12 @@ info:
description: CRUD APIs for ABT Orders database. These are NOT the functional APIs from Service Engine. description: CRUD APIs for ABT Orders database. These are NOT the functional APIs from Service Engine.
servers: servers:
- url: https://services.acc.api.htm.nl/abt/abtorder/1.0 - url: https://services.acc.api.htm.nl/abt/abtorder/1.0
tags:
- name: Order
- name: Order Line
- name: Payment
- name: Customer
- name: Order Voucher
paths: paths:
/orders: /orders:
get: get:
@ -50,6 +56,14 @@ paths:
example: 1 example: 1
required: false required: false
description: The id of the touch point where the order was initiated. description: The id of the touch point where the order was initiated.
- in: query
name: deviceId
schema:
type: string
format: uuid
example: "7a28bd54-7ca9-499a-a722-d15ab858ab99"
required: false
description: The id of the device used to place the order.
- in: query - in: query
name: languageId name: languageId
schema: schema:
@ -98,6 +112,14 @@ paths:
explode: false explode: false
required: false required: false
description: Filter on most recent order status. 1 = concept, 2 = awaitingPayment, 3 = pendingPayment, 4 = paid, 5 = delivered, 6 = cancelled. description: Filter on most recent order status. 1 = concept, 2 = awaitingPayment, 3 = pendingPayment, 4 = paid, 5 = delivered, 6 = cancelled.
- in: query
name: issuedVoucherId
schema:
type: string
format: uuid
example: "b0a9f3c9-9b92-4f8c-b78d-6129be7218a6"
required: false
description: Filter on applied issuedVoucherId for the order.
responses: responses:
"200": "200":
description: OK description: OK
@ -119,6 +141,7 @@ paths:
"touchPointId": 1, "touchPointId": 1,
"name": "Perplex" "name": "Perplex"
}, },
"deviceId": "42e77532-d831-41da-b07a-7edb9bb7f004",
"language": "language":
{ {
"languageId": 1, "languageId": 1,
@ -148,6 +171,30 @@ paths:
"description": "Betaling in behandeling", "description": "Betaling in behandeling",
}, },
], ],
"orderVouchers": [
{
"orderVoucherId": "399bd3b3-9721-4f09-a936-d64637de1621",
"issuedVoucher":{
"issuedVoucherId": "a0996218-bc5e-4826-9020-cda98a32838d",
"voucherCode": "Voucher1234",
"purchasedProductId": 31,
"fromInclusive": "2025-03-22T08:55:00",
"untillInclusive": "2026-03-22T08:55:00"
},
"orderLineId": null
},
{
"orderVoucherId": "f6c7ac42-1811-4e4d-82af-53e18fe16110",
"issuedVoucher":{
"issuedVoucherId": "54668baf-4905-4e9a-af02-09c170f295ed",
"voucherCode": "Voucher124",
"purchasedProductId": 35,
"fromInclusive": "2025-03-22T08:55:00",
"untillInclusive": "2026-03-22T08:55:00"
},
"orderLineId": "7a7a9d1a-3fc8-4058-a28b-082860aaa311"
}
],
"orderLines": "orderLines":
[ [
{ {
@ -327,19 +374,22 @@ paths:
"customerProfileId": 1337, "customerProfileId": 1337,
"totalAmount": 121, "totalAmount": 121,
"touchPointId": 1, "touchPointId": 1,
"deviceId": "b8ca9fdf-0bb9-4e49-b48d-41e395563377",
"languageId": 1, "languageId": 1,
"createdOn": "2024-03-22T09:00:00", "createdOn": "2024-03-22T09:00:00",
"order_OrderStatus": "order_OrderStatus":
[ [
{ {
"orderStatusId": 4, "orderStatusId": 1,
"createdOn": "2024-03-22T09:00:00",
"description": "Order succesvol betaald",
},
{
"orderStatusId": 3,
"createdOn": "2024-03-22T08:55:00", "createdOn": "2024-03-22T08:55:00",
"description": "Betaling in behandeling", "description": "Concept order",
},
],
"orderVouchers":
[
{
"issuedVoucherId": "e81b2197-a6c2-45b6-9560-8ce8442e8604",
"orderLineId": "97824d2e-5189-456d-b6da-4cca511a7685"
}, },
], ],
"orderLines": "orderLines":
@ -390,57 +440,6 @@ paths:
], ],
}, },
], ],
"payments":
[
{
"createdOn": "2024-03-22T09:00:00",
"amountDebit": 121,
"paymentMethodId": 1,
"touchPointId": 1,
"isRefund": false,
"htmPaymentReference": "HTM-1234",
"pspPaymentReference": "Buckaroo-1234",
"paymentStatuses":
[
{
"createdOn": "2024-03-22T09:00:00",
"statusCode": "190",
"statusDescription": "Success",
"statusSubCode": "S001",
"statusSubDescription": "PaymentSuccessFul",
},
],
"mandateInput":
{
"directDebitMandateTypeId": 1,
"createdOn": "2024-03-22T09:00:00",
"bic": "RABONL2U",
"iban": "NL44RABO0123456789",
"ascription": "J. de Vries",
"place": "Den Haag",
},
},
],
"orderCustomer":
{
"birthname": "Jan",
"surname": "Vries",
"prefix": "de",
"emailAddress": "jandevries@outlook.com",
"dateOfBirth": "1970-01-01",
"orderCustomerAddresses":
[
{
"addressTypeId": 1,
"street": "Kon. Julianaplein",
"houseNumber": 10,
"houseNumberSuffix": "a",
"postalCode": "2595 AA",
"city": "Den Haag",
"country": "NL",
},
],
},
} }
responses: responses:
"201": "201":
@ -487,6 +486,7 @@ paths:
"touchPointId": 1, "touchPointId": 1,
"name": "Perplex" "name": "Perplex"
}, },
"deviceId": null,
"language": "language":
{ {
"languageId": 1, "languageId": 1,
@ -512,6 +512,7 @@ paths:
"description": "Betaling in behandeling", "description": "Betaling in behandeling",
}, },
], ],
"orderVouchers": null,
"orderLines": "orderLines":
[ [
{ {
@ -658,6 +659,7 @@ paths:
example: example:
{ {
"customerProfileId": 1337, "customerProfileId": 1337,
"deviceId": "fe68e624-b75f-48ca-a179-d5f86a8ab7d5",
"totalAmount": 121, "totalAmount": 121,
"languageId": 1, "languageId": 1,
"lastUpdatedOn": "2024-03-22T09:00:00", "lastUpdatedOn": "2024-03-22T09:00:00",
@ -678,6 +680,7 @@ paths:
responses: responses:
"200": "200":
description: OK description: OK
/orders/{orderId}/statuses: /orders/{orderId}/statuses:
parameters: parameters:
- in: path - in: path
@ -715,6 +718,143 @@ paths:
{ {
"order_orderStatusId": "b9cf0096-4211-4be6-ac21-7bc34bc8e066", "order_orderStatusId": "b9cf0096-4211-4be6-ac21-7bc34bc8e066",
} }
/orders/{orderId}/ordervouchers:
parameters:
- in: path
name: orderId
schema:
type: string
format: uuid
example: d1dd439b-6072-4b97-89c9-724268865b93
required: true
description: The id of the order to process.
post:
summary: Add an order voucher.
description: Add an order voucher.
tags:
- Order Voucher
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/unavailable"
example:
{
"issuedVoucherId": "eec6af41-1a60-49f6-a92e-440054a92f13",
"orderLineId": "7a9d6e15-7c5c-421d-9ea9-00b9bb6dbe67"
}
responses:
"201":
description: Created
content:
application/json:
schema:
$ref: "#/components/schemas/unavailable"
example:
{
"orderVoucherId": "b9cf0096-4211-4be6-ac21-7bc34bc8e066",
}
/ordervouchers:
parameters:
- in: query
name: orderVoucherId
schema:
type: string
format: uuid
example: d1dd439b-6072-4b97-89c9-724268865b93
required: false
description: The id of the orderVoucher you are looking for.
- in: query
name: orderId
schema:
type: string
example: 90c926b9-3178-4757-acca-34cff66b980c
required: false
description: The id of the order
- in: query
name: orderLineId
schema:
type: string
example: 9e3363c8-e776-4675-b108-99b8c2e38eb6
required: false
description: The id of the orderLine
get:
summary: Find vouchers on the order
description: Find vouchers on the order
tags:
- Order Voucher
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: "#/components/schemas/unavailable"
example:
[
{
"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",
"orderLineId": "eeb86071-4f59-405d-b2be-7d7a77044bfa"
}
]
/ordervouchers/{ordervoucherId}:
parameters:
- in: path
name: ordervoucherId
schema:
type: string
format: uuid
example: d1dd439b-6072-4b97-89c9-724268865b93
required: true
description: The id of the order to process.
patch:
summary: Update an order voucher.
description: Update an order voucher.
tags:
- Order Voucher
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/unavailable"
example:
{
"issuedVoucherId": "eec6af41-1a60-49f6-a92e-440054a92f13",
"orderLineId": "7a9d6e15-7c5c-421d-9ea9-00b9bb6dbe67"
}
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: "#/components/schemas/unavailable"
example:
{
"orderVoucherId": "b9cf0096-4211-4be6-ac21-7bc34bc8e066",
}
delete:
summary: Delete an order voucher.
description: Delete an order voucher.
tags:
- Order Voucher
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: "#/components/schemas/unavailable"
example:
{}
/orders/{orderId}/orderlines: /orders/{orderId}/orderlines:
parameters: parameters:
- in: path - in: path
@ -1844,6 +1984,7 @@ paths:
"touchPointId": 1, "touchPointId": 1,
"name": "Perplex" "name": "Perplex"
}, },
"deviceId": null,
"isRefund": false, "isRefund": false,
"htmPaymentReference": "HTM-1234", "htmPaymentReference": "HTM-1234",
"pspPaymentReference": "Buckaroo-1234", "pspPaymentReference": "Buckaroo-1234",

View File

@ -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":