From cb6f1f6f48eb99025140e096e9652e8bcb8fa087 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Mon, 18 Nov 2024 14:05:08 +0100 Subject: [PATCH 01/11] OVPAY-1116 - Added missing fields. --- .../products/purchased_products-crud.yaml | 123 +++++++++++++++++- 1 file changed, 117 insertions(+), 6 deletions(-) diff --git a/src/openapi/products/purchased_products-crud.yaml b/src/openapi/products/purchased_products-crud.yaml index 6d11d46..4c7bd89 100644 --- a/src/openapi/products/purchased_products-crud.yaml +++ b/src/openapi/products/purchased_products-crud.yaml @@ -21,7 +21,7 @@ paths: required: false description: The technical id of the product. - in: query - name: createdBefore + name: createdOnBefore schema: type: string format: date-time @@ -29,7 +29,7 @@ paths: required: false description: The purchased product should be created before this timestamp. - in: query - name: createdAfter + name: createdOnAfter schema: type: string format: date-time @@ -37,7 +37,7 @@ paths: required: false description: The purchased product should be created after this timestamp. - in: query - name: lastUpdatedBefore + name: lastUpdatedOnBefore schema: type: string format: date-time @@ -45,7 +45,7 @@ paths: required: false description: The purchased product should be last updated before this timestamp. - in: query - name: lastUpdatedAfter + name: lastUpdatedOnAfter schema: type: string format: date-time @@ -101,12 +101,18 @@ paths: "purchasedGboProductId": "a9b3dea5-fb8a-4b1e-9fe6-90cad31c0cfd", "salesTimestamp": "2024-10-04T12:34:56.000", "refundTimestamp": "2024-10-04T12:34:56.000", + "fromInclusive": "2024-10-04T12:34:56.000", + "unitilInclusive": "2024-10-04T12:34:56.000", "packageTemplateId": "30003", "xBot": "f15efe6f-7353-4968-b134-60ba6fc2da8b", "xTat": "42efebf7-132e-4ee0-9cbb-4037a9a54ad8", "xSpit": "d67b2f72-918a-4e6c-957d-a39ed9c9e16b", "customerTokenId": "b6492322-c458-4857-9ac3-a109c1887b9f", "ovPayTokenId": 13, + "createdOn": "2024-10-04T12:34:56.000", + "lastUpdatedOn": "2024-10-04T12:34:56.000", + "createdBy": "someuser", + "lastUpdatedBy": null, }, ], }, @@ -144,12 +150,18 @@ paths: { "salesTimestamp": "2024-10-04T12:34:56.000", "refundTimestamp": "2024-10-04T12:34:56.000", + "fromInclusive": "2024-10-04T12:34:56.000", + "unitilInclusive": "2024-10-04T12:34:56.000", "packageTemplateId": "30003", "xBot": "f15efe6f-7353-4968-b134-60ba6fc2da8b", "xTat": "42efebf7-132e-4ee0-9cbb-4037a9a54ad8", "xSpit": "d67b2f72-918a-4e6c-957d-a39ed9c9e16b", "customerTokenId": "b6492322-c458-4857-9ac3-a109c1887b9f", "ovPayTokenId": 13, + "createdOn": "2024-10-04T12:34:56.000", + "lastUpdatedOn": "2024-10-04T12:34:56.000", + "createdBy": "someuser", + "lastUpdatedBy": null, }, ], } @@ -208,12 +220,18 @@ paths: { "salesTimestamp": "2024-10-04T12:34:56.000", "refundTimestamp": "2024-10-04T12:34:56.000", + "fromInclusive": "2024-10-04T12:34:56.000", + "unitilInclusive": "2024-10-04T12:34:56.000", "packageTemplateId": "30003", "xBot": "f15efe6f-7353-4968-b134-60ba6fc2da8b", "xTat": "42efebf7-132e-4ee0-9cbb-4037a9a54ad8", "xSpit": "d67b2f72-918a-4e6c-957d-a39ed9c9e16b", "customerTokenId": "b6492322-c458-4857-9ac3-a109c1887b9f", "ovPayTokenId": 13, + "createdOn": "2024-10-04T12:34:56.000", + "lastUpdatedOn": "2024-10-04T12:34:56.000", + "createdBy": "someuser", + "lastUpdatedBy": null, }, ], } @@ -300,12 +318,18 @@ paths: { "salesTimestamp": "2024-10-04T12:34:56.000", "refundTimestamp": "2024-10-04T12:34:56.000", + "fromInclusive": "2024-10-04T12:34:56.000", + "unitilInclusive": "2024-10-04T12:34:56.000", "packageTemplateId": "30003", "xBot": "f15efe6f-7353-4968-b134-60ba6fc2da8b", "xTat": "42efebf7-132e-4ee0-9cbb-4037a9a54ad8", "xSpit": "d67b2f72-918a-4e6c-957d-a39ed9c9e16b", "customerTokenId": "b6492322-c458-4857-9ac3-a109c1887b9f", "ovPayTokenId": 13, + "createdOn": "2024-10-04T12:34:56.000", + "lastUpdatedOn": "2024-10-04T12:34:56.000", + "createdBy": "someuser", + "lastUpdatedBy": null, } responses: "201": @@ -367,6 +391,34 @@ paths: format: date-time example: 2024-10-04T12:34:56.000 description: The purchased GBO product should be refunded after this timestamp. + - in: query + name: fromInclusiveBefore + schema: + type: string + format: date-time + example: 2024-10-04T12:34:56.000 + description: The purchased GBO product should be valid before this timestamp. + - in: query + name: fromInclusiveAfter + schema: + type: string + format: date-time + example: 2024-10-04T12:34:56.000 + description: The purchased GBO product should be valid after this timestamp. + - in: query + name: unitilInclusiveBefore + schema: + type: string + format: date-time + example: 2024-10-04T12:34:56.000 + description: The purchased GBO product should be valid before this timestamp. + - in: query + name: unitilInclusiveAfter + schema: + type: string + format: date-time + example: 2024-10-04T12:34:56.000 + description: The purchased GBO product should be valid after this timestamp. - in: query name: packageTemplateId schema: @@ -408,6 +460,46 @@ paths: type: integer example: 13 description: The id of the ov pay token. + - in: query + name: createdOnBefore + schema: + type: string + format: date-time + example: 2024-10-04T12:34:56.000 + description: The purchased GBO product should be created before this timestamp. + - in: query + name: createdOnAfter + schema: + type: string + format: date-time + example: 2024-10-04T12:34:56.000 + description: The purchased GBO product should be created after this timestamp. + - in: query + name: lastUpdatedOnBefore + schema: + type: string + format: date-time + example: 2024-10-04T12:34:56.000 + description: The purchased GBO product should be updated before this timestamp. + - in: query + name: lastUpdatedOnAfter + schema: + type: string + format: date-time + example: 2024-10-04T12:34:56.000 + description: The purchased GBO product should be updated after this timestamp. + - in: query + name: createdBy + schema: + type: string + example: someuser + description: The user that created the purchased GBO product. + - in: query + name: lastUpdatedBy + schema: + type: string + example: someuser + description: The user that last updated the purchased GBO product. responses: "201": description: Created @@ -422,24 +514,36 @@ paths: "purchasedProductId": "9e166bb3-806a-4f43-a7a2-0d5b1e90e0c3", "salesTimestamp": "2024-10-04T12:34:56.000", "refundTimestamp": "2024-10-05T12:34:56.000", + "fromInclusive": "2024-10-04T12:34:56.000", + "unitilInclusive": "2024-10-05T12:34:56.000", "packageTemplateId": "30003", "xBot": "f15efe6f-7353-4968-b134-60ba6fc2da8b", "xTat": "42efebf7-132e-4ee0-9cbb-4037a9a54ad8", "xSpit": "d67b2f72-918a-4e6c-957d-a39ed9c9e16b", "customerTokenId": "b6492322-c458-4857-9ac3-a109c1887b9f", "ovPayTokenId": 13, + "createdOn": "2024-10-04T12:34:56.000", + "lastUpdatedOn": "2024-10-04T12:34:56.000", + "createdBy": "someuser", + "lastUpdatedBy": null, }, { "purchasedGboProductId": 431e481f-4330-4ad4-be47-393db38cfe38, "purchasedProductId": "9e166bb3-806a-4f43-a7a2-0d5b1e90e0c3", "salesTimestamp": "2024-10-05T12:34:56.000", "refundTimestamp": "2024-10-06T12:34:56.000", + "fromInclusive": "2024-10-05T12:34:56.000", + "unitilInclusive": "2024-10-06T12:34:56.000", "packageTemplateId": "30003", "xBot": "f8f13d64-fd07-44e8-9c85-968857da5d68", "xTat": "01a82ebe-5d07-45d8-a897-66152e8954dd", "xSpit": "c3868858-b250-4480-9cb4-725d2e9198f3", "customerTokenId": "6c7a6d4b-7e6c-4f6a-9b1e-0a9b1e6c7a6d", "ovPayTokenId": 14, + "createdOn": "2024-10-05T12:34:56.000", + "lastUpdatedOn": "2024-10-05T12:34:56.000", + "createdBy": "someuser", + "lastUpdatedBy": null, }, ] /purchasedgboproducts/{purchasedGboProductId}: @@ -463,7 +567,12 @@ paths: application/json: schema: $ref: "#/components/schemas/unavailable" - example: { "refundTimestamp": "2024-10-05T12:34:56.000" } + example: + { + "refundTimestamp": "2024-10-05T12:34:56.000", + "lastUpdatedOn": "2024-10-05T12:34:56.000", + "lastUpdatedBy": "someuser", + } responses: "201": description: Created @@ -472,7 +581,9 @@ paths: schema: $ref: "#/components/schemas/unavailable" example: - { "purchasedGboProductId": "a9b3dea5-fb8a-4b1e-9fe6-90cad31c0cfd" } + { + "purchasedGboProductId": "a9b3dea5-fb8a-4b1e-9fe6-90cad31c0cfd", + } components: securitySchemes: bearerToken: From e7559c76e5f3abd8927e1ae3e2f72194ca223b2f Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Fri, 22 Nov 2024 11:01:30 +0100 Subject: [PATCH 02/11] OVPAY-1116 - Fixed typo. --- src/openapi/products/purchased_products-crud.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/openapi/products/purchased_products-crud.yaml b/src/openapi/products/purchased_products-crud.yaml index 4c7bd89..079ae70 100644 --- a/src/openapi/products/purchased_products-crud.yaml +++ b/src/openapi/products/purchased_products-crud.yaml @@ -53,14 +53,14 @@ paths: required: false description: The purchased product should be last updated after this timestamp. - in: query - name: resrouceName + name: resourceName schema: type: string example: orders required: false description: The name of the resource. - in: query - name: resrouceIdentifier + name: resourceIdentifier schema: type: string example: f461004f-d98e-4323-aa26-f09bf8ea2f2d From 9041fb5bf9ee3245ef8e9c92bcb2b7fc1db9e111 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Fri, 22 Nov 2024 13:43:18 +0100 Subject: [PATCH 03/11] OVPAY-879 - Update after feedback Almando. --- src/openapi/fiko/fiko-crud.yaml | 118 ++++++++++++++++++-------------- 1 file changed, 67 insertions(+), 51 deletions(-) diff --git a/src/openapi/fiko/fiko-crud.yaml b/src/openapi/fiko/fiko-crud.yaml index a821dcb..7fb4d61 100644 --- a/src/openapi/fiko/fiko-crud.yaml +++ b/src/openapi/fiko/fiko-crud.yaml @@ -228,7 +228,7 @@ paths: "documentCode": "VERK_FACTUUR", "accountingPeriod": "2024/10", "transactionDescription": "Dagkaart", - "contraAccount": "220.10419", + "contraAccountNumber": "220.10419", "status": "open", "occurence": 1, "processingFailureInstances": @@ -483,7 +483,7 @@ paths: "documentCode": "VERK_FACTUUR", "accountingPeriod": "2024/10", "transactionDescription": "Dagkaart", - "contraAccount": "220.10419", + "contraAccountNumber": "220.10419", "status": "open", "occurence": 1, "processingFailureInstances": @@ -726,7 +726,8 @@ paths: "contraAccountMetadata": { "contraAccountMetadataId": "e0af8c8f-d421-4567-a14e-48e2a1bb86fb", - "contraAccount": "220.10419", + "contraAccountCode": "123456", + "contraAccountNumber": "220.10419", "validFrom": "2024-03-22T09:00:00", "validUntil": null, }, @@ -750,7 +751,8 @@ paths: "contraAccountMetadata": { "contraAccountMetadataId": "69c562ca-5299-4585-ac92-46fb54aeb99e", - "contraAccount": "220.10538", + "contraAccountCode": "123456", + "contraAccountNumber": "220.10419", "validFrom": "2024-03-22T09:00:00", "validUntil": null, }, @@ -929,13 +931,14 @@ paths: "user": "rmeeuws", "timestamp": "2024-10-04T00:00:00", "correlationId": "a03cd0c2-38b5-4619-b9e3-d6e5b842e127", - "metadataChanges": [ - { - "fieldName": "department", - "oldValue": "900", - "newValue": "999", - } - ] + "metadataChanges": + [ + { + "fieldName": "department", + "oldValue": "900", + "newValue": "999", + }, + ], } responses: "201": @@ -959,11 +962,17 @@ paths: example: 37a8095b-19db-498f-9349-5f37d21c5bdf description: The id of the contra account metadata. - in: query - name: contraAccount + name: contraAccountCode + schema: + type: string + example: 123456 + description: The code of the contra account. + - in: query + name: contraAccountNumber schema: type: string example: 220.10419 - description: The contra account. + description: The number of the contra account. - in: query name: validAt schema: @@ -982,7 +991,8 @@ paths: [ { "contraAccountMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf", - "contraAccount": "220.10419", + "contraAccountCode": "123456", + "contraAccountNumber": "220.10419", "validFrom": "2024-03-22T09:00:00", "validUntil": null, }, @@ -1000,7 +1010,8 @@ paths: $ref: "#/components/schemas/unavailable" example: { - "contraAccount": "220.10419", + "contraAccountCode": "123456", + "contraAccountNumber": "220.10419", "validFrom": "2024-03-22T09:00:00", "validUntil": null, } @@ -1038,7 +1049,7 @@ paths: $ref: "#/components/schemas/unavailable" example: { - "contraAccount": "220.10419", + "contraAccountNumber": "220.10419", "validFrom": "2024-03-22T09:00:00", "validUntil": null, } @@ -1079,13 +1090,14 @@ paths: "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", - } - ] + "metadataChanges": + [ + { + "fieldName": "contraAccountMetadataId", + "oldValue": "873810a3-a11a-4d4d-9af7-395520fa207c", + "newValue": "9a8eb116-5270-4ef9-81ef-fdc2e72c281a", + }, + ], } responses: "201": @@ -1259,13 +1271,14 @@ paths: "user": "rmeeuws", "timestamp": "2024-10-04T00:00:00", "correlationId": "a03cd0c2-38b5-4619-b9e3-d6e5b842e127", - "metadataChanges": [ - { - "fieldName": "taxCode", - "oldValue": null, - "newValue": "V21", - } - ] + "metadataChanges": + [ + { + "fieldName": "taxCode", + "oldValue": null, + "newValue": "V21", + }, + ], } responses: "201": @@ -1449,13 +1462,14 @@ paths: "user": "rmeeuws", "timestamp": "2024-10-04T00:00:00", "correlationId": "a03cd0c2-38b5-4619-b9e3-d6e5b842e127", - "metadataChanges": [ - { - "fieldName": "businessOwner", - "oldValue": "Corneel Verstoep", - "newValue": "Mark Verheij", - } - ] + "metadataChanges": + [ + { + "fieldName": "businessOwner", + "oldValue": "Corneel Verstoep", + "newValue": "Mark Verheij", + }, + ], } responses: "201": @@ -1587,13 +1601,14 @@ paths: "user": "rmeeuws", "timestamp": "2024-10-04T00:00:00", "correlationId": "a03cd0c2-38b5-4619-b9e3-d6e5b842e127", - "metadataChanges": [ - { - "fieldName": "isOpen", - "oldValue": "true", - "newValue": "false", - } - ] + "metadataChanges": + [ + { + "fieldName": "isOpen", + "oldValue": "true", + "newValue": "false", + }, + ], } responses: "201": @@ -1754,13 +1769,14 @@ paths: "user": "rmeeuws", "timestamp": "2024-10-04T00:00:00", "correlationId": "a03cd0c2-38b5-4619-b9e3-d6e5b842e127", - "metadataChanges": [ - { - "fieldName": "percentage", - "oldValue": null, - "newValue": "23.456", - }, - ], + "metadataChanges": + [ + { + "fieldName": "percentage", + "oldValue": null, + "newValue": "23.456", + }, + ], } responses: "201": From f9f22f4ccdcdf11d73ad1e67c82553867f7c4954 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Tue, 26 Nov 2024 12:21:58 +0100 Subject: [PATCH 04/11] OVPAY-680 - Added interface voor contract cancellation. --- src/openapi/contracts/contracts-se.yaml | 84 +++++++++++++++++++++++++ 1 file changed, 84 insertions(+) diff --git a/src/openapi/contracts/contracts-se.yaml b/src/openapi/contracts/contracts-se.yaml index 98ac462..1a1530b 100644 --- a/src/openapi/contracts/contracts-se.yaml +++ b/src/openapi/contracts/contracts-se.yaml @@ -238,6 +238,90 @@ paths: "isCredit": false, }, ] + /contracts/{contractId}/cancellationmoments: + parameters: + - in: header + name: X-HTM-JWT-AUTH-HEADER + schema: + type: string + example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c + required: true + description: The JWT of the logged in customer. + - in: path + name: contractId + schema: + type: string + format: uuid + example: 9e224750-3065-471d-af57-85b9cffa7c89 + required: true + description: The id of the contract to process. + get: + summary: Get all cancellation moments for a given contract. + description: Get all cancellation moments for a given contract. + tags: + - SE Contract Cancellation v2 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "cancellationMoment": "termBound", + "termDuration": "P1M", + "billingDay": 18, + "cancellationFrom": "2024-08-10T00:00:00", + "cancellationUntil": "2026-08-10T00:00:00" + } + /contracts/{contractId}/cancellationvalidation: + parameters: + - in: header + name: X-HTM-JWT-AUTH-HEADER + schema: + type: string + example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c + required: true + description: The JWT of the logged in customer. + - in: path + name: contractId + schema: + type: string + format: uuid + example: 9e224750-3065-471d-af57-85b9cffa7c89 + required: true + description: The id of the contract to process. + get: + summary: Validate a cancellation for a given contract. + description: Validate a cancellation for a given contract. + tags: + - SE Contract Cancellation v2 + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "end": "2024-08-10T00:00:00" + } + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "validationResult": "true", + "validationMessage": "", + "end": "2024-08-10T03:59:59", + "refundAmount": "2489", + "refundMethods": [ "creditInvoice", "iDeal" ] + } components: securitySchemes: bearerToken: From b042c901e78edbf287e25f42beab399ed4b77470 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Tue, 26 Nov 2024 12:28:52 +0100 Subject: [PATCH 05/11] OVPAY-680 - Added interface voor contract cancellation pt.2. --- src/openapi/contracts/contracts-se.yaml | 46 +++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/src/openapi/contracts/contracts-se.yaml b/src/openapi/contracts/contracts-se.yaml index 1a1530b..b4c2e83 100644 --- a/src/openapi/contracts/contracts-se.yaml +++ b/src/openapi/contracts/contracts-se.yaml @@ -322,6 +322,52 @@ paths: "refundAmount": "2489", "refundMethods": [ "creditInvoice", "iDeal" ] } + /contracts/{contractId}/cancellation: + parameters: + - in: header + name: X-HTM-JWT-AUTH-HEADER + schema: + type: string + example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c + required: true + description: The JWT of the logged in customer. + - in: path + name: contractId + schema: + type: string + format: uuid + example: 9e224750-3065-471d-af57-85b9cffa7c89 + required: true + description: The id of the contract to process. + post: + summary: Cancel a contract. + description: Cancel a contract. + tags: + - SE Contract Cancellation v2 + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "end": "2024-08-10T00:00:00", + "refundMethod": "creditInvoice" + } + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "end": "2024-08-10T03:59:59", + "refundAmount": "2489", + "refundMethod": "creditInvoice" + } components: securitySchemes: bearerToken: From bca4381de7144305435556deaa814275066dfd97 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Tue, 26 Nov 2024 12:37:58 +0100 Subject: [PATCH 06/11] OVPAY-680 - Fixed typo. --- src/openapi/contracts/contracts-se.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/openapi/contracts/contracts-se.yaml b/src/openapi/contracts/contracts-se.yaml index b4c2e83..0fb6b31 100644 --- a/src/openapi/contracts/contracts-se.yaml +++ b/src/openapi/contracts/contracts-se.yaml @@ -292,7 +292,7 @@ paths: example: 9e224750-3065-471d-af57-85b9cffa7c89 required: true description: The id of the contract to process. - get: + post: summary: Validate a cancellation for a given contract. description: Validate a cancellation for a given contract. tags: From 4646f528b15d0a1c3d187163bc1c6d392358742c Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Tue, 26 Nov 2024 15:03:05 +0100 Subject: [PATCH 07/11] OVPAY-1116 - Added pagination. --- .../products/purchased_products-crud.yaml | 170 +++++++++--------- 1 file changed, 89 insertions(+), 81 deletions(-) diff --git a/src/openapi/products/purchased_products-crud.yaml b/src/openapi/products/purchased_products-crud.yaml index 079ae70..8e75abd 100644 --- a/src/openapi/products/purchased_products-crud.yaml +++ b/src/openapi/products/purchased_products-crud.yaml @@ -74,49 +74,53 @@ paths: schema: $ref: "#/components/schemas/unavailable" example: - [ - { - "purchasedProductId": "45573af8-a9aa-4f7c-95f4-b1971bf2c3c6", - "productId": 12, - "createdOn": "2024-10-04T12:34:56.000", - "lastUpdatedOn": "2024-10-04T12:34:56.000", - "purchasedProductResources": - [ - { - "purchasedProductResourceId": "c7900130-0637-41d7-83fe-6fe283a0a1f1", - "resourceName": - { "resourceNameId": 1, "name": "contracts" }, - "resourceIdentifier": "408eefa9-b393-4bb3-8439-b2e51833abc7", - }, - { - "purchasedProductResourceId": "06dae996-cdfe-45f1-833a-720201c35114", - "resourceName": - { "resourceNameId": 2, "name": "orders" }, - "resourceIdentifier": "f809a6e1-1c8d-4f8e-8a6e-0d0b1e1e1e1e", - }, - ], - "purchasedGboProducts": - [ - { - "purchasedGboProductId": "a9b3dea5-fb8a-4b1e-9fe6-90cad31c0cfd", - "salesTimestamp": "2024-10-04T12:34:56.000", - "refundTimestamp": "2024-10-04T12:34:56.000", - "fromInclusive": "2024-10-04T12:34:56.000", - "unitilInclusive": "2024-10-04T12:34:56.000", - "packageTemplateId": "30003", - "xBot": "f15efe6f-7353-4968-b134-60ba6fc2da8b", - "xTat": "42efebf7-132e-4ee0-9cbb-4037a9a54ad8", - "xSpit": "d67b2f72-918a-4e6c-957d-a39ed9c9e16b", - "customerTokenId": "b6492322-c458-4857-9ac3-a109c1887b9f", - "ovPayTokenId": 13, - "createdOn": "2024-10-04T12:34:56.000", - "lastUpdatedOn": "2024-10-04T12:34:56.000", - "createdBy": "someuser", - "lastUpdatedBy": null, - }, - ], - }, - ] + { + "purchasedProducts": + [ + { + "purchasedProductId": "45573af8-a9aa-4f7c-95f4-b1971bf2c3c6", + "productId": 12, + "createdOn": "2024-10-04T12:34:56.000", + "lastUpdatedOn": "2024-10-04T12:34:56.000", + "purchasedProductResources": + [ + { + "purchasedProductResourceId": "c7900130-0637-41d7-83fe-6fe283a0a1f1", + "resourceName": + { "resourceNameId": 1, "name": "contracts" }, + "resourceIdentifier": "408eefa9-b393-4bb3-8439-b2e51833abc7", + }, + { + "purchasedProductResourceId": "06dae996-cdfe-45f1-833a-720201c35114", + "resourceName": + { "resourceNameId": 2, "name": "orders" }, + "resourceIdentifier": "f809a6e1-1c8d-4f8e-8a6e-0d0b1e1e1e1e", + }, + ], + "purchasedGboProducts": + [ + { + "purchasedGboProductId": "a9b3dea5-fb8a-4b1e-9fe6-90cad31c0cfd", + "salesTimestamp": "2024-10-04T12:34:56.000", + "refundTimestamp": "2024-10-04T12:34:56.000", + "fromInclusive": "2024-10-04T12:34:56.000", + "unitilInclusive": "2024-10-04T12:34:56.000", + "packageTemplateId": "30003", + "xBot": "f15efe6f-7353-4968-b134-60ba6fc2da8b", + "xTat": "42efebf7-132e-4ee0-9cbb-4037a9a54ad8", + "xSpit": "d67b2f72-918a-4e6c-957d-a39ed9c9e16b", + "customerTokenId": "b6492322-c458-4857-9ac3-a109c1887b9f", + "ovPayTokenId": 13, + "createdOn": "2024-10-04T12:34:56.000", + "lastUpdatedOn": "2024-10-04T12:34:56.000", + "createdBy": "someuser", + "lastUpdatedBy": null, + }, + ], + }, + ], + "href": null, + } post: tags: - Purchased Product @@ -508,44 +512,48 @@ paths: schema: $ref: "#/components/schemas/unavailable" example: - [ - { - "purchasedGboProductId": "a9b3dea5-fb8a-4b1e-9fe6-90cad31c0cfd", - "purchasedProductId": "9e166bb3-806a-4f43-a7a2-0d5b1e90e0c3", - "salesTimestamp": "2024-10-04T12:34:56.000", - "refundTimestamp": "2024-10-05T12:34:56.000", - "fromInclusive": "2024-10-04T12:34:56.000", - "unitilInclusive": "2024-10-05T12:34:56.000", - "packageTemplateId": "30003", - "xBot": "f15efe6f-7353-4968-b134-60ba6fc2da8b", - "xTat": "42efebf7-132e-4ee0-9cbb-4037a9a54ad8", - "xSpit": "d67b2f72-918a-4e6c-957d-a39ed9c9e16b", - "customerTokenId": "b6492322-c458-4857-9ac3-a109c1887b9f", - "ovPayTokenId": 13, - "createdOn": "2024-10-04T12:34:56.000", - "lastUpdatedOn": "2024-10-04T12:34:56.000", - "createdBy": "someuser", - "lastUpdatedBy": null, - }, - { - "purchasedGboProductId": 431e481f-4330-4ad4-be47-393db38cfe38, - "purchasedProductId": "9e166bb3-806a-4f43-a7a2-0d5b1e90e0c3", - "salesTimestamp": "2024-10-05T12:34:56.000", - "refundTimestamp": "2024-10-06T12:34:56.000", - "fromInclusive": "2024-10-05T12:34:56.000", - "unitilInclusive": "2024-10-06T12:34:56.000", - "packageTemplateId": "30003", - "xBot": "f8f13d64-fd07-44e8-9c85-968857da5d68", - "xTat": "01a82ebe-5d07-45d8-a897-66152e8954dd", - "xSpit": "c3868858-b250-4480-9cb4-725d2e9198f3", - "customerTokenId": "6c7a6d4b-7e6c-4f6a-9b1e-0a9b1e6c7a6d", - "ovPayTokenId": 14, - "createdOn": "2024-10-05T12:34:56.000", - "lastUpdatedOn": "2024-10-05T12:34:56.000", - "createdBy": "someuser", - "lastUpdatedBy": null, - }, - ] + { + "purchasedGboProducts": + [ + { + "purchasedGboProductId": "a9b3dea5-fb8a-4b1e-9fe6-90cad31c0cfd", + "purchasedProductId": "9e166bb3-806a-4f43-a7a2-0d5b1e90e0c3", + "salesTimestamp": "2024-10-04T12:34:56.000", + "refundTimestamp": "2024-10-05T12:34:56.000", + "fromInclusive": "2024-10-04T12:34:56.000", + "unitilInclusive": "2024-10-05T12:34:56.000", + "packageTemplateId": "30003", + "xBot": "f15efe6f-7353-4968-b134-60ba6fc2da8b", + "xTat": "42efebf7-132e-4ee0-9cbb-4037a9a54ad8", + "xSpit": "d67b2f72-918a-4e6c-957d-a39ed9c9e16b", + "customerTokenId": "b6492322-c458-4857-9ac3-a109c1887b9f", + "ovPayTokenId": 13, + "createdOn": "2024-10-04T12:34:56.000", + "lastUpdatedOn": "2024-10-04T12:34:56.000", + "createdBy": "someuser", + "lastUpdatedBy": null, + }, + { + "purchasedGboProductId": 431e481f-4330-4ad4-be47-393db38cfe38, + "purchasedProductId": "9e166bb3-806a-4f43-a7a2-0d5b1e90e0c3", + "salesTimestamp": "2024-10-05T12:34:56.000", + "refundTimestamp": "2024-10-06T12:34:56.000", + "fromInclusive": "2024-10-05T12:34:56.000", + "unitilInclusive": "2024-10-06T12:34:56.000", + "packageTemplateId": "30003", + "xBot": "f8f13d64-fd07-44e8-9c85-968857da5d68", + "xTat": "01a82ebe-5d07-45d8-a897-66152e8954dd", + "xSpit": "c3868858-b250-4480-9cb4-725d2e9198f3", + "customerTokenId": "6c7a6d4b-7e6c-4f6a-9b1e-0a9b1e6c7a6d", + "ovPayTokenId": 14, + "createdOn": "2024-10-05T12:34:56.000", + "lastUpdatedOn": "2024-10-05T12:34:56.000", + "createdBy": "someuser", + "lastUpdatedBy": null, + }, + ], + "href": null, + } /purchasedgboproducts/{purchasedGboProductId}: parameters: - in: path From bc745034ff60ec51d745d9f811d12a42155a6f25 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Tue, 26 Nov 2024 15:13:53 +0100 Subject: [PATCH 08/11] OVPAY-1116 - Fixed POST. --- src/openapi/products/purchased_products-crud.yaml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/openapi/products/purchased_products-crud.yaml b/src/openapi/products/purchased_products-crud.yaml index 8e75abd..5f63f44 100644 --- a/src/openapi/products/purchased_products-crud.yaml +++ b/src/openapi/products/purchased_products-crud.yaml @@ -140,12 +140,11 @@ paths: "purchasedProductResources": [ { - "resourceName": - { "resourceNameId": 1, "name": "contracts" }, + "resourceNameId": 1, "resourceIdentifier": "408eefa9-b393-4bb3-8439-b2e51833abc7", }, { - "resourceName": { "resourceNameId": 2, "name": "orders" }, + "resourceNameId": 2, "resourceIdentifier": "f809a6e1-1c8d-4f8e-8a6e-0d0b1e1e1e1e", }, ], From 13ad3afff04ae0e2b6205c383d2181438484f0d3 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Tue, 26 Nov 2024 15:14:41 +0100 Subject: [PATCH 09/11] OVPAY-1116 - Fixed typo. --- src/openapi/products/purchased_products-crud.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/openapi/products/purchased_products-crud.yaml b/src/openapi/products/purchased_products-crud.yaml index 5f63f44..31370ce 100644 --- a/src/openapi/products/purchased_products-crud.yaml +++ b/src/openapi/products/purchased_products-crud.yaml @@ -282,7 +282,7 @@ paths: $ref: "#/components/schemas/unavailable" example: { - "resourceName": 1, + "resourceNameId": 1, "resourceIdentifier": "502d2e0d-4e3b-4a7e-9f6e-0d0b1e1e1e1e", } responses: From 24a4ac14d2830458749e07dfa172fa812364a811 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Tue, 26 Nov 2024 15:21:43 +0100 Subject: [PATCH 10/11] OVPAY-1116 - Fixed typos. --- .../products/purchased_products-crud.yaml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/openapi/products/purchased_products-crud.yaml b/src/openapi/products/purchased_products-crud.yaml index 31370ce..1a77eda 100644 --- a/src/openapi/products/purchased_products-crud.yaml +++ b/src/openapi/products/purchased_products-crud.yaml @@ -104,7 +104,7 @@ paths: "salesTimestamp": "2024-10-04T12:34:56.000", "refundTimestamp": "2024-10-04T12:34:56.000", "fromInclusive": "2024-10-04T12:34:56.000", - "unitilInclusive": "2024-10-04T12:34:56.000", + "untilInclusive": "2024-10-04T12:34:56.000", "packageTemplateId": "30003", "xBot": "f15efe6f-7353-4968-b134-60ba6fc2da8b", "xTat": "42efebf7-132e-4ee0-9cbb-4037a9a54ad8", @@ -154,7 +154,7 @@ paths: "salesTimestamp": "2024-10-04T12:34:56.000", "refundTimestamp": "2024-10-04T12:34:56.000", "fromInclusive": "2024-10-04T12:34:56.000", - "unitilInclusive": "2024-10-04T12:34:56.000", + "untilInclusive": "2024-10-04T12:34:56.000", "packageTemplateId": "30003", "xBot": "f15efe6f-7353-4968-b134-60ba6fc2da8b", "xTat": "42efebf7-132e-4ee0-9cbb-4037a9a54ad8", @@ -224,7 +224,7 @@ paths: "salesTimestamp": "2024-10-04T12:34:56.000", "refundTimestamp": "2024-10-04T12:34:56.000", "fromInclusive": "2024-10-04T12:34:56.000", - "unitilInclusive": "2024-10-04T12:34:56.000", + "untilInclusive": "2024-10-04T12:34:56.000", "packageTemplateId": "30003", "xBot": "f15efe6f-7353-4968-b134-60ba6fc2da8b", "xTat": "42efebf7-132e-4ee0-9cbb-4037a9a54ad8", @@ -322,7 +322,7 @@ paths: "salesTimestamp": "2024-10-04T12:34:56.000", "refundTimestamp": "2024-10-04T12:34:56.000", "fromInclusive": "2024-10-04T12:34:56.000", - "unitilInclusive": "2024-10-04T12:34:56.000", + "untilInclusive": "2024-10-04T12:34:56.000", "packageTemplateId": "30003", "xBot": "f15efe6f-7353-4968-b134-60ba6fc2da8b", "xTat": "42efebf7-132e-4ee0-9cbb-4037a9a54ad8", @@ -409,14 +409,14 @@ paths: example: 2024-10-04T12:34:56.000 description: The purchased GBO product should be valid after this timestamp. - in: query - name: unitilInclusiveBefore + name: untilInclusiveBefore schema: type: string format: date-time example: 2024-10-04T12:34:56.000 description: The purchased GBO product should be valid before this timestamp. - in: query - name: unitilInclusiveAfter + name: untilInclusiveAfter schema: type: string format: date-time @@ -520,7 +520,7 @@ paths: "salesTimestamp": "2024-10-04T12:34:56.000", "refundTimestamp": "2024-10-05T12:34:56.000", "fromInclusive": "2024-10-04T12:34:56.000", - "unitilInclusive": "2024-10-05T12:34:56.000", + "untilInclusive": "2024-10-05T12:34:56.000", "packageTemplateId": "30003", "xBot": "f15efe6f-7353-4968-b134-60ba6fc2da8b", "xTat": "42efebf7-132e-4ee0-9cbb-4037a9a54ad8", @@ -538,7 +538,7 @@ paths: "salesTimestamp": "2024-10-05T12:34:56.000", "refundTimestamp": "2024-10-06T12:34:56.000", "fromInclusive": "2024-10-05T12:34:56.000", - "unitilInclusive": "2024-10-06T12:34:56.000", + "untilInclusive": "2024-10-06T12:34:56.000", "packageTemplateId": "30003", "xBot": "f8f13d64-fd07-44e8-9c85-968857da5d68", "xTat": "01a82ebe-5d07-45d8-a897-66152e8954dd", From c000bf1e6e18dea27a955287f9277c23d746363b Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Mon, 2 Dec 2024 14:03:58 +0100 Subject: [PATCH 11/11] OVPAY-879 - Added bodies for creating trx. --- src/openapi/fiko/fiko-crud.yaml | 608 ++++++++++++++++++++------------ 1 file changed, 386 insertions(+), 222 deletions(-) diff --git a/src/openapi/fiko/fiko-crud.yaml b/src/openapi/fiko/fiko-crud.yaml index 7fb4d61..d3a48ac 100644 --- a/src/openapi/fiko/fiko-crud.yaml +++ b/src/openapi/fiko/fiko-crud.yaml @@ -123,25 +123,46 @@ paths: 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", - }, - ] + { + "transactionItems": + [ + { + "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", + }, + { + "transactionItemId": "e63cc37b-4d87-4278-8eb5-1477e07edf3d", + "sourceName": "Verkoopengine", + "transactionId": "1001237", + "transactionLineId": "1", + "name": "HTM Maandkorting 20%", + "quantity": 1, + "taxCode": "V21", + "amountExclTax": 100, + "amountInclTax": 121, + "amountTax": 21, + "occurredOn": "2024-10-04T00:05:00Z", + "type": "debit", + "productCode": "HTM-MND-20", + "aggregationReference": "FIKO-123456", + "accountingSystemReference": "U4F-123456", + }, + ], + "href": null, + } post: summary: Add a finanicial transaction item. description: Add a finanicial transaction item. @@ -153,7 +174,23 @@ paths: application/json: schema: $ref: "#/components/schemas/unavailable" - example: "TBD" + example: + { + "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", + } responses: "201": description: Created @@ -163,6 +200,69 @@ paths: $ref: "#/components/schemas/unavailable" example: { "transactionItemId": "afce35b2-1dff-4ace-98d0-4b9ac405c87d" } + /transactionitems/bulk: + post: + summary: Add one ore more finanicial transaction items in bulk. + description: Add one ore more finanicial transaction items in bulk. + tags: + - Transactions v2 + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + [ + { + "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": null, + "accountingSystemReference": null, + }, + { + "sourceName": "Verkoopengine", + "transactionId": "1001237", + "transactionLineId": "1", + "name": "HTM Maandkorting 20%", + "quantity": 1, + "taxCode": "V21", + "amountExclTax": 100, + "amountInclTax": 121, + "amountTax": 21, + "occurredOn": "2024-10-04T00:05:00Z", + "type": "debit", + "productCode": "HTM-MND-20", + "aggregationReference": null, + "accountingSystemReference": null, + }, + ] + responses: + "201": + description: Created + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + [ + { + "transactionItemId": "afce35b2-1dff-4ace-98d0-4b9ac405c87d", + }, + { + "transactionItemId": "e63cc37b-4d87-4278-8eb5-1477e07edf3d", + }, + ] /transactionitems/{transactionItemId}: parameters: - in: path @@ -362,17 +462,30 @@ paths: 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", - }, - ] + { + "transactionAuditTrails": + [ + { + "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", + }, + { + "transactionAuditTrailId": "e63cc37b-4d87-4278-8eb5-1477e07edf3d", + "transactionItemId": "d667d293-aa82-4c9e-9b10-77cffc9058a1", + "user": "fiko", + "timestamp": "2022-01-01 00:01:00", + "action": "processed", + "description": "Transaction processed.", + "correlationId": "3e9d7d4b-8adf-4e7f-8251-be308f16d3de", + }, + ], + "href": null, + } /processingfailures: get: summary: Find processing failures. @@ -472,39 +585,43 @@ paths: schema: $ref: "#/components/schemas/unavailable" example: - [ - { - "processingFailureId": "37a8095b-19db-498f-9349-5f37d21c5bdf", - "transactionItemId": "000dd413-2d19-47c0-a9db-9efbb6bc39a2", - "department": "900", - "costCenter": "84955", - "costType": "619031", - "documentDate": "2022-01-01", - "documentCode": "VERK_FACTUUR", - "accountingPeriod": "2024/10", - "transactionDescription": "Dagkaart", - "contraAccountNumber": "220.10419", - "status": "open", - "occurence": 1, - "processingFailureInstances": - [ - { - "processingFailureInstanceId": "9afa9a6b-5b6a-4b0a-9c9e-4b0a5b6a4b0a", - "processingFailureId": "c93a5b6a-5b6a-4b0a-9c9e-4b0a5b6a4b0a", - "timestamp": "2022-01-01 00:00:00", - "failureReason": + { + "processingFailures": + [ + { + "processingFailureId": "37a8095b-19db-498f-9349-5f37d21c5bdf", + "transactionItemId": "000dd413-2d19-47c0-a9db-9efbb6bc39a2", + "department": "900", + "costCenter": "84955", + "costType": "619031", + "documentDate": "2022-01-01", + "documentCode": "VERK_FACTUUR", + "accountingPeriod": "2024/10", + "transactionDescription": "Dagkaart", + "contraAccountNumber": "220.10419", + "status": "open", + "occurence": 1, + "processingFailureInstances": + [ { - "failureReasonId": 12, - "reasonCode": "1234ABCD", - "reasonDesc": "description", + "processingFailureInstanceId": "9afa9a6b-5b6a-4b0a-9c9e-4b0a5b6a4b0a", + "processingFailureId": "c93a5b6a-5b6a-4b0a-9c9e-4b0a5b6a4b0a", + "timestamp": "2022-01-01 00:00:00", + "failureReason": + { + "failureReasonId": 12, + "reasonCode": "1234ABCD", + "reasonDesc": "description", + }, + "element": "costCenter", + "occurence": 1, + "change": "Adapt config", }, - "element": "costCenter", - "occurence": 1, - "change": "Adapt config", - }, - ], - }, - ] + ], + }, + ], + "href": null, + } /processingfailures/{processingFailureId}: parameters: - in: path @@ -710,69 +827,77 @@ paths: $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": + "productMetadata": [ { - "contraAccountMetadata": - { - "contraAccountMetadataId": "e0af8c8f-d421-4567-a14e-48e2a1bb86fb", - "contraAccountCode": "123456", - "contraAccountNumber": "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", - "contraAccountCode": "123456", - "contraAccountNumber": "220.10419", - "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, - }, + "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", + "contraAccountCode": "123456", + "contraAccountNumber": "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", + "contraAccountCode": "123456", + "contraAccountNumber": "220.10419", + "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, + }, + ], }, ], + "href": null, } post: summary: Add product metadata. @@ -988,15 +1113,19 @@ paths: schema: $ref: "#/components/schemas/unavailable" example: - [ - { - "contraAccountMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf", - "contraAccountCode": "123456", - "contraAccountNumber": "220.10419", - "validFrom": "2024-03-22T09:00:00", - "validUntil": null, - }, - ] + { + "contraAccountMetadata": + [ + { + "contraAccountMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf", + "contraAccountCode": "123456", + "contraAccountNumber": "220.10419", + "validFrom": "2024-03-22T09:00:00", + "validUntil": null, + }, + ], + "href": null, + } post: summary: Add contra account metadata. description: Add contra account metadata. @@ -1153,32 +1282,36 @@ paths: schema: $ref: "#/components/schemas/unavailable" example: - [ - { - "taxMetadataId": "bc4ea24a-27a5-40e8-bbbc-57a105afaaa0", - "taxCode": "V21", - "taxPercentageAmount": 21, - "description": "BTW VERKOOP HOOG 21%", - "validFrom": "2024-01-01T00:00:00.000", - "validUntil": null, - }, - { - "taxMetadataId": "73c47af3-7c8b-44d3-b599-9b6f5a587a82", - "taxCode": "V09", - "taxPercentageAmount": 9, - "description": "BTW VERKOOP LAAG 9%", - "validFrom": "2024-01-01T00:00:00.000", - "validUntil": null, - }, - { - "taxMetadataId": "423b879c-e8db-4ba2-a2b4-0adfe037043d", - "taxCode": "V0", - "taxPercentageAmount": 0, - "description": "BTW VERKOOP NUL", - "validFrom": "2024-01-01T00:00:00.000", - "validUntil": null, - }, - ] + { + "taxMetadata": + [ + { + "taxMetadataId": "bc4ea24a-27a5-40e8-bbbc-57a105afaaa0", + "taxCode": "V21", + "taxPercentageAmount": 21, + "description": "BTW VERKOOP HOOG 21%", + "validFrom": "2024-01-01T00:00:00.000", + "validUntil": null, + }, + { + "taxMetadataId": "73c47af3-7c8b-44d3-b599-9b6f5a587a82", + "taxCode": "V09", + "taxPercentageAmount": 9, + "description": "BTW VERKOOP LAAG 9%", + "validFrom": "2024-01-01T00:00:00.000", + "validUntil": null, + }, + { + "taxMetadataId": "423b879c-e8db-4ba2-a2b4-0adfe037043d", + "taxCode": "V0", + "taxPercentageAmount": 0, + "description": "BTW VERKOOP NUL", + "validFrom": "2024-01-01T00:00:00.000", + "validUntil": null, + }, + ], + "href": null, + } post: summary: Add tax metadata. description: Add tax metadata. @@ -1351,19 +1484,23 @@ paths: 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, - }, - ] + { + "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, + }, + ], + "href": null, + } post: summary: Add source metadata. description: Add source metadata. @@ -1512,13 +1649,22 @@ paths: schema: $ref: "#/components/schemas/unavailable" example: - [ - { - "accountingPeriodMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf", - "accountingPeriod": "2024-01", - "isOpen": true, - }, - ] + { + "accountingPeriodMetadata": + [ + { + "accountingPeriodMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf", + "accountingPeriod": "2024-01", + "isOpen": false, + }, + { + "accountingPeriodMetadataId": "0302c651-f040-4cbc-8a4d-90dc82f29a32", + "accountingPeriod": "2024-02", + "isOpen": true, + }, + ], + "href": null, + } post: summary: Add accounting period metadata. description: Add accounting period metadata. @@ -1659,22 +1805,26 @@ paths: 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, - }, - ] + { + "concessionMetadata": + [ + { + "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, + }, + ], + "href": null, + } post: summary: Add concession metadata. description: Add concession metadata. @@ -1874,25 +2024,31 @@ paths: $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": + "metadataAuditTrails": [ { - "metadataChangesId": "43a481a7-0845-460f-b44a-b4112cc2e193", - "fieldName": "businessOwner", - "oldValue": "Corneel Verstoep", - "newValue": "Jan-Willem Vermeij", + "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", + }, + ], }, ], + "href": null, } /concessions: get: @@ -1908,11 +2064,15 @@ paths: schema: $ref: "#/components/schemas/unavailable" example: - [ - { "concessionId": 1, "name": "rail" }, - { "concessionId": 2, "name": "bus" }, - { "concessionId": 3, "name": "not_applicable" }, - ] + { + "concessions": + [ + { "concessionId": 1, "name": "rail" }, + { "concessionId": 2, "name": "bus" }, + { "concessionId": 3, "name": "not_applicable" }, + ], + "href": null, + } /failurereasons: get: summary: Get all failure reasons. @@ -1927,18 +2087,22 @@ paths: schema: $ref: "#/components/schemas/unavailable" example: - [ - { - "failureReasonId": 1, - "reasonCode": "002", - "reasonDesc": "Contra account does not exist", - }, - { - "failureReasonId": 2, - "reasonCode": "003", - "reasonDesc": "Accouting period closed", - }, - ] + { + "failureReasons": + [ + { + "failureReasonId": 1, + "reasonCode": "002", + "reasonDesc": "Contra account does not exist", + }, + { + "failureReasonId": 2, + "reasonCode": "003", + "reasonDesc": "Accouting period closed", + }, + ], + "href": null, + } components: securitySchemes: bearerToken: