From 9f6d5c3096696f5681a925d7a774595d426de3e0 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Mon, 21 Oct 2024 16:13:03 +0200 Subject: [PATCH 01/24] DHIL-2644 - Added sourceMetadata. --- src/openapi/fiko/fiko-crud.yaml | 99 +++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) diff --git a/src/openapi/fiko/fiko-crud.yaml b/src/openapi/fiko/fiko-crud.yaml index 74a019d..a5df59a 100644 --- a/src/openapi/fiko/fiko-crud.yaml +++ b/src/openapi/fiko/fiko-crud.yaml @@ -762,6 +762,105 @@ paths: $ref: "#/components/schemas/unavailable" example: { "taxMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf" } + /sourceMetadata: + get: + summary: Get source metadata. + description: Get source metadata. + tags: + - Metadata v2 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + [ + { + "sourceMetadataId": "bc4ea24a-27a5-40e8-bbbc-57a105afaaa0", + "incomingName": "VerkoopEngine", + "incomingEntity": "OrderLine", + "outgoingName": "Website Verkopen", + "businessOwner": "Corneel Verstoep", + "rejectionProcessing": "system", + "rejectionInfo": "api.htm.nl/v2/account/12345/msgs/abc", + "validFrom": "2024-01-01T00:00:00.000", + "validUntil": null, + }, + ] + post: + summary: Add source metadata. + description: Add source metadata. + tags: + - Metadata v2 + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "incomingName": "VerkoopEngine", + "incomingEntity": "OrderLine", + "outgoingName": "Website Verkopen", + "businessOwner": "Corneel Verstoep", + "rejectionProcessing": "system", + "rejectionInfo": "api.htm.nl/v2/account/12345/msgs/abc", + "validFrom": "2024-03-22T09:00:00", + "validUntil": null, + } + responses: + "201": + description: Created + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { "sourceMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf" } + /sourceMetadata/{sourceMetadataId}: + parameters: + - in: path + name: sourceMetadataId + schema: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + required: true + description: The id of the source metadata. + patch: + summary: Update source metadata. + description: Update source metadata. + tags: + - Metadata v2 + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "incomingName": "VerkoopEngine", + "incomingEntity": "OrderLine", + "outgoingName": "Website Verkopen", + "businessOwner": "Corneel Verstoep", + "rejectionProcessing": "system", + "rejectionInfo": "api.htm.nl/v2/account/12345/msgs/abc", + "validFrom": "2024-03-22T09:00:00", + "validUntil": null, + } + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { "sourceMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf" } components: securitySchemes: bearerToken: From 088420d8db3d3590148f9f7ab001aa092366adf2 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Mon, 21 Oct 2024 16:43:29 +0200 Subject: [PATCH 02/24] DHIL-3364 - order_OrderStatus is one-to-many. --- src/openapi/orders/orders-crud.yaml | 66 ++++++++++++++++++++--------- 1 file changed, 47 insertions(+), 19 deletions(-) diff --git a/src/openapi/orders/orders-crud.yaml b/src/openapi/orders/orders-crud.yaml index 69ecd1c..223eb5b 100644 --- a/src/openapi/orders/orders-crud.yaml +++ b/src/openapi/orders/orders-crud.yaml @@ -110,7 +110,7 @@ paths: type: integer explode: false required: false - description: Filter on possible order statuses. 1 = concept, 2 = awaitingPayment, 3 = pendingPayment, 4 = paid, 5 = delivered, 6 = cancelled. + description: Filter on most recent order status. 1 = concept, 2 = awaitingPayment, 3 = pendingPayment, 4 = paid, 5 = delivered, 6 = cancelled. responses: "200": description: OK @@ -141,13 +141,25 @@ paths: "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": "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": [ { @@ -315,11 +327,18 @@ paths: "shippingAddressId": 1, "createdOn": "2024-03-22T09:00:00", "order_OrderStatus": - { - "orderStatusId": 4, - "createdOn": "2024-03-22T09:00:00", - "description": "Order succesvol betaald", - }, + [ + { + "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": [ { @@ -475,12 +494,21 @@ paths: "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": "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": [ { From 3dc7cc97650afca631bceed2796d426ba71e8fd8 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Tue, 22 Oct 2024 10:45:21 +0200 Subject: [PATCH 03/24] DHIL-2644 - Added more metadata. --- src/openapi/fiko/fiko-crud.yaml | 302 ++++++++++++++++++++++++++++++-- 1 file changed, 284 insertions(+), 18 deletions(-) diff --git a/src/openapi/fiko/fiko-crud.yaml b/src/openapi/fiko/fiko-crud.yaml index a5df59a..59068c9 100644 --- a/src/openapi/fiko/fiko-crud.yaml +++ b/src/openapi/fiko/fiko-crud.yaml @@ -221,7 +221,7 @@ paths: $ref: "#/components/schemas/unavailable" example: { "transactionItemId": "d667d293-aa82-4c9e-9b10-77cffc9058a1" } - /transactionItems/{transactionItemId}/processingfailures: + /transactionitems/{transactionItemId}/processingfailures: parameters: - in: path name: transactionItemId @@ -278,7 +278,7 @@ paths: { "processingFailureId": "afce35b2-1dff-4ace-98d0-4b9ac405c87d", } - /transactionItems/{transactionItemId}/transactionAuditTrail: + /transactionitems/{transactionItemId}/transactionaudittrail: parameters: - in: path name: transactionItemId @@ -474,7 +474,7 @@ paths: ], }, ] - /productMetadata: + /productmetadata: post: summary: Add product metadata. description: Add product metadata. @@ -507,7 +507,7 @@ paths: $ref: "#/components/schemas/unavailable" example: { "productMetadataId": "39a87c2a-9011-4dfd-b35e-1245a98c2e61" } - /contraAccountMetadata: + /contraaccountmetadata: get: summary: Get contra account metadata. description: Get contra account metadata. @@ -533,14 +533,7 @@ paths: type: string format: date-time example: 2024-03-22T09:00:00 - description: The valid from date of the metadata. - - in: query - name: validUntil - schema: - type: string - format: date-time - example: 2024-03-22T09:00:00 - description: The valid until date of the metadata. + description: Timestamp that the metadata is valid. responses: "200": description: OK @@ -585,7 +578,7 @@ paths: { "contraAccountMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf", } - /contraAccountMetadata/{contraAccountMetadataId}: + /contraaccountmetadata/{contraAccountMetadataId}: parameters: - in: path name: contraAccountMetadataId @@ -623,7 +616,7 @@ paths: { "contraAccountMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf", } - /taxMetadata: + /taxmetadata: get: summary: Get tax metadata. description: Get tax metadata. @@ -661,7 +654,7 @@ paths: type: string format: date-time example: 2024-03-22T09:00:00 - description: Date that the tax metadata is valid. + description: Timestamp that the metadata is valid. responses: "200": description: OK @@ -724,7 +717,7 @@ paths: $ref: "#/components/schemas/unavailable" example: { "taxMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf" } - /taxMetadata/{taxMetadataId}: + /taxmetadata/{taxMetadataId}: parameters: - in: path name: taxMetadataId @@ -762,12 +755,63 @@ paths: $ref: "#/components/schemas/unavailable" example: { "taxMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf" } - /sourceMetadata: + /sourcemetadata: get: summary: Get source metadata. description: Get source metadata. tags: - Metadata v2 + parameters: + - in: query + name: sourceMetadataId + schema: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + required: true + description: The id of the source metadata. + - in: query + name: incomingName + schema: + type: string + example: VerkoopEngine + description: The name of the source. + - in: query + name: incomingEntity + schema: + type: string + example: OrderLine + description: The entity of the source. + - in: query + name: outgoingName + schema: + type: string + example: Website Verkopen + description: The name of the destination. + - in: query + name: businessOwner + schema: + type: string + example: Corneel Verstoep + description: The business owner of the source. + - in: query + name: rejectionProcessing + schema: + type: string + example: system + description: The rejection processing of the source. + - in: query + name: rejectionInfo + schema: + type: string + example: api.htm.nl/v2/account/12345/msgs/abc + description: The rejection info of the source. + - in: query + name: validAt + schema: + type: string + example: 2024-01-01T00:00:00.000 + description: Timestamp that the metadata is valid. responses: "200": description: OK @@ -820,7 +864,7 @@ paths: $ref: "#/components/schemas/unavailable" example: { "sourceMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf" } - /sourceMetadata/{sourceMetadataId}: + /sourcemetadata/{sourceMetadataId}: parameters: - in: path name: sourceMetadataId @@ -861,6 +905,228 @@ paths: $ref: "#/components/schemas/unavailable" example: { "sourceMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf" } + /accountingperiodmetadata: + get: + summary: Get accounting period metadata. + description: Get accounting period metadata. + tags: + - Metadata v2 + parameters: + - in: query + name: accountingPeriodMetadataId + schema: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + description: The id of the accounting period metadata. + - in: query + name: accountingPeriod + schema: + type: string + example: 2024-01 + description: The accounting period. + - in: query + name: isOpen + schema: + type: boolean + example: true + description: Whether the accounting period is open. + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + [ + { + "accountingPeriodMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf", + "accountingPeriod": "2024-01", + "isOpen": true, + }, + ] + post: + summary: Add accounting period metadata. + description: Add accounting period metadata. + tags: + - Metadata v2 + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: { "accountingPeriod": "2024-01", "isOpen": true } + responses: + "201": + description: Created + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "accountingPeriodMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf", + } + /accountingperiodmetadata/{accountingPeriodMetadataId}: + parameters: + - in: path + name: accountingPeriodMetadataId + schema: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + required: true + description: The id of the accounting period metadata. + patch: + summary: Update accounting period metadata. + description: Update accounting period metadata. + tags: + - Metadata v2 + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: { "accountingPeriod": "2024-01", "isOpen": true } + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "accountingPeriodMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf", + } + /concessionmetadata: + get: + summary: Get concession metadata. + description: Get concession metadata. + tags: + - Metadata v2 + parameters: + - in: query + name: concessionMetadataId + schema: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + required: true + description: The id of the concession metadata. + - in: query + name: concessionId + schema: + type: integer + example: 1 + description: The id of the concession. + - in: query + name: percentage + schema: + type: number + example: 84.021 + description: The percentage of the concession. + - in: query + name: validAt + schema: + type: string + example: 2024-01-01T00:00:00.000 + description: Timestamp that the metadata is valid. + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + [ + { + "concessionMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf", + "concession": { "concessionId": 1, "name": "RAIL" }, + "percentage": 84.021, + "validFrom": "2024-01-01T00:00:00.000", + "validUntil": null, + }, + { + "concessionMetadataId": "5ac3a5a8-4b9b-4a6a-9b1f-86ae8d6d4a9b", + "concession": { "concessionId": 2, "name": "BUS" }, + "percentage": 15.979, + "validFrom": "2024-01-01T00:00:00.000", + "validUntil": null, + }, + ] + post: + summary: Add concession metadata. + description: Add concession metadata. + tags: + - Metadata v2 + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "concessionId": 2, + "percentage": 15.979, + "validFrom": "2024-01-01T00:00:00.000", + "validUntil": null, + } + responses: + "201": + description: Created + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "concessionMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf", + } + /concessionmetadata/{concessionMetadataId}: + parameters: + - in: path + name: concessionMetadataId + schema: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + required: true + description: The id of the concession metadata. + patch: + summary: Update concession metadata. + description: Update concession metadata. + tags: + - Metadata v2 + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "concessionId": 2, + "percentage": 15.979, + "validFrom": "2024-01-01T00:00:00.000", + "validUntil": null, + } + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "concessionMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf", + } components: securitySchemes: bearerToken: From 2e1a28c58323e83ca95172097bd4bfc3bacaf39a Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Tue, 22 Oct 2024 11:47:41 +0200 Subject: [PATCH 04/24] DHIL-2644 - Added reference data and minor improvements. --- src/openapi/fiko/fiko-crud.yaml | 190 +++++++++++++++++++++++++------- 1 file changed, 151 insertions(+), 39 deletions(-) diff --git a/src/openapi/fiko/fiko-crud.yaml b/src/openapi/fiko/fiko-crud.yaml index 59068c9..1fdd3fe 100644 --- a/src/openapi/fiko/fiko-crud.yaml +++ b/src/openapi/fiko/fiko-crud.yaml @@ -278,7 +278,7 @@ paths: { "processingFailureId": "afce35b2-1dff-4ace-98d0-4b9ac405c87d", } - /transactionitems/{transactionItemId}/transactionaudittrail: + /transactionitems/{transactionItemId}/transactionaudittrails: parameters: - in: path name: transactionItemId @@ -288,30 +288,6 @@ paths: example: 9834b346-d68c-438d-9bd5-6716422c2657 required: true description: The id of the transaction item to process. - get: - summary: Get all audit trail entries for a transaction. - description: Get all audit trail entries for a transaction. - tags: - - Audit Trail v2 - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: "#/components/schemas/unavailable" - example: - [ - { - "transactionAuditTrailId": "afce35b2-1dff-4ace-98d0-4b9ac405c87d", - "transactionItemId": "d667d293-aa82-4c9e-9b10-77cffc9058a1", - "user": "fiko", - "timestamp": "2022-01-01 00:00:00", - "action": "created", - "description": "Transaction created.", - "correlationId": "a3891560-3084-42cb-867c-f289e7cda47d", - }, - ] post: summary: Add an audit trail entry. description: Add an audit trail entry. @@ -342,6 +318,86 @@ paths: { "transactionAuditTrailId": "afce35b2-1dff-4ace-98d0-4b9ac405c87d", } + /transactionaudittrails: + get: + summary: Find audit trail entries. + description: Find audit trail entries. + tags: + - Audit Trail v2 + parameters: + - in: query + name: transactionAuditTrailId + schema: + type: string + format: uuid + example: 498e11fd-86c7-4e26-8ca9-c5ed9049da9e + required: true + description: The id of the audit trail. + - in: query + name: transactionItemId + schema: + type: string + format: uuid + example: 9834b346-d68c-438d-9bd5-6716422c2657 + required: true + description: The id of the transaction item. + - in: query + name: user + schema: + type: string + example: fiko + description: The user who created the audit trail. + - in: query + name: timestampBefore + schema: + type: string + example: 2022-01-01 00:00:00 + description: The timestamp before the event occured. + - in: query + name: timestampAfter + schema: + type: string + example: 2022-01-01 00:00:00 + description: The timestamp after the event occured. + - in: query + name: action + schema: + type: array + items: + type: string + example: [created, succeeded, failed] + description: The action of the event. + - in: query + name: description + schema: + type: string + example: Transaction created. + description: The description of the event. + - in: query + name: correlationId + schema: + type: string + example: a3891560-3084-42cb-867c-f289e7cda47d + description: The correlation id of the event. + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + [ + { + "transactionAuditTrailId": "afce35b2-1dff-4ace-98d0-4b9ac405c87d", + "transactionItemId": "d667d293-aa82-4c9e-9b10-77cffc9058a1", + "user": "fiko", + "timestamp": "2022-01-01 00:00:00", + "action": "created", + "description": "Transaction created.", + "correlationId": "a3891560-3084-42cb-867c-f289e7cda47d", + }, + ] /processingfailures: get: summary: Find processing failures. @@ -509,8 +565,8 @@ paths: { "productMetadataId": "39a87c2a-9011-4dfd-b35e-1245a98c2e61" } /contraaccountmetadata: get: - summary: Get contra account metadata. - description: Get contra account metadata. + summary: Find contra account metadata. + description: Find contra account metadata. tags: - Metadata v2 parameters: @@ -618,8 +674,8 @@ paths: } /taxmetadata: get: - summary: Get tax metadata. - description: Get tax metadata. + summary: Find tax metadata. + description: Find tax metadata. tags: - Metadata v2 parameters: @@ -757,8 +813,8 @@ paths: { "taxMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf" } /sourcemetadata: get: - summary: Get source metadata. - description: Get source metadata. + summary: Find source metadata. + description: Find source metadata. tags: - Metadata v2 parameters: @@ -907,8 +963,8 @@ paths: { "sourceMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf" } /accountingperiodmetadata: get: - summary: Get accounting period metadata. - description: Get accounting period metadata. + summary: Find accounting period metadata. + description: Find accounting period metadata. tags: - Metadata v2 parameters: @@ -1004,8 +1060,8 @@ paths: } /concessionmetadata: get: - summary: Get concession metadata. - description: Get concession metadata. + summary: Find concession metadata. + description: Find concession metadata. tags: - Metadata v2 parameters: @@ -1020,8 +1076,10 @@ paths: - in: query name: concessionId schema: - type: integer - example: 1 + type: array + items: + type: integer + example: [1, 2] description: The id of the concession. - in: query name: percentage @@ -1046,14 +1104,14 @@ paths: [ { "concessionMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf", - "concession": { "concessionId": 1, "name": "RAIL" }, + "concession": { "concessionId": 1, "name": "rail" }, "percentage": 84.021, "validFrom": "2024-01-01T00:00:00.000", "validUntil": null, }, { "concessionMetadataId": "5ac3a5a8-4b9b-4a6a-9b1f-86ae8d6d4a9b", - "concession": { "concessionId": 2, "name": "BUS" }, + "concession": { "concessionId": 2, "name": "bus" }, "percentage": 15.979, "validFrom": "2024-01-01T00:00:00.000", "validUntil": null, @@ -1127,6 +1185,60 @@ paths: { "concessionMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf", } + /concessions: + get: + summary: Get all concessions. + description: Get all concessions. + tags: + - References v2 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + [ + { + "concessionId": 1, + "name": "rail", + }, + { + "concessionId": 2, + "name": "bus", + }, + { + "concessionId": 3, + "name": "not_applicable", + }, + ] + /failurereasons: + get: + summary: Get all failure reasons. + description: Get all failure reasons. + tags: + - References v2 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + [ + { + "failureReasonId": 1, + "reasonCode": "002", + "reasonDesc": "Contra account does not exist" + }, + { + "failureReasonId": 2, + "reasonCode": "003", + "reasonDesc": "Accouting period closed" + }, + ] components: securitySchemes: bearerToken: From c65c7dae2640b7ce32978b10b6012fde93193874 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Tue, 22 Oct 2024 14:01:01 +0200 Subject: [PATCH 05/24] DHIL-2644 - Added metadata audit trail operations. --- src/openapi/fiko/fiko-crud.yaml | 312 ++++++++++++++++++++++++++++++++ 1 file changed, 312 insertions(+) diff --git a/src/openapi/fiko/fiko-crud.yaml b/src/openapi/fiko/fiko-crud.yaml index 1fdd3fe..c5d0b73 100644 --- a/src/openapi/fiko/fiko-crud.yaml +++ b/src/openapi/fiko/fiko-crud.yaml @@ -563,6 +563,34 @@ paths: $ref: "#/components/schemas/unavailable" example: { "productMetadataId": "39a87c2a-9011-4dfd-b35e-1245a98c2e61" } + /productmetadata/{productMetadataId}/metadataaudittrails: + parameters: + - in: path + name: productMetadataId + schema: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + required: true + description: The id of the product metadata. + post: + summary: Add metadata audit trail. + description: Add metadata audit trail. + tags: + - Audit Trail v2 + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/postMetadataAuditTrailRequest" + responses: + "201": + description: Created + content: + application/json: + schema: + $ref: "#/components/schemas/postMetadataAuditTrailResponse" /contraaccountmetadata: get: summary: Find contra account metadata. @@ -672,6 +700,34 @@ paths: { "contraAccountMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf", } + /contraaccountmetadata/{contraAccountMetadataId}/metadataaudittrails: + parameters: + - in: path + name: contraAccountMetadataId + schema: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + required: true + description: The id of the contra account metadata. + post: + summary: Add metadata audit trail. + description: Add metadata audit trail. + tags: + - Audit Trail v2 + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/postMetadataAuditTrailRequest" + responses: + "201": + description: Created + content: + application/json: + schema: + $ref: "#/components/schemas/postMetadataAuditTrailResponse" /taxmetadata: get: summary: Find tax metadata. @@ -811,6 +867,34 @@ paths: $ref: "#/components/schemas/unavailable" example: { "taxMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf" } + /taxmetadata/{taxMetadataId}/metadataaudittrails: + parameters: + - in: path + name: taxMetadataId + schema: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + required: true + description: The id of the contra account metadata. + post: + summary: Add metadata audit trail. + description: Add metadata audit trail. + tags: + - Audit Trail v2 + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/postMetadataAuditTrailRequest" + responses: + "201": + description: Created + content: + application/json: + schema: + $ref: "#/components/schemas/postMetadataAuditTrailResponse" /sourcemetadata: get: summary: Find source metadata. @@ -961,6 +1045,34 @@ paths: $ref: "#/components/schemas/unavailable" example: { "sourceMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf" } + /sourcemetadata/{sourceMetadataId}/metadataaudittrails: + parameters: + - in: path + name: sourceMetadataId + schema: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + required: true + description: The id of the contra account metadata. + post: + summary: Add metadata audit trail. + description: Add metadata audit trail. + tags: + - Audit Trail v2 + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/postMetadataAuditTrailRequest" + responses: + "201": + description: Created + content: + application/json: + schema: + $ref: "#/components/schemas/postMetadataAuditTrailResponse" /accountingperiodmetadata: get: summary: Find accounting period metadata. @@ -1058,6 +1170,34 @@ paths: { "accountingPeriodMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf", } + /accountingperiodmetadata/{accountingPeriodMetadataId}/metadataaudittrails: + parameters: + - in: path + name: accountingPeriodMetadataId + schema: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + required: true + description: The id of the contra account metadata. + post: + summary: Add metadata audit trail. + description: Add metadata audit trail. + tags: + - Audit Trail v2 + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/postMetadataAuditTrailRequest" + responses: + "201": + description: Created + content: + application/json: + schema: + $ref: "#/components/schemas/postMetadataAuditTrailResponse" /concessionmetadata: get: summary: Find concession metadata. @@ -1185,6 +1325,143 @@ paths: { "concessionMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf", } + /concessionmetadata/{concessionMetadataId}/metadataaudittrails: + parameters: + - in: path + name: concessionMetadataId + schema: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + required: true + description: The id of the product metadata. + post: + summary: Add metadata audit trail. + description: Add metadata audit trail. + tags: + - Audit Trail v2 + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/postMetadataAuditTrailRequest" + responses: + "201": + description: Created + content: + application/json: + schema: + $ref: "#/components/schemas/postMetadataAuditTrailResponse" + /metadataaudittrails: + get: + summary: Find metadata audit trails. + description: Find metadata audit trails. + tags: + - Audit Trail v2 + parameters: + - in: query + name: metadataAuditTrailId + schema: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + required: true + description: The id of the metadata audit trail. + - in: query + name: productMetadataId + schema: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + description: The id of the product metadata. + - in: query + name: concessionMetadataId + schema: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + description: The id of the concession metadata. + - in: query + name: contraAccountMetadataId + schema: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + description: The id of the contra account metadata. + - in: query + name: taxMetadataId + schema: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + description: The id of the tax metadata. + - in: query + name: sourceMetadataId + schema: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + description: The id of the source metadata. + - in: query + name: accountingPeriodMetadataId + schema: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + description: The id of the accounting period metadata. + - in: query + name: user + schema: + type: string + example: rmeeuws + description: The username of the user. + - in: query + name: timestampBefore + schema: + type: string + example: 2022-01-01 00:00:00 + description: The timestamp before the event occured. + - in: query + name: timestampAfter + schema: + type: string + example: 2022-01-01 00:00:00 + description: The timestamp after the event occured. + - in: query + name: correlationId + schema: + type: string + example: a3891560-3084-42cb-867c-f289e7cda47d + description: The correlation id of the event. + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "metadataAuditTrailId": "37a8095b-19db-498f-9349-5f37d21c5bdf", + "productMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf", + "concessionMetadataId": null, + "contraAccountMetadataId": null, + "taxMetadataId": null, + "sourceMetadataId": null, + "accountingPeriodMetadataId": null, + "user": "rmeeuws", + "timestamp": "2022-01-01 00:00:00", + "correlationId": "a3891560-3084-42cb-867c-f289e7cda47d", + "metadataChanges": [ + { + "metadataChangesId": "43a481a7-0845-460f-b44a-b4112cc2e193", + "fieldName": "businessOwner", + "oldValue": "Corneel Verstoep", + "newValue": "Jan-Willem Vermeij", + } + ] + } /concessions: get: summary: Get all concessions. @@ -1274,3 +1551,38 @@ components: example: - "/account/12345" - "/account/67890" + postMetadataAuditTrailRequest: + type: object + properties: + user: + type: string + example: rmeeuws + timestamp: + type: string + format: date-time + example: 2024-10-04T00:00:00 + correlationId: + type: string + format: uuid + example: a03cd0c2-38b5-4619-b9e3-d6e5b842e127 + metadataChanges: + type: array + items: + type: object + properties: + fieldName: + type: string + example: businessOwner + oldValue: + type: string + example: Corneel Verstoep + newValue: + type: string + example: Jan-Willem Vermeij + postMetadataAuditTrailResponse: + type: object + properties: + metadataAuditTrailId: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf \ No newline at end of file From c6d31a01e33086d659037ef3d4a8e8e92d59733f Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Tue, 22 Oct 2024 15:22:19 +0200 Subject: [PATCH 06/24] DHIL-2644 - Implemented GET and POST ProductMetadata. --- src/openapi/fiko/fiko-crud.yaml | 207 ++++++++++++++++++++++++++++---- 1 file changed, 184 insertions(+), 23 deletions(-) diff --git a/src/openapi/fiko/fiko-crud.yaml b/src/openapi/fiko/fiko-crud.yaml index c5d0b73..0b18233 100644 --- a/src/openapi/fiko/fiko-crud.yaml +++ b/src/openapi/fiko/fiko-crud.yaml @@ -531,6 +531,158 @@ paths: }, ] /productmetadata: + get: + summary: Get all product metadata. + description: Get all product metadata. + tags: + - Metadata v2 + parameters: + - in: query + name: productMetadataId + schema: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + description: The id of the product metadata. + - in: query + name: productCode + schema: + type: string + example: 4031 + description: The product code. + - in: query + name: department + schema: + type: string + example: 900 + description: The department. + - in: query + name: costCenter + schema: + type: string + example: 84955 + description: The cost center. + - in: query + name: costType + schema: + type: string + example: 619031 + description: The cost type. + - in: query + name: description + schema: + type: string + example: O4031_Reisproduct HTM 1 dag Anoniem + description: The description. + - in: query + name: documentCode + schema: + type: string + example: VERK_FACTUUR + description: The document code. + - in: query + name: timestampUpdated + schema: + type: string + example: 2022-01-01 00:00:00 + description: The timestamp updated. + - in: query + name: validAt + schema: + type: string + example: 2024-03-22T09:00:00 + description: Timestamp that the metadata is valid. + - in: query + name: contraAccountMetadataId + schema: + type: string + format: uuid + example: e0af8c8f-d421-4567-a14e-48e2a1bb86fb + description: Find product metadata that is linked to this contra account. + - in: query + name: concessionId + schema: + type: integer + example: 1 + description: Find product metadata that is linked to this concession. + - in: query + name: sourceMetadataId + schema: + type: string + format: uuid + example: 08d96f94-f468-467e-9068-c86c34f43097 + description: Find product metadata that is linked to this source metadata. + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "productMetadataId": "39a87c2a-9011-4dfd-b35e-1245a98c2e61", + "productCode": "4031", + "department": "900", + "costCenter": "84955", + "costType": "619031", + "description": "O4031_Reisproduct HTM 1 dag Anoniem", + "documentCode": "VERK_FACTUUR", + "timestampUpdated": "2022-01-01T00:00:00", + "validFrom": "2024-03-22T09:00:00", + "validUntil": null, + "productContraAccounts": + [ + { + "contraAccountMetadata": + { + "contraAccountMetadataId": "e0af8c8f-d421-4567-a14e-48e2a1bb86fb", + "contraAccount": "220.10419", + "validFrom": "2024-03-22T09:00:00", + "validUntil": null, + }, + "concession": { "concessionId": 2, "name": "bus" }, + "sourceMetadata": + { + "sourceMetadataId": "bc4ea24a-27a5-40e8-bbbc-57a105afaaa0", + "incomingName": "VerkoopEngine", + "incomingEntity": "OrderLine", + "outgoingName": "Website Verkopen", + "businessOwner": "Corneel Verstoep", + "rejectionProcessing": "system", + "rejectionInfo": "api.htm.nl/v2/account/12345/msgs/abc", + "validFrom": "2024-01-01T00:00:00.000", + "validUntil": null, + }, + "validFrom": "2024-03-22T09:00:00", + "validUntil": null, + }, + { + "contraAccountMetadata": + { + "contraAccountMetadataId": "69c562ca-5299-4585-ac92-46fb54aeb99e", + "contraAccount": "220.10538", + "validFrom": "2024-03-22T09:00:00", + "validUntil": null, + }, + "concession": { "concessionId": 1, "name": "bus" }, + "sourceMetadata": + { + "sourceMetadataId": "bc4ea24a-27a5-40e8-bbbc-57a105afaaa0", + "incomingName": "VerkoopEngine", + "incomingEntity": "OrderLine", + "outgoingName": "Website Verkopen", + "businessOwner": "Corneel Verstoep", + "rejectionProcessing": "system", + "rejectionInfo": "api.htm.nl/v2/account/12345/msgs/abc", + "validFrom": "2024-01-01T00:00:00.000", + "validUntil": null, + }, + "validFrom": "2024-03-22T09:00:00", + "validUntil": null, + }, + ], + } post: summary: Add product metadata. description: Add product metadata. @@ -553,6 +705,23 @@ paths: "timestampUpdated": "2022-01-01 00:00:00", "validFrom": "2024-03-22T09:00:00", "validUntil": null, + "productContraAccounts": + [ + { + "contraAccountMetadataId": "e0af8c8f-d421-4567-a14e-48e2a1bb86fb", + "concessionId": 1, + "sourceMetadataId": "08d96f94-f468-467e-9068-c86c34f43097", + "validFrom": "2024-03-22T09:00:00", + "validUntil": null, + }, + { + "contraAccountMetadataId": "02e458ce-f77a-4262-8b38-490e54f52856", + "concessionId": 2, + "sourceMetadataId": "08d96f94-f468-467e-9068-c86c34f43097", + "validFrom": "2024-03-22T09:00:00", + "validUntil": null, + }, + ], } responses: "201": @@ -1453,14 +1622,15 @@ paths: "user": "rmeeuws", "timestamp": "2022-01-01 00:00:00", "correlationId": "a3891560-3084-42cb-867c-f289e7cda47d", - "metadataChanges": [ - { - "metadataChangesId": "43a481a7-0845-460f-b44a-b4112cc2e193", - "fieldName": "businessOwner", - "oldValue": "Corneel Verstoep", - "newValue": "Jan-Willem Vermeij", - } - ] + "metadataChanges": + [ + { + "metadataChangesId": "43a481a7-0845-460f-b44a-b4112cc2e193", + "fieldName": "businessOwner", + "oldValue": "Corneel Verstoep", + "newValue": "Jan-Willem Vermeij", + }, + ], } /concessions: get: @@ -1477,18 +1647,9 @@ paths: $ref: "#/components/schemas/unavailable" example: [ - { - "concessionId": 1, - "name": "rail", - }, - { - "concessionId": 2, - "name": "bus", - }, - { - "concessionId": 3, - "name": "not_applicable", - }, + { "concessionId": 1, "name": "rail" }, + { "concessionId": 2, "name": "bus" }, + { "concessionId": 3, "name": "not_applicable" }, ] /failurereasons: get: @@ -1508,12 +1669,12 @@ paths: { "failureReasonId": 1, "reasonCode": "002", - "reasonDesc": "Contra account does not exist" + "reasonDesc": "Contra account does not exist", }, { "failureReasonId": 2, "reasonCode": "003", - "reasonDesc": "Accouting period closed" + "reasonDesc": "Accouting period closed", }, ] components: @@ -1585,4 +1746,4 @@ components: metadataAuditTrailId: type: string format: uuid - example: 37a8095b-19db-498f-9349-5f37d21c5bdf \ No newline at end of file + example: 37a8095b-19db-498f-9349-5f37d21c5bdf From 96f8dea0d970399694f00d8201cef813d37b28f7 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Tue, 22 Oct 2024 15:40:45 +0200 Subject: [PATCH 07/24] DHIL-2644 - Implemented PATCH on product metadata and product contra account. --- src/openapi/fiko/fiko-crud.yaml | 80 +++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) diff --git a/src/openapi/fiko/fiko-crud.yaml b/src/openapi/fiko/fiko-crud.yaml index 0b18233..b555d46 100644 --- a/src/openapi/fiko/fiko-crud.yaml +++ b/src/openapi/fiko/fiko-crud.yaml @@ -732,6 +732,86 @@ paths: $ref: "#/components/schemas/unavailable" example: { "productMetadataId": "39a87c2a-9011-4dfd-b35e-1245a98c2e61" } + /productmetadata/{productMetadataId}: + parameters: + - in: path + name: productMetadataId + schema: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + required: true + description: The id of the product metadata. + patch: + summary: Update product metadata. + description: Update product metadata. + tags: + - Metadata v2 + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "productCode": "4031", + "department": "900", + "costCenter": "84955", + "costType": "619031", + "description": "O4031_Reisproduct HTM 1 dag Anoniem", + "documentCode": "VERK_FACTUUR", + "timestampUpdated": "2022-01-01 00:00:00", + "validFrom": "2024-03-22T09:00:00", + "validUntil": null, + } + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { "productMetadataId": "39a87c2a-9011-4dfd-b35e-1245a98c2e61" } + /productcontraaccounts/{productContraAccountId}: + parameters: + - in: path + name: productContraAccountId + schema: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + required: true + description: The id of the product contra account. + patch: + summary: Update product contra account. + description: Update product contra account. + tags: + - Metadata v2 + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "contraAccountMetadataId": "e0af8c8f-d421-4567-a14e-48e2a1bb86fb", + "concessionId": 1, + "sourceMetadataId": "08d96f94-f468-467e-9068-c86c34f43097", + "validFrom": "2024-03-22T09:00:00", + "validUntil": null, + } + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { "productContraAccountId": "39a87c2a-9011-4dfd-b35e-1245a98c2e61" } /productmetadata/{productMetadataId}/metadataaudittrails: parameters: - in: path From 7bbbc85c4b1eede951f607a29896f8b482b356fa Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Thu, 24 Oct 2024 15:03:38 +0200 Subject: [PATCH 08/24] DHIL-3364 - externalOrderId is not a UUID but can be any string. --- src/openapi/orders/orders-crud.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/openapi/orders/orders-crud.yaml b/src/openapi/orders/orders-crud.yaml index 223eb5b..e40232a 100644 --- a/src/openapi/orders/orders-crud.yaml +++ b/src/openapi/orders/orders-crud.yaml @@ -17,8 +17,7 @@ paths: name: externalOrderId schema: type: string - format: uuid - example: 26ce08bc-0443-465f-9cd2-a7143f33eed0 + example: EXT001 required: false description: The order id in the external system. - in: query From aac4254e2e1212dfb4196c02c538c187550369f0 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Thu, 24 Oct 2024 17:48:56 +0200 Subject: [PATCH 09/24] OVPAY-1126 - Added deletes on order and order line. --- src/openapi/orders/orders-crud.yaml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/openapi/orders/orders-crud.yaml b/src/openapi/orders/orders-crud.yaml index 223eb5b..91b8880 100644 --- a/src/openapi/orders/orders-crud.yaml +++ b/src/openapi/orders/orders-crud.yaml @@ -672,6 +672,14 @@ paths: 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 @@ -1161,6 +1169,14 @@ paths: 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 From 197f1e07f6459678d69783fab5e3ca2812f92ff7 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Fri, 25 Oct 2024 09:57:04 +0200 Subject: [PATCH 10/24] OVPAY-1126 - Payments should always be added in single. --- src/openapi/orders/orders-crud.yaml | 56 ++++++++++++++--------------- 1 file changed, 27 insertions(+), 29 deletions(-) diff --git a/src/openapi/orders/orders-crud.yaml b/src/openapi/orders/orders-crud.yaml index 91b8880..8c60b61 100644 --- a/src/openapi/orders/orders-crud.yaml +++ b/src/openapi/orders/orders-crud.yaml @@ -803,8 +803,8 @@ paths: required: true description: The id of the order to process. post: - summary: P2. Add one or more payments to an order. - description: Add one or more payments to an order. + summary: P2. Add a payment to an order. + description: Add a payment to an order. tags: - Payment requestBody: @@ -813,36 +813,34 @@ paths: 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": + { + "createdOn": "2024-03-22T09:00:00", + "amountDebit": 121, + "paymentMethodId": 1, + "touchPointId": 1, + "isRefund": false, + "htmPaymentReference": "HTM-1234", + "pspPaymentReference": "Buckaroo-1234", + "paymentStatuses": + [ { - "directDebitMandateTypeId": 1, "createdOn": "2024-03-22T09:00:00", - "bic": "RABONL2U", - "iban": "NL44RABO0123456789", - "ascription": "J. de Vries", - "place": "Den Haag", + "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 From 4371149bb3335d3bd49cca2971346cddebd92d4e Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Fri, 25 Oct 2024 10:02:13 +0200 Subject: [PATCH 11/24] OVPAY-1126 - Payments should always be added in single. --- src/openapi/orders/orders-crud.yaml | 56 ++++++++++++++--------------- 1 file changed, 27 insertions(+), 29 deletions(-) diff --git a/src/openapi/orders/orders-crud.yaml b/src/openapi/orders/orders-crud.yaml index e40232a..79f5c43 100644 --- a/src/openapi/orders/orders-crud.yaml +++ b/src/openapi/orders/orders-crud.yaml @@ -794,8 +794,8 @@ paths: required: true description: The id of the order to process. post: - summary: P2. Add one or more payments to an order. - description: Add one or more payments to an order. + summary: P2. Add a payment to an order. + description: Add a payment to an order. tags: - Payment requestBody: @@ -804,36 +804,34 @@ paths: 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": + { + "createdOn": "2024-03-22T09:00:00", + "amountDebit": 121, + "paymentMethodId": 1, + "touchPointId": 1, + "isRefund": false, + "htmPaymentReference": "HTM-1234", + "pspPaymentReference": "Buckaroo-1234", + "paymentStatuses": + [ { - "directDebitMandateTypeId": 1, "createdOn": "2024-03-22T09:00:00", - "bic": "RABONL2U", - "iban": "NL44RABO0123456789", - "ascription": "J. de Vries", - "place": "Den Haag", + "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 From 2b531581174b3906e15ab8c1388870a3ee2d1f3c Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Fri, 25 Oct 2024 11:24:36 +0200 Subject: [PATCH 12/24] OVPAY-1126 - Specified endpoints for Order Creation and Order Retrieval for touch point. --- src/openapi/orders/service_engine_orders.yaml | 919 ++++++++++++++++-- 1 file changed, 837 insertions(+), 82 deletions(-) diff --git a/src/openapi/orders/service_engine_orders.yaml b/src/openapi/orders/service_engine_orders.yaml index 70d34d4..36ed1e7 100644 --- a/src/openapi/orders/service_engine_orders.yaml +++ b/src/openapi/orders/service_engine_orders.yaml @@ -13,8 +13,8 @@ paths: summary: Validate order. description: Validate order. parameters: - - name: X-HTM-JWT-AUTH-HEADER - in: header + - in: header + name: X-HTM-JWT-AUTH-HEADER required: true style: simple explode: false @@ -217,20 +217,21 @@ paths: summary: Fulfill an order. description: Fulfill an order. parameters: - - name: X-HTM-JWT-AUTH-HEADER - in: header + - in: header + name: X-HTM-JWT-AUTH-HEADER required: true style: simple explode: false schema: type: string - - name: orderId - in: path + - in: path + name: orderId required: true style: simple explode: false schema: type: string + format: uuid example: a0ef57fa-395c-4a03-96e9-234c26dccea9 requestBody: content: @@ -354,7 +355,216 @@ paths: "orderId": "a0ef57fa-395c-4a03-96e9-234c26dccea9", "orderNumber": "123456", } - /orders/: + /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 v2 (RFU) + 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" + example: + [ + { + "orderId": "afce35b2-1dff-4ace-98d0-4b9ac405c87d", + "externalOrderId": "bac3958b-804a-43e3-b5f7-0b0fffaae5b7", + "orderNumber": "123456", + "customerProfileId": 42, + "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", + }, + ], + }, + }, + ] + /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). post: tags: - Order Creation v2 (RFU) @@ -365,49 +575,342 @@ paths: application/json: schema: $ref: "#/components/schemas/unavailable" - example: null + example: + { + "externalOrderId": null, + "customerProfileId": 1337, + "totalAmount": 121, + "touchPointId": 1, + "languageId": 1, + "billingAddressId": 1, + "shippingAddressId": 1, + "createdOn": "2024-03-22T09:00:00", + "order_OrderStatus": + [ + { + "orderStatusId": 1, + "createdOn": "2024-03-22T09:00:00", + "description": "Concept order", + }, + ], + "orderLines": + [ + { + "externalOrderLineId": null, + "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 - /orders/{uuid}: - patch: + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", + "orderNumber": "ORD-123456", + } + /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 Creation v2 (RFU) - summary: Update an existing orderline. - description: Update an existing orderline. - parameters: - - name: uuid - in: path - required: true - style: simple - explode: false - schema: - type: string - example: a0ef57fa-395c-4a03-96e9-234c26dccea9 - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/unavailable" - example: null + - Order Retrieval v2 (RFU) + summary: Get a single order. + description: Get a single order. responses: "200": description: OK - /orderlines/{uuid}: + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "orderId": "afce35b2-1dff-4ace-98d0-4b9ac405c87d", + "externalOrderId": "bac3958b-804a-43e3-b5f7-0b0fffaae5b7", + "orderNumber": "123456", + "customerProfileId": 42, + "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: tags: - Order Creation v2 (RFU) summary: Update an existing order. description: Update an existing order. - parameters: - - name: uuid - in: path - required: true - style: simple - explode: false - schema: - type: string - example: a0ef57fa-395c-4a03-96e9-234c26dccea9 requestBody: content: application/json: @@ -417,102 +920,354 @@ paths: responses: "200": description: OK - /orders/{uuid}/payments: + delete: + tags: + - Order Creation v2 (RFU) + summary: Delete an existing order. + description: Delete an existing order. + responses: + "200": + description: OK + /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 v2 (RFU) + 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" + example: + { + "externalOrderLineId": null, + "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: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: { "orderLineId": "e78b78d9-4fb0-4a9c-8dc0-6d100c9f1b3f" } + /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 v2 (RFU) + summary: Update an existing order line. + description: Update an existing 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": "e78b78d9-4fb0-4a9c-8dc0-6d100c9f1b3f" } + delete: + tags: + - Order Creation v2 (RFU) + summary: Delete an existing order line. + description: Delete an existing order line. + responses: + "200": + description: OK + /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-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 (RFU) summary: Add a payment to an existing order. description: Add a payment to an existing order. - parameters: - - name: uuid - in: path - required: true - style: simple - explode: false - schema: - type: string - example: a0ef57fa-395c-4a03-96e9-234c26dccea9 requestBody: content: application/json: schema: $ref: "#/components/schemas/unavailable" - example: null + 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 - /payments/{uuid}: + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: { "paymentId": "94270188-4cf6-447e-bd49-e8186bcec073" } + /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-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). patch: tags: - Order Creation v2 (RFU) summary: Update a payment on an existing order. description: Update a payment on an existing order. - parameters: - - name: uuid - in: path - required: true - style: simple - explode: false - schema: - type: string - example: a0ef57fa-395c-4a03-96e9-234c26dccea9 requestBody: content: application/json: schema: $ref: "#/components/schemas/unavailable" - example: null + example: + { + "htmPaymentReference": "HTM-1234", + "pspPaymentReference": "Buckaroo-1234", + } responses: "200": description: OK - /orders/{uuid}/customers: + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: { "paymentId": "94270188-4cf6-447e-bd49-e8186bcec073" } + /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-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 (RFU) summary: Add a customer to an existing order. description: Add a customer to an existing order. - parameters: - - name: uuid - in: path - required: true - style: simple - explode: false - schema: - type: string - example: a0ef57fa-395c-4a03-96e9-234c26dccea9 requestBody: content: application/json: schema: $ref: "#/components/schemas/unavailable" - example: null + 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 - /customers/{uuid}: + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { "orderCustomerId": "94270188-4cf6-447e-bd49-e8186bcec073" } + /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-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). tags: - Order Creation v2 (RFU) summary: Update a customer on an existing order. description: Update a customer on an existing order. - parameters: - - name: uuid - in: path - required: true - style: simple - explode: false - schema: - type: string - example: a0ef57fa-395c-4a03-96e9-234c26dccea9 requestBody: content: application/json: schema: $ref: "#/components/schemas/unavailable" - example: null + 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": "94270188-4cf6-447e-bd49-e8186bcec073" } components: securitySchemes: bearerToken: From e8353b78da6d9ca525c836622db8dc34918f2cd1 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Fri, 25 Oct 2024 12:14:59 +0200 Subject: [PATCH 13/24] OVPAY-982 - Added isCredit to CRUD Contracts. --- src/openapi/contracts/contracts-crud.yaml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/openapi/contracts/contracts-crud.yaml b/src/openapi/contracts/contracts-crud.yaml index ac961e4..09e1de6 100644 --- a/src/openapi/contracts/contracts-crud.yaml +++ b/src/openapi/contracts/contracts-crud.yaml @@ -216,6 +216,7 @@ paths: "created": "2024-06-02 15:01:00.000", "updated": "2024-06-02 15:01:00.000", "state": "invoice_created", + "isCredit": false, }, { "contractInvoiceId": "1c345237-4d84-47f0-93c2-7b94338e3355", @@ -224,6 +225,7 @@ paths: "created": "2024-07-02 15:01:00.000", "updated": "2024-07-02 15:01:00.000", "state": "invoice_created", + "isCredit": false, }, ], "contractVersions": @@ -273,6 +275,7 @@ paths: "created": "2024-06-02 15:01:00.000", "updated": "2024-06-02 15:01:00.000", "state": "invoice_created", + "isCredit": false, }, { "contractInvoiceId": "1c345237-4d84-47f0-93c2-7b94338e3355", @@ -281,6 +284,7 @@ paths: "created": "2024-07-02 15:01:00.000", "updated": "2024-07-02 15:01:00.000", "state": "invoice_created", + "isCredit": false, }, ], "contractVersions": @@ -401,6 +405,7 @@ paths: "updated": "2024-07-02 15:01:00.000", "state": "invoice_created", "data": "{json}", + "isCredit": false, }, ], }, @@ -568,6 +573,7 @@ paths: "updated": "2024-07-02 15:01:00.000", "state": "invoice_sent", "data": "{json}", + "isCredit": false, }, { "contractInvoiceId": "dadff658-4ff5-4eb8-b516-492f1f6c6245", @@ -577,6 +583,7 @@ paths: "updated": "2024-08-02 15:01:00.000", "state": "invoice_created", "data": "{json}", + "isCredit": false, }, ], } @@ -600,6 +607,7 @@ paths: "updated": "2024-07-02 15:01:00.000", "state": "invoice_created", "data": "{json}", + "isCredit": false, }, } responses: @@ -684,6 +692,13 @@ paths: example: created required: false description: Invoice state. + - in: query + name: isCredit + schema: + type: boolean + example: false + required: false + description: Whether the invoice is a credit invoice. responses: "200": description: OK @@ -704,6 +719,7 @@ paths: "updated": "2024-06-02 15:01:00.000", "state": "invoice_created", "data": "{json}", + "isCredit": false, }, { "contractId": "a7452e22-3894-40cc-87d6-869370a92277", @@ -714,6 +730,7 @@ paths: "updated": "2024-08-02 15:01:00.000", "state": "invoice_created", "data": "{json}", + "isCredit": false, }, ], } @@ -1049,6 +1066,9 @@ components: type: string format: json example: { json } + isCredit: + type: boolean + example: false ContractStatus: type: object properties: From 3739eb33bd5181d5ff42a874958b547fb55bccc7 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Fri, 25 Oct 2024 15:55:52 +0200 Subject: [PATCH 14/24] DHIL-2644 - Processed review remarks. --- src/openapi/fiko/fiko-crud.yaml | 288 +++++++++++++++++++++++--------- 1 file changed, 213 insertions(+), 75 deletions(-) diff --git a/src/openapi/fiko/fiko-crud.yaml b/src/openapi/fiko/fiko-crud.yaml index b555d46..a821dcb 100644 --- a/src/openapi/fiko/fiko-crud.yaml +++ b/src/openapi/fiko/fiko-crud.yaml @@ -13,6 +13,13 @@ paths: tags: - Transactions v2 parameters: + - in: query + name: transactionItemId + schema: + type: string + format: uuid + example: 75174a9d-fff4-4682-b66b-ebd93cbe7ea3 + description: The id of the transaction item. - in: query name: sourceName schema: @@ -166,36 +173,6 @@ paths: example: 9834b346-d68c-438d-9bd5-6716422c2657 required: true description: The id of the transaction item. - get: - summary: Get a single transaction item. - description: Get a single transaction item. - tags: - - Transactions v2 - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: "#/components/schemas/unavailable" - example: - { - "transactionItemId": "afce35b2-1dff-4ace-98d0-4b9ac405c87d", - "sourceName": "Verkoopengine", - "transactionId": "1001236", - "transactionLineId": "1", - "name": "HTM Maandkorting 20%", - "quantity": 1, - "taxCode": "V21", - "amountExclTax": 100, - "amountInclTax": 121, - "amountTax": 21, - "occurredOn": "2024-10-04T00:00:00Z", - "type": "debit", - "productCode": "HTM-MND-20", - "aggregationReference": "FIKO-123456", - "accountingSystemReference": "U4F-123456", - } patch: summary: Update a transaction item. description: Update a transaction item. @@ -331,7 +308,6 @@ paths: type: string format: uuid example: 498e11fd-86c7-4e26-8ca9-c5ed9049da9e - required: true description: The id of the audit trail. - in: query name: transactionItemId @@ -339,7 +315,6 @@ paths: type: string format: uuid example: 9834b346-d68c-438d-9bd5-6716422c2657 - required: true description: The id of the transaction item. - in: query name: user @@ -519,7 +494,7 @@ paths: "timestamp": "2022-01-01 00:00:00", "failureReason": { - "failureReasonId": "122be602-139d-49f5-b34f-1e3e2de29408", + "failureReasonId": 12, "reasonCode": "1234ABCD", "reasonDesc": "description", }, @@ -530,10 +505,118 @@ paths: ], }, ] + /processingfailures/{processingFailureId}: + parameters: + - in: path + name: processingFailureId + schema: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + required: true + description: The id of the processing failure. + patch: + summary: Update processing failure. + description: Update processing failure. + tags: + - Failures v2 + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: { "status": "open", "occurence": 2 } + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "processingFailureId": "37a8095b-19db-498f-9349-5f37d21c5bdf", + } + /processingfailures/{processingFailureId}/processingfailureinstances: + parameters: + - in: path + name: processingFailureId + schema: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + required: true + description: The id of the processing failure. + post: + summary: Add a processing failure instance to a processing failure. + description: Add a processing failure instance to a processing failure. + tags: + - Failures v2 + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "timestamp": "2022-01-01 00:00:00", + "failureReasonId": 12, + "element": "costCenter", + "occurence": 1, + "change": "Adapt config", + } + responses: + "201": + description: Created + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "processingFailureInstanceId": "9afa9a6b-5b6a-4b0a-9c9e-4b0a5b6a4b0a", + } + /processingfailureinstances/{processingFailureInstanceId}: + parameters: + - in: path + name: processingFailureInstanceId + schema: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + required: true + description: The id of the processing failure instance. + patch: + summary: Update processing failure instance. + description: Update processing failure instance. + tags: + - Failures v2 + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "timestamp": "2022-01-01 00:00:00", + "occurence": 2, + "change": "Adapt config", + } + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "processingFailureInstanceId": "37a8095b-19db-498f-9349-5f37d21c5bdf", + } /productmetadata: get: - summary: Get all product metadata. - description: Get all product metadata. + summary: Find product metadata. + description: Find product metadata. tags: - Metadata v2 parameters: @@ -581,11 +664,17 @@ paths: example: VERK_FACTUUR description: The document code. - in: query - name: timestampUpdated + name: updatedBefore schema: type: string example: 2022-01-01 00:00:00 - description: The timestamp updated. + description: Timestamp that the metadata was updated before. + - in: query + name: updatedAfter + schema: + type: string + example: 2022-01-01 00:00:00 + description: Timestamp that the metadata was updated after. - in: query name: validAt schema: @@ -811,7 +900,9 @@ paths: schema: $ref: "#/components/schemas/unavailable" example: - { "productContraAccountId": "39a87c2a-9011-4dfd-b35e-1245a98c2e61" } + { + "productContraAccountId": "39a87c2a-9011-4dfd-b35e-1245a98c2e61", + } /productmetadata/{productMetadataId}/metadataaudittrails: parameters: - in: path @@ -832,7 +923,20 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/postMetadataAuditTrailRequest" + $ref: "#/components/schemas/unavailable" + example: + { + "user": "rmeeuws", + "timestamp": "2024-10-04T00:00:00", + "correlationId": "a03cd0c2-38b5-4619-b9e3-d6e5b842e127", + "metadataChanges": [ + { + "fieldName": "department", + "oldValue": "900", + "newValue": "999", + } + ] + } responses: "201": description: Created @@ -969,7 +1073,20 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/postMetadataAuditTrailRequest" + $ref: "#/components/schemas/unavailable" + example: + { + "user": "rmeeuws", + "timestamp": "2024-10-04T00:00:00", + "correlationId": "a03cd0c2-38b5-4619-b9e3-d6e5b842e127", + "metadataChanges": [ + { + "fieldName": "contraAccountMetadataId", + "oldValue": "873810a3-a11a-4d4d-9af7-395520fa207c", + "newValue": "9a8eb116-5270-4ef9-81ef-fdc2e72c281a", + } + ] + } responses: "201": description: Created @@ -1136,7 +1253,20 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/postMetadataAuditTrailRequest" + $ref: "#/components/schemas/unavailable" + example: + { + "user": "rmeeuws", + "timestamp": "2024-10-04T00:00:00", + "correlationId": "a03cd0c2-38b5-4619-b9e3-d6e5b842e127", + "metadataChanges": [ + { + "fieldName": "taxCode", + "oldValue": null, + "newValue": "V21", + } + ] + } responses: "201": description: Created @@ -1157,7 +1287,6 @@ paths: type: string format: uuid example: 37a8095b-19db-498f-9349-5f37d21c5bdf - required: true description: The id of the source metadata. - in: query name: incomingName @@ -1314,7 +1443,20 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/postMetadataAuditTrailRequest" + $ref: "#/components/schemas/unavailable" + example: + { + "user": "rmeeuws", + "timestamp": "2024-10-04T00:00:00", + "correlationId": "a03cd0c2-38b5-4619-b9e3-d6e5b842e127", + "metadataChanges": [ + { + "fieldName": "businessOwner", + "oldValue": "Corneel Verstoep", + "newValue": "Mark Verheij", + } + ] + } responses: "201": description: Created @@ -1439,7 +1581,20 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/postMetadataAuditTrailRequest" + $ref: "#/components/schemas/unavailable" + example: + { + "user": "rmeeuws", + "timestamp": "2024-10-04T00:00:00", + "correlationId": "a03cd0c2-38b5-4619-b9e3-d6e5b842e127", + "metadataChanges": [ + { + "fieldName": "isOpen", + "oldValue": "true", + "newValue": "false", + } + ] + } responses: "201": description: Created @@ -1460,7 +1615,6 @@ paths: type: string format: uuid example: 37a8095b-19db-498f-9349-5f37d21c5bdf - required: true description: The id of the concession metadata. - in: query name: concessionId @@ -1594,7 +1748,20 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/postMetadataAuditTrailRequest" + $ref: "#/components/schemas/unavailable" + example: + { + "user": "rmeeuws", + "timestamp": "2024-10-04T00:00:00", + "correlationId": "a03cd0c2-38b5-4619-b9e3-d6e5b842e127", + "metadataChanges": [ + { + "fieldName": "percentage", + "oldValue": null, + "newValue": "23.456", + }, + ], + } responses: "201": description: Created @@ -1615,7 +1782,6 @@ paths: type: string format: uuid example: 37a8095b-19db-498f-9349-5f37d21c5bdf - required: true description: The id of the metadata audit trail. - in: query name: productMetadataId @@ -1792,34 +1958,6 @@ components: example: - "/account/12345" - "/account/67890" - postMetadataAuditTrailRequest: - type: object - properties: - user: - type: string - example: rmeeuws - timestamp: - type: string - format: date-time - example: 2024-10-04T00:00:00 - correlationId: - type: string - format: uuid - example: a03cd0c2-38b5-4619-b9e3-d6e5b842e127 - metadataChanges: - type: array - items: - type: object - properties: - fieldName: - type: string - example: businessOwner - oldValue: - type: string - example: Corneel Verstoep - newValue: - type: string - example: Jan-Willem Vermeij postMetadataAuditTrailResponse: type: object properties: From 836a884cfd19a430e537c6c81e1dde50daa4654d Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Mon, 4 Nov 2024 15:55:50 +0100 Subject: [PATCH 15/24] OVPAY-1172 - Return current state of order object in fulfillment v2. --- src/openapi/orders/service_engine_orders.yaml | 101 ++++++++++++++++++ 1 file changed, 101 insertions(+) diff --git a/src/openapi/orders/service_engine_orders.yaml b/src/openapi/orders/service_engine_orders.yaml index 36ed1e7..3c144ca 100644 --- a/src/openapi/orders/service_engine_orders.yaml +++ b/src/openapi/orders/service_engine_orders.yaml @@ -354,6 +354,107 @@ paths: { "orderId": "a0ef57fa-395c-4a03-96e9-234c26dccea9", "orderNumber": "123456", + "customerProfileId": 1337, + "totalAmount": 121, + "languageId": 1, + "billingAddressId": 1, + "shippingAddressId": 1, + "createdOn": "2024-03-22T09:00:00", + "orderStatusId": 4, + "orderLines": + [ + { + "orderLineId": "2ba39cae-c401-446b-ae5c-2d6d85b3df1f", + "productId": 1, + "productName": "HTM Maandkorting 20%", + "productCode": "HTM-MND-20", + "productDescription": "HTM Maandkorting 20%", + "taxAmount": 21, + "taxCode": "V21", + "amountExclTax": 100, + "amountInclTax": 121, + "quantity": 1, + "terms": + [ + "generalTermsAndConditions.pdf", + "productTermsAndConditions.pdf", + ], + "createdOn": "2024-03-22T09:00:00", + "validFrom": "2024-03-22T09:00:00", + "validUntil": null, + "orderLineStatusId": 4, + "tokens": + [ + { + "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", + }, + }, + ], + }, + ], + "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", + }, + ], + "payPush": + { + "consumerIssuer": "ABN AMRO", + "transactionId": "0000000000000001", + "consumerName": "J. de Vries", + "consumerIBAN": "NL44RABO0123456789", + "consumerBIC": "RABONL2U", + }, + }, + ], + "customer": + { + "birthname": "Jan", + "surname": "Vries", + "prefix": "de", + "emailAddress": "jandevries@outlook.com", + "dateOfBirth": "1970-01-01", + "addresses": + [ + { + "addressTypeId": 1, + "street": "Kon. Julianaplein", + "houseNumber": 10, + "houseNumberSuffix": "a", + "postalCode": "2595 AA", + "city": "Den Haag", + "country": "NL", + }, + ], + }, } /customers/{customerProfileId}/orders: parameters: From 7174f2942a9a2d2bab1a5bd42c0fe064142fa9e6 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Thu, 24 Oct 2024 17:48:56 +0200 Subject: [PATCH 16/24] OVPAY-1126 - Added deletes on order and order line. --- src/openapi/orders/orders-crud.yaml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/openapi/orders/orders-crud.yaml b/src/openapi/orders/orders-crud.yaml index 79f5c43..54e64a8 100644 --- a/src/openapi/orders/orders-crud.yaml +++ b/src/openapi/orders/orders-crud.yaml @@ -671,6 +671,14 @@ paths: 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 @@ -1158,6 +1166,14 @@ paths: 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 From bb478aa2313f1e4ebfd483823e092d6a19d79163 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Fri, 25 Oct 2024 11:24:36 +0200 Subject: [PATCH 17/24] OVPAY-1126 - Specified endpoints for Order Creation and Order Retrieval for touch point. --- src/openapi/orders/service_engine_orders.yaml | 919 ++++++++++++++++-- 1 file changed, 837 insertions(+), 82 deletions(-) diff --git a/src/openapi/orders/service_engine_orders.yaml b/src/openapi/orders/service_engine_orders.yaml index 70d34d4..36ed1e7 100644 --- a/src/openapi/orders/service_engine_orders.yaml +++ b/src/openapi/orders/service_engine_orders.yaml @@ -13,8 +13,8 @@ paths: summary: Validate order. description: Validate order. parameters: - - name: X-HTM-JWT-AUTH-HEADER - in: header + - in: header + name: X-HTM-JWT-AUTH-HEADER required: true style: simple explode: false @@ -217,20 +217,21 @@ paths: summary: Fulfill an order. description: Fulfill an order. parameters: - - name: X-HTM-JWT-AUTH-HEADER - in: header + - in: header + name: X-HTM-JWT-AUTH-HEADER required: true style: simple explode: false schema: type: string - - name: orderId - in: path + - in: path + name: orderId required: true style: simple explode: false schema: type: string + format: uuid example: a0ef57fa-395c-4a03-96e9-234c26dccea9 requestBody: content: @@ -354,7 +355,216 @@ paths: "orderId": "a0ef57fa-395c-4a03-96e9-234c26dccea9", "orderNumber": "123456", } - /orders/: + /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 v2 (RFU) + 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" + example: + [ + { + "orderId": "afce35b2-1dff-4ace-98d0-4b9ac405c87d", + "externalOrderId": "bac3958b-804a-43e3-b5f7-0b0fffaae5b7", + "orderNumber": "123456", + "customerProfileId": 42, + "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", + }, + ], + }, + }, + ] + /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). post: tags: - Order Creation v2 (RFU) @@ -365,49 +575,342 @@ paths: application/json: schema: $ref: "#/components/schemas/unavailable" - example: null + example: + { + "externalOrderId": null, + "customerProfileId": 1337, + "totalAmount": 121, + "touchPointId": 1, + "languageId": 1, + "billingAddressId": 1, + "shippingAddressId": 1, + "createdOn": "2024-03-22T09:00:00", + "order_OrderStatus": + [ + { + "orderStatusId": 1, + "createdOn": "2024-03-22T09:00:00", + "description": "Concept order", + }, + ], + "orderLines": + [ + { + "externalOrderLineId": null, + "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 - /orders/{uuid}: - patch: + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", + "orderNumber": "ORD-123456", + } + /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 Creation v2 (RFU) - summary: Update an existing orderline. - description: Update an existing orderline. - parameters: - - name: uuid - in: path - required: true - style: simple - explode: false - schema: - type: string - example: a0ef57fa-395c-4a03-96e9-234c26dccea9 - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/unavailable" - example: null + - Order Retrieval v2 (RFU) + summary: Get a single order. + description: Get a single order. responses: "200": description: OK - /orderlines/{uuid}: + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "orderId": "afce35b2-1dff-4ace-98d0-4b9ac405c87d", + "externalOrderId": "bac3958b-804a-43e3-b5f7-0b0fffaae5b7", + "orderNumber": "123456", + "customerProfileId": 42, + "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: tags: - Order Creation v2 (RFU) summary: Update an existing order. description: Update an existing order. - parameters: - - name: uuid - in: path - required: true - style: simple - explode: false - schema: - type: string - example: a0ef57fa-395c-4a03-96e9-234c26dccea9 requestBody: content: application/json: @@ -417,102 +920,354 @@ paths: responses: "200": description: OK - /orders/{uuid}/payments: + delete: + tags: + - Order Creation v2 (RFU) + summary: Delete an existing order. + description: Delete an existing order. + responses: + "200": + description: OK + /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 v2 (RFU) + 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" + example: + { + "externalOrderLineId": null, + "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: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: { "orderLineId": "e78b78d9-4fb0-4a9c-8dc0-6d100c9f1b3f" } + /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 v2 (RFU) + summary: Update an existing order line. + description: Update an existing 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": "e78b78d9-4fb0-4a9c-8dc0-6d100c9f1b3f" } + delete: + tags: + - Order Creation v2 (RFU) + summary: Delete an existing order line. + description: Delete an existing order line. + responses: + "200": + description: OK + /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-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 (RFU) summary: Add a payment to an existing order. description: Add a payment to an existing order. - parameters: - - name: uuid - in: path - required: true - style: simple - explode: false - schema: - type: string - example: a0ef57fa-395c-4a03-96e9-234c26dccea9 requestBody: content: application/json: schema: $ref: "#/components/schemas/unavailable" - example: null + 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 - /payments/{uuid}: + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: { "paymentId": "94270188-4cf6-447e-bd49-e8186bcec073" } + /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-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). patch: tags: - Order Creation v2 (RFU) summary: Update a payment on an existing order. description: Update a payment on an existing order. - parameters: - - name: uuid - in: path - required: true - style: simple - explode: false - schema: - type: string - example: a0ef57fa-395c-4a03-96e9-234c26dccea9 requestBody: content: application/json: schema: $ref: "#/components/schemas/unavailable" - example: null + example: + { + "htmPaymentReference": "HTM-1234", + "pspPaymentReference": "Buckaroo-1234", + } responses: "200": description: OK - /orders/{uuid}/customers: + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: { "paymentId": "94270188-4cf6-447e-bd49-e8186bcec073" } + /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-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 (RFU) summary: Add a customer to an existing order. description: Add a customer to an existing order. - parameters: - - name: uuid - in: path - required: true - style: simple - explode: false - schema: - type: string - example: a0ef57fa-395c-4a03-96e9-234c26dccea9 requestBody: content: application/json: schema: $ref: "#/components/schemas/unavailable" - example: null + 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 - /customers/{uuid}: + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { "orderCustomerId": "94270188-4cf6-447e-bd49-e8186bcec073" } + /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-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). tags: - Order Creation v2 (RFU) summary: Update a customer on an existing order. description: Update a customer on an existing order. - parameters: - - name: uuid - in: path - required: true - style: simple - explode: false - schema: - type: string - example: a0ef57fa-395c-4a03-96e9-234c26dccea9 requestBody: content: application/json: schema: $ref: "#/components/schemas/unavailable" - example: null + 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": "94270188-4cf6-447e-bd49-e8186bcec073" } components: securitySchemes: bearerToken: From 40da8531edfc6e8888f54b12c5fb91eeb50d3197 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Mon, 4 Nov 2024 15:55:50 +0100 Subject: [PATCH 18/24] OVPAY-1172 - Return current state of order object in fulfillment v2. --- src/openapi/orders/service_engine_orders.yaml | 101 ++++++++++++++++++ 1 file changed, 101 insertions(+) diff --git a/src/openapi/orders/service_engine_orders.yaml b/src/openapi/orders/service_engine_orders.yaml index 36ed1e7..3c144ca 100644 --- a/src/openapi/orders/service_engine_orders.yaml +++ b/src/openapi/orders/service_engine_orders.yaml @@ -354,6 +354,107 @@ paths: { "orderId": "a0ef57fa-395c-4a03-96e9-234c26dccea9", "orderNumber": "123456", + "customerProfileId": 1337, + "totalAmount": 121, + "languageId": 1, + "billingAddressId": 1, + "shippingAddressId": 1, + "createdOn": "2024-03-22T09:00:00", + "orderStatusId": 4, + "orderLines": + [ + { + "orderLineId": "2ba39cae-c401-446b-ae5c-2d6d85b3df1f", + "productId": 1, + "productName": "HTM Maandkorting 20%", + "productCode": "HTM-MND-20", + "productDescription": "HTM Maandkorting 20%", + "taxAmount": 21, + "taxCode": "V21", + "amountExclTax": 100, + "amountInclTax": 121, + "quantity": 1, + "terms": + [ + "generalTermsAndConditions.pdf", + "productTermsAndConditions.pdf", + ], + "createdOn": "2024-03-22T09:00:00", + "validFrom": "2024-03-22T09:00:00", + "validUntil": null, + "orderLineStatusId": 4, + "tokens": + [ + { + "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", + }, + }, + ], + }, + ], + "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", + }, + ], + "payPush": + { + "consumerIssuer": "ABN AMRO", + "transactionId": "0000000000000001", + "consumerName": "J. de Vries", + "consumerIBAN": "NL44RABO0123456789", + "consumerBIC": "RABONL2U", + }, + }, + ], + "customer": + { + "birthname": "Jan", + "surname": "Vries", + "prefix": "de", + "emailAddress": "jandevries@outlook.com", + "dateOfBirth": "1970-01-01", + "addresses": + [ + { + "addressTypeId": 1, + "street": "Kon. Julianaplein", + "houseNumber": 10, + "houseNumberSuffix": "a", + "postalCode": "2595 AA", + "city": "Den Haag", + "country": "NL", + }, + ], + }, } /customers/{customerProfileId}/orders: parameters: From 9be5af4886446e74653d0e11c9b26f5b954c743a Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Wed, 6 Nov 2024 16:16:24 +0100 Subject: [PATCH 19/24] OVPAY-1126 - Added fulfillment for SMP. --- src/openapi/orders/service_engine_orders.yaml | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/openapi/orders/service_engine_orders.yaml b/src/openapi/orders/service_engine_orders.yaml index 3c144ca..b7172a1 100644 --- a/src/openapi/orders/service_engine_orders.yaml +++ b/src/openapi/orders/service_engine_orders.yaml @@ -1369,6 +1369,31 @@ paths: $ref: "#/components/schemas/unavailable" example: { "orderCustomerId": "94270188-4cf6-447e-bd49-e8186bcec073" } + /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-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 Fulfillment v2.1 + 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 components: securitySchemes: bearerToken: From e242e4db5497fdea82df2e2cc31c25eada990d1d Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Wed, 6 Nov 2024 16:18:44 +0100 Subject: [PATCH 20/24] OVPAY-1126 - Renamed tag v2 to v2.1. --- src/openapi/orders/service_engine_orders.yaml | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/openapi/orders/service_engine_orders.yaml b/src/openapi/orders/service_engine_orders.yaml index b7172a1..8722b27 100644 --- a/src/openapi/orders/service_engine_orders.yaml +++ b/src/openapi/orders/service_engine_orders.yaml @@ -474,7 +474,7 @@ paths: description: The JWT of the logged in customer (in case of a web shop). get: tags: - - Order Retrieval v2 (RFU) + - Order Retrieval v2.1 summary: Get all orders for a specific customer. description: Get all orders for a specific customer. responses: @@ -668,7 +668,7 @@ paths: description: The JWT of the logged in customer (in case of a web shop). post: tags: - - Order Creation v2 (RFU) + - Order Creation v2.1 summary: Create a new order. description: Create a new order. requestBody: @@ -826,7 +826,7 @@ paths: description: The JWT of the logged in customer (in case of a web shop). get: tags: - - Order Retrieval v2 (RFU) + - Order Retrieval v2.1 summary: Get a single order. description: Get a single order. responses: @@ -1009,7 +1009,7 @@ paths: } patch: tags: - - Order Creation v2 (RFU) + - Order Creation v2.1 summary: Update an existing order. description: Update an existing order. requestBody: @@ -1023,7 +1023,7 @@ paths: description: OK delete: tags: - - Order Creation v2 (RFU) + - Order Creation v2.1 summary: Delete an existing order. description: Delete an existing order. responses: @@ -1048,7 +1048,7 @@ paths: description: The JWT of the logged in customer (in case of a web shop). post: tags: - - Order Creation v2 (RFU) + - Order Creation v2.1 summary: Add a new order line to an existing order. description: Add a new order line to an existing order. requestBody: @@ -1130,7 +1130,7 @@ paths: description: The JWT of the logged in customer (in case of a web shop). patch: tags: - - Order Creation v2 (RFU) + - Order Creation v2.1 summary: Update an existing order line. description: Update an existing order line. requestBody: @@ -1159,7 +1159,7 @@ paths: example: { "orderLineId": "e78b78d9-4fb0-4a9c-8dc0-6d100c9f1b3f" } delete: tags: - - Order Creation v2 (RFU) + - Order Creation v2.1 summary: Delete an existing order line. description: Delete an existing order line. responses: @@ -1184,7 +1184,7 @@ paths: description: The JWT of the logged in customer (in case of a web shop). post: tags: - - Order Creation v2 (RFU) + - Order Creation v2.1 summary: Add a payment to an existing order. description: Add a payment to an existing order. requestBody: @@ -1248,7 +1248,7 @@ paths: description: The JWT of the logged in customer (in case of a web shop). patch: tags: - - Order Creation v2 (RFU) + - Order Creation v2.1 summary: Update a payment on an existing order. description: Update a payment on an existing order. requestBody: @@ -1288,7 +1288,7 @@ paths: description: The JWT of the logged in customer (in case of a web shop). post: tags: - - Order Creation v2 (RFU) + - Order Creation v2.1 summary: Add a customer to an existing order. description: Add a customer to an existing order. requestBody: @@ -1344,7 +1344,7 @@ paths: example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c description: The JWT of the logged in customer (in case of a web shop). tags: - - Order Creation v2 (RFU) + - Order Creation v2.1 summary: Update a customer on an existing order. description: Update a customer on an existing order. requestBody: From 989b47a2d19fa6061a4541dc20633580fc584eb9 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Thu, 7 Nov 2024 10:36:13 +0100 Subject: [PATCH 21/24] Add address as single entity to order customer. --- src/openapi/orders/orders-crud.yaml | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/src/openapi/orders/orders-crud.yaml b/src/openapi/orders/orders-crud.yaml index 54e64a8..8ae1a81 100644 --- a/src/openapi/orders/orders-crud.yaml +++ b/src/openapi/orders/orders-crud.yaml @@ -2004,8 +2004,8 @@ paths: required: true description: The id of the customer on the order. post: - summary: P3. Add one or more addresses to a customer of the order. - description: Add one or more addresses to a customer of the order. + summary: P3. Add an addresses to a customer of the order. + description: Add an addresses to a customer of the order. tags: - Customer requestBody: @@ -2014,17 +2014,15 @@ paths: schema: $ref: "#/components/schemas/unavailable" example: - [ - { - "addressTypeId": 1, - "street": "Kon. Julianaplein", - "houseNumber": 10, - "houseNumberSuffix": "a", - "postalCode": "2595 AA", - "city": "Den Haag", - "country": "NL", - }, - ] + { + "addressTypeId": 1, + "street": "Kon. Julianaplein", + "houseNumber": 10, + "houseNumberSuffix": "a", + "postalCode": "2595 AA", + "city": "Den Haag", + "country": "NL", + } responses: "201": description: Created From 0f5fb627cd69e2c911079e1a4fbab02d7536b6e4 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Thu, 7 Nov 2024 13:41:53 +0100 Subject: [PATCH 22/24] OVPAY-1126 - Filled patch /orders. --- src/openapi/orders/service_engine_orders.yaml | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/openapi/orders/service_engine_orders.yaml b/src/openapi/orders/service_engine_orders.yaml index 8722b27..0070185 100644 --- a/src/openapi/orders/service_engine_orders.yaml +++ b/src/openapi/orders/service_engine_orders.yaml @@ -1017,10 +1017,27 @@ paths: application/json: schema: $ref: "#/components/schemas/unavailable" - example: null + 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": "1e441d7d-50d6-4006-aca7-5e87e2f218df", + "orderNumber": "ORD-123456" + } delete: tags: - Order Creation v2.1 From 0dabe488071a120f6d6c0a178f31cd1527227e50 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Thu, 7 Nov 2024 14:16:25 +0100 Subject: [PATCH 23/24] OVPAY-1180 - Added role and user to crud apis. --- src/openapi/util/util-crud.yaml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/openapi/util/util-crud.yaml b/src/openapi/util/util-crud.yaml index bb881b2..ddf015c 100644 --- a/src/openapi/util/util-crud.yaml +++ b/src/openapi/util/util-crud.yaml @@ -86,6 +86,20 @@ paths: example: 65ad5520-4e62-41b7-89dd-a01be6cb78bf required: false description: Pointer to executor of this action (e.g. the batch job). + - in: query + name: role + schema: + type: string + example: customer + required: false + description: Role of the user or process that initiated the action. + - in: query + name: user + schema: + type: string + example: 1255ab39-2f10-409a-bf61-38c07e1b8a9e + required: false + description: User that initiated the action. In case of a customer this is the customer id. - in: query name: resourceName schema: @@ -123,6 +137,8 @@ paths: "created": "2024-07-02 15:01:00.000", "updated": "2024-07-02 15:01:00.000", "correlationId": "fb4443c6-5a6a-47a3-adf0-db3dfc183399", + "role": "customer", + "user": "1255ab39-2f10-409a-bf61-38c07e1b8a9e", "scheduledActionResources": [ { @@ -157,6 +173,8 @@ paths: "created": "2024-07-02 15:01:00.000", "updated": "2024-07-02 15:01:00.000", "correlationId": "fb4443c6-5a6a-47a3-adf0-db3dfc183399", + "role": "customer", + "user": "1255ab39-2f10-409a-bf61-38c07e1b8a9e", "scheduledActionResources": [ { @@ -217,6 +235,8 @@ paths: "created": "2024-07-02 15:01:00.000", "updated": "2024-07-02 15:01:00.000", "correlationId": "fb4443c6-5a6a-47a3-adf0-db3dfc183399", + "role": "customer", + "user": "1255ab39-2f10-409a-bf61-38c07e1b8a9e", "scheduledActionResources": [ { @@ -390,6 +410,12 @@ components: type: string format: uuid example: 8699d72a-cf4d-4e6b-9e9c-549d837ca51f + role: + type: string + example: customer + user: + type: string + example: 1255ab39-2f10-409a-bf61-38c07e1b8a9e ScheduledActionType: type: object properties: From 1f9e9c83ac76e24cb8d89ad60adeca8607d2755e Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Wed, 13 Nov 2024 14:24:33 +0100 Subject: [PATCH 24/24] OVPAY-108 - Simplified list orders operation. --- src/openapi/orders/service_engine_orders.yaml | 136 ------------------ 1 file changed, 136 deletions(-) diff --git a/src/openapi/orders/service_engine_orders.yaml b/src/openapi/orders/service_engine_orders.yaml index 0070185..ffa2f38 100644 --- a/src/openapi/orders/service_engine_orders.yaml +++ b/src/openapi/orders/service_engine_orders.yaml @@ -520,142 +520,6 @@ paths: "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", - }, - ], - }, }, ] /orders: