diff --git a/src/openapi/orders/orders-crud.yaml b/src/openapi/orders/orders-crud.yaml index d8d8f2b..18d6f2f 100644 --- a/src/openapi/orders/orders-crud.yaml +++ b/src/openapi/orders/orders-crud.yaml @@ -7,6 +7,282 @@ servers: - url: https://api.integratielaag.nl/v1 paths: /orders: + get: + tags: + - Order + summary: Find orders. + description: Find orders. + parameters: + - in: query + name: externalOrderId + schema: + type: string + format: uuid + example: "a0ef57fa-395c-4a03-96e9-234c26dccea9" + required: false + description: The id of the order at the external party (e.g. Perplex). + - in: query + name: orderNumber + schema: + type: string + example: "OV-1337" + 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 possible order statuses. 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": "a0ef57fa-395c-4a03-96e9-234c26dccea9", + "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", + }, + "orderLines": + [ + { + "orderLineId": "7a7a9d1a-3fc8-4058-a28b-082860aaa311", + "externalOrderLineId": "2ba39cae-c401-446b-ae5c-2d6d85b3df1f", + "productId": 1, + "productName": "HTM Maandkorting 20%", + "productCode": "HTM-MND-20", + "productDescription": "HTM Maandkorting 20%", + "taxAmount": 21, + "taxCodeId": "V21", + "amountExclTax": 100, + "amountInclTax": 121, + "quantity": 1, + "terms": "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": + [ + { + "customerTokeId": "878ad7c1-cd8f-4bcf-a983-1bd8c6e6975e", + "tokenType": + { "tokenTypeId": 1, "name": "EMV" }, + + "ovPayTokenId": 1, + "serviceReferenceId": "NLOV1234567ABCDEFG", + "amount": 34, + "ovpasNumber": "OV34567", + "verificationCode": "A7H6", + "xTAT": "3b5f2354-d8a1-4317-bb6e-2c32458bc061", + "xBOT": "0fbdb14c-9306-462e-aca7-765a4980a2f7", + "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", + "mandateType": + { "mandateTypeId": 1, "name": "import" }, + "createdOn": "2024-03-22T09:00:00", + "bic": "RABONL2U", + "iban": "NL44RABO0123456789", + "ascription": "J. de Vries", + }, + }, + ], + "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", + "orderAddressType": + { + "orderAddressTypeId": 1, + "name": "Billing", + }, + "street": "Kon. Julianaplein", + "houseNumber": 10, + "houseNumberSuffix": "a", + "postalCode": "2595 AA", + "city": "Den Haag", + "country": "NL", + }, + ], + }, + }, + ], + "href": null, + } post: tags: - Order @@ -137,7 +413,7 @@ paths: } responses: "201": - description: Created + description: "Created" content: application/json: schema: @@ -152,7 +428,7 @@ paths: format: uuid example: d1dd439b-6072-4b97-89c9-724268865b93 required: true - description: The id of the order to get. + description: The id of the order to process. get: summary: Get a single order. description: Get a single order. @@ -187,7 +463,7 @@ paths: "order_OrderStatus": { "order_orderStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f", - "orderStatus": { "orderStatusId": 4, "status": "paid" }, + "orderStatus": { "orderStatusId": 4, "name": "paid" }, "createdOn": "2024-03-22T09:00:00", "description": "Order succesvol betaald", }, @@ -209,7 +485,7 @@ paths: "validFrom": "2024-03-22T09:00:00", "validUntil": "2025-03-22T09:00:00", "orderLineStatus": - { "orderLineStatusId": 4, "status": "delivered" }, + { "orderLineStatusId": 4, "name": "delivered" }, "createdOn": "2024-03-22T09:00:00", "lastUpdatedOn": "2024-03-22T09:00:00", "customerTokens": @@ -243,7 +519,7 @@ paths: { "orderAccountingStatusId": "7c5118d0-8535-4464-9239-83a7ba8fd2db", "accountingStatus": - { "accountingStatusId": 1, "status": "open" }, + { "accountingStatusId": 1, "name": "open" }, "createdOn": "2024-03-22T09:00:00", "description": "Financiele transactie voor de FIKO.", }, @@ -280,10 +556,8 @@ paths: "mandateInput": { "mandateInputId": "0a875e67-dc9f-4825-a030-d732a2adbfbc", - "mandateType": { - "mandateTypeId": 1, - "name": "import" - }, + "mandateType": + { "mandateTypeId": 1, "name": "import" }, "createdOn": "2024-03-22T09:00:00", "bic": "RABONL2U", "iban": "NL44RABO0123456789", @@ -303,10 +577,8 @@ paths: [ { "orderCustomerAddressId": "aa50047c-58ac-4f15-9448-ee000dfc6893", - "orderAddressType": { - "orderAddressTypeId": 1, - "name": "Billing", - }, + "orderAddressType": + { "orderAddressTypeId": 1, "name": "Billing" }, "street": "Kon. Julianaplein", "houseNumber": 10, "houseNumberSuffix": "a", @@ -317,6 +589,33 @@ paths: ], }, } + patch: + summary: 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: "Created" + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: { "orderId": "afce35b2-1dff-4ace-98d0-4b9ac405c87d" } components: securitySchemes: bearerToken: @@ -336,19 +635,19 @@ components: title: type: string example: "You do not have enough credit." - detail: + detail: type: string example: "Your current balance is 30, but that costs 50." - instance: + instance: type: string example: "/account/12345/msgs/abc" - balance: + balance: type: string example: "30" accounts: type: array items: type: string - example: + example: - "/account/12345" - "/account/67890"