diff --git a/src/openapi/contracts/contracts-se.yaml b/src/openapi/contracts/contracts-se.yaml index 934903f..79454b4 100644 --- a/src/openapi/contracts/contracts-se.yaml +++ b/src/openapi/contracts/contracts-se.yaml @@ -235,6 +235,136 @@ 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. + post: + 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" ] + } + /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: diff --git a/src/openapi/fiko/fiko-crud.yaml b/src/openapi/fiko/fiko-crud.yaml index a821dcb..94d7930 100644 --- a/src/openapi/fiko/fiko-crud.yaml +++ b/src/openapi/fiko/fiko-crud.yaml @@ -108,40 +108,29 @@ paths: schema: type: string example: FIKO-123456 - description: The aggregation reference of the transaction. + description: The aggregation reference of the transaction. %00 is searching for NULL-values. - in: query name: accountingSystemReference schema: type: string example: U4F-123456 - description: The accounting system reference of the transaction. + description: The accounting system reference of the transaction. %00 is searching for NULL-values. + - in: query + name: highestProcessingFailureStatus + schema: + type: array + items: + type: string + example: [open] + explode: false + description: Find the highest processing failure status of the transaction. %00 is searching for NULL-values. 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", - }, - ] + $ref: "#/components/schemas/TransactionItemsGetResponseBody" post: summary: Add a finanicial transaction item. description: Add a finanicial transaction item. @@ -152,17 +141,33 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/unavailable" - example: "TBD" + $ref: "#/components/schemas/TransactionItemsPostRequestBody" responses: "201": description: Created content: application/json: schema: - $ref: "#/components/schemas/unavailable" - example: - { "transactionItemId": "afce35b2-1dff-4ace-98d0-4b9ac405c87d" } + $ref: "#/components/schemas/TransactionItemsPostResponseBody" + /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/TransactionItemsBulkPostRequestBody" + responses: + "201": + description: Created + content: + application/json: + schema: + $ref: "#/components/schemas/TransactionItemsBulkPostResponseBody" /transactionitems/{transactionItemId}: parameters: - in: path @@ -183,21 +188,14 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/unavailable" - example: - { - "aggregationReference": "FIKO-123456", - "accountingSystemReference": "U4F-123456", - } + $ref: "#/components/schemas/TransactionItemsPatchRequestBody" responses: "200": description: OK content: application/json: schema: - $ref: "#/components/schemas/unavailable" - example: - { "transactionItemId": "d667d293-aa82-4c9e-9b10-77cffc9058a1" } + $ref: "#/components/schemas/TransactionItemsPatchResponseBody" /transactionitems/{transactionItemId}/processingfailures: parameters: - in: path @@ -218,43 +216,14 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/unavailable" - example: - { - "department": "900", - "costCenter": "84955", - "costType": "619031", - "documentDate": "2022-01-01", - "documentCode": "VERK_FACTUUR", - "accountingPeriod": "2024/10", - "transactionDescription": "Dagkaart", - "contraAccount": "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": "122be602-139d-49f5-b34f-1e3e2de29408", - "element": "costCenter", - "occurence": 1, - "change": "Adapt config", - }, - ], - } + $ref: "#/components/schemas/ProcessingFailuresPostRequestBody" responses: "201": description: Created content: application/json: schema: - $ref: "#/components/schemas/unavailable" - example: - { - "processingFailureId": "afce35b2-1dff-4ace-98d0-4b9ac405c87d", - } + $ref: "#/components/schemas/ProcessingFailuresPostResponseBody" /transactionitems/{transactionItemId}/transactionaudittrails: parameters: - in: path @@ -275,26 +244,14 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/unavailable" - example: - { - "user": "fiko", - "timestamp": "2022-01-01 00:00:00", - "action": "created", - "description": "Transaction created.", - "correlationId": "a3891560-3084-42cb-867c-f289e7cda47d", - } + $ref: "#/components/schemas/TransactionAuditTrailsPostRequestBody" responses: "201": description: Created content: application/json: schema: - $ref: "#/components/schemas/unavailable" - example: - { - "transactionAuditTrailId": "afce35b2-1dff-4ace-98d0-4b9ac405c87d", - } + $ref: "#/components/schemas/TransactionAuditTrailsPostResponseBody" /transactionaudittrails: get: summary: Find audit trail entries. @@ -341,6 +298,7 @@ paths: items: type: string example: [created, succeeded, failed] + explode: false description: The action of the event. - in: query name: description @@ -360,19 +318,7 @@ paths: 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", - }, - ] + $ref: "#/components/schemas/TransactionAuditTrailsGetResponseBody" /processingfailures: get: summary: Find processing failures. @@ -470,41 +416,7 @@ paths: content: application/json: 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", - "contraAccount": "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": - { - "failureReasonId": 12, - "reasonCode": "1234ABCD", - "reasonDesc": "description", - }, - "element": "costCenter", - "occurence": 1, - "change": "Adapt config", - }, - ], - }, - ] + $ref: "#/components/schemas/ProcessingFailuresGetResponseBody" /processingfailures/{processingFailureId}: parameters: - in: path @@ -524,19 +436,14 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/unavailable" - example: { "status": "open", "occurence": 2 } + $ref: "#/components/schemas/ProcessingFailuresPatchRequestBody" responses: "200": description: OK content: application/json: schema: - $ref: "#/components/schemas/unavailable" - example: - { - "processingFailureId": "37a8095b-19db-498f-9349-5f37d21c5bdf", - } + $ref: "#/components/schemas/ProcessingFailuresPatchResponseBody" /processingfailures/{processingFailureId}/processingfailureinstances: parameters: - in: path @@ -556,26 +463,14 @@ paths: 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", - } + $ref: "#/components/schemas/ProcessingFailureInstancesPostRequestBody" responses: "201": description: Created content: application/json: schema: - $ref: "#/components/schemas/unavailable" - example: - { - "processingFailureInstanceId": "9afa9a6b-5b6a-4b0a-9c9e-4b0a5b6a4b0a", - } + $ref: "#/components/schemas/ProcessingFailureInstancesPostResponseBody" /processingfailureinstances/{processingFailureInstanceId}: parameters: - in: path @@ -595,24 +490,14 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/unavailable" - example: - { - "timestamp": "2022-01-01 00:00:00", - "occurence": 2, - "change": "Adapt config", - } + $ref: "#/components/schemas/ProcessingFailureInstancesPatchRequestBody" responses: "200": description: OK content: application/json: schema: - $ref: "#/components/schemas/unavailable" - example: - { - "processingFailureInstanceId": "37a8095b-19db-498f-9349-5f37d21c5bdf", - } + $ref: "#/components/schemas/ProcessingFailureInstancesPatchResponseBody" /productmetadata: get: summary: Find product metadata. @@ -639,12 +524,6 @@ paths: 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: @@ -691,8 +570,11 @@ paths: - in: query name: concessionId schema: - type: integer - example: 1 + type: array + items: + type: integer + example: [1, 2] + explode: false description: Find product metadata that is linked to this concession. - in: query name: sourceMetadataId @@ -701,77 +583,20 @@ paths: format: uuid example: 08d96f94-f468-467e-9068-c86c34f43097 description: Find product metadata that is linked to this source metadata. + - in: query + name: costCenter + schema: + type: string + example: 84955 + description: Find product metadata that is linked to this cost center. 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, - }, - ], - } + $ref: "#/components/schemas/ProductMetadataGetResponseBody" + post: summary: Add product metadata. description: Add product metadata. @@ -782,45 +607,14 @@ paths: 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, - "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, - }, - ], - } + $ref: "#/components/schemas/ProductMetadataPostRequestBody" responses: "201": description: Created content: application/json: schema: - $ref: "#/components/schemas/unavailable" - example: - { "productMetadataId": "39a87c2a-9011-4dfd-b35e-1245a98c2e61" } + $ref: "#/components/schemas/ProductMetadataPostResponseBody" /productmetadata/{productMetadataId}: parameters: - in: path @@ -841,28 +635,105 @@ paths: 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, - } + $ref: "#/components/schemas/ProductMetadataPatchRequestBody" responses: "200": description: OK content: application/json: schema: - $ref: "#/components/schemas/unavailable" - example: - { "productMetadataId": "39a87c2a-9011-4dfd-b35e-1245a98c2e61" } + $ref: "#/components/schemas/ProductMetadataPatchResponseBody" + /productmetadata/{productMetadataId}/productcontraaccounts: + 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 product contra account. + description: Add product contra account. + tags: + - Metadata v2 + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/ProductContraAccountsPostRequestBody" + responses: + "201": + description: Created + content: + application/json: + schema: + $ref: "#/components/schemas/ProductContraAccountsPostResponseBody" + /productcontraaccounts: + get: + summary: Find product contra accounts. + description: Find product contra accounts. + tags: + - Metadata v2 + parameters: + - in: query + name: productContraAccountId + schema: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + description: The id of the product contra account. + - 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: contraAccountMetadataId + schema: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + description: The id of the contra account metadata. + - in: query + name: concessionId + schema: + type: array + items: + type: integer + example: [1, 2] + explode: false + 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. + - in: query + name: costCenter + schema: + type: string + example: 84955 + description: Find product metadata that is linked to this cost center. + - in: query + name: validAt + schema: + type: string + example: 2024-03-22T09:00:00 + description: Timestamp that the metadata is valid. + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/ProductContraAccountsGetResponseBody" /productcontraaccounts/{productContraAccountId}: parameters: - in: path @@ -883,67 +754,14 @@ paths: 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, - } + $ref: "#/components/schemas/ProductContraAccountsPatchRequestBody" 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 - 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/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 - content: - application/json: - schema: - $ref: "#/components/schemas/postMetadataAuditTrailResponse" + $ref: "#/components/schemas/ProductContraAccountsPatchResponseBody" /contraaccountmetadata: get: summary: Find contra account metadata. @@ -959,11 +777,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: @@ -977,16 +801,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/unavailable" - example: - [ - { - "contraAccountMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf", - "contraAccount": "220.10419", - "validFrom": "2024-03-22T09:00:00", - "validUntil": null, - }, - ] + $ref: "#/components/schemas/ContraAccountMetadataGetResponseBody" post: summary: Add contra account metadata. description: Add contra account metadata. @@ -997,24 +812,14 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/unavailable" - example: - { - "contraAccount": "220.10419", - "validFrom": "2024-03-22T09:00:00", - "validUntil": null, - } + $ref: "#/components/schemas/ContraAccountMetadataPostRequestBody" responses: "201": description: Created content: application/json: schema: - $ref: "#/components/schemas/unavailable" - example: - { - "contraAccountMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf", - } + $ref: "#/components/schemas/ContraAccountMetadataPostResponseBody" /contraaccountmetadata/{contraAccountMetadataId}: parameters: - in: path @@ -1035,65 +840,14 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/unavailable" - example: - { - "contraAccount": "220.10419", - "validFrom": "2024-03-22T09:00:00", - "validUntil": null, - } + $ref: "#/components/schemas/ContraAccountMetadataPatchRequestBody" responses: "200": description: OK content: application/json: schema: - $ref: "#/components/schemas/unavailable" - example: - { - "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/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 - content: - application/json: - schema: - $ref: "#/components/schemas/postMetadataAuditTrailResponse" + $ref: "#/components/schemas/ContraAccountMetadataPatchResponseBody" /taxmetadata: get: summary: Find tax metadata. @@ -1139,34 +893,7 @@ paths: content: application/json: 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, - }, - ] + $ref: "#/components/schemas/TaxMetadataGetResponseBody" post: summary: Add tax metadata. description: Add tax metadata. @@ -1177,24 +904,14 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/unavailable" - example: - { - "taxCode": "V21", - "taxPercentageAmount": 21, - "description": "BTW VERKOOP HOOG 21%", - "validFrom": "2024-03-22T09:00:00", - "validUntil": null, - } + $ref: "#/components/schemas/TaxMetadataPostRequestBody" responses: "201": description: Created content: application/json: schema: - $ref: "#/components/schemas/unavailable" - example: - { "taxMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf" } + $ref: "#/components/schemas/TaxMetadataPostResponseBody" /taxmetadata/{taxMetadataId}: parameters: - in: path @@ -1215,65 +932,14 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/unavailable" - example: - { - "taxCode": "V21", - "taxPercentageAmount": 21, - "description": "BTW VERKOOP HOOG 21%", - "validFrom": "2024-03-22T09:00:00", - "validUntil": "2025-12-31T23:59:59", - } + $ref: "#/components/schemas/TaxMetadataPatchRequestBody" responses: "200": description: OK content: application/json: schema: - $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/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 - content: - application/json: - schema: - $ref: "#/components/schemas/postMetadataAuditTrailResponse" + $ref: "#/components/schemas/TaxMetadataPatchResponseBody" /sourcemetadata: get: summary: Find source metadata. @@ -1315,8 +981,11 @@ paths: - in: query name: rejectionProcessing schema: - type: string - example: system + type: array + items: + type: string + example: [mail, system] + explode: false description: The rejection processing of the source. - in: query name: rejectionInfo @@ -1336,21 +1005,7 @@ paths: 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, - }, - ] + $ref: "#/components/schemas/SourceMetadataGetResponseBody" post: summary: Add source metadata. description: Add source metadata. @@ -1361,27 +1016,14 @@ paths: 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, - } + $ref: "#/components/schemas/SourceMetadataPostRequestBody" responses: "201": description: Created content: application/json: schema: - $ref: "#/components/schemas/unavailable" - example: - { "sourceMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf" } + $ref: "#/components/schemas/SourceMetadataPostResponseBody" /sourcemetadata/{sourceMetadataId}: parameters: - in: path @@ -1402,68 +1044,14 @@ paths: 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, - } + $ref: "#/components/schemas/SourceMetadataPatchRequestBody" responses: "200": description: OK content: application/json: schema: - $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/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 - content: - application/json: - schema: - $ref: "#/components/schemas/postMetadataAuditTrailResponse" + $ref: "#/components/schemas/SourceMetadataPatchResponseBody" /accountingperiodmetadata: get: summary: Find accounting period metadata. @@ -1496,15 +1084,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/unavailable" - example: - [ - { - "accountingPeriodMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf", - "accountingPeriod": "2024-01", - "isOpen": true, - }, - ] + $ref: "#/components/schemas/AccountingPeriodMetadataGetResponseBody" post: summary: Add accounting period metadata. description: Add accounting period metadata. @@ -1515,19 +1095,14 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/unavailable" - example: { "accountingPeriod": "2024-01", "isOpen": true } + $ref: "#/components/schemas/AccountingPeriodMetadataPostRequestBody" responses: "201": description: Created content: application/json: schema: - $ref: "#/components/schemas/unavailable" - example: - { - "accountingPeriodMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf", - } + $ref: "#/components/schemas/AccountingPeriodMetadataPostResponseBody" /accountingperiodmetadata/{accountingPeriodMetadataId}: parameters: - in: path @@ -1548,60 +1123,14 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/unavailable" - example: { "accountingPeriod": "2024-01", "isOpen": true } + $ref: "#/components/schemas/AccountingPeriodMetadataPatchRequestBody" responses: "200": description: OK content: application/json: schema: - $ref: "#/components/schemas/unavailable" - example: - { - "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/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 - content: - application/json: - schema: - $ref: "#/components/schemas/postMetadataAuditTrailResponse" + $ref: "#/components/schemas/AccountingPeriodMetadataPatchResponseBody" /concessionmetadata: get: summary: Find concession metadata. @@ -1623,6 +1152,7 @@ paths: items: type: integer example: [1, 2] + explode: false description: The id of the concession. - in: query name: percentage @@ -1642,24 +1172,7 @@ paths: 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, - }, - ] + $ref: "#/components/schemas/ConcessionMetadataGetResponseBody" post: summary: Add concession metadata. description: Add concession metadata. @@ -1670,25 +1183,14 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/unavailable" - example: - { - "concessionId": 2, - "percentage": 15.979, - "validFrom": "2024-01-01T00:00:00.000", - "validUntil": null, - } + $ref: "#/components/schemas/ConcessionMetadataPostRequestBody" responses: "201": description: Created content: application/json: schema: - $ref: "#/components/schemas/unavailable" - example: - { - "concessionMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf", - } + $ref: "#/components/schemas/ConcessionMetadataPostResponseBody" /concessionmetadata/{concessionMetadataId}: parameters: - in: path @@ -1709,66 +1211,14 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/unavailable" - example: - { - "concessionId": 2, - "percentage": 15.979, - "validFrom": "2024-01-01T00:00:00.000", - "validUntil": null, - } + $ref: "#/components/schemas/ConcessionMetadataPatchRequestBody" responses: "200": description: OK content: application/json: schema: - $ref: "#/components/schemas/unavailable" - example: - { - "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/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 - content: - application/json: - schema: - $ref: "#/components/schemas/postMetadataAuditTrailResponse" + $ref: "#/components/schemas/ConcessionMetadataPatchResponseBody" /metadataaudittrails: get: summary: Find metadata audit trails. @@ -1784,100 +1234,103 @@ paths: example: 37a8095b-19db-498f-9349-5f37d21c5bdf description: The id of the metadata audit trail. - in: query - name: productMetadataId + name: source schema: type: string - format: uuid - example: 37a8095b-19db-498f-9349-5f37d21c5bdf - description: The id of the product metadata. + example: FMT + description: The source of the metadata change. - in: query - name: concessionMetadataId + name: endpoint schema: type: string - format: uuid - example: 37a8095b-19db-498f-9349-5f37d21c5bdf - description: The id of the concession metadata. + format: url + example: https://dev.api.htm.nl/v2/productmetadata + description: The endpoint of the metadata change. - in: query - name: contraAccountMetadataId + name: operation schema: - type: string - format: uuid - example: 37a8095b-19db-498f-9349-5f37d21c5bdf - description: The id of the contra account metadata. + type: array + items: + type: string + enum: + - GET + - POST + - PATCH + - DELETE + example: POST + explode: false + description: The operation of the metadata change. - in: query - name: taxMetadataId + name: responseCode schema: - type: string - format: uuid - example: 37a8095b-19db-498f-9349-5f37d21c5bdf - description: The id of the tax metadata. + type: integer + example: 200 + description: The HTTP response code of the metadata change. - in: query - name: sourceMetadataId + name: requestBody schema: type: string - format: uuid - example: 37a8095b-19db-498f-9349-5f37d21c5bdf - description: The id of the source metadata. + format: json + example: { "json": "data" } + description: The request body of the metadata change. - in: query - name: accountingPeriodMetadataId + name: responseBody schema: type: string - format: uuid - example: 37a8095b-19db-498f-9349-5f37d21c5bdf - description: The id of the accounting period metadata. + format: json + example: { "json": "data" } + description: The response body of the metadata change. - in: query name: user schema: type: string - example: rmeeuws - description: The username of the user. + example: r.meeuws + description: The id of the user who performed the metadata change. - in: query name: timestampBefore schema: type: string - example: 2022-01-01 00:00:00 - description: The timestamp before the event occured. + format: date-time + example: 2024-01-01T00:00:00.000 + description: The timestamp before the metadata change was made. - in: query name: timestampAfter schema: type: string - example: 2022-01-01 00:00:00 - description: The timestamp after the event occured. + format: date-time + example: 2024-01-01T00:00:00.000 + description: The timestamp after the metadata change was made. - in: query name: correlationId schema: type: string - example: a3891560-3084-42cb-867c-f289e7cda47d - description: The correlation id of the event. + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + description: The correlation id of the metadata change. 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", - }, - ], - } + $ref: "#/components/schemas/MetadataAuditTrailsGetResponseBody" + 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/MetadataAuditTrailsPostRequestBody" + responses: + "201": + description: Created + content: + application/json: + schema: + $ref: "#/components/schemas/MetadataAuditTrailsPostResponseBody" /concessions: get: summary: Get all concessions. @@ -1890,13 +1343,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/unavailable" - example: - [ - { "concessionId": 1, "name": "rail" }, - { "concessionId": 2, "name": "bus" }, - { "concessionId": 3, "name": "not_applicable" }, - ] + $ref: "#/components/schemas/ConcessionsGetResponseBody" /failurereasons: get: summary: Get all failure reasons. @@ -1909,20 +1356,7 @@ paths: 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", - }, - ] + $ref: "#/components/schemas/FailureReasonsGetResponseBody" components: securitySchemes: bearerToken: @@ -1932,6 +1366,1553 @@ components: schemas: unavailable: type: object + TransactionItemsGetResponseBody: + type: object + properties: + transactionItems: + type: array + items: + type: object + properties: + transactionItemId: + type: string + example: afce35b2-1dff-4ace-98d0-4b9ac405c87d + sourceName: + type: string + example: Verkoopengine + transactionId: + type: string + example: 1001236 + transactionLineId: + type: string + nullable: true + example: 1 + name: + type: string + example: HTM Maandkorting 20% + quantity: + type: integer + example: 1 + taxCode: + type: string + example: V21 + amountExclTax: + type: integer + example: 100 + amountInclTax: + type: integer + example: 121 + amountTax: + type: integer + example: 21 + occurredOn: + type: string + format: date-time + example: 2024-10-04T00:00:00Z + type: + type: string + enum: + - debit + - credit + example: debit + productCode: + type: string + example: HTM-MND-20 + aggregationReference: + type: string + nullable: true + example: FIKO-123456 + accountingSystemReference: + type: string + nullable: true + example: U4F-123456 + required: + - transactionItemId + - sourceName + - transactionId + - name + - quantity + - taxCode + - amountExclTax + - amountInclTax + - amountTax + - occurredOn + - type + - productCode + href: + type: string + nullable: true + description: URI for pagination. + example: null + TransactionItemsPostRequestBody: + type: object + properties: + sourceName: + type: string + example: Verkoopengine + transactionId: + type: string + example: 1001236 + transactionLineId: + type: string + nullable: true + example: 1 + name: + type: string + example: HTM Maandkorting 20% + quantity: + type: integer + example: 1 + taxCode: + type: string + example: V21 + amountExclTax: + type: integer + example: 100 + amountInclTax: + type: integer + example: 121 + amountTax: + type: integer + example: 21 + occurredOn: + type: string + format: date-time + example: 2024-10-04T00:00:00Z + type: + type: string + enum: + - debit + - credit + example: debit + productCode: + type: string + example: HTM-MND-20 + required: + - sourceName + - transactionId + - name + - quantity + - taxCode + - amountExclTax + - amountInclTax + - amountTax + - occurredOn + - type + - productCode + TransactionItemsPostResponseBody: + type: object + properties: + transactionItemId: + type: string + format: uuid + example: afce35b2-1dff-4ace-98d0-4b9ac405c87d + required: + - transactionItemId + TransactionItemsBulkPostRequestBody: + type: object + properties: + transactionItems: + type: array + items: + type: object + properties: + sourceName: + type: string + example: Verkoopengine + transactionId: + type: string + example: 1001236 + transactionLineId: + type: string + nullable: true + example: 1 + name: + type: string + example: HTM Maandkorting 20% + quantity: + type: integer + example: 1 + taxCode: + type: string + example: V21 + amountExclTax: + type: integer + example: 100 + amountInclTax: + type: integer + example: 121 + amountTax: + type: integer + example: 21 + occurredOn: + type: string + format: date-time + example: 2024-10-04T00:00:00Z + type: + type: string + enum: + - debit + - credit + example: debit + productCode: + type: string + example: HTM-MND-20 + required: + - sourceName + - transactionId + - name + - quantity + - taxCode + - amountExclTax + - amountInclTax + - amountTax + - occurredOn + - type + - productCode + TransactionItemsBulkPostResponseBody: + type: array + items: + type: object + properties: + transactionItemId: + type: string + format: uuid + example: afce35b2-1dff-4ace-98d0-4b9ac405c87d + required: + - transactionItemId + TransactionItemsPatchRequestBody: + type: object + properties: + aggregationReference: + type: string + nullable: true + example: FIKO-123456 + accountingSystemReference: + type: string + nullable: true + example: U4F-123456 + TransactionItemsPatchResponseBody: + type: object + properties: + transactionItemId: + type: string + format: uuid + example: afce35b2-1dff-4ace-98d0-4b9ac405c87d + required: + - transactionItemId + ProcessingFailuresPostRequestBody: + type: object + properties: + department: + type: string + nullable: true + example: 900 + costCenter: + type: string + nullable: true + example: 84955 + costType: + type: string + nullable: true + example: 619031 + documentDate: + type: string + format: date + nullable: true + example: 2022-01-01 + documentCode: + type: string + nullable: true + example: VERK_FACTUUR + accountingPeriod: + type: string + nullable: true + example: 2024/10 + transactionDescription: + type: string + nullable: true + example: Dagkaart + contraAccountNumber: + type: string + nullable: true + example: 220.10419 + status: + type: string + enum: + - open + - returned to trx-db + - returned to src + example: open + occurence: + type: integer + example: 1 + processingFailureInstances: + type: array + items: + $ref: "#/components/schemas/ProcessingFailureInstancesPostRequestBody" + required: + - status + - occurence + - processingFailureInstances + ProcessingFailuresPostResponseBody: + type: object + properties: + processingFailureId: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + required: + - processingFailureId + ProcessingFailuresGetResponseBody: + type: object + properties: + processingFailures: + type: array + items: + type: object + properties: + processingFailureId: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + transactionItemId: + type: string + format: uuid + example: 2d77d978-7141-499a-84ad-93fad8ee03ce + department: + type: string + nullable: true + example: 900 + costCenter: + type: string + nullable: true + example: 84955 + costType: + type: string + nullable: true + example: 619031 + documentDate: + type: string + format: date + nullable: true + example: 2022-01-01 + documentCode: + type: string + nullable: true + example: VERK_FACTUUR + accountingPeriod: + type: string + nullable: true + example: 2024/10 + transactionDescription: + type: string + nullable: true + example: Dagkaart + contraAccountNumber: + type: string + nullable: true + example: 220.10419 + status: + type: string + enum: + - open + - returned to trx-db + - returned to src + example: open + occurence: + type: integer + example: 1 + processingFailureInstances: + type: array + items: + type: object + properties: + processingFailureInstanceId: + type: string + format: uuid + example: 9afa9a6b-5b6a-4b0a-9c9e-4b0a5b6a4b0a + timestamp: + type: string + format: date-time + example: 2022-01-01 00:00:00 + failureReason: + $ref: "#/components/schemas/FailureReason" + element: + type: string + example: costCenter + occurence: + type: integer + example: 1 + change: + type: string + nullable: true + example: Adapt config + required: + - processingFailureInstanceId + - timestamp + - failureReason + - element + - occurence + required: + - processingFailureId + - transactionItemId + - status + - occurence + - processingFailureInstances + href: + type: string + nullable: true + description: URI for pagination. + example: null + ProcessingFailuresPatchRequestBody: + type: object + properties: + status: + type: string + enum: + - open + - returned to trx-db + - returned to src + nullable: true + example: returned to trx-db + occurence: + type: integer + nullable: true + example: 2 + ProcessingFailuresPatchResponseBody: + type: object + properties: + processingFailureId: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + required: + - processingFailureId + ProcessingFailureInstancesPostRequestBody: + type: object + properties: + timestamp: + type: string + format: date-time + example: 2022-01-01 00:00:00 + failureReasonId: + type: integer + example: 1 + element: + type: string + example: costCenter + occurence: + type: integer + example: 1 + change: + type: string + nullable: true + example: Adapt config + required: + - timestamp + - failureReason + - element + - occurence + ProcessingFailureInstancesPostResponseBody: + type: object + properties: + processingFailureInstanceId: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + required: + - processingFailureInstanceId + ProcessingFailureInstancesPatchRequestBody: + type: object + properties: + timestamp: + type: string + format: date-time + nullable: true + example: 2022-01-01 00:00:00 + occurence: + type: integer + nullable: true + example: 1 + change: + type: string + nullable: true + example: Adapt config + ProcessingFailureInstancesPatchResponseBody: + type: object + properties: + processingFailureInstanceId: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + required: + - processingFailureInstanceId + TransactionAuditTrailsPostRequestBody: + type: object + properties: + user: + type: string + example: fiko + timestamp: + type: string + format: date-time + example: 2022-01-01 00:00:00 + action: + type: string + enum: + - created + - succeeded + - failed + - returned to trx-db + - returned to src + example: created + description: + type: string + nullable: true + example: Transaction created. + correlationId: + type: string + format: uuid + nullable: true + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + required: + - user + - timestamp + - action + TransactionAuditTrailsPostResponseBody: + type: object + properties: + transactionAuditTrailId: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + required: + - transactionAuditTrailId + TransactionAuditTrailsGetResponseBody: + type: object + properties: + transactionAuditTrails: + type: array + items: + type: object + properties: + transactionAuditTrailId: + type: string + format: uuid + example: afce35b2-1dff-4ace-98d0-4b9ac405c87d + transactionItemId: + type: string + format: uuid + example: d667d293-aa82-4c9e-9b10-77cffc9058a1 + user: + type: string + example: fiko + timestamp: + type: string + format: date-time + example: 2022-01-01 00:00:00 + action: + type: string + enum: + - created + - succeeded + - failed + - returned to trx-db + - returned to src + example: created + description: + type: string + nullable: true + example: Transaction created. + correlationId: + type: string + format: uuid + nullable: true + example: a3891560-3084-42cb-867c-f289e7cda47d + required: + - transactionAuditTrailId + - transactionItemId + - user + - timestamp + - action + href: + type: string + nullable: true + example: null + required: + - transactionAuditTrails + MetadataAuditTrailsGetResponseBody: + type: object + properties: + metadataAuditTrails: + type: array + items: + type: object + properties: + metadataAuditTrailId: + type: string + format: uuid + example: b6161270-eb08-4242-90ec-967d5db62070 + source: + type: string + example: FMT + endpoint: + type: string + format: url + example: https://dev.api.htm.nl/v2/productmetadata + operation: + type: string + enum: + - GET + - POST + - PATCH + - DELETE + example: POST + requestBody: + type: string + format: json + example: { "json": "data" } + responseCode: + type: integer + example: 200 + responseBody: + type: string + format: json + example: { "json": "data" } + user: + type: string + example: r.meeuws + timestamp: + type: string + format: date-time + example: 2022-01-01 00:00:00 + correlationId: + type: string + format: uuid + nullable: true + example: 662de47c-d809-41bd-b3f6-5c7e1dc5c030 + required: + - metadataAuditTrailId + - source + - endpoint + - operation + - requestBody + - responseCode + - responseBody + - user + - timestamp + href: + type: string + nullable: true + example: null + required: + - metadataAuditTrails + MetadataAuditTrailsPostRequestBody: + type: object + properties: + source: + type: string + example: FMT + endpoint: + type: string + format: url + example: https://dev.api.htm.nl/v2/productmetadata + operation: + type: string + enum: + - GET + - POST + - PATCH + - DELETE + example: POST + requestBody: + type: string + format: json + example: { "json": "data" } + responseCode: + type: integer + example: 200 + responseBody: + type: string + format: json + example: { "json": "data" } + user: + type: string + example: r.meeuws + timestamp: + type: string + format: date-time + example: 2022-01-01 00:00:00 + correlationId: + type: string + format: uuid + nullable: true + example: 662de47c-d809-41bd-b3f6-5c7e1dc5c030 + required: + - source + - endpoint + - operation + - requestBody + - responseCode + - responseBody + - user + - timestamp + MetadataAuditTrailsPostResponseBody: + type: object + properties: + metadataAuditTrailId: + type: string + format: uuid + example: b6161270-eb08-4242-90ec-967d5db62070 + required: + - metadataAuditTrailId + ProductMetadataGetResponseBody: + type: object + properties: + productMetadata: + type: array + items: + type: object + properties: + productMetadataId: + type: string + format: uuid + example: 39a87c2a-9011-4dfd-b35e-1245a98c2e61 + productCode: + type: string + example: 4031 + department: + type: string + example: 900 + costType: + type: string + example: 619031 + description: + type: string + example: O4031_Reisproduct HTM 1 dag Anoniem + documentCode: + type: string + example: VERK_FACTUUR + timestampUpdated: + type: string + format: date-time + example: 2022-01-01T00:00:00 + validFrom: + type: string + format: date-time + example: 2024-03-22T09:00:00 + validUntil: + type: string + format: date-time + nullable: true + example: null + productContraAccounts: + type: array + items: + type: object + properties: + contraAccountMetadata: + $ref: "#/components/schemas/ContraAccountMetadata" + concession: + $ref: "#/components/schemas/Concession" + sourceMetadata: + $ref: "#/components/schemas/SourceMetadata" + costCenter: + type: string + example: 84955 + validFrom: + type: string + format: date-time + example: 2024-03-22T09:00:00 + validUntil: + type: string + format: date-time + nullable: true + example: null + required: + - contraAccountMetadata + - concession + - sourceMetadata + - costCenter + - validFrom + required: + - productMetadataId + - productCode + - department + - costType + - description + - documentCode + - timestampUpdated + - validFrom + - productContraAccounts + href: + type: string + nullable: true + description: URI for pagination. + example: null + ProductMetadataPostRequestBody: + type: object + properties: + productCode: + type: string + example: 4031 + department: + type: string + example: 900 + costType: + type: string + example: 619031 + description: + type: string + example: O4031_Reisproduct HTM 1 dag Anoniem + documentCode: + type: string + example: VERK_FACTUUR + timestampUpdated: + type: string + format: date-time + example: 2022-01-01T00:00:00 + validFrom: + type: string + format: date-time + example: 2024-03-22T09:00:00 + validUntil: + type: string + format: date-time + nullable: true + example: null + required: + - productCode + - department + - costType + - description + - documentCode + - timestampUpdated + - validFrom + ProductMetadataPostResponseBody: + type: object + properties: + productMetadataId: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + required: + - productMetadataId + ProductMetadataPatchRequestBody: + type: object + properties: + productCode: + type: string + example: 4031 + department: + type: string + example: 900 + costType: + type: string + example: 619031 + description: + type: string + example: O4031_Reisproduct HTM 1 dag Anoniem + documentCode: + type: string + example: VERK_FACTUUR + timestampUpdated: + type: string + format: date-time + example: 2022-01-01T00:00:00 + validFrom: + type: string + format: date-time + example: 2024-03-22T09:00:00 + validUntil: + type: string + format: date-time + nullable: true + example: 2024-06-22T09:00:00 + ProductMetadataPatchResponseBody: + type: object + properties: + productMetadataId: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + required: + - productMetadataId + ProductContraAccountsPostRequestBody: + type: object + properties: + contraAccountMetadataId: + type: string + format: uuid + example: e0af8c8f-d421-4567-a14e-48e2a1bb86fb + concessionId: + type: integer + example: 1 + sourceMetadataId: + type: string + format: uuid + example: 08d96f94-f468-467e-9068-c86c34f43097 + costCenter: + type: string + example: 84955 + validFrom: + type: string + format: date-time + example: 2024-03-22T09:00:00 + validUntil: + type: string + format: date-time + nullable: true + example: null + required: + - contraAccountMetadataId + - concessionId + - sourceMetadataId + - costCenter + - validFrom + ProductContraAccountsPostResponseBody: + type: object + properties: + productContraAccountId: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + required: + - productContraAccountId + ProductContraAccountsGetResponseBody: + type: object + properties: + productContraAccounts: + type: array + items: + type: object + properties: + productContraAccountId: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + contraAccountMetadata: + $ref: "#/components/schemas/ContraAccountMetadata" + concession: + $ref: "#/components/schemas/Concession" + sourceMetadata: + $ref: "#/components/schemas/SourceMetadata" + costCenter: + type: string + example: 84955 + validFrom: + type: string + format: date-time + example: 2024-03-22T09:00:00 + validUntil: + type: string + format: date-time + nullable: true + example: null + required: + - productContraAccountId + - contraAccountMetadataId + - concessionId + - sourceMetadataId + - costCenter + - validFrom + href: + type: string + nullable: true + description: URI for pagination. + example: null + ProductContraAccountsPatchRequestBody: + type: object + properties: + contraAccountMetadataId: + type: string + format: uuid + example: e0af8c8f-d421-4567-a14e-48e2a1bb86fb + concessionId: + type: integer + example: 1 + sourceMetadataId: + type: string + format: uuid + example: 08d96f94-f468-467e-9068-c86c34f43097 + costCenter: + type: string + example: 84955 + validFrom: + type: string + format: date-time + example: 2024-03-22T09:00:00 + validUntil: + type: string + format: date-time + nullable: true + example: null + ProductContraAccountsPatchResponseBody: + type: object + properties: + productContraAccountId: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + required: + - productContraAccountId + ContraAccountMetadataGetResponseBody: + type: object + properties: + contraAccountMetadata: + type: array + items: + $ref: "#/components/schemas/ContraAccountMetadata" + href: + type: string + nullable: true + description: URI for pagination. + example: null + ContraAccountMetadataPostRequestBody: + type: object + properties: + contraAccountCode: + type: string + example: 123456 + contraAccountNumber: + type: string + example: 220.10419 + validFrom: + type: string + format: date-time + example: 2024-03-22T09:00:00 + validUntil: + type: string + format: date-time + nullable: true + example: null + required: + - contraAccountCode + - contraAccountNumber + - validFrom + ContraAccountMetadataPostResponseBody: + type: object + properties: + contraAccountMetadataId: + type: string + format: uuid + example: e0af8c8f-d421-4567-a14e-48e2a1bb86fb + required: + - contraAccountMetadataId + ContraAccountMetadataPatchRequestBody: + type: object + properties: + contraAccountCode: + type: string + example: 123456 + contraAccountNumber: + type: string + example: 220.10419 + validFrom: + type: string + format: date-time + example: 2024-03-22T09:00:00 + validUntil: + type: string + format: date-time + nullable: true + example: null + ContraAccountMetadataPatchResponseBody: + type: object + properties: + contraAccountMetadataId: + type: string + format: uuid + example: e0af8c8f-d421-4567-a14e-48e2a1bb86fb + required: + - contraAccountMetadataId + TaxMetadataGetResponseBody: + type: object + properties: + taxMetadata: + type: array + items: + type: object + properties: + taxMetadataId: + type: string + format: uuid + example: 192882fe-3f51-46bb-bfdb-2e4cb31ef925 + taxCode: + type: string + example: V21 + taxPercentageAmount: + type: integer + example: 21 + description: + type: string + example: BTW VERKOOP HOOG 21% + validFrom: + type: string + format: date-time + example: 2024-03-22T09:00:00 + validUntil: + type: string + format: date-time + nullable: true + example: null + required: + - taxMetadataId + - taxCode + - taxPercentageAmount + - description + - validFrom + href: + type: string + nullable: true + description: URI for pagination. + example: null + TaxMetadataPostRequestBody: + type: object + properties: + taxCode: + type: string + example: V21 + taxPercentageAmount: + type: integer + example: 21 + description: + type: string + example: BTW VERKOOP HOOG 21% + validFrom: + type: string + format: date-time + example: 2024-03-22T09:00:00 + validUntil: + type: string + format: date-time + nullable: true + example: null + required: + - taxCode + - taxPercentageAmount + - description + - validFrom + TaxMetadataPostResponseBody: + type: object + properties: + taxMetadataId: + type: string + format: uuid + example: 192882fe-3f51-46bb-bfdb-2e4cb31ef925 + required: + - taxMetadataId + TaxMetadataPatchRequestBody: + type: object + properties: + taxCode: + type: string + example: V21 + taxPercentageAmount: + type: integer + example: 21 + description: + type: string + example: BTW VERKOOP HOOG 21% + validFrom: + type: string + format: date-time + example: 2024-03-22T09:00:00 + validUntil: + type: string + format: date-time + nullable: true + example: null + TaxMetadataPatchResponseBody: + type: object + properties: + taxMetadataId: + type: string + format: uuid + example: 192882fe-3f51-46bb-bfdb-2e4cb31ef925 + required: + - taxMetadataId + SourceMetadataGetResponseBody: + type: object + properties: + sourceMetadata: + type: array + items: + $ref: '#/components/schemas/SourceMetadata' + href: + type: string + nullable: true + description: URI for pagination. + example: null + SourceMetadataPostRequestBody: + type: object + properties: + incomingName: + type: string + example: VerkoopEngine + incomingEntity: + type: string + example: OrderLine + outgoingName: + type: string + example: Website Verkopen + businessOwner: + type: string + example: Corneel Verstoep + rejectionProcessing: + type: string + example: system + rejectionInfo: + type: string + example: api.htm.nl/v2/account/12345/msgs/abc + validFrom: + type: string + format: date-time + example: 2024-01-01T00:00:00.000 + validUntil: + type: string + format: date-time + nullable: true + example: null + required: + - sourceMetadataId + - incomingName + - incomingEntity + - outgoingName + - businessOwner + - rejectionProcessing + - rejectionInfo + - validFrom + SourceMetadataPostResponseBody: + type: object + properties: + sourceMetadataId: + type: string + format: uuid + example: e0af8c8f-d421-4567-a14e-48e2a1bb86fb + required: + - sourceMetadataId + SourceMetadataPatchRequestBody: + type: object + properties: + incomingName: + type: string + example: VerkoopEngine + incomingEntity: + type: string + example: OrderLine + outgoingName: + type: string + example: Website Verkopen + businessOwner: + type: string + example: Corneel Verstoep + rejectionProcessing: + type: string + example: system + rejectionInfo: + type: string + example: api.htm.nl/v2/account/12345/msgs/abc + validFrom: + type: string + format: date-time + example: 2024-01-01T00:00:00.000 + validUntil: + type: string + format: date-time + nullable: true + example: null + SourceMetadataPatchResponseBody: + type: object + properties: + sourceMetadataId: + type: string + format: uuid + example: e0af8c8f-d421-4567-a14e-48e2a1bb86fb + required: + - sourceMetadataId + AccountingPeriodMetadataGetResponseBody: + type: object + properties: + accountingPeriodMetadata: + type: array + items: + type: object + properties: + accountingPeriodMetadataId: + type: string + format: uuid + example: e0af8c8f-d421-4567-a14e-48e2a1bb86fb + accountingPeriod: + type: string + example: 2024-01 + isOpen: + type: boolean + example: true + required: + - accountingPeriodMetadataId + - accountingPeriod + - isOpen + href: + type: string + nullable: true + description: URI for pagination. + example: null + AccountingPeriodMetadataPostRequestBody: + type: object + properties: + accountingPeriod: + type: string + example: 2024-01 + isOpen: + type: boolean + example: true + required: + - accountingPeriod + - isOpen + AccountingPeriodMetadataPostResponseBody: + type: object + properties: + accountingPeriodMetadataId: + type: string + format: uuid + example: e0af8c8f-d421-4567-a14e-48e2a1bb86fb + required: + - accountingPeriodMetadataId + AccountingPeriodMetadataPatchRequestBody: + type: object + properties: + accountingPeriod: + type: string + example: 2024-01 + isOpen: + type: boolean + example: true + AccountingPeriodMetadataPatchResponseBody: + type: object + properties: + accountingPeriodMetadataId: + type: string + format: uuid + example: e0af8c8f-d421-4567-a14e-48e2a1bb86fb + required: + - accountingPeriodMetadataId + ConcessionMetadataGetResponseBody: + type: object + properties: + concessionMetadata: + type: array + items: + type: object + properties: + concessionMetadataId: + type: string + format: uuid + example: e0af8c8f-d421-4567-a14e-48e2a1bb86fb + concession: + $ref: '#/components/schemas/Concession' + percentage: + type: number + example: 84.021 + validFrom: + type: string + format: date-time + example: 2024-01-01T00:00:00.000 + validUntil: + type: string + format: date-time + nullable: true + example: null + required: + - concessionMetadataId + - concession + - percentage + - validFrom + href: + type: string + nullable: true + description: URI for pagination. + example: null + ConcessionMetadataPostRequestBody: + type: object + properties: + concessionId: + type: integer + example: 1 + percentage: + type: number + example: 84.021 + validFrom: + type: string + format: date-time + example: 2024-01-01T00:00:00.000 + validUntil: + type: string + format: date-time + nullable: true + example: null + required: + - concessionId + - percentage + - validFrom + ConcessionMetadataPostResponseBody: + type: object + properties: + concessionMetadataId: + type: string + format: uuid + example: e0af8c8f-d421-4567-a14e-48e2a1bb86fb + required: + - concessionMetadataId + ConcessionMetadataPatchRequestBody: + type: object + properties: + concessionId: + type: integer + example: 1 + percentage: + type: number + example: 84.021 + validFrom: + type: string + format: date-time + example: 2024-01-01T00:00:00.000 + validUntil: + type: string + format: date-time + nullable: true + example: null + ConcessionMetadataPatchResponseBody: + type: object + properties: + concessionMetadataId: + type: string + format: uuid + example: e0af8c8f-d421-4567-a14e-48e2a1bb86fb + required: + - concessionMetadataId + ConcessionsGetResponseBody: + type: object + properties: + concessions: + type: array + items: + $ref: '#/components/schemas/Concession' + href: + type: string + nullable: true + description: URI for pagination. + example: null + FailureReasonsGetResponseBody: + type: object + properties: + failureReasons: + type: array + items: + $ref: '#/components/schemas/FailureReason' + href: + type: string + nullable: true + description: URI for pagination. + example: null + ContraAccountMetadata: + type: object + properties: + contraAccountMetadataId: + type: string + format: uuid + example: e0af8c8f-d421-4567-a14e-48e2a1bb86fb + contraAccountCode: + type: string + example: 123456 + contraAccountNumber: + type: string + example: 220.10419 + validFrom: + type: string + format: date-time + example: 2024-03-22T09:00:00 + validUntil: + type: string + format: date-time + nullable: true + example: null + required: + - contraAccountMetadataId + - contraAccountCode + - contraAccountNumber + - validFrom + Concession: + type: object + properties: + concessionId: + type: integer + example: 1 + name: + type: string + example: bus + required: + - concessionId + SourceMetadata: + type: object + properties: + sourceMetadataId: + type: string + format: uuid + example: bc4ea24a-27a5-40e8-bbbc-57a105afaaa0 + incomingName: + type: string + example: VerkoopEngine + incomingEntity: + type: string + example: OrderLine + outgoingName: + type: string + example: Website Verkopen + businessOwner: + type: string + example: Corneel Verstoep + rejectionProcessing: + type: string + example: system + rejectionInfo: + type: string + example: api.htm.nl/v2/account/12345/msgs/abc + validFrom: + type: string + format: date-time + example: 2024-01-01T00:00:00.000 + validUntil: + type: string + format: date-time + nullable: true + example: null + required: + - sourceMetadataId + - incomingName + - incomingEntity + - outgoingName + - businessOwner + - rejectionProcessing + - rejectionInfo + - validFrom + FailureReason: + type: object + properties: + failureReasonId: + type: integer + example: 2 + reasonCode: + type: string + example: "002" + reasonDesc: + type: string + example: Contra account does not exist + required: + - failureReasonId + - reasonCode + - reasonDesc rfc9457: type: object properties: @@ -1958,10 +2939,3 @@ components: example: - "/account/12345" - "/account/67890" - postMetadataAuditTrailResponse: - type: object - properties: - metadataAuditTrailId: - type: string - format: uuid - example: 37a8095b-19db-498f-9349-5f37d21c5bdf diff --git a/src/openapi/products/purchased_products-crud.yaml b/src/openapi/products/purchased_products-crud.yaml index 6d11d46..1a77eda 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 @@ -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 @@ -74,43 +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", - "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, - }, - ], - }, - ] + { + "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", + "untilInclusive": "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 @@ -130,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", }, ], @@ -144,12 +153,18 @@ paths: { "salesTimestamp": "2024-10-04T12:34:56.000", "refundTimestamp": "2024-10-04T12:34:56.000", + "fromInclusive": "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", "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 +223,18 @@ paths: { "salesTimestamp": "2024-10-04T12:34:56.000", "refundTimestamp": "2024-10-04T12:34:56.000", + "fromInclusive": "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", "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, }, ], } @@ -261,7 +282,7 @@ paths: $ref: "#/components/schemas/unavailable" example: { - "resourceName": 1, + "resourceNameId": 1, "resourceIdentifier": "502d2e0d-4e3b-4a7e-9f6e-0d0b1e1e1e1e", } responses: @@ -300,12 +321,18 @@ paths: { "salesTimestamp": "2024-10-04T12:34:56.000", "refundTimestamp": "2024-10-04T12:34:56.000", + "fromInclusive": "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", "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 +394,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: 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: untilInclusiveAfter + 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 +463,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 @@ -416,32 +511,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", - "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, - }, - { - "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", - "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, - }, - ] + { + "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", + "untilInclusive": "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", + "untilInclusive": "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 @@ -463,7 +574,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 +588,9 @@ paths: schema: $ref: "#/components/schemas/unavailable" example: - { "purchasedGboProductId": "a9b3dea5-fb8a-4b1e-9fe6-90cad31c0cfd" } + { + "purchasedGboProductId": "a9b3dea5-fb8a-4b1e-9fe6-90cad31c0cfd", + } components: securitySchemes: bearerToken: diff --git a/src/plugins/gitea-add-swagger-button.user.js b/src/plugins/gitea-add-swagger-button.user.js new file mode 100644 index 0000000..e702cc3 --- /dev/null +++ b/src/plugins/gitea-add-swagger-button.user.js @@ -0,0 +1,52 @@ +// ==UserScript== +// @name gitea-add-swagger-button +// @namespace https://integratielaag.nl/ +// @version 0.1.1 +// @description Creates a button in Gitea to view Swagger +// @author bboterm +// @match https://git.integratielaag.nl/*.yaml +// @match https://git.integratielaag.nl/*.json +// @icon https://www.google.com/s2/favicons?sz=64&domain=gitea.com +// @grant none +// @updateURL https://git.integratielaag.nl/HTM/ovpay/raw/branch/develop/src/plugins/gitea-add-swagger-button.user.js +// @downloadURL https://git.integratielaag.nl/HTM/ovpay/raw/branch/develop/src/plugins/gitea-add-swagger-button.user.js +// ==/UserScript== +// @history 0.1.0 Initial release +// @history 0.1.1 Added support for YAML and JSON files + +(function() { + 'use strict'; + + // Set the base URL for the Swagger instance + const swaggerBaseURL = 'https://swagger.integratielaag.nl/?url='; + // Get the base URL from the current webpage + const gitBaseURL = window.location.origin; + + // Replace 'parent-class-name' with the class name of the parent div + const parentClassName = 'file-actions'; + // Replace 'child-class-name' with the class name of the child div + const childClassName = 'buttons'; + + const parentDiv = document.querySelector('div.file-actions'); + if (parentDiv) { + const childDiv = parentDiv.querySelector('div.buttons'); + if (childDiv) { + const firstATag = childDiv.querySelector('a'); + if (firstATag) { + // Get the URL of the raw file + const hrefValue = firstATag.getAttribute('href'); + // Create a string literal for the new Swagger button + const swaggerButton = `Swagger`; + // Add the Swagger button to the HTML + childDiv.innerHTML = swaggerButton + childDiv.innerHTML; + } else { + console.log('No tag found inside the child div.'); + } + } else { + console.log(`Child div with class '${childClassName}' not found.`); + } + } else { + console.log(`Parent div with class '${parentClassName}' not found.`); + } +})(); +