diff --git a/src/openapi/orders/service_engine_orders.yaml b/src/openapi/orders/service_engine_orders.yaml index 57ba8e1..7737005 100644 --- a/src/openapi/orders/service_engine_orders.yaml +++ b/src/openapi/orders/service_engine_orders.yaml @@ -724,145 +724,6 @@ paths: }, ], } - /customers/{customerProfileId}/orders: - parameters: - - in: path - name: customerProfileId - required: true - style: simple - explode: false - schema: - type: integer - example: 42 - - 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 v1 & v2 - summary: Get all orders for a specific customer. - description: Get all orders for a specific customer. - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: "#/components/schemas/unavailable" - examples: - v2.1: - summary: Order list for customer v2.1 - description: Order list for customer v2.1 - value: - { - "orders": - [ - { - "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": [], - "payments": - [ - { - "paymentId": "c772868c-5cce-46a3-8821-be6811332252", - "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": "ff9f2365-efc8-4f97-a6c1-e01fcddad917", - "createdOn": "2024-03-22T09:00: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": null, - "_links": - { - "self": - { - "href": "https://api.example.com/items/1", - "method": "GET", - "templated": true, - }, - }, - }, - ], - "_links": - { - "self": - { - "href": "https://api.example.com/items", - "method": "GET", - "templated": true, - }, - }, - "href": "string", - } /orders: parameters: - in: header @@ -892,6 +753,48 @@ paths: 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: @@ -1016,7 +919,118 @@ paths: }, }, }, - ], + { + "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": 21, + "amountExclTax": 100, + "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": "01-01-1970", + "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", + }, + }, + ], + "orderAccountingStatuses": [], + "validationResult": false, + "additionalRemarks": + [ + { + "code": "MANDATE_REQUIRED", + "parameter": "directDebitMandateId", + }, + ], + "validationErrors": + [ + { + "detail": "Startdate of this product should be at most 60 days in the future.", + "pointer": "#/0/startDate", + }, + ], + }, + ], + "payments": [], + "orderCustomer": null, + } + ], "_links": { "self": @@ -2218,6 +2232,16 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: + v2.2: + summary: Update order line v2.2 + description: Update order line v2.2 + value: + { + "productId": 49, + "quantity": 1, + "validFrom": "2024-03-25T09:00:00", + "validUntil": null, + } v2.1: summary: Update order line v2.1 description: Update order line v2.1 @@ -2249,6 +2273,97 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: + v2.2: + 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": 112, + "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": 488, + "amountExclTax": 5412, + "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": false, + "additionalRemarks": + [ + { + "code": "MANDATE_REQUIRED", + "parameter": "directDebitMandateId", + }, + { + "code": "CUSTOMERTOKEN_REQUIRED", + "parameter": "customerTokenId", + }, + ], + "validationErrors": [ + ], + }, + ], + "payments": [], + "orderCustomer": null, + } v2.1: value: { @@ -2455,6 +2570,186 @@ paths: }, ], } + /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-HM-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 v2 + 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: + v2.2: + summary: Add a customer token to an orderline v2.2 + description: Add a customer token to an orderline v2.2 + value: + { + "tokenTypeId": 1, + "ovPayTokenId": 12, + "personalAccountData": null} + responses: + "201": + description: Created + content: + application/json: + schema: + $ref: "#/components/schemas/unaivalable" + examples: + v2.2: + 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": 21, + "amountExclTax": 100, + "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 + }, + ], + "orderAccountingStatuses": [], + "validationResult": true, + "additionalRemarks": [ + { + "code": "PERSONALACCOUNTDATA_BIRTHDATE_REQUIRED", + "parameter": "personalaccountdata.birthdate", + } + ], + "validationErrors": [], + }, + ], + "payments": [], + "orderCustomers": 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-HM-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). + delete: + tags: + - Order Creation v2 + summary: Delete a customer token from an orderline + description: Delete a customer token from an orderline + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + examples: + v2.2: + summary: Delete a customer token v2.2 + description: Delete a customer token v2.2 + value: + {} + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + examples: + v2.2: {} /orders/{orderId}/payments: parameters: - in: path