openapi: 3.0.1 info: title: ABT Service Engine Order APIs version: "1.0" description: Order APIs available in the Service Engine for order validation and fulfillment. servers: - url: https://services.acc.api.htm.nl/abt/touchpoint/2.0 paths: /orders: parameters: - 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). get: parameters: - in: query name: orderId schema: type: string format: uuid example: afce35b2-1dff-4ace-98d0-4b9ac405c87d description: The order id. - in: query name: orderNumber schema: type: string example: "ORD123456" description: The order number. - in: query name: externalOrderId schema: type: string example: 7bef22f6-70a3-4655-bc2a-c40c61581b32 description: The external order id. - in: query name: createdBefore schema: type: string format: date-time example: 2024-03-22T09:00:00 required: false description: Timestamp before which the order should have been created. - in: query name: createdAfter schema: type: string format: date-time example: 2024-03-22T09:00:00 required: false description: Timestamp after which the order should have been created. - in: query name: updatedBefore schema: type: string format: date-time example: 2024-03-22T09:00:00 required: false description: Timestamp before which the order should have been updated. - in: query name: updatedAfter schema: type: string format: date-time example: 2024-03-22T09:00:00 required: false description: Timestamp after which the order should have been updated. - in: query name: orderStatusId schema: type: array items: type: integer explode: false required: false description: Filter on most recent order status. 1 = concept, 2 = awaitingPayment, 3 = pendingPayment, 4 = paid, 5 = delivered, 6 = cancelled. - in: query name: customerProfileId schema: type: integer example: 42 description: The customer profile id. - in: query name: xTat schema: type: string example: 7208e73e-87a6-46d9-bb6d-867ffc460c9b description: xTat used in order fulfillment. Note that this is a joined parameter via PurchasedProduct. tags: - Order Retrieval summary: Find orders. description: Find orders. responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/unavailable" examples: Empty order list: summary: Empty order list description: Empty order list value: { "orders": [], "_links": { "self": { "href": "https://api.example.com/items", "method": "GET", "templated": true, }, }, "href": "string", } List with multiple orders: summary: List with two orders description: | List with two orders. Note how the second order is a concept order and therefore has more token information than the first order which is already paid. value: { "orders": [ { "validContents": null, "orderId": "afce35b2-1dff-4ace-98d0-4b9ac405c87d", "externalOrderId": "bac3958b-804a-43e3-b5f7-0b0fffaae5b7", "orderNumber": "123456", "customerProfileId": 42, "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": 4, "name": "paid" }, "createdOn": "2024-03-22T09:00:00", "description": "Order succesvol betaald", }, "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": null, }, ], "payments": [ { "paymentId": "1a973c85-7a96-41b5-bbf2-7919d6a6db15", "createdOn": "2024-03-22T09:00:00", "amountDebit": 121, "paymentMethod": { "paymentMethodId": 1, "name": "ideal", "provider": "Buckaroo", }, "touchPoint": { "salesTouchpointId": 3, "name": "Website (Perplex)", "isActive": true, "retailerId": 1001, }, "isRefund": false, "htmPaymentReference": "HTM-1234", "pspPaymentReference": "Buckaroo-1234", "paymentStatuses": [ { "paymentStatusId": "42eee610-1a17-4f02-be14-7e25d69d35f3", "createdOn": "2024-03-22T09:00:00", "statusCode": "190", "statusDescription": "Success", "statusSubCode": "S001", "statusSubDescription": "PaymentSuccessful", }, ], "mandateInput": { "mandateInputId": "5397f2d7-eefa-4e82-a086-1e0e3ad38bdb", "directDebitMandateType": { "directDebitMandateTypeId": 1, "name": "import", }, "createdOn": "2024-03-22T09:00:00", "bic": "RABONL2U", "iban": "NL44RABO0123456789", "ascription": "J. de Vries", "place": "Den Haag", }, }, ], "orderCustomer": null, "_links": { "self": { "href": "https://api.example.com/items/1", "method": "GET", "templated": true, }, }, }, { "validContents": false, "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", }, ], "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": 1337, "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": "invalid", "validations": [ { "code": "MANDATE_REQUIRED", "detail": "A valid mandate is required before purchasing this product.", "path": null, "parameter": "directDebitMandateId", "type": "REMARK", }, { "code": "STARTDATE_TOO_FAR_IN_FUTURE", "detail": "Startdate of this product should be at most 60 days in the future.", "path": "$.orders[?(@.orderId=='1e441d7d-50d6-4006-aca7-5e87e2f218df')].orderLines[?(@.orderLineId=='cccada2c-d5ea-48ab-b4be-f590e16b5468')].validFrom", "parameter": null, "type": "ERROR", }, ], }, ], "payments": [], "orderCustomer": null, }, ], "_links": { "self": { "href": "https://api.example.com/items", "method": "GET", "templated": true, }, }, "href": "string", } post: tags: - Order Creation Flow summary: Create a new order. description: | Create a new order. This order can only contain the order itself, one ore more order lines and optionally a customer token per order line. All orders created via this endpoint are created with the status "concept". Order lines are created with status "pending". requestBody: content: application/json: schema: $ref: "#/components/schemas/unavailable" examples: Create order with OVpas and PAD: summary: Create order with OVpas and PAD description: Create order with OVpas and PAD value: { "externalOrderId": null, "languageId": 1, "orderLines": [ { "externalOrderLineId": null, "productId": 1, "quantity": 1, "validFrom": "2024-03-22T09:00:00", "validUntil": null, "customerTokens": [ { "tokenTypeId": 1, "ovPayTokenId": 1, "serviceReferenceId": "NLOV1234567ABCDEFG", "amount": 34, "ovpasNumber": "OV34567", "verificationCode": "A7H6", "personalAccountData": { "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", "challengeTypeId": 1, "oneTimePassword": "H5Iiz3JTaQeIV8p", }, }, ], }, ], } responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/unavailable" examples: Concept order with OVpas and PAD: value: { "validContents": false, "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", }, ], "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": "invalid", "validations": [ { "code": "MANDATE_REQUIRED", "detail": "A valid mandate is required before purchasing this product.", "path": null, "parameter": "directDebitMandateId", "type": "REMARK", }, { "code": "STARTDATE_TOO_FAR_IN_FUTURE", "detail": "Startdate of this product should be at most 60 days in the future.", "path": "$.orders[?(@.orderId=='1e441d7d-50d6-4006-aca7-5e87e2f218df')].orderLines[?(@.orderLineId=='cccada2c-d5ea-48ab-b4be-f590e16b5468')].validFrom", "parameter": null, "type": "ERROR", }, ], }, ], "payments": [], "orderCustomer": null, } "400": description: Bad request content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "type": "https://htm.nl/api/v1/probs/400/badrequest", "title": "Your request is not valid.", "detail": "One or more required attributes are missing or invalid.", "instance": "urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b", "errors": [ { "code": "REQUIRED_ATTRIBUTE_MISSING", "detail": "One ore more required attributes are missing.", "pointer": "$.orderLines[0].productId", "parameter": null, }, ], } /orders/{orderId}: 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). get: tags: - Order Retrieval summary: Get a single order. description: Get a single order. responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/unavailable" examples: Order with status concept (and existing token): summary: Order with status concept (and existing token) description: Order with status concept (and existing token) value: { "validContents": false, "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", }, ], "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": null, "amount": null, "ovpasNumber": null, "verificationCode": null, "personalAccountData": null, "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": "invalid", "validations": [ { "code": "MANDATE_REQUIRED", "detail": "A valid mandate is required before purchasing this product.", "path": null, "parameter": "directDebitMandateId", "type": "REMARK", }, { "code": "STARTDATE_TOO_FAR_IN_FUTURE", "detail": "Startdate of this product should be at most 60 days in the future.", "path": "$.orders[?(@.orderId=='1e441d7d-50d6-4006-aca7-5e87e2f218df')].orderLines[?(@.orderLineId=='cccada2c-d5ea-48ab-b4be-f590e16b5468')].validFrom", "parameter": null, "type": "ERROR", }, ], }, ], "payments": [], "orderCustomer": null, } Order with status concept (and anonymous token): summary: Order with status concept (and anonymous token) description: Order with status concept (and anonymous token) value: { "validContents": false, "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", }, ], "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": null, "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": null, "ovPayTokenId": null, "xTat": "32089cc8-d187-47ff-a3a9-5c2558def811", "tokenType": { "tokenTypeId": 2, "name": "OV-pas physical", }, "alias": null, "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": "invalid", "validations": [ { "code": "MANDATE_REQUIRED", "detail": "A valid mandate is required before purchasing this product.", "path": null, "parameter": "directDebitMandateId", "type": "REMARK", }, { "code": "STARTDATE_TOO_FAR_IN_FUTURE", "detail": "Startdate of this product should be at most 60 days in the future.", "path": "$.orders[?(@.orderId=='1e441d7d-50d6-4006-aca7-5e87e2f218df')].orderLines[?(@.orderLineId=='cccada2c-d5ea-48ab-b4be-f590e16b5468')].validFrom", "parameter": null, "type": "ERROR", }, ], }, ], "payments": [], "orderCustomer": null, } Order with status paid: summary: Order with status paid description: Order with status paid value: { "validContents": null, "orderId": "afce35b2-1dff-4ace-98d0-4b9ac405c87d", "externalOrderId": "bac3958b-804a-43e3-b5f7-0b0fffaae5b7", "orderNumber": "123456", "customerProfileId": 42, "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": 4, "name": "paid" }, "createdOn": "2024-03-22T09:00:00", "description": "Order succesvol betaald", }, { "order_orderStatusId": "2b9b7943-3a74-4f2e-ad65-012b62c80821", "orderStatus": { "orderStatusId": 3, "name": "pendingPayment" }, "createdOn": "2024-03-22T08:55:00", "description": "Betaling in behandeling", }, ], "orderLines": [ { "orderLineId": "7a7a9d1a-3fc8-4058-a28b-082860aaa311", "externalOrderLineId": "f5fddff0-7fbd-4285-bccb-e584f431ea69", "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": "fe354db7-12ad-4fc1-bc63-a704c4e0d91e", "termsUrl": "generalTermsAndConditions.pdf", }, ], "validFrom": "2024-03-22T09:00:00", "validUntil": "2025-03-22T09:00:00", "orderLineStatus": { "orderLineStatusId": 4, "name": "delivered" }, "createdOn": "2024-03-22T09:00:00", "lastUpdatedOn": "2024-03-22T09:00:00", "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": null, }, ], "orderAccountingStatuses": [ { "orderAccountingStatusId": "7c5118d0-8535-4464-9239-83a7ba8fd2db", "accountingStatus": { "accountingStatusId": 1, "name": "open" }, "createdOn": "2024-03-22T09:00:00", "description": "Financiele transactie voor de FIKO.", }, ], "validationResult": null, "validations": [], }, ], "payments": [ { "paymentId": "3ba4a3c7-0803-4214-800b-365851b8903d", "createdOn": "2024-03-22T09:00:00", "amountDebit": 121, "paymentMethod": { "paymentMethodId": 1, "name": "ideal", "provider": "Buckaroo", }, "touchPoint": { "salesTouchpointId": 3, "name": "Website (Perplex)", "isActive": true, "retailerId": 1001, }, "isRefund": false, "htmPaymentReference": "HTM-1234", "pspPaymentReference": "Buckaroo-1234", "paymentStatuses": [ { "paymentStatusId": 1, "createdOn": "2024-03-22T09:00:00", "statusCode": "190", "statusDescription": "Success", "statusSubCode": "S001", "statusSubDescription": "PaymentSuccessful", }, ], "mandateInput": { "mandateInputId": "0a875e67-dc9f-4825-a030-d732a2adbfbc", "directDebitMandateType": { "directDebitMandateTypeId": 1, "name": "import", }, "createdOn": "2024-03-22T09:00:00", "bic": "RABONL2U", "iban": "NL44RABO0123456789", "ascription": "J. de Vries", "place": "Den Haag", }, }, ], "orderCustomer": { "orderCustomerId": "19ef6882-8eda-43bf-b48e-9b4ff8745a50", "birthname": "Jan", "surname": "Vries", "prefix": "de", "emailAddress": "jandevries@outlook.com", "dateOfBirth": "1970-01-01", "orderCustomerAddresses": [ { "orderCustomerAddressId": "aa50047c-58ac-4f15-9448-ee000dfc6893", "addressType": { "addressTypeId": 3, "name": "Billing" }, "street": "Kon. Julianaplein", "houseNumber": 10, "houseNumberSuffix": "a", "postalCode": "2595 AA", "city": "Den Haag", "country": "NL", }, ], }, "_links": { "self": { "href": "https://api.example.com/items/1", "method": "GET", "templated": true, }, }, } patch: tags: - Order Creation Flow summary: Update an existing order. description: Update an existing order. requestBody: content: application/json: schema: $ref: "#/components/schemas/unavailable" examples: Update order languageId": summary: Update order languageId description: Update order languageId value: { "languageId": 1 } responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/unavailable" examples: Concept order with OVpas and PAD: value: { "validContents": false, "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", }, ], "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": "invalid", "validations": [ { "code": "MANDATE_REQUIRED", "detail": "A valid mandate is required before purchasing this product.", "path": null, "parameter": "directDebitMandateId", "type": "REMARK", }, { "code": "STARTDATE_TOO_FAR_IN_FUTURE", "detail": "Startdate of this product should be at most 60 days in the future.", "path": "$.orders[?(@.orderId=='1e441d7d-50d6-4006-aca7-5e87e2f218df')].orderLines[?(@.orderLineId=='cccada2c-d5ea-48ab-b4be-f590e16b5468')].validFrom", "parameter": null, "type": "ERROR", }, ], }, ], "payments": [], "orderCustomer": null, } "400": description: Bad request content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "type": "https://htm.nl/api/v1/probs/400/badrequest", "title": "Your request is not valid.", "detail": "One or more required attributes are missing or invalid.", "instance": "urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b", "errors": [ { "code": "REQUIRED_ATTRIBUTE_MISSING", "detail": "One ore more required attributes are missing.", "pointer": "$.orderLines[0].productId", "parameter": null, }, ], } delete: tags: - Order Creation Flow summary: Delete an existing order. description: Delete an existing order. responses: "200": description: OK "400": description: Bad request content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "type": "https://htm.nl/api/v1/probs/400/badrequest", "title": "Your request is not valid.", "detail": "The order can not be deleted.", "instance": "urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b", "errors": [ { "detail": "Order status is paid", "pointer": "#/order_OrderStatus/1/orderStatus/orderStatusId", "orderStatusId": 4, }, ], } /orders/{orderId}/orderlines: 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 new order line to an existing order. description: Add a new order line to an existing order. requestBody: content: application/json: schema: $ref: "#/components/schemas/unavailable" examples: Add order line to concept order: summary: Add order line to concept order product with children description: Add order line to concept order product with children value: { "externalOrderLineId": null, "productId": 2, "quantity": 1, "validFrom": "2024-03-22T09:00:00", "validUntil": null, "createdOn": "2024-03-22T09:00:00", "customerTokens": [ { "tokenTypeId": 1, "ovPayTokenId": 4, "serviceReferenceId": null, "amount": null, "ovpasNumber": null, "verificationCode": null, "personalAccountData": null, }, ], } Order line with minimum requirements: summary: Create order line with minimum requirements description: Create order line with minimum requirements value: { "productId": 2, "quantity": 1, "createdOn": "2024-03-22T09:00:00", } responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/unavailable" examples: AddRemark chosen product is not a leaf node product: summary: AddRemark chosen product is not a leaf node product description: AddRemark for case where chosen product is not a leaf node product value: { "validContents": false, "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", }, ], "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": 12, "serviceReferenceId": null, "amount": null, "ovpasNumber": null, "verificationCode": null, "personalAccountData": null, "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": "preliminary", "validations": [ { "code": "PRODUCT_CHOICE_REQUIRED", "detail": "The chosen product is not a leaf node product. Please choose one of its child products.", "path": "$.orders[?(@.orderId=='1e441d7d-50d6-4006-aca7-5e87e2f218df')].orderLines[?(@.orderLineId=='cccada2c-d5ea-48ab-b4be-f590e16b5468')].productId", "parameter": null, "type": "REMARK", }, ], }, ], "payments": [], "orderCustomer": null, } Create order line with minimum requirements: summary: Create order line with minimum requirements description: AddRemark for case where chosen product requires personal account data birthdate value: { "validContents": false, "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", }, ], "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": 12, "serviceReferenceId": null, "amount": null, "ovpasNumber": null, "verificationCode": null, "personalAccountData": null, "ovPayToken": { "customerProfileId": 1, "ovPayTokenId": 4, "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": "preliminary", "validations": [ { "code": "PERSONALACCOUNTDATA_BIRTHDATE_REQUIRED", "detail": "Personal account data birthdate is required for this product.", "path": "$.orders[?(@.orderId=='1e441d7d-50d6-4006-aca7-5e87e2f218df')].orderLines[?(@.orderLineId=='cccada2c-d5ea-48ab-b4be-f590e16b5468')].customerTokens[0].personalAccountData.birthdate", "parameter": null, "type": "REMARK", }, { "code": "TOKEN_REQUIRED", "detail": "A valid customer token is required before purchasing this product.", "path": null, "parameter": "customerToken", "type": "REMARK", }, { "code": "VALIDFROM_REQUIRED", "detail": "A valid 'valid from' date is required for this product.", "path": "$.orders[?(@.orderId=='1e441d7d-50d6-4006-aca7-5e87e2f218df')].orderLines[?(@.orderLineId=='cccada2c-d5ea-48ab-b4be-f590e16b5468')].validFrom", "parameter": null, "type": "REMARK", }, ], }, ], "payments": [], "orderCustomer": null, } "400": description: Bad request content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "type": "https://htm.nl/api/v1/probs/400/badrequest", "title": "Your request is not valid.", "detail": "One or more required attributes are missing or invalid.", "instance": "urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b", "errors": [ { "code": "REQUIRED_ATTRIBUTE_MISSING", "detail": "One ore more required attributes are missing.", "pointer": "$.orderLines[0].productId", "parameter": null, }, ], } /orderlines/{orderLineId}: parameters: - in: path name: orderLineId 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). patch: tags: - Order Creation Flow summary: Update an existing order line. description: Update an existing order line. requestBody: content: application/json: schema: $ref: "#/components/schemas/unavailable" examples: Update order line: summary: Update order line description: Update order line value: { "productId": 21, "quantity": 1, "validFrom": "2024-03-25T09:00:00", "validUntil": null, } responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/unavailable" examples: Order with updated order line: value: { "validContents": false, "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", }, ], "orderLines": [ { "orderLineId": "cccada2c-d5ea-48ab-b4be-f590e16b5468", "externalOrderLineId": null, "productId": 21, "productName": "HTM Regio Vrij - HL65 - Voltarief", "fikoArticleNumber": "6609", "productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in gebied HL65", "taxCode": "V09", "taxPercentage": 9.0000, "taxAmount": null, "amountExclTax": null, "amountInclTax": 5900, "quantity": 1, "orderLineTerms": [ { "orderLineTermsId": "cccada2c-d5ea-48ab-b4be-f590e16b5468", "termsUrl": "generalTermsAndConditions.pdf", }, { "orderLineTermsId": "bd76f723-9308-4629-a291-4c4fafd7ed87", "termsUrl": "productTermsAndConditions.pdf", }, { "orderLineTermsId": "cac42e50-b1d3-4745-9a5d-a793bd27aad1", "termsUrl": "RegiovrijTermsAndConditions.pdf", }, ], "createdOn": "2025-05-22T09:00:00", "validFrom": "2025-05-25T04:00:00", "validUntil": "2025-06-25T04:00:00", "orderLineStatus": { "orderLineStatusId": 1, "name": "pending" }, "customerTokens": [], "orderAccountingStatuses": [], "validationResult": "preliminary", "validations": [ { "code": "MANDATE_REQUIRED", "detail": "A valid mandate is required before purchasing this product.", "path": null, "parameter": "directDebitMandateId", "type": "REMARK", }, { "code": "CUSTOMERTOKEN_REQUIRED", "detail": "A valid customer token is required before purchasing this product.", "path": null, "parameter": "customerTokenId", "type": "REMARK", }, ], }, ], "payments": [], "orderCustomer": null, } "400": description: Bad request content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "type": "https://htm.nl/api/v1/probs/400/badrequest", "title": "Your request is not valid.", "detail": "One or more required attributes are missing or invalid.", "instance": "urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b", "errors": [ { "code": "REQUIRED_ATTRIBUTE_MISSING", "detail": "One ore more required attributes are missing.", "pointer": "$.orderLines[0].productId", "parameter": null, }, ], } delete: tags: - Order Creation Flow summary: Delete an existing order line. description: Delete an existing order line. responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/unavailable" examples: Order with removed order line: value: { "validContents": true, "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", "externalOrderId": null, "orderNumber": "ORD-123456", "customerProfileId": 1337, "totalAmount": 0, "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", }, ], "orderLines": [], "payments": [], "orderCustomer": null, } "400": description: Bad request content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "type": "https://htm.nl/api/v1/probs/400/badrequest", "title": "Your request is not valid.", "detail": "One or more required attributes are missing or invalid.", "instance": "urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b", "errors": [ { "code": "REQUIRED_ATTRIBUTE_MISSING", "detail": "One ore more required attributes are missing.", "pointer": "$.orderLines[0].productId", "parameter": null, }, ], } /orderlines/{orderLineId}/customertokens: parameters: - in: path name: orderLineId 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 customer token to an orderLine. description: Add a customer token to an orderLine. requestBody: content: application/json: schema: $ref: "#/components/schemas/unavailable" examples: Add an existing customer token to an order line: summary: Add an existing customer token to an order line description: Add an existing customer token to an order line value: { "tokenTypeId": 1, "ovPayTokenId": 12 } Add a new customer token (EMV) to an order line: summary: Add a new customer token (EMV) to an order line description: Add a new customer token (EMV) to an order line value: { "tokenTypeId": 1, "serviceReferenceId": "NLOV485456456445", "amount": 100, } Add a new customer token (OVpas) to an order line: summary: Add a new customer token (OVpas) to an order line description: Add a new customer token (OVpas) to an order line value: { "tokenTypeId": 2, "ovpasNumber": "OV34567", "verificationCode": "A7H6", } responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/unavailable" examples: Order with updated order line: value: { "validContents": false, "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", }, ], "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": 12, "serviceReferenceId": null, "amount": null, "ovpasNumber": null, "verificationCode": null, "personalAccountData": null, "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": "preliminary", "validations": [ { "code": "PERSONALACCOUNTDATA_BIRTHDATE_REQUIRED", "detail": "Personal account data birthdate is required for this product.", "path": "$.orders[?(@.orderId=='1e441d7d-50d6-4006-aca7-5e87e2f218df')].orderLines[?(@.orderLineId=='cccada2c-d5ea-48ab-b4be-f590e16b5468')].customerTokens[0].personalAccountData.birthdate", "parameter": null, "type": "REMARK", }, ], }, ], "payments": [], "orderCustomer": null, } /customertokens/{customerTokenId}: parameters: - in: path name: customerTokenId 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). patch: tags: - Order Creation Flow summary: Update a customer token. description: Update a customer token. requestBody: content: application/json: schema: $ref: "#/components/schemas/unavailable" examples: Update a customer token: summary: Update a customer token description: Update a customer token value: { "tokenTypeId": 1, "ovPayTokenId": null, "serviceReferenceId": "NLOV1234567ABCDEFG", "amount": 34, } responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/unavailable" examples: Order with updated customer token: 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", }, ], "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": "a0ef57fa-395c-4a03-96e9-234c26dccea9", "tokenTypeId": 1, "ovPayTokenId": null, "serviceReferenceId": "NLOV1234567ABCDEFG", "amount": 34, "personalAccountData": null, "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", "validations": [], }, ], "payments": [], "orderCustomer": null, } delete: tags: - Order Creation Flow summary: Delete a customer token from an orderline. description: Delete a customer token from an orderline. responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/unavailable" examples: Order with deleted customer token: value: { "validContents": false, "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", }, ], "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": [], "orderAccountingStatuses": [], "validationResult": "preliminary", "validations": [ { "code": "CUSTOMERTOKEN_REQUIRED", "detail": "A valid customer token is required before purchasing this product.", "path": null, "parameter": "customerTokenId", "type": "REMARK", }, ], }, ], "payments": [], "orderCustomer": null, } /customertokens/{customerTokenId}/personalaccountdata: parameters: - in: path name: customerTokenId 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 personal account data to a customer token. description: Add personal account data to a customer token. requestBody: content: application/json: schema: $ref: "#/components/schemas/unavailable" examples: Add personal account data to a customer token: summary: Add personal account data to a customer token description: Add personal account data to a customer token value: { "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", "challengeTypeId": 1, "oneTimePassword": "H5Iiz3JTaQeIV8p", } responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/unavailable" examples: Order with added personal account data to customer token: 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", }, ], "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": 12, "serviceReferenceId": null, "amount": null, "ovpasNumber": null, "verificationCode": null, "personalAccountData": { "personalAccountDataId": "d9021fdd-6e83-45c0-9aef-71680f0b4e74", "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", "challengeTypeId": 1, "oneTimePassword": "H5Iiz3JTaQeIV8p", }, "ovPayToken": { "customerProfileId": 1, "ovPayTokenId": 12, "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", "validations": [], }, ], "payments": [], "orderCustomer": null, } /personalaccountdata/{personalAccountDataId}: parameters: - in: path name: personalAccountDataId required: true style: simple explode: false schema: type: string format: uuid example: d9021fdd-6e83-45c0-9aef-71680f0b4e74 - 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). patch: tags: - Order Creation Flow summary: Update personal account data. description: Update personal account data. requestBody: content: application/json: schema: $ref: "#/components/schemas/unavailable" examples: Update personal account data: summary: Update personal account data description: Update personal account data value: { "birthdate": "2010-01-01" } responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/unavailable" examples: Order with updated personal account data: value: { "validContents": false, "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", }, ], "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": 12, "serviceReferenceId": null, "amount": null, "ovpasNumber": null, "verificationCode": null, "personalAccountData": { "personalAccountDataId": "d9021fdd-6e83-45c0-9aef-71680f0b4e74", "name": "Jan de Vries", "birthdate": "2010-01-01", "photo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAWJLR0Q+SWQA4wAAAAd0SU1FB+YCBAwmK58TFQgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDItMDRUMTI6Mzg6NDMrMDA6MDBAjYOrAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTAyLTA0VDEyOjM4OjQzKzAwOjAwMdA7FwAAAFd6VFh0UmF3IHByb2ZpbGUgdHlwZSBpcHRjAAB4nOPyDAhxVigoyk/LzEnlUgADIwsuYwsTIxNLkxQDEyBEgDTDZAMjs1Qgy9jUyMTMxBzEB8uASKBKLgDqFxF08kI1lQAAAYdpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+DQo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPjx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KPD94cGFja2V0IGVuZD0ndyc/PiyUmAsAAAANSURBVBhXY3grk/YfAAXYAm/HQierAAAAAElFTkSuQmCC", "challengeTypeId": 1, "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": "invalid", "validations": [ { "code": "PERSONAL_ACCOUNT_DATA_AGE_PROFILE_MISMATCH", "detail": "Product is for gboAgeProfile 19-65, given gboAgeProfile is 12-19", "path": "$.orders[?(@.orderId=='1e441d7d-50d6-4006-aca7-5e87e2f218df')].orderLines[?(@.orderLineId=='cccada2c-d5ea-48ab-b4be-f590e16b5468')].customerTokens[?(@.customerTokenId=='878ad7c1-cd8f-4bcf-a983-1bd8c6e6975e')].ovPayToken.personalAccountData.birthdate", "parameter": null, "type": "ERROR", }, ], }, ], "payments": [], "orderCustomer": null, } delete: tags: - Order Creation Flow summary: Delete personal account data. description: Delete personal account data. responses: "200": description: Ok content: application/json: schema: $ref: "#/components/schemas/unavailable" examples: Order with deleted personal account data: 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", }, ], "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": 12, "serviceReferenceId": null, "amount": null, "ovpasNumber": null, "verificationCode": null, "personalAccountData": null, "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", "validations": [], }, ], "payments": [], "orderCustomer": null, } /orders/{orderId}/payments: 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 payment to an existing order. description: Add a payment to an existing order. requestBody: content: application/json: schema: $ref: "#/components/schemas/unavailable" examples: Add a payment to an order: summary: Add a payment to an order description: | Add a payment for a concept order. Note how it is not allowed to add a payment status or an external payment reference when adding a payment to a concept order. Also note how the order status changes to 'awaitingPayment' after adding the payment. Finally, the customerToken information is less detailed since the order status is not concept anymore. value: { "createdOn": "2024-03-22T09:00:00", "amountDebit": 121, "paymentMethodId": 1, "isRefund": false, "htmPaymentReference": "HTM-1234", } responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/unavailable" examples: Order in status 'awaitingPayment': 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": "99137e30-2bf5-4c9b-95f0-ca432adcae5f", "orderStatus": { "orderStatusId": 2, "name": "awaitingPayment" }, "createdOn": "2024-03-22T09:05:00", "description": "Betaling is geinitieerd", }, { "order_orderStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f", "orderStatus": { "orderStatusId": 1, "name": "concept" }, "createdOn": "2024-03-22T09:00:00", "description": "Order is aangemaakt", }, ], "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": null, }, ], "orderAccountingStatuses": [], "validationResult": "valid", "validations": [], }, { "orderLineId": "2cb04b38-e9a8-465a-a273-261c55a21b71", "externalOrderLineId": null, "productId": 2, "productName": "HTM Maandkorting 40%", "fikoArticleNumber": "6610", "productDescription": "HTM Maandkorting 40%", "taxCode": "V21", "taxPercentage": 21.0000, "taxAmount": null, "amountExclTax": null, "amountInclTax": 242, "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": 4, "serviceReferenceId": null, "amount": null, "ovpasNumber": null, "verificationCode": null, "personalAccountData": null, "ovPayToken": null, }, ], "orderAccountingStatuses": [], "validationResult": "valid", "validations": [], }, ], "payments": [ { "paymentId": "1a973c85-7a96-41b5-bbf2-7919d6a6db15", "createdOn": "2024-03-22T09:00:00", "amountDebit": 121, "paymentMethod": { "paymentMethodId": 1, "name": "ideal", "provider": "Buckaroo", }, "touchPoint": { "salesTouchpointId": 3, "name": "Website (Perplex)", "isActive": true, "retailerId": 1001, }, "isRefund": false, "htmPaymentReference": "HTM-1234", "pspPaymentReference": null, "paymentStatuses": [], "mandateInput": null, }, ], "orderCustomer": { "orderCustomerId": "94270188-4cf6-447e-bd49-e8186bcec073", "birthname": "Jan", "surname": "Vries", "prefix": "de", "emailAddress": "jandevries@outlook.com", "dateOfBirth": "1970-01-01", "orderCustomerAddresses": [ { "orderCustomerAddressId": "94270188-4cf6-447e-bd49-e8186bcec073", "addressType": { "addressTypeId": 3, "name": "Billing" }, "street": "Kon. Julianaplein", "houseNumber": 10, "houseNumberSuffix": "a", "postalCode": "2595 AA", "city": "Den Haag", "country": "NL", }, ], }, } /payments/{paymentId}: parameters: - in: path name: paymentId 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). patch: tags: - Order Creation Flow summary: Update a payment on an existing orders. description: Update a payment on an existing order. requestBody: content: application/json: schema: $ref: "#/components/schemas/unavailable" examples: Update payment (pending payment): summary: Update payment (pending payment) description: Update payment (pending payment) value: { "todo": "todo" } Update payment (payment successful): summary: Update payment (payment successful) description: Update payment (payment successful) value: { "htmPaymentReference": "HTM-1234", "pspPaymentReference": "Buckaroo-1234", "paymentStatuses": [ { "createdOn": "2024-03-22T09:00:00", "statusCode": "190", "statusDescription": "Success", "statusSubCode": null, "statusSubDescription": null, }, ], "mandateInput": { "directDebitMandateTypeId": 1, "createdOn": "2024-03-22T09:00:00", "bic": "RABONL2U", "iban": "NL44RABO0123456789", "ascription": "J. de Vries", "place": "Den Haag", }, } Update payment (payment failed): summary: Update payment (payment failed) description: Update payment (payment failed) value: { "todo": "todo" } Update payment (payment cancelled): summary: Update payment (payment cancelled) description: Update payment (payment cancelled) value: { "todo": "todo" } responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/unavailable" examples: Order updated to payment successful: 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": "5b6f4e2e-3c4b-4f5d-9e2a-8f4e2b6c7d8e", "orderStatus": { "orderStatusId": 3, "name": "paid" }, "createdOn": "2024-03-22T09:10:00", "description": "Betaling is succesvol afgerond", }, { "order_orderStatusId": "99137e30-2bf5-4c9b-95f0-ca432adcae5f", "orderStatus": { "orderStatusId": 2, "name": "awaitingPayment" }, "createdOn": "2024-03-22T09:05:00", "description": "Betaling is geinitieerd", }, { "order_orderStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f", "orderStatus": { "orderStatusId": 1, "name": "concept" }, "createdOn": "2024-03-22T09:00:00", "description": "Order is aangemaakt", }, ], "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": null, }, ], "orderAccountingStatuses": [], "validationResult": "valid", "validations": [], }, ], "payments": [ { "paymentId": "1a973c85-7a96-41b5-bbf2-7919d6a6db15", "createdOn": "2024-03-22T09:00:00", "amountDebit": 121, "paymentMethod": { "paymentMethodId": 1, "name": "ideal", "provider": "Buckaroo", }, "touchPoint": { "salesTouchpointId": 3, "name": "Website (Perplex)", "isActive": true, "retailerId": 1001, }, "isRefund": false, "htmPaymentReference": "HTM-1234", "pspPaymentReference": "Buckaroo-1234", "paymentStatuses": [ { "paymentStatusId": "42eee610-1a17-4f02-be14-7e25d69d35f3", "createdOn": "2024-03-22T09:00:00", "statusCode": "?", "statusDescription": "Initiated", "statusSubCode": "?", "statusSubDescription": "PaymentInitiated", }, { "paymentStatusId": "b9893367-0cab-45a8-89f9-03a14d6cd138", "createdOn": "2024-03-22T09:00:00", "statusCode": "791", "statusDescription": "Pending processing", "statusSubCode": "S001", "statusSubDescription": "PendingProcessing", }, { "paymentStatusId": "9edfb9ad-f5b3-4edc-8216-7cd0070b03f3", "createdOn": "2024-03-22T09:01:00", "statusCode": "190", "statusDescription": "Success", "statusSubCode": "S001", "statusSubDescription": "PaymentSuccessful", }, ], "mandateInput": { "mandateInputId": "7e3c7b4e-2b4d-4e0b-8f8b-0e8d9f0a2c3b", "directDebitMandateType": { "directDebitMandateTypeId": 1, "name": "import", }, "createdOn": "2024-03-22T09:00:00", "bic": "RABONL2U", "iban": "NL44RABO0123456789", "ascription": "J. de Vries", "place": "Den Haag", }, }, ], "orderCustomer": { "orderCustomerId": "94270188-4cf6-447e-bd49-e8186bcec073", "birthname": "Jan", "surname": "Vries", "prefix": "de", "emailAddress": "jandevries@outlook.com", "dateOfBirth": "1970-01-01", "orderCustomerAddresses": [ { "orderCustomerAddressId": "94270188-4cf6-447e-bd49-e8186bcec073", "addressTypeId": { "addressTypeId": 3, "name": "Billing" }, "street": "Kon. Julianaplein", "houseNumber": 10, "houseNumberSuffix": "a", "postalCode": "2595 AA", "city": "Den Haag", "country": "NL", }, ], }, } v9.9 (Nick Pows): value: { "validContents": false, "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", "externalOrderId": "be8160b3-a7f7-4a63-ad63-09503b2fc4a3", "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", }, ], "orderLines": [ { "orderLineId": "cccada2c-d5ea-48ab-b4be-f590e16b5468", "externalOrderLineId": "0211f11b-270e-43f2-8ecc-3fe85773a0a2", "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": "2024-03-22T09:00:00", "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": null, }, ], "orderAccountingStatuses": [ { "orderAccountingStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f", "accountingStatus": { "accountingStatusId": 1, "name": "open" }, "createdOn": "2024-03-22T09:00:00", "description": "Order is aangemaakt", }, ], "validationResult": "invalid", "validations": [ { "code": "MANDATE_REQUIRED", "detail": "A valid mandate is required before purchasing this product.", "path": null, "parameter": "directDebitMandateId", "type": "REMARK", }, { "code": "STARTDATE_TOO_FAR_IN_FUTURE", "detail": "Startdate of this product should be at most 60 days in the future.", "path": "$.orders[?(@.orderId=='1e441d7d-50d6-4006-aca7-5e87e2f218df')].orderLines[?(@.orderLineId=='cccada2c-d5ea-48ab-b4be-f590e16b5468')].validFrom", "parameter": null, "type": "ERROR", }, ], }, ], "payments": [ { "paymentId": "1a973c85-7a96-41b5-bbf2-7919d6a6db15", "createdOn": "2024-03-22T09:00:00", "amountDebit": 121, "paymentMethod": { "paymentMethodId": 1, "name": "ideal", "provider": "Buckaroo", }, "touchPoint": { "salesTouchpointId": 3, "name": "Website (Perplex)", "isActive": true, "retailerId": 1001, }, "isRefund": false, "htmPaymentReference": "HTM-1234", "pspPaymentReference": "Buckaroo-1234", "paymentStatuses": [ { "paymentStatusId": "42eee610-1a17-4f02-be14-7e25d69d35f3", "createdOn": "2024-03-22T09:00:00", "statusCode": "?", "statusDescription": "Initiated", "statusSubCode": "?", "statusSubDescription": "PaymentInitiated", }, { "paymentStatusId": "b9893367-0cab-45a8-89f9-03a14d6cd138", "createdOn": "2024-03-22T09:00:00", "statusCode": "791", "statusDescription": "Pending processing", "statusSubCode": "S001", "statusSubDescription": "PendingProcessing", }, { "paymentStatusId": "9edfb9ad-f5b3-4edc-8216-7cd0070b03f3", "createdOn": "2024-03-22T09:01:00", "statusCode": "190", "statusDescription": "Success", "statusSubCode": "S001", "statusSubDescription": "PaymentSuccessful", }, ], "mandateInput": { "mandateInputId": "1d6626cd-b93b-4ea6-85d5-a8e3a24a2725", "directDebitMandateType": { "directDebitMandateTypeId": 1, "name": "import", }, "createdOn": "2024-03-22T09:00:00", "bic": "RABONL2U", "iban": "NL44RABO0123456789", "ascription": "J. de Vries", "place": "Den Haag", }, }, ], "orderCustomer": { "orderCustomerId": "94270188-4cf6-447e-bd49-e8186bcec073", "birthname": "Jan", "surname": "Vries", "prefix": "de", "emailAddress": "jandevries@outlook.com", "dateOfBirth": "1970-01-01", "orderCustomerAddresses": [ { "orderCustomerAddressId": "94270188-4cf6-447e-bd49-e8186bcec073", "addressTypeId": { "addressTypeId": 3, "name": "Billing" }, "street": "Kon. Julianaplein", "houseNumber": 10, "houseNumberSuffix": "a", "postalCode": "2595 AA", "city": "Den Haag", "country": "NL", }, ], }, } /orders/{orderId}/ordercustomers: 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 customer to an existing orders. description: Add a customer to an existing order. requestBody: content: application/json: schema: $ref: "#/components/schemas/unavailable" examples: Add a customer to an existing order: summary: Add a customer to an existing order description: Add a customer to an existing order value: { "birthname": "Jan", "surname": "Vries", "prefix": "de", "emailAddress": "jandevries@outlook.com", "dateOfBirth": "1970-01-01", "orderCustomerAddresses": [ { "addressTypeId": 3, "street": "Kon. Julianaplein", "houseNumber": 10, "houseNumberSuffix": "a", "postalCode": "2595 AA", "city": "Den Haag", "country": "NL", }, ], } responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/unavailable" examples: Oder with added customer: 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", }, ], "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", "validations": [], }, ], "payments": [], "orderCustomer": { "orderCustomerId": "94270188-4cf6-447e-bd49-e8186bcec073", "birthname": "Jan", "surname": "Vries", "prefix": "de", "emailAddress": "jandevries@outlook.com", "dateOfBirth": "1970-01-01", "orderCustomerAddresses": [ { "orderCustomerAddressId": "94270188-4cf6-447e-bd49-e8186bcec073", "addressType": { "addressTypeId": 3, "name": "Billing" }, "street": "Kon. Julianaplein", "houseNumber": 10, "houseNumberSuffix": "a", "postalCode": "2595 AA", "city": "Den Haag", "country": "NL", }, ], }, } /ordercustomers/{orderCustomerId}: patch: parameters: - in: path name: orderCustomerId 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). tags: - Order Creation Flow summary: Update a customer on an existing order. description: Update a customer on an existing order. requestBody: content: application/json: schema: $ref: "#/components/schemas/unavailable" examples: Update a customer on an existing order: summary: Update a customer on an existing order description: Update a customer on an existing order value: { "birthname": "Jan", "surname": "Vries", "prefix": "de", "emailAddress": "jandevries@outlook.com", "dateOfBirth": "1970-01-01", } responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/unavailable" examples: Order with updated customer: 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", }, ], "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", "validations": [], }, ], "payments": [], "orderCustomer": { "orderCustomerId": "94270188-4cf6-447e-bd49-e8186bcec073", "birthname": "Jan", "surname": "Vries", "prefix": "de", "emailAddress": "jandevries@outlook.com", "dateOfBirth": "1970-01-01", "orderCustomerAddresses": [ { "orderCustomerAddressId": "94270188-4cf6-447e-bd49-e8186bcec073", "addressType": { "addressTypeId": 3, "name": "Billing" }, "street": "Kon. Julianaplein", "houseNumber": 10, "houseNumberSuffix": "a", "postalCode": "2595 AA", "city": "Den Haag", "country": "NL", }, ], }, } /ordercustomers/{orderCustomerId}/orderCustomerAddress: post: parameters: - in: path name: orderCustomerId 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). tags: - Order Creation Flow summary: Create a customer address for an existing order. description: Create a customer address for an existing order. requestBody: content: application/json: schema: $ref: "#/components/schemas/unavailable" examples: Add an address to a customer on an order: summary: Add an address to a customer on an order description: Add an address to a customer on an order value: { "addressTypeId": 3, "street": "Kon. Julianaplein", "houseNumber": 10, "houseNumberSuffix": "a", "postalCode": "2595 AA", "city": "Den Haag", "country": "NL", } responses: "201": description: OK content: application/json: schema: $ref: "#/components/schemas/unavailable" examples: Order with added customer address: value: { "validContents": false, "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", }, ], "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", }, "gboPersonalAccountData": { "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": "preliminary", "validations": [ { "code": "MANDATE_REQUIRED", "detail": "Direct debit mandate is required for this order.", "path": null, "parameter": "directDebitMandateId", "type": "REMARK", }, ], }, ], "payments": [], "orderCustomer": { "orderCustomerId": "94270188-4cf6-447e-bd49-e8186bcec073", "birthname": "Jan", "surname": "Vries", "prefix": "de", "emailAddress": "jandevries@outlook.com", "dateOfBirth": "1970-01-01", "orderCustomerAddresses": [ { "orderCustomerAddressId": "a0ef57fa-395c-4a03-96e9-234c26dccea9", "addressType": { "addressTypeId": 3, "name": "Billing" }, "street": "Kon. Julianaplein", "houseNumber": 10, "houseNumberSuffix": "a", "postalCode": "2595 AA", "city": "Den Haag", "country": "NL", }, ], }, } /orderCustomerAddress/{orderCustomerAddressId}: patch: parameters: - in: path name: orderCustomerAddressId 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). tags: - Order Creation Flow summary: Update a customer address for an existing order. description: Update a customer address for an existing order. requestBody: content: application/json: schema: $ref: "#/components/schemas/unavailable" examples: Update order customer address: summary: Update order customer address description: Update order customer address value: { "addressTypeId": 3, "street": "Kon. Julianaplein", "houseNumber": 101, "houseNumberSuffix": "a", "postalCode": "2595 AA", "city": "Den Haag", "country": "NL", } responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/unavailable" examples: Order with updated customer address: value: { "validContents": false, "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", }, ], "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": "53a23772-0631-4eb8-b06a-8b4b74d120d5", "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", }, "gboPersonalAccountData": { "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": "preliminary", "validations": [ { "code": "MANDATE_REQUIRED", "detail": "A valid mandate is required before purchasing this product.", "path": null, "parameter": "directDebitMandateId", "type": "REMARK", }, ], }, ], "payments": [], "orderCustomer": { "orderCustomerId": "94270188-4cf6-447e-bd49-e8186bcec073", "birthname": "Jan", "surname": "Vries", "prefix": "de", "emailAddress": "jandevries@outlook.com", "dateOfBirth": "1970-01-01", "orderCustomerAddresses": [ { "orderCustomerAddressId": "94270188-4cf6-447e-bd49-e8186bcec073", "addressType": { "addressTypeId": 3, "name": "Billing" }, "street": "Kon. Julianaplein", "houseNumber": 101, "houseNumberSuffix": "a", "postalCode": "2595 AA", "city": "Den Haag", "country": "NL", }, ], }, } delete: tags: - Order Creation Flow summary: Delete an existing order address. description: Delete an existing order address. parameters: - in: path name: orderCustomerAddressId 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). responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/unavailable" examples: Order after deleting customer address: value: { "validContents": true, "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", "externalOrderId": null, "orderNumber": "ORD-123456", "customerProfileId": 1337, "totalAmount": 0, "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", }, ], "orderLines": [], "payments": [], "orderCustomer": { "orderCustomerId": "94270188-4cf6-447e-bd49-e8186bcec073", "birthname": "Jan", "surname": "Vries", "prefix": "de", "emailAddress": "jandevries@outlook.com", "dateOfBirth": "1970-01-01", "addresses": null, }, } "400": description: Bad request content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "type": "https://htm.nl/api/v1/probs/400/badrequest", "title": "Your request is not valid.", "detail": "One or more required attributes are missing or invalid.", "instance": "urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b", "errors": [ { "code": "REQUIRED_ATTRIBUTE_MISSING", "detail": "One ore more required attributes are missing.", "pointer": "$.orderLines[0].productId", "parameter": null, }, ], } /orders/{orderId}/fulfill: 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 Fulfillment summary: Fulfill an order without creating or updating the order as a resource. description: Fulfill an order without creating or updating the order as a resource. responses: "200": description: OK /orders/validation/gboAgeProfile: get: tags: - Order Validation summary: Get GBO age profile that is valid for the given input. description: |- Only one age profile can be valid at any one time, so only one profile is returned. parameters: - name: productStartDate in: query required: true description: Start date of product validity schema: type: string format: date example: 2025-03-20 - name: birthDate in: query required: false description: Birthdate of the OVpay-token holder schema: type: string format: date example: 2000-01-01 - name: ovPayTokenId in: query required: false description: ovPayTokenId of the customer's selected token schema: type: integer example: 1 - name: customerTokenId in: query required: false description: customerTokenId of the customer's selected token schema: type: string format: uuid example: "4a2d2c9c-1e5d-4d8a-9c0a-6c0a6c0a6c0a" - name: serviceReferenceId in: query required: false description: serviceReferenceId of the customer's selected token schema: type: string example: "NLOV1234567ABCDEFG" - name: amount in: query required: false description: amount belonging to the serviceReferenceId schema: type: integer example: 100 - name: ovpasNumber in: query required: false description: OVpas number of the customer's selected token schema: type: string example: "63AW974" - name: verificationCode in: query required: false description: verification code belonging to the OVpas number schema: type: string example: 1A3C7D responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/GboAgeProfileResponse" "400": description: Bad request content: application/json: schema: $ref: "#/components/schemas/rfc9457" examples: Missing parameter(s): summary: Missing parameter(s) value: { "type": "https://htm.nl/api/v1/probs/400/badrequest", "title": "Your request is not valid.", "detail": "One or more required parameters are missing or invalid.", "instance": "urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b", "errors": [ { "code": "REQUIRED_PARAMETER_MISSING", "detail": "One ore more required parameters are missing.", "pointer": null, "parameter": "birthdate, ovPayTokenId, customerTokenId", }, ], } Invalid date format: summary: Invalid date format value: { "type": "https://htm.nl/api/v1/probs/400/badrequest", "title": "Your request is not valid.", "detail": "One or more parameters have an invalid format.", "instance": "urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b", "errors": [ { "code": "INVALID_PARAMETER_FORMAT", "detail": "The given birthdate is not a valid Date format.", "pointer": null, "parameter": "birthdate", }, ], } "404": description: Not found content: application/json: schema: $ref: "#/components/schemas/rfc9457" examples: No birthdate present in PAD of OVpay token: summary: No birthdate present in PAD of OVpay token value: { "type": "https://htm.nl/api/v1/probs/404/notfound", "title": "Missing birthdate in PAD.", "detail": "There is no birthdate present in the PAD of the OVpay token, or there is no PAD present at all.", "instance": "urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b", "errors": [ { "code": "MISSING_BIRTHDATE_IN_PAD", "detail": "Missing birthdate in PAD.", "pointer": null, "parameter": "birthdate", }, ], } components: securitySchemes: bearerToken: type: http scheme: bearer bearerFormat: JWT schemas: unavailable: type: object rfc9457: type: object properties: type: type: string format: url example: "https://example.com/probs/out-of-credit" title: type: string example: "You do not have enough credit." detail: type: string example: "Your current balance is 30, but that costs 50." instance: type: string example: "/account/12345/msgs/abc" balance: type: string example: "30" accounts: type: array items: type: string example: - "/account/12345" - "/account/67890" GboAgeProfileResponse: type: object required: - gboAgeProfileId - name - ageFromInclusive - ageToInclusive properties: gboAgeProfileId: type: integer example: 1 name: type: string example: Kind (4 t/m 11 jaar) ageFromInclusive: type: integer example: 4 ageToInclusive: type: integer example: 11