openapi: "3.0.3" info: title: ABT Orders CRUD APIs version: "1.0" description: CRUD APIs for ABT Orders database. These are NOT the functional APIs from Service Engine. servers: - url: https://api.integratielaag.nl/v1 paths: /orders: get: tags: - Order summary: P1. Find orders. description: Find orders. parameters: - in: query name: externalOrderId schema: type: string example: EXT001 required: false description: The order id in the external system. - in: query name: orderNumber schema: type: string example: ORD123456 required: false description: The human readable number of the order. - in: query name: customerProfileId schema: type: integer example: 42 required: false description: The technical id of the customer related to the order. - in: query name: totalAmount schema: type: integer example: 112 required: false description: The total amount of the order. - in: query name: touchPointId schema: type: integer example: 1 required: false description: The id of the touch point where the order was initiated. - in: query name: languageId schema: type: integer example: 1 required: false description: The id of the language in which the order was created. - in: query name: billingAddressId schema: type: integer example: 32 required: false description: The technical id of the billing address. - in: query name: shippingAddressId schema: type: integer example: 64 required: false description: The technical id of the shipping address. - 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. responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "orders": [ { "orderId": "afce35b2-1dff-4ace-98d0-4b9ac405c87d", "externalOrderId": "bac3958b-804a-43e3-b5f7-0b0fffaae5b7", "orderNumber": "123456", "customerProfileId": 1337, "totalAmount": 121, "touchPointId": 1, "language": { "languageId": 1, "name": "Nederlands", "iso639Code": "nl-NL", "ietfCode": "nl", }, "billingAddressId": 1, "shippingAddressId": 1, "createdOn": "2024-03-22T09:00:00", "lastUpdatedOn": "2024-03-22T09:00:00", "order_OrderStatus": [ { "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%", "productCode": "HTM-MND-20", "productDescription": "HTM Maandkorting 20%", "taxAmount": 21, "taxMetadata": { "taxMetadataId": "06270769-a263-4325-82d6-f49396f39d03", "taxCode": "V21", "taxPercentageAmount": 21, "description": "21% BTW", }, "amountExclTax": 100, "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", "dateOfBirth": "01-01-1970", "photoReference": "DSC_0502.JPG", "fileType": "image/jpg", "challengeType": { "challengeTypeId": 1, "name": "email", }, "oneTimePassword": "H5Iiz3JTaQeIV8p", }, }, ], "orderAccountingStatuses": [ { "orderAccountingStatusId": "7c5118d0-8535-4464-9239-83a7ba8fd2db", "accountingStatus": { "accountingStatusId": 1, "name": "open", }, "createdOn": "2024-03-22T09:00:00", "description": "Financiele transactie voor de FIKO.", }, ], }, ], "payments": [ { "paymentId": "3ba4a3c7-0803-4214-800b-365851b8903d", "createdOn": "2024-03-22T09:00:00", "amountDebit": 121, "paymentMethod": { "paymentMethodId": 1, "name": "ideal", "provider": "Buckaroo", }, "touchPointId": 1, "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": 1, "name": "Billing" }, "street": "Kon. Julianaplein", "houseNumber": 10, "houseNumberSuffix": "a", "postalCode": "2595 AA", "city": "Den Haag", "country": "NL", }, ], }, }, ], "href": null, } post: tags: - Order summary: P1. Create a new order. description: Create a new order. requestBody: content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "externalOrderId": "bac3958b-804a-43e3-b5f7-0b0fffaae5b7", "customerProfileId": 1337, "totalAmount": 121, "touchPointId": 1, "languageId": 1, "billingAddressId": 1, "shippingAddressId": 1, "createdOn": "2024-03-22T09:00:00", "order_OrderStatus": [ { "orderStatusId": 4, "createdOn": "2024-03-22T09:00:00", "description": "Order succesvol betaald", }, { "orderStatusId": 3, "createdOn": "2024-03-22T08:55:00", "description": "Betaling in behandeling", }, ], "orderLines": [ { "externalOrderLineId": "f5fddff0-7fbd-4285-bccb-e584f431ea69", "productId": 1, "productName": "HTM Maandkorting 20%", "productCode": "HTM-MND-20", "productDescription": "HTM Maandkorting 20%", "taxAmount": 21, "taxMetadataId": "7275b910-37d9-40c1-aaac-80d8ceb62ff9", "amountExclTax": 100, "amountInclTax": 121, "quantity": 1, "orderLineTerms": [{ "termsUrl": "generalTermsAndConditions.pdf" }], "validFrom": "2024-03-22T09:00:00", "validUntil": "2025-03-22T09:00:00", "orderLineStatusId": 4, "createdOn": "2024-03-22T09:00:00", "customerTokens": [ { "tokenTypeId": 1, "ovPayTokenId": 1, "serviceReferenceId": "NLOV1234567ABCDEFG", "amount": 34, "ovpasNumber": "OV34567", "verificationCode": "A7H6", "personalAccountData": { "name": "Jan de Vries", "dateOfBirth": "01-01-1970", "photoReference": "DSC_0502.JPG", "fileType": "image/jpg", "challengeTypeId": 1, "oneTimePassword": "H5Iiz3JTaQeIV8p", }, }, ], "orderAccountingStatuses": [ { "accountingStatusId": 1, "createdOn": "2024-03-22T09:00:00", "description": "Financiele transactie voor de FIKO.", }, ], }, ], "payments": [ { "createdOn": "2024-03-22T09:00:00", "amountDebit": 121, "paymentMethodId": 1, "touchPointId": 1, "isRefund": false, "htmPaymentReference": "HTM-1234", "pspPaymentReference": "Buckaroo-1234", "paymentStatuses": [ { "createdOn": "2024-03-22T09:00:00", "statusCode": "190", "statusDescription": "Success", "statusSubCode": "S001", "statusSubDescription": "PaymentSuccessFul", }, ], "mandateInput": { "directDebitMandateTypeId": 1, "createdOn": "2024-03-22T09:00:00", "bic": "RABONL2U", "iban": "NL44RABO0123456789", "ascription": "J. de Vries", "place": "Den Haag", }, }, ], "orderCustomer": { "birthname": "Jan", "surname": "Vries", "prefix": "de", "emailAddress": "jandevries@outlook.com", "dateOfBirth": "1970-01-01", "orderCustomerAddresses": [ { "addressTypeId": 1, "street": "Kon. Julianaplein", "houseNumber": 10, "houseNumberSuffix": "a", "postalCode": "2595 AA", "city": "Den Haag", "country": "NL", }, ], }, } responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "orderId": "afce35b2-1dff-4ace-98d0-4b9ac405c87d", "orderNumber": "ORD123456", } /orders/{orderId}: parameters: - in: path name: orderId schema: type: string format: uuid example: d1dd439b-6072-4b97-89c9-724268865b93 required: true description: The id of the order to process. get: summary: P1. Get a single order. description: Get a single order. tags: - Order responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "orderId": "afce35b2-1dff-4ace-98d0-4b9ac405c87d", "externalOrderId": "f5fddff0-7fbd-4285-bccb-e584f431ea69", "orderNumber": "123456", "customerProfileId": 1337, "totalAmount": 121, "touchPointId": 1, "language": { "languageId": 1, "name": "Nederlands", "iso639Code": "nl-NL", "ietfCode": "nl", }, "billingAddressId": 1, "shippingAddressId": 1, "createdOn": "2024-03-22T09:00:00", "lastUpdatedOn": "2024-03-22T09:00:00", "order_OrderStatus": [ { "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%", "productCode": "HTM-MND-20", "productDescription": "HTM Maandkorting 20%", "taxAmount": 21, "taxMetadata": { "taxMetadataId": "06270769-a263-4325-82d6-f49396f39d03", "taxCode": "V21", "taxPercentageAmount": 21, "description": "21% BTW", }, "amountExclTax": 100, "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", "dateOfBirth": "01-01-1970", "photoReference": "DSC_0502.JPG", "fileType": "image/jpg", "challengeType": { "challengeTypeId": 1, "name": "email" }, "oneTimePassword": "H5Iiz3JTaQeIV8p", }, }, ], "orderAccountingStatuses": [ { "orderAccountingStatusId": "7c5118d0-8535-4464-9239-83a7ba8fd2db", "accountingStatus": { "accountingStatusId": 1, "name": "open" }, "createdOn": "2024-03-22T09:00:00", "description": "Financiele transactie voor de FIKO.", }, ], }, ], "payments": [ { "paymentId": "3ba4a3c7-0803-4214-800b-365851b8903d", "createdOn": "2024-03-22T09:00:00", "amountDebit": 121, "paymentMethod": { "paymentMethodId": 1, "name": "ideal", "provider": "Buckaroo", }, "touchPointId": 1, "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": 1, "name": "Billing" }, "street": "Kon. Julianaplein", "houseNumber": 10, "houseNumberSuffix": "a", "postalCode": "2595 AA", "city": "Den Haag", "country": "NL", }, ], }, } patch: summary: P1. Update an order. description: Update an order. tags: - Order requestBody: content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "customerProfileId": 1337, "totalAmount": 121, "languageId": 1, "billingAddressId": 1, "shippingAddressId": 1, "lastUpdatedOn": "2024-03-22T09:00:00", } responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "orderId": "afce35b2-1dff-4ace-98d0-4b9ac405c87d" } delete: summary: RFU. Delete an order. description: Delete an order. tags: - Order responses: "200": description: OK /orders/{orderId}/statuses: parameters: - in: path name: orderId schema: type: string format: uuid example: d1dd439b-6072-4b97-89c9-724268865b93 required: true description: The id of the order to process. post: summary: P1. Add an order status. description: Add an order status. tags: - Order requestBody: content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "orderStatusId": 1, "createdOn": "2024-03-22T09:00:00", "description": "Order verzonden", } responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "order_orderStatusId": "b9cf0096-4211-4be6-ac21-7bc34bc8e066", } /orders/{orderId}/orderlines: parameters: - in: path name: orderId schema: type: string format: uuid example: d1dd439b-6072-4b97-89c9-724268865b93 required: true description: The id of the order to process. post: summary: P1. Add a single order line to an order. description: Add a single order line to an order. tags: - Order Line requestBody: content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "externalOrderLineId": "f5fddff0-7fbd-4285-bccb-e584f431ea69", "productId": 1, "productName": "HTM Maandkorting 20%", "productCode": "HTM-MND-20", "productDescription": "HTM Maandkorting 20%", "taxAmount": 21, "taxMetadataId": "1d6f1725-1072-4f08-982c-3df51dd854a1", "amountExclTax": 100, "amountInclTax": 121, "quantity": 1, "orderLineTerms": [{ "termsUrl": "generalTermsAndConditions.pdf" }], "validFrom": "2024-03-22T09:00:00", "validUntil": "2025-03-22T09:00:00", "orderLineStatusId": 4, "createdOn": "2024-03-22T09:00:00", "customerTokens": [ { "tokenTypeId": 1, "ovPayTokenId": 1, "serviceReferenceId": "NLOV1234567ABCDEFG", "amount": 34, "ovpasNumber": "OV34567", "verificationCode": "A7H6", "personalAccountData": { "name": "Jan de Vries", "dateOfBirth": "01-01-1970", "photoReference": "DSC_0502.JPG", "fileType": "image/jpg", "challengeTypeId": 1, "oneTimePassword": "H5Iiz3JTaQeIV8p", }, }, ], "orderAccountingStatuses": [ { "accountingStatusId": 1, "createdOn": "2024-03-22T09:00:00", "description": "Financiele transactie voor de FIKO.", }, ], } responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "orderLineId": "1e441d7d-50d6-4006-aca7-5e87e2f218df" } /orders/{orderId}/payments: parameters: - in: path name: orderId schema: type: string format: uuid example: d1dd439b-6072-4b97-89c9-724268865b93 required: true description: The id of the order to process. post: summary: P2. Add a payment to an order. description: Add a payment to an order. tags: - Payment requestBody: content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "createdOn": "2024-03-22T09:00:00", "amountDebit": 121, "paymentMethodId": 1, "touchPointId": 1, "isRefund": false, "htmPaymentReference": "HTM-1234", "pspPaymentReference": "Buckaroo-1234", "paymentStatuses": [ { "createdOn": "2024-03-22T09:00:00", "statusCode": "190", "statusDescription": "Success", "statusSubCode": "S001", "statusSubDescription": "PaymentSuccessFul", }, ], "mandateInput": { "directDebitMandateTypeId": 1, "createdOn": "2024-03-22T09:00:00", "bic": "RABONL2U", "iban": "NL44RABO0123456789", "ascription": "J. de Vries", "place": "Den Haag", }, } responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "paymentId": "dfae0f6f-95f0-4eac-ab1a-36ffe1f31aac" } /orders/{orderId}/ordercustomers: parameters: - in: path name: orderId schema: type: string format: uuid example: d1dd439b-6072-4b97-89c9-724268865b93 required: true description: The id of the order to process. post: summary: P3. Add a customer to an order. description: Add a customer to an order. tags: - Customer requestBody: content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "birthname": "Jan", "surname": "Vries", "prefix": "de", "emailAddress": "jandevries@outlook.com", "dateOfBirth": "1970-01-01", "orderCustomerAddresses": [ { "addressTypeId": 1, "street": "Kon. Julianaplein", "houseNumber": 10, "houseNumberSuffix": "a", "postalCode": "2595 AA", "city": "Den Haag", "country": "NL", }, ], } responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "orderCustomerId": "9c9ae71f-7de9-49f9-b676-b0fe103f6286" } /orderlines: get: summary: P1. Find order lines. description: Find order lines. tags: - Order Line parameters: - in: query name: orderLineId schema: type: string format: uuid example: 4ea492ff-8ffc-4a4e-901e-59f05e854285 required: false description: The id of the order line. - in: query name: externalOrderLineId schema: type: string format: uuid example: 4e333615-6ecd-4b68-a4f8-4f66f6af9be1 required: false description: The id of the order line in the external system. - in: query name: productId schema: type: integer example: 42 required: false description: The technical id of the product. - in: query name: productName schema: type: string example: HTM Maandkorting 20% required: false description: The name of the product. - in: query name: productCode schema: type: string example: HTM-MND-20 required: false description: The code of the product. - in: query name: taxAmount schema: type: integer example: 21 required: false description: The amount of tax calculated. - in: query name: taxMetadataId schema: type: string format: uuid example: 3435119f-6a99-4f90-967b-25086b9a8bac required: false description: The technical id of the tax code. - in: query name: amountExclTax schema: type: integer example: 100 required: false description: The amount of the order line before taxes. - in: query name: amountInclTax schema: type: integer example: 121 required: false description: The amount of the order line after taxes. - in: query name: quantity schema: type: integer example: 1 required: false description: The quantity of products for this order line. - in: query name: termsUrl schema: type: string example: generalTermsAndConditions.pdf required: false description: The terms of conditions that apply on this order line. - in: query name: validFrom schema: type: string format: date-time example: 2024-03-22T09:00:00 required: false description: Timestamp from which the ordered product is valid. - in: query name: validUntil schema: type: string format: date-time example: 2024-03-22T09:00:00 required: false description: Timestamp from which the ordered product is valid. - in: query name: orderLineStatusId schema: type: array items: type: integer explode: false required: false description: Filter on possible order line statuses. 1 = pending, 3 = delivered, 4 = cancelled, 5 = refunded, 7 = shipped. - in: query name: createdBefore schema: type: string format: date-time example: 2024-03-22T09:00:00 required: false description: Timestamp before which the order line 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 line 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 line 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 line should have been updated. - in: query name: accountingStatusId schema: type: array items: type: integer explode: false required: false description: Filter on current account statuses. 1 = open, 2 = sent, 3 = received, 4 = rejected. responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/unavailable" example: [ { "orderLineId": "7a7a9d1a-3fc8-4058-a28b-082860aaa311", "orderId": "7ec1c3ae-0112-4aaf-adb9-c2436234fec6", "externalOrderLineId": "4e333615-6ecd-4b68-a4f8-4f66f6af9be1", "productId": 1, "productName": "HTM Maandkorting 20%", "productCode": "HTM-MND-20", "productDescription": "HTM Maandkorting 20%", "taxAmount": 21, "taxMetadata": { "taxMetadataId": "06270769-a263-4325-82d6-f49396f39d03", "taxCode": "V21", "taxPercentageAmount": 21, "description": "21% BTW", }, "amountExclTax": 100, "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", "dateOfBirth": "01-01-1970", "photoReference": "DSC_0502.JPG", "fileType": "image/jpg", "challengeType": { "challengeTypeId": 1, "name": "email" }, "oneTimePassword": "H5Iiz3JTaQeIV8p", }, }, ], "orderAccountingStatuses": [ { "orderAccountingStatusId": "7c5118d0-8535-4464-9239-83a7ba8fd2db", "accountingStatus": { "accountingStatusId": 1, "name": "open" }, "createdOn": "2024-03-22T09:00:00", "description": "Financiele transactie voor de FIKO.", }, ], }, ] /orderlines/{orderLineId}: parameters: - in: path name: orderLineId schema: type: string format: uuid example: 39d37066-c59d-4807-8ae5-45c249e28d68 required: true description: The id of the order line to process. patch: summary: P1. Update an order line. description: Update an order line. tags: - Order Line requestBody: content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "taxAmount": 21, "taxMetadataId": "0574440e-7fa0-401f-b907-539c91633a5d", "amountExclTax": 100, "amountInclTax": 121, "quantity": 1, "validFrom": "2024-03-22T09:00:00", "validUntil": "2025-03-22T09:00:00", "orderLineStatusId": 4, } responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "orderLineId": "ee82686a-a9f6-4888-b336-8e2aab6f4e13" } delete: summary: RFU. Delete an order line. description: Delete an order line. tags: - Order Line responses: "200": description: OK /orderlines/{orderLineId}/accountingstatuses: parameters: - in: path name: orderLineId schema: type: string format: uuid example: 9ff2e034-ed4f-44d5-8f6c-d703bd4df332 required: true description: The id of the order line to process. post: summary: P4. Add an accounting status to an order line. description: Add an accounting status to an order line. tags: - Order Line requestBody: content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "accountingStatusId": 1, "createdOn": "2024-03-22T09:00:00", "description": "Financiele transactie voor de FIKO.", } responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "orderAccountingStatusId": "60dbd8a7-0a22-40b5-9c53-1bc9aaf1a1ae", } /orderlines/{orderLineId}/customertokens: parameters: - in: path name: orderLineId schema: type: string format: uuid example: 9ff2e034-ed4f-44d5-8f6c-d703bd4df332 required: true description: The id of the order line to process. post: summary: P3. Add a customer token to an order line. description: Add acustomer token to an order line. tags: - Order Line requestBody: content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "tokenTypeId": 1, "ovPayTokenId": 1, "serviceReferenceId": "NLOV1234567ABCDEFG", "amount": 34, "ovpasNumber": "OV34567", "verificationCode": "A7H6", "personalAccountData": { "name": "Jan de Vries", "dateOfBirth": "01-01-1970", "photoReference": "DSC_0502.JPG", "fileType": "image/jpg", "challengeTypeId": 1, "oneTimePassword": "H5Iiz3JTaQeIV8p", }, } responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "customerTokenId": "eeec597c-36c4-41b2-aeeb-ab5c32f2365d" } /customertokens: get: summary: P3. Find customer tokens. description: Find customer tokens. tags: - Order Line parameters: - in: query name: customerTokenId schema: type: string format: uuid example: 74c07b9e-5979-4fcc-b98c-4f0be456838c required: false description: The id of the customer token. - in: query name: orderLineId schema: type: string format: uuid example: 4ea492ff-8ffc-4a4e-901e-59f05e854285 required: false description: The id of the order line. - in: query name: tokenTypeId schema: type: array items: type: integer explode: false required: false description: Filter on possible token types. 1 = EMV, 2 = OV-pas physical, 3 = OV-pas digital. - in: query name: ovPayTokenId schema: type: integer example: 42 required: false description: The id of the OVpay token. - in: query name: serviceReferenceId schema: type: string example: NLOV1234567ABCDEFG required: false description: Service reference id of the token. - in: query name: amount schema: type: integer example: 131 required: false description: The amount corresponding to the SRID. - in: query name: ovpasNumber schema: type: string example: 63AW974 required: false description: Number of the OVpas. - in: query name: verificationCode schema: type: string example: 8ZY2 required: false description: Verification code corresponding to the OVpas. responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/unavailable" example: [ { "customerTokenId": "878ad7c1-cd8f-4bcf-a983-1bd8c6e6975e", "orderId": "95454803-68fb-4735-a9b5-1251cdece3cd", "orderLineId": "9b0d28a2-46ce-4e74-9cf5-497a5b91e86b", "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", "dateOfBirth": "01-01-1970", "photoReference": "DSC_0502.JPG", "fileType": "image/jpg", "challengeType": { "challengeTypeId": 1, "name": "email" }, "oneTimePassword": "H5Iiz3JTaQeIV8p", }, }, ] /customertokens/{customerTokenId}: parameters: - in: path name: customerTokenId schema: type: string format: uuid example: 510194ef-0038-45ef-94c7-262df93ef1d7 required: true description: The id of the customer token. patch: summary: P3. Update a customer token. description: Update a customer token. tags: - Order Line requestBody: content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "tokenTypeId": 1, "ovPayTokenId": 1, "serviceReferenceId": "NLOV1234567ABCDEFG", "amount": 34, "ovpasNumber": "OV34567", "verificationCode": "A7H6", } responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "customerTokenId": "0aedb483-2477-4720-aee6-7abcd016843b" } /personalaccountdata: get: summary: P5. Find personal account data. description: Find customer tokens. tags: - Order Line parameters: - in: query name: personalAccountDataId schema: type: string format: uuid example: 0743969c-4e4c-4123-bd45-0366f7add029 required: false description: The id of the personal account data. - in: query name: customerTokenId schema: type: string format: uuid example: 9935456d-45e5-419a-91c0-5deb85119f2b required: false description: The id of the customer token. - in: query name: name schema: type: string example: J. de Vries required: false description: The name of the customer. - in: query name: dateOfBirth schema: type: string format: date example: 1970-01-01 required: false description: The date of birth of the customer. - in: query name: photoReference schema: type: string example: DSC_0502.JPG required: false description: A reference to the customer photo. - in: query name: fileType schema: type: string example: image/jpg required: false description: File type of the customer photo. - in: query name: challengeTypeId schema: type: array items: type: integer explode: false required: false description: Filter on possible challenge types. 1 = email, 2 = sms. - in: query name: oneTimePassword schema: type: string example: "H5Iiz3JTaQeIV8p" explode: false required: false description: Filter on possible challenge types. 1 = email, 2 = sms. responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/unavailable" example: [ { "personalAccountDataId": "47db8a40-3238-4bf5-9284-759e3888bd47", "customerTokenId": "7252ad91-3a4b-4ab4-b529-ec78a39a49b2", "orderLineId": "858e31b9-67f0-46ca-bf88-91a382b9c079", "orderId": "858e31b9-67f0-46ca-bf88-91a382b9c079", "name": "Jan de Vries", "dateOfBirth": "01-01-1970", "photoReference": "DSC_0502.JPG", "fileType": "image/jpg", "challengeType": { "challengeTypeId": 1, "name": "email" }, "oneTimePassword": "H5Iiz3JTaQeIV8p", }, ] /personalaccountdata/{personalAccountDataId}: parameters: - in: path name: personalAccountDataId schema: type: string format: uuid example: e4e0d37d-d01e-4633-b849-87113ed207bd required: true description: The id of the personal account data. patch: summary: P5. Update personal account data. description: Update personal account data. tags: - Order Line requestBody: content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "photoReference": "DSC_0502.JPG", "fileType": "image/jpg", "challengeTypeId": 1, "oneTimePassword": "H5Iiz3JTaQeIV8p", } responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "personalAccountDataId": "47041fde-7044-42e6-9ab5-091c05ce32f5", } delete: summary: P5. Delete personal account data. description: Delete personal account data. tags: - Order Line responses: "200": description: Ok /payments: get: summary: P2. Find payments. description: Find payments. tags: - Payment parameters: - in: query name: paymentId schema: type: string format: uuid example: 4ea492ff-8ffc-4a4e-901e-59f05e854285 required: false description: The id of the payment. - in: query name: orderId schema: type: string format: uuid example: 292e5f86-cefc-4224-9506-d204ed3a426f required: false description: The id of the order where the payment belongs to. - in: query name: createdBefore schema: type: string format: date-time example: 2024-03-22T09:00:00 required: false description: Timestamp before which the payment 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 payment should have been created. - in: query name: amountDebit schema: type: integer example: 100 required: false description: The amount of debit to pay. - in: query name: paymentMethodId schema: type: integer example: 1 required: false description: The technical id of the payment method used to pay. - in: query name: touchPointId schema: type: integer example: 1 required: false description: The id of the touch point where the payment was initiated. - in: query name: isRefund schema: type: boolean example: false required: false description: If the payment concerns a refund or not. - in: query name: htmPaymentReference schema: type: string example: HTM-1234 required: false description: The payment reference on HTM side. - in: query name: pspPaymentReference schema: type: string example: Buckaroo-1234 required: false description: The payment reference on PSP side. - in: query name: paymentStatusCode schema: type: string example: 190 required: false description: The current status of the payment. - in: query name: paymentStatusSubCode schema: type: string example: S001 required: false description: The current substatus of the payment. responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/unavailable" example: [ { "paymentId": "3ba4a3c7-0803-4214-800b-365851b8903d", "orderId": "afa89108-3e40-44ac-8bea-7c7f0f2d4006", "createdOn": "2024-03-22T09:00:00", "amountDebit": 121, "paymentMethod": { "paymentMethodId": 1, "name": "ideal", "provider": "Buckaroo", }, "touchPointId": 1, "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", }, }, ] /payments/{paymentId}: parameters: - in: path name: paymentId schema: type: string format: uuid example: fd09f3c5-35d9-4a1b-a98b-e46addb663f2 required: true description: The id of the payment to process. patch: summary: P2. Update a payment. description: Update a payment. tags: - Payment requestBody: content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "htmPaymentReference": "HTM-1234", "pspPaymentReference": "Buckaroo-1234", } responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "paymentId": "dbbc3913-414e-4528-9c95-6c11a11e04ac" } /payments/{paymentId}/paymentstatuses: parameters: - in: path name: paymentId schema: type: string format: uuid example: 4c7f67bd-175e-472b-86e8-f7b388754dce required: true description: The id of the payment to process. post: summary: P2. Add a payment status. description: Add a payment status. tags: - Payment requestBody: content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "createdOn": "2024-03-22T09:00:00", "statusCode": "190", "statusDescription": "Success", "statusSubCode": "S001", "statusSubDescription": "PaymentSuccessFul", } responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "paymentId": "f3919c07-8fa1-4ff4-a4a6-8f99106b9129", "paymentStatusId": 2, } /mandateinputs: get: summary: P2. Find mandate inputs. description: Find mandate inputs. tags: - Payment parameters: - in: query name: mandateInputId schema: type: string format: uuid example: 3448e3a7-8e66-4563-ae4f-2d3ec13ca97d required: false description: The id of the mandate input. - in: query name: paymentId schema: type: string format: uuid example: 24b6300a-1d43-4ed4-8b5f-034f6471c9cb required: false description: The id of the payment. - in: query name: directDebitMandateTypeId schema: type: array items: type: integer explode: false required: false description: Filter on possible types of mandates. 1 = import, 2 = invite, 3 = paper. - in: query name: createdBefore schema: type: string format: date-time example: 2024-03-22T09:00:00 required: false description: Timestamp before which the mandate input 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 mandate input should have been created. - in: query name: bic schema: type: string example: BUNQNL2A required: false description: The BIC of the mandate input. - in: query name: iban schema: type: string example: NL15BUNQ0417164300 required: false description: The IBAN of the mandate input. - in: query name: ascription schema: type: string example: J. de Vries required: false description: The ascription of the mandate input. - in: query name: place schema: type: string example: Den Haag required: false description: The place where the mandate was signed. responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/unavailable" example: [ { "mandateInputId": "0a875e67-dc9f-4825-a030-d732a2adbfbc", "paymentId": "4a7ee6ec-d218-49b7-a5bf-0107945767ee", "orderId": "afa89108-3e40-44ac-8bea-7c7f0f2d4006", "directDebitMandateType": { "directDebitMandateTypeId": 1, "name": "import" }, "createdOn": "2024-03-22T09:00:00", "bic": "RABONL2U", "iban": "NL44RABO0123456789", "ascription": "J. de Vries", "place": "Den Haag", }, ] /mandateinputs/{mandateInputId}: parameters: - in: path name: mandateInputId schema: type: string format: uuid example: 279dfaf5-b744-4d66-964a-d8c0a5c05809 required: true description: The id of the mandate input to process. delete: summary: P2. Delete a mandate input. description: Delete a mandate input. tags: - Payment responses: "200": description: Ok /ordercustomers: get: summary: P3. Find customers on an order. description: Find customers on an order. tags: - Customer parameters: - in: query name: orderCustomerId schema: type: string format: uuid example: 0743969c-4e4c-4123-bd45-0366f7add029 required: false description: The id of the customer on the order. - in: query name: orderId schema: type: string format: uuid example: 9935456d-45e5-419a-91c0-5deb85119f2b required: false description: The id of order. - in: query name: birthname schema: type: string example: Jan required: false description: The birth name of the customer. - in: query name: surname schema: type: string example: Vries required: false description: The surname of the customer. - in: query name: prefix schema: type: string example: de required: false description: The prefix of the customer. - in: query name: emailAddress schema: type: string example: jandevries@outlook.com required: false description: The email address of the customer. - in: query name: dateOfBirth schema: type: string format: date example: 1970-01-01 required: false description: The date of birth of the customer. responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/unavailable" example: [ { "orderCustomerId": "19ef6882-8eda-43bf-b48e-9b4ff8745a50", "orderId": "f59e4769-53a0-4156-8991-6f9119ba629f", "birthname": "Jan", "surname": "Vries", "prefix": "de", "emailAddress": "jandevries@outlook.com", "dateOfBirth": "1970-01-01", "orderCustomerAddresses": [ { "orderCustomerAddressId": "aa50047c-58ac-4f15-9448-ee000dfc6893", "addressType": { "addressTypeId": 1, "name": "Billing" }, "street": "Kon. Julianaplein", "houseNumber": 10, "houseNumberSuffix": "a", "postalCode": "2595 AA", "city": "Den Haag", "country": "NL", }, ], }, ] /ordercustomers/{orderCustomerId}: parameters: - in: path name: orderCustomerId schema: type: string format: uuid example: 4edbfe64-7858-44f0-b262-2bbb7e1af4a4 required: true description: The id of the customer. patch: summary: P3. Update a customer on an order. description: Update a customer on an order. tags: - Customer requestBody: content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "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" example: { "orderCustomerId": "bcf2896d-1ff4-4c5a-ad57-db12fd3c94e7" } /ordercustomers/{orderCustomerId}/ordercustomeraddresses: parameters: - in: path name: orderCustomerId schema: type: string format: uuid example: d1dd439b-6072-4b97-89c9-724268865b93 required: true description: The id of the customer on the order. post: summary: P3. Add an addresses to a customer of the order. description: Add an addresses to a customer of the order. tags: - Customer requestBody: content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "addressTypeId": 1, "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" example: { "orderCustomerAddressId": "9c9ae71f-7de9-49f9-b676-b0fe103f6286", } /ordercustomeraddresses: get: summary: P3. Find addresses of a customer on an order. description: Find addresses of a customer on an order. tags: - Customer parameters: - in: query name: orderCustomerAddressId schema: type: string format: uuid example: 0743969c-4e4c-4123-bd45-0366f7add029 required: false description: The id of the addresses of a customer on the order. - in: query name: orderCustomerId schema: type: string format: uuid example: 9935456d-45e5-419a-91c0-5deb85119f2b required: false description: The id of the customer on the order. - in: query name: addressTypeId schema: type: array items: type: integer explode: false required: false description: Filter on possible types of addresses. 1 = billing, 2 = shipping. - in: query name: street schema: type: string example: Kon. Julianaplein required: false description: The street of the address. - in: query name: houseNumber schema: type: integer example: 10 required: false description: The house number of the address. - in: query name: houseNumberSuffix schema: type: string example: A required: false description: The suffix of the house number. - in: query name: postalCode schema: type: string example: 2595 AA required: false description: The postal code of the address. - in: query name: city schema: type: string example: Den Haag required: false description: The city of the address. - in: query name: country schema: type: string example: NL required: false description: The country of the address. responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/unavailable" example: [ { "orderCustomerAddressId": "aa50047c-58ac-4f15-9448-ee000dfc6893", "orderCustomerId": "540d8b7a-d626-443f-8f99-c24398604d7a", "orderId": "73cca95a-81d1-468f-a8bf-99b36367001a", "addressType": { "addressTypeId": 1, "name": "Billing" }, "street": "Kon. Julianaplein", "houseNumber": 10, "houseNumberSuffix": "a", "postalCode": "2595 AA", "city": "Den Haag", "country": "NL", }, ] /ordercustomeraddresses/{orderCustomerAddressId}: parameters: - in: path name: orderCustomerAddressId schema: type: string format: uuid example: 4edbfe64-7858-44f0-b262-2bbb7e1af4a4 required: true description: The id of the customer address. patch: summary: P3. Update an address of a customer on an order. description: Update an address of a customer on an order. tags: - Customer requestBody: content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "addressTypeId": 1, "street": "Kon. Julianaplein", "houseNumber": 10, "houseNumberSuffix": "a", "postalCode": "2595 AA", "city": "Den Haag", "country": "NL", } responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "orderCustomerAddressId": "d5005529-d4f2-4552-a5b8-477dab7836ec", } 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