From b115c0aed8c832553b970e568e72f8d2472a315d Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Tue, 18 Feb 2025 10:55:21 +0100 Subject: [PATCH 01/37] OVPAY-1518 - Updated /transactionitems. --- src/openapi/fiko/fiko-crud.yaml | 190 ++++++-------------------------- 1 file changed, 36 insertions(+), 154 deletions(-) diff --git a/src/openapi/fiko/fiko-crud.yaml b/src/openapi/fiko/fiko-crud.yaml index 3be6d63..be73076 100644 --- a/src/openapi/fiko/fiko-crud.yaml +++ b/src/openapi/fiko/fiko-crud.yaml @@ -6,45 +6,6 @@ info: servers: - url: https://api.integratielaag.nl/v1 paths: - /fiko/transactionitems: - post: - summary: DEPRECATED. Add a finanicial transaction item. - description: DEPRECATED. This API is deprecated. Use bulk-insert instead. - deprecated: true - tags: - - External FIKO endpoints v2 - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/unavailable" - responses: - "201": - description: Created - content: - application/json: - schema: - $ref: "#/components/schemas/unavailable" - /fiko/transactionitems/bulk: - post: - summary: Add one ore more finanicial transaction items in bulk. - description: Add one ore more finanicial transaction items in bulk. - tags: - - External FIKO endpoints 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: get: summary: Find transaction items. @@ -146,11 +107,11 @@ paths: explode: false description: Possible types of the transaction ('debit' or 'credit'). - in: query - name: productCode + name: articleNumber schema: type: string - example: HTM-MND-20 - description: The product code of the transaction. + example: 4031 + description: The article number of the transaction. - in: query name: status schema: @@ -180,9 +141,8 @@ paths: schema: $ref: "#/components/schemas/TransactionItemsGetResponseBody" post: - summary: DEPRECATED. Add a finanicial transaction item. - description: DEPRECATED. This API is deprecated. Use bulk-insert instead. - deprecated: true + summary: Add one ore more finanicial transaction items in bulk. + description: Add one ore more finanicial transaction items in bulk. tags: - Transactions v2 requestBody: @@ -192,8 +152,8 @@ paths: schema: $ref: "#/components/schemas/TransactionItemsPostRequestBody" responses: - "201": - description: Created + "202": + description: Accepted content: application/json: schema: @@ -1370,10 +1330,10 @@ components: - debit - credit example: debit - productCode: + articleNumber: type: string nullable: true - example: HTM-MND-20 + example: 4031 status: type: string enum: @@ -1412,88 +1372,6 @@ components: description: URI for pagination. example: null TransactionItemsPostRequestBody: - type: object - properties: - transactionType: - type: string - enum: - - sales - example: sales - 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 - nullable: true - example: HTM-MND-20 - status: - type: string - enum: - - created - - succeeded - - failed - - returned to trx-db - - returned to src - - re-entered - example: created - required: - - transactionType - - sourceName - - transactionId - - name - - quantity - - taxCode - - amountExclTax - - amountInclTax - - amountTax - - occurredOn - - type - - status - TransactionItemsPostResponseBody: - type: object - properties: - transactionItemId: - type: string - format: uuid - example: afce35b2-1dff-4ace-98d0-4b9ac405c87d - required: - - transactionItemId - TransactionItemsBulkPostRequestBody: type: object properties: transactionItems: @@ -1544,10 +1422,10 @@ components: - debit - credit example: debit - productCode: + articleNumber: type: string nullable: true - example: HTM-MND-20 + example: 4031 required: - sourceName - transactionType @@ -1560,28 +1438,32 @@ components: - amountTax - occurredOn - type - - productCode - TransactionItemsBulkPostResponseBody: + TransactionItemsPostResponseBody: type: object properties: - summary: - type: object - properties: - created: - type: integer - example: 15 - updated: - type: integer - example: 2 - total: - type: integer - example: 17 - required: - - created - - updated - - total + startTime: + type: string + format: date-time + example: 2025-02-14T05:32:47.0672237Z + status: + type: string + example: Running + clientTrackingId: + type: string + example: 08584620957189579629541919368CU00 + callbackurl: + type: string + format: uri + example: "https://services.api.htm.nl/transactionitems/responsestatus/runtime/webhooks/workflow/scaleUnits/prod-00/workflows/6fd466916c2241509f6225d6d568526b/runs/08584620957189579629541919368CU00/operations/c9f35a54-f5de-4bc6-991b-2219164aa56f?api-version=2022-05-01&sp=%2Fruns%2F08584620957189579629541919368CU00%2Foperations%2Fc9f35a54-f5de-4bc6-991b-2219164aa56f%2Fread&sv=1.0&sig=X8dPLkbtOdndMqNfZDxTEL_3k2MhE42YyL_2ATnSYj0&code=e0W6heo7VrzW-mtYzJlavaP99VZve_9fH-9NhIJW-ceJAzFu_yZ71g%3D%3D" + retryAfter: + type: integer + example: 10 required: - - summary + - startTime + - status + - clientTrackingId + - callbackurl + - retryAfter TransactionItemsBulkBadRequestResponseBody: type: object properties: @@ -1663,10 +1545,10 @@ components: - debit - credit example: debit - productCode: + articleNumber: type: string nullable: true - example: HTM-MND-20 + example: 4031 status: type: string enum: From 7a506554089d0d519b42fe61d3380571b870f9ab Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Tue, 18 Feb 2025 11:15:41 +0100 Subject: [PATCH 02/37] OVPAY-1518 - Removed legacy metadata. --- src/openapi/fiko/fiko-crud.yaml | 809 +------------------------------- 1 file changed, 23 insertions(+), 786 deletions(-) diff --git a/src/openapi/fiko/fiko-crud.yaml b/src/openapi/fiko/fiko-crud.yaml index be73076..fb8986c 100644 --- a/src/openapi/fiko/fiko-crud.yaml +++ b/src/openapi/fiko/fiko-crud.yaml @@ -421,356 +421,6 @@ paths: application/json: schema: $ref: "#/components/schemas/ProcessingFailuresPatchResponseBody" - /productmetadata: - get: - summary: Find product metadata. - description: Find product metadata. - tags: - - Metadata v2 - parameters: - - in: query - name: productMetadataId - schema: - type: string - format: uuid - example: 37a8095b-19db-498f-9349-5f37d21c5bdf - description: The id of the product metadata. - - in: query - name: productCode - schema: - type: string - example: 4031 - description: The product code. - - in: query - name: department - schema: - type: string - example: 900 - description: The department. - - in: query - name: costType - schema: - type: string - example: 619031 - description: The cost type. - - in: query - name: description - schema: - type: string - example: O4031_Reisproduct HTM 1 dag Anoniem - description: The description. - - in: query - name: documentCode - schema: - type: string - example: VERK_FACTUUR - description: The document code. - - in: query - name: updatedBefore - schema: - type: string - example: 2022-01-01 00:00:00 - description: Timestamp that the metadata was updated before. - - in: query - name: updatedAfter - schema: - type: string - example: 2022-01-01 00:00:00 - description: Timestamp that the metadata was updated after. - - in: query - name: validAt - schema: - type: string - example: 2024-03-22T09:00:00 - description: Timestamp that the metadata is valid. - - in: query - name: contraAccountMetadataId - schema: - type: string - format: uuid - example: e0af8c8f-d421-4567-a14e-48e2a1bb86fb - description: Find product metadata that is linked to this contra account. - - in: query - name: concessionId - schema: - type: 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. - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: "#/components/schemas/ProductMetadataGetResponseBody" - - post: - summary: Add product metadata. - description: Add product metadata. - tags: - - Metadata v2 - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/ProductMetadataPostRequestBody" - responses: - "201": - description: Created - content: - application/json: - schema: - $ref: "#/components/schemas/ProductMetadataPostResponseBody" - /productmetadata/{productMetadataId}: - parameters: - - in: path - name: productMetadataId - schema: - type: string - format: uuid - example: 37a8095b-19db-498f-9349-5f37d21c5bdf - required: true - description: The id of the product metadata. - patch: - summary: Update product metadata. - description: Update product metadata. - tags: - - Metadata v2 - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/ProductMetadataPatchRequestBody" - responses: - "200": - description: OK - content: - application/json: - schema: - $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 - name: productContraAccountId - schema: - type: string - format: uuid - example: 37a8095b-19db-498f-9349-5f37d21c5bdf - required: true - description: The id of the product contra account. - patch: - summary: Update product contra account. - description: Update product contra account. - tags: - - Metadata v2 - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/ProductContraAccountsPatchRequestBody" - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: "#/components/schemas/ProductContraAccountsPatchResponseBody" - /contraaccountmetadata: - get: - summary: Find contra account metadata. - description: Find contra account metadata. - tags: - - Metadata v2 - parameters: - - 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: 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 number of the contra account. - - in: query - name: validAt - schema: - type: string - format: date-time - example: 2024-03-22T09:00:00 - description: Timestamp that the metadata is valid. - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: "#/components/schemas/ContraAccountMetadataGetResponseBody" - post: - summary: Add contra account metadata. - description: Add contra account metadata. - tags: - - Metadata v2 - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/ContraAccountMetadataPostRequestBody" - responses: - "201": - description: Created - content: - application/json: - schema: - $ref: "#/components/schemas/ContraAccountMetadataPostResponseBody" - /contraaccountmetadata/{contraAccountMetadataId}: - 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. - patch: - summary: Update contra account metadata. - description: Update contra account metadata. - tags: - - Metadata v2 - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/ContraAccountMetadataPatchRequestBody" - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: "#/components/schemas/ContraAccountMetadataPatchResponseBody" /taxmetadata: get: summary: Find tax metadata. @@ -1069,14 +719,14 @@ paths: example: 37a8095b-19db-498f-9349-5f37d21c5bdf description: The id of the concession metadata. - in: query - name: concessionId + name: concession schema: type: array items: - type: integer - example: [1, 2] + type: string + example: [BUS, RAIL] explode: false - description: The id of the concession. + description: The concession. - in: query name: percentage schema: @@ -1254,19 +904,6 @@ paths: application/json: schema: $ref: "#/components/schemas/MetadataAuditTrailsPostResponseBody" - /concessions: - get: - summary: Get all concessions. - description: Get all concessions. - tags: - - References v2 - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: "#/components/schemas/ConcessionsGetResponseBody" components: securitySchemes: bearerToken: @@ -1926,366 +1563,6 @@ components: 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: @@ -2567,10 +1844,14 @@ components: properties: concessionMetadataId: type: string - format: uuid + format: en example: e0af8c8f-d421-4567-a14e-48e2a1bb86fb concession: - $ref: '#/components/schemas/Concession' + type: string + enum: + - RAIL + - BUS + example: RAIL percentage: type: number example: 84.021 @@ -2596,9 +1877,12 @@ components: ConcessionMetadataPostRequestBody: type: object properties: - concessionId: - type: integer - example: 1 + concession: + type: string + enum: + - RAIL + - BUS + example: RAIL percentage: type: number example: 84.021 @@ -2612,7 +1896,7 @@ components: nullable: true example: null required: - - concessionId + - concession - percentage - validFrom ConcessionMetadataPostResponseBody: @@ -2627,9 +1911,12 @@ components: ConcessionMetadataPatchRequestBody: type: object properties: - concessionId: - type: integer - example: 1 + concession: + type: string + enum: + - RAIL + - BUS + example: RAIL percentage: type: number example: 84.021 @@ -2651,56 +1938,6 @@ components: 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 - 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: From fd2ae8fa65315a14a695707a42872727c1af9239 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Tue, 18 Feb 2025 11:27:19 +0100 Subject: [PATCH 03/37] OVPAY-1518 - Removed legacy metadata 2. --- src/openapi/fiko/fiko-crud.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/openapi/fiko/fiko-crud.yaml b/src/openapi/fiko/fiko-crud.yaml index fb8986c..70e1cea 100644 --- a/src/openapi/fiko/fiko-crud.yaml +++ b/src/openapi/fiko/fiko-crud.yaml @@ -719,14 +719,14 @@ paths: example: 37a8095b-19db-498f-9349-5f37d21c5bdf description: The id of the concession metadata. - in: query - name: concession + name: name schema: type: array items: type: string example: [BUS, RAIL] explode: false - description: The concession. + description: The name of the concession. - in: query name: percentage schema: @@ -1846,7 +1846,7 @@ components: type: string format: en example: e0af8c8f-d421-4567-a14e-48e2a1bb86fb - concession: + name: type: string enum: - RAIL @@ -1877,7 +1877,7 @@ components: ConcessionMetadataPostRequestBody: type: object properties: - concession: + name: type: string enum: - RAIL @@ -1896,7 +1896,7 @@ components: nullable: true example: null required: - - concession + - name - percentage - validFrom ConcessionMetadataPostResponseBody: @@ -1911,7 +1911,7 @@ components: ConcessionMetadataPatchRequestBody: type: object properties: - concession: + name: type: string enum: - RAIL From aa813cdabe7b96daf75cfd29ea911a7fb3b07153 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Tue, 18 Feb 2025 11:28:50 +0100 Subject: [PATCH 04/37] OVPAY-1518 - Metadata audit trails are deprecated in favor of Elastik. --- src/openapi/fiko/fiko-crud.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/openapi/fiko/fiko-crud.yaml b/src/openapi/fiko/fiko-crud.yaml index 70e1cea..ae79167 100644 --- a/src/openapi/fiko/fiko-crud.yaml +++ b/src/openapi/fiko/fiko-crud.yaml @@ -796,6 +796,7 @@ paths: get: summary: Find metadata audit trails. description: Find metadata audit trails. + deprecated: true tags: - Audit Trail v2 parameters: @@ -889,6 +890,7 @@ paths: post: summary: Add metadata audit trail. description: Add metadata audit trail. + deprecated: true tags: - Audit Trail v2 requestBody: From 3c25c250c20a4f8fe5350ae76ed75d843f0a0aae Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Tue, 18 Feb 2025 13:28:44 +0100 Subject: [PATCH 05/37] OVPAY-1518 - Added endpoints for booking processes. --- src/openapi/fiko/fiko-crud.yaml | 1071 ++++++++++++++++++++++++++++++- 1 file changed, 1066 insertions(+), 5 deletions(-) diff --git a/src/openapi/fiko/fiko-crud.yaml b/src/openapi/fiko/fiko-crud.yaml index ae79167..d98d746 100644 --- a/src/openapi/fiko/fiko-crud.yaml +++ b/src/openapi/fiko/fiko-crud.yaml @@ -118,7 +118,15 @@ paths: type: array items: type: string - example: [created, succeeded, failed, returned to trx-db, returned to src, re-entered] + example: + [ + created, + succeeded, + failed, + returned to trx-db, + returned to src, + re-entered, + ] explode: false description: Possible statuses of the transaction ('created', 'succeeded', 'failed', 'returned to trx-db', 'returned to src', 're-entered'). - in: query @@ -296,7 +304,15 @@ paths: type: array items: type: string - example: [created, succeeded, failed, returned to trx-db, returned to src, re-entered] + example: + [ + created, + succeeded, + failed, + returned to trx-db, + returned to src, + re-entered, + ] explode: false description: The status of the transaction item. - in: query @@ -421,6 +437,497 @@ paths: application/json: schema: $ref: "#/components/schemas/ProcessingFailuresPatchResponseBody" + /bookingprocesses: + get: + summary: Find booking processes. + description: Find booking processes. + tags: + - Booking Processes v2 + parameters: + - in: query + name: bookingProcessId + schema: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + description: The id of the booking process. + - in: query + name: name + schema: + type: string + example: Verkooptransacties + description: The name of the booking process. + - in: query + name: transactionType + schema: + type: array + items: + type: string + example: [sales, purchase] + explode: false + description: The transaction type of the booking process. + - in: query + name: identifyingFieldName + schema: + type: string + example: articleNumber + description: The identifying field name of the booking process. + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/BookingProcessesGetResponseBody" + post: + summary: Add a booking process. + description: Add a booking process. + tags: + - Booking Processes v2 + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/BookingProcessesPostRequestBody" + responses: + "201": + description: Created + content: + application/json: + schema: + $ref: "#/components/schemas/BookingProcessesPostResponseBody" + /bookingprocesses/{bookingProcessId}: + parameters: + - in: path + name: bookingProcessId + schema: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + required: true + description: The id of the booking process. + patch: + summary: Update a booking process. + description: Update a booking process. + tags: + - Booking Processes v2 + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/BookingProcessesPatchRequestBody" + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/BookingProcessesPatchResponseBody" + /bookingprocesses/{bookingProcessId}/bookingmetadata: + parameters: + - in: path + name: bookingProcessId + schema: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + required: true + description: The id of the booking process. + post: + summary: Add booking metadata. + description: Add booking metadata. + tags: + - Booking Processes v2 + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/BookingMetadataPostRequestBody" + responses: + "201": + description: Created + content: + application/json: + schema: + $ref: "#/components/schemas/BookingMetadataPostResponseBody" + /bookingmetadata: + get: + summary: Find booking metadata. + description: Find booking metadata. + tags: + - Booking Processes v2 + parameters: + - in: query + name: bookingMetadataId + schema: + type: string + format: uuid + example: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 + description: The id of the booking metadata. + - in: query + name: bookingProcessId + schema: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + description: The id of the parent booking process. + - in: query + name: description + schema: + type: string + example: Dagkaart + description: The description of the booking. + - in: query + name: element1 + schema: + type: string + example: 900 + description: The first element of the booking. + - in: query + name: element2 + schema: + type: string + example: 84956 + description: The second element of the booking. + - in: query + name: documentCode + schema: + type: string + example: FIKO-OPBR + description: The document code of the booking. + - in: query + name: hasSeparateTaxLine + schema: + type: boolean + example: true + description: Whether the booking has a separate tax line. + - in: query + name: hasLinePerIdentifyingField + schema: + type: boolean + example: true + description: Whether the booking has a line per identifying field. + - in: query + name: hasLinePerSource + schema: + type: boolean + example: true + description: Whether the booking has a line per source. + - in: query + name: hasLinePerSource + schema: + type: boolean + example: true + description: Whether the booking has a line per source. + - in: query + name: hasLinePerConcession + schema: + type: boolean + example: true + description: Whether the booking has a line per concession. + - in: query + name: validAt + schema: + type: string + example: 2024-01-01T00:00:00.000 + description: Timestamp that the booking metadata is valid. + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/BookingMetadataGetResponseBody" + /bookingmetadata/{bookingMetadataId}: + parameters: + - in: path + name: bookingMetadataId + schema: + type: string + format: uuid + example: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 + required: true + description: The id of the booking metadata. + patch: + summary: Update booking metadata. + description: Update booking metadata. + tags: + - Booking Processes v2 + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/BookingMetadataPatchRequestBody" + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/BookingMetadataPatchResponseBody" + /bookingmetadata/{bookingMetadataId}/bookinggroupfields: + parameters: + - in: path + name: bookingMetadataId + schema: + type: string + format: uuid + example: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 + required: true + description: The id of the booking metadata. + post: + summary: Add booking group fields. + description: Add booking group fields. + tags: + - Booking Processes v2 + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/BookingGroupFieldsPostRequestBody" + responses: + "201": + description: Created + content: + application/json: + schema: + $ref: "#/components/schemas/BookingGroupFieldsPostResponseBody" + /bookingmetadata/{bookingMetadataId}/bookinglinemetadata: + parameters: + - in: path + name: bookingMetadataId + schema: + type: string + format: uuid + example: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 + required: true + description: The id of the booking metadata. + post: + summary: Add booking line metadata. + description: Add booking line metadata. + tags: + - Booking Processes v2 + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/BookingLineMetadataPostRequestBody" + responses: + "201": + description: Created + content: + application/json: + schema: + $ref: "#/components/schemas/BookingLineMetadataPostResponseBody" + /bookinggroupfields: + get: + summary: Find booking group fields. + description: Find booking group fields. + tags: + - Booking Processes v2 + parameters: + - in: query + name: bookingGroupFieldId + schema: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + description: The id of the booking group field. + - in: query + name: bookingMetadataId + schema: + type: string + format: uuid + example: 63d4a7e2-62c3-428b-a4bb-e4ee45516f2a + description: The id of the parent booking metadata. + - in: query + name: identifyingFieldValue + schema: + type: string + example: 1737 + description: The identifying field value. + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/BookingGroupFieldsGetResponseBody" + /bookinggroupfields/{bookingGroupFieldId}: + parameters: + - in: path + name: bookingGroupFieldId + schema: + type: string + format: uuid + example: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 + required: true + description: The id of the booking group field. + delete: + summary: Delete booking group field. + description: Delete booking group field. + tags: + - Booking Processes v2 + responses: + "200": + description: OK + /bookinglinemetadata: + get: + summary: Find booking line metadata. + description: Find booking line metadata. + tags: + - Booking Processes v2 + parameters: + - in: query + name: bookingLineMetadataId + schema: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + description: The id of the booking line metadata. + - in: query + name: bookingMetadataId + schema: + type: string + format: uuid + example: 63d4a7e2-62c3-428b-a4bb-e4ee45516f2a + description: The id of the parent booking metadata. + - in: query + name: name + schema: + type: string + example: Dakaart - BUS + description: The name of the booking line metadata. + - in: query + name: incomingName + schema: + type: string + example: Webshop + description: The incoming name of the booking line metadata. + - in: query + name: identifyingFieldValue + schema: + type: string + example: 1737 + description: The identifying field value. + - in: query + name: concessionName + schema: + type: array + items: + type: string + example: [BUS, RAIL] + explode: false + description: The name of the concession. + - in: query + name: lineType + schema: + type: array + items: + type: string + example: [summary, analysis, tax] + explode: false + description: The type of the line. + - in: query + name: lineSense + schema: + type: array + items: + type: string + example: [debit, credit] + explode: false + description: The sense of the line. + - in: query + name: element3 + schema: + type: string + example: 603031 + description: The element 3 of the booking line metadata. + - in: query + name: element4 + schema: + type: string + example: Dagkaart + description: The element 4 of the booking line metadata. + - in: query + name: extRef1 + schema: + type: string + example: extRef1 + - in: query + name: extRef2 + schema: + type: string + example: extRef2 + - in: query + name: extRef3 + schema: + type: string + example: extRef3 + - in: query + name: extRef4 + schema: + type: string + example: extRef4 + - in: query + name: extRef5 + schema: + type: string + example: extRef5 + - in: query + name: extRef6 + schema: + type: string + example: extRef6 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/BookingLineMetadataGetResponseBody" + /bookinglinemetadata/{bookingLineMetadataId}: + parameters: + - in: path + name: bookingLineMetadataId + schema: + type: string + format: uuid + example: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 + required: true + description: The id of the booking line metadata. + patch: + summary: Update booking line metadata. + description: Update booking line metadata. + tags: + - Booking Processes v2 + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/BookingLineMetadataPatchRequestBody" + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/BookingLineMetadataPatchResponseBody" + delete: + summary: Delete booking line metadata. + description: Delete booking line metadata. + tags: + - Booking Processes v2 + responses: + "200": + description: OK /taxmetadata: get: summary: Find tax metadata. @@ -1127,7 +1634,7 @@ components: detail: type: string example: Transaction is a duplicate of a transaction already in the system. - pointer: + pointer: type: string example: "#/transactionItems/0" transactionId: @@ -1440,6 +1947,560 @@ components: example: null required: - transactionAuditTrails + BookingProcessesGetResponseBody: + type: object + properties: + bookingProcesses: + type: array + items: + type: object + properties: + bookingProcessId: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + name: + type: string + example: Verkooptransacties + transactionType: + type: string + enum: + - sales + example: sales + identifyingFieldName: + type: string + nullable: true + example: articleNumber + required: + - bookingProcessId + - name + - transactionType + href: + type: string + nullable: true + description: URI for pagination. + example: null + required: + - bookingProcesses + BookingProcessesPostRequestBody: + type: object + properties: + name: + type: string + example: Verkooptransacties + transactionType: + type: string + enum: + - sales + example: sales + identifyingFieldName: + type: string + nullable: true + example: articleNumber + required: + - name + - transactionType + BookingProcessesPostResponseBody: + type: object + properties: + bookingProcessId: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + required: + - bookingProcessId + BookingProcessesPatchRequestBody: + type: object + properties: + name: + type: string + nullable: true + example: Verkooptransacties + transactionType: + type: string + nullable: true + enum: + - sales + example: sales + identifyingFieldName: + type: string + nullable: true + example: articleNumber + BookingProcessesPatchResponseBody: + type: object + properties: + bookingProcessId: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + required: + - bookingProcessId + BookingMetadataGetResponseBody: + type: object + properties: + bookingMetadata: + type: array + items: + type: object + properties: + bookingMetadataId: + type: string + format: uuid + example: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 + bookingProcessId: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + description: + type: string + example: Dagkaart + element1: + type: string + example: 900 + element2: + type: string + example: 84956 + documentCode: + type: string + example: FIKO-OPBR + hasSeparateTaxLine: + type: boolean + example: true + hasLinePerIdentifyingField: + type: boolean + example: true + hasLinePerSource: + type: boolean + example: true + hasLinePerConcession: + type: boolean + example: true + validFrom: + type: string + format: date-time + example: 2022-01-01 00:00:00 + validTo: + type: string + format: date-time + nullable: true + example: null + required: + - bookingMetadataId + - bookingProcessId + - description + - element1 + - element2 + - documentCode + - hasSeparateTaxLine + - hasLinePerIdentifyingField + - hasLinePerSource + - hasLinePerConcession + - validFrom + href: + type: string + nullable: true + example: null + required: + - bookingMetadata + BookingMetadataPostRequestBody: + type: object + properties: + description: + type: string + example: Dagkaart + element1: + type: string + example: 900 + element2: + type: string + example: 84956 + documentCode: + type: string + example: FIKO-OPBR + hasSeparateTaxLine: + type: boolean + example: true + hasLinePerIdentifyingField: + type: boolean + example: true + hasLinePerSource: + type: boolean + example: true + hasLinePerConcession: + type: boolean + example: true + validFrom: + type: string + format: date-time + example: 2022-01-01 00:00:00 + validTo: + type: string + format: date-time + nullable: true + example: null + required: + - description + - element1 + - element2 + - documentCode + - hasSeparateTaxLine + - hasLinePerIdentifyingField + - hasLinePerSource + - hasLinePerConcession + - validFrom + BookingMetadataPostResponseBody: + type: object + properties: + bookingMetadataId: + type: string + format: uuid + example: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 + required: + - bookingMetadataId + BookingMetadataPatchRequestBody: + type: object + properties: + description: + type: string + nullable: true + example: Dagkaart + element1: + type: string + nullable: true + example: 900 + element2: + type: string + nullable: true + example: 84956 + documentCode: + type: string + nullable: true + example: FIKO-OPBR + hasSeparateTaxLine: + type: boolean + nullable: true + example: true + hasLinePerIdentifyingField: + type: boolean + nullable: true + example: true + hasLinePerSource: + type: boolean + nullable: true + example: true + hasLinePerConcession: + type: boolean + nullable: true + example: true + validFrom: + type: string + format: date-time + nullable: true + example: 2022-01-01 00:00:00 + validTo: + type: string + format: date-time + nullable: true + example: null + BookingMetadataPatchResponseBody: + type: object + properties: + bookingMetadataId: + type: string + format: uuid + example: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 + required: + - bookingMetadataId + BookingGroupFieldsPostRequestBody: + type: object + properties: + identifyingFieldValue: + type: string + example: 1737 + required: + - identifyingFieldValue + BookingGroupFieldsPostResponseBody: + type: object + properties: + bookingGroupFieldId: + type: string + format: uuid + example: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 + required: + - bookingGroupFieldId + BookingGroupFieldsGetResponseBody: + type: object + properties: + bookingGroupFields: + type: array + items: + type: object + properties: + bookingGroupFieldId: + type: string + format: uuid + example: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 + bookingGroupMetadataId: + type: string + format: uuid + example: 12b4d128-0ab8-4a4a-944d-25b83de38b27 + identifyingFieldValue: + type: string + example: 1737 + required: + - bookingGroupFieldId + - bookingGroupMetadataId + - identifyingFieldValue + href: + type: string + nullable: true + example: null + required: + - bookingGroupFields + BookingLineMetadataPostRequestBody: + type: object + properties: + name: + type: string + example: Dagkaart - BUS + incomingName: + type: string + example: null + nullable: true + identifyingFieldValue: + type: string + example: null + nullable: true + concessionName: + type: string + example: RAIL + nullable: true + lineType: + type: string + enum: + - summary + - analysis + - tax + example: summary + lineSense: + type: string + enum: + - debit + - credit + example: credit + element3: + type: string + example: 603031 + nullable: true + element4: + type: string + example: dagkaart + nullable: true + extRef1: + type: string + example: null + nullable: true + extRef2: + type: string + example: null + nullable: true + extRef3: + type: string + example: 2025-02-17 + nullable: true + extRef4: + type: string + example: null + nullable: true + extRef5: + type: string + example: Webshop + nullable: true + extRef6: + type: string + example: null + nullable: true + required: + - name + - lineType + - lineSense + BookingLineMetadataPostResponseBody: + type: object + properties: + bookingLineMetadataId: + type: string + format: uuid + example: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 + required: + - bookingLineMetadataId + BookingLineMetadataGetResponseBody: + type: object + properties: + bookingLineMetadata: + type: array + items: + type: object + properties: + bookingLineMetadataId: + type: string + format: uuid + example: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 + bookingMetadataId: + type: string + format: uuid + example: 12b4d128-0ab8-4a4a-944d-25b83de38b27 + name: + type: string + example: Dagkaart - BUS + incomingName: + type: string + example: null + nullable: true + identifyingFieldValue: + type: string + example: null + nullable: true + concessionName: + type: string + enum: + - RAIL + - BUS + example: RAIL + lineType: + type: string + enum: + - summary + - analysis + - tax + example: summary + lineSense: + type: string + enum: + - debit + - credit + example: credit + element3: + type: string + example: 603031 + nullable: true + element4: + type: string + example: dagkaart + nullable: true + extRef1: + type: string + example: null + nullable: true + extRef2: + type: string + example: null + nullable: true + extRef3: + type: string + example: 2025-02-17 + nullable: true + extRef4: + type: string + example: null + nullable: true + extRef5: + type: string + example: Webshop + nullable: true + extRef6: + type: string + example: null + nullable: true + required: + - bookingLineMetadataId + - bookingMetadataId + - name + - lineType + - lineSense + href: + type: string + nullable: true + example: null + required: + - bookingLineMetadata + BookingLineMetadataPatchRequestBody: + type: object + properties: + name: + type: string + nullable: true + example: Dagkaart - BUS + incomingName: + type: string + nullable: true + example: null + identifyingFieldValue: + type: string + nullable: true + example: null + concessionName: + type: string + nullable: true + enum: + - RAIL + - BUS + example: RAIL + lineType: + type: string + nullable: true + enum: + - summary + - analysis + - tax + example: summary + lineSense: + type: string + nullable: true + enum: + - debit + - credit + example: credit + element3: + type: string + nullable: true + example: 603031 + element4: + type: string + nullable: true + example: dagkaart + extRef1: + type: string + nullable: true + example: null + extRef2: + type: string + nullable: true + example: null + extRef3: + type: string + nullable: true + example: 2025-02-17 + extRef4: + type: string + nullable: true + example: null + extRef5: + type: string + nullable: true + example: Webshop + extRef6: + type: string + nullable: true + example: null + BookingLineMetadataPatchResponseBody: + type: object + properties: + bookingLineMetadataId: + type: string + format: uuid + example: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 + required: + - bookingLineMetadataId MetadataAuditTrailsGetResponseBody: type: object properties: @@ -1647,7 +2708,7 @@ components: taxCode: type: string example: V21 - taxPercentageAmount: + taxPercentageAmount: type: integer example: 21 description: @@ -1677,7 +2738,7 @@ components: sourceMetadata: type: array items: - $ref: '#/components/schemas/SourceMetadata' + $ref: "#/components/schemas/SourceMetadata" href: type: string nullable: true From 8b41cbd7c88f34e5d604a98a4fbaa1923726660b Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Tue, 18 Feb 2025 13:32:10 +0100 Subject: [PATCH 06/37] OVPAY-1518 - Bugfix. --- src/openapi/fiko/fiko-crud.yaml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/openapi/fiko/fiko-crud.yaml b/src/openapi/fiko/fiko-crud.yaml index d98d746..3a01430 100644 --- a/src/openapi/fiko/fiko-crud.yaml +++ b/src/openapi/fiko/fiko-crud.yaml @@ -616,12 +616,6 @@ paths: type: boolean example: true description: Whether the booking has a line per source. - - in: query - name: hasLinePerSource - schema: - type: boolean - example: true - description: Whether the booking has a line per source. - in: query name: hasLinePerConcession schema: From 36a2ccb03c02673f1aecc29529b2d1a6db79b4e7 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Tue, 18 Feb 2025 14:51:44 +0100 Subject: [PATCH 07/37] OVPAY-1518 - Processed review remarks from data architect. --- src/openapi/fiko/fiko-crud.yaml | 203 +++++++++++++++----------------- 1 file changed, 96 insertions(+), 107 deletions(-) diff --git a/src/openapi/fiko/fiko-crud.yaml b/src/openapi/fiko/fiko-crud.yaml index 3a01430..192c31c 100644 --- a/src/openapi/fiko/fiko-crud.yaml +++ b/src/openapi/fiko/fiko-crud.yaml @@ -581,17 +581,17 @@ paths: example: Dagkaart description: The description of the booking. - in: query - name: element1 + name: department schema: type: string example: 900 - description: The first element of the booking. + description: The department of the booking. - in: query - name: element2 + name: costType schema: type: string example: 84956 - description: The second element of the booking. + description: The cost type of the booking. - in: query name: documentCode schema: @@ -799,11 +799,11 @@ paths: example: Dakaart - BUS description: The name of the booking line metadata. - in: query - name: incomingName + name: sourceMetadataId schema: type: string - example: Webshop - description: The incoming name of the booking line metadata. + example: 9b371ab4-2c47-4aa5-bcf8-6642385278ac + description: The source of the booking line metadata. - in: query name: identifyingFieldValue schema: @@ -811,12 +811,12 @@ paths: example: 1737 description: The identifying field value. - in: query - name: concessionName + name: concessionId schema: type: array items: - type: string - example: [BUS, RAIL] + type: integer + example: [1, 2] explode: false description: The name of the concession. - in: query @@ -838,17 +838,17 @@ paths: explode: false description: The sense of the line. - in: query - name: element3 + name: costCenter schema: type: string example: 603031 - description: The element 3 of the booking line metadata. + description: The cost center of the booking line metadata. - in: query - name: element4 + name: artcleName schema: type: string example: Dagkaart - description: The element 4 of the booking line metadata. + description: The article name of the booking line metadata. - in: query name: extRef1 schema: @@ -1067,12 +1067,6 @@ paths: type: string example: api.htm.nl/v2/account/12345/msgs/abc description: The rejection info of the source. - - in: query - name: validAt - schema: - type: string - example: 2024-01-01T00:00:00.000 - description: Timestamp that the metadata is valid. responses: "200": description: OK @@ -1220,12 +1214,12 @@ paths: example: 37a8095b-19db-498f-9349-5f37d21c5bdf description: The id of the concession metadata. - in: query - name: name + name: concessionId schema: type: array items: - type: string - example: [BUS, RAIL] + type: integer + example: [1, 2] explode: false description: The name of the concession. - in: query @@ -1407,6 +1401,19 @@ paths: application/json: schema: $ref: "#/components/schemas/MetadataAuditTrailsPostResponseBody" + /concessions: + get: + summary: Get all concessions. + description: Get all concessions. + tags: + - References v2 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/ConcessionsGetResponseBody" components: securitySchemes: bearerToken: @@ -2048,10 +2055,10 @@ components: description: type: string example: Dagkaart - element1: + department: type: string example: 900 - element2: + costType: type: string example: 84956 documentCode: @@ -2082,8 +2089,8 @@ components: - bookingMetadataId - bookingProcessId - description - - element1 - - element2 + - department + - costType - documentCode - hasSeparateTaxLine - hasLinePerIdentifyingField @@ -2102,10 +2109,10 @@ components: description: type: string example: Dagkaart - element1: + department: type: string example: 900 - element2: + costType: type: string example: 84956 documentCode: @@ -2134,8 +2141,8 @@ components: example: null required: - description - - element1 - - element2 + - department + - costType - documentCode - hasSeparateTaxLine - hasLinePerIdentifyingField @@ -2158,11 +2165,11 @@ components: type: string nullable: true example: Dagkaart - element1: + department: type: string nullable: true example: 900 - element2: + costType: type: string nullable: true example: 84956 @@ -2257,17 +2264,18 @@ components: name: type: string example: Dagkaart - BUS - incomingName: + sourceMetadataId: type: string + format: uuid example: null nullable: true identifyingFieldValue: type: string example: null nullable: true - concessionName: - type: string - example: RAIL + concessionId: + type: integer + example: 1 nullable: true lineType: type: string @@ -2282,11 +2290,11 @@ components: - debit - credit example: credit - element3: + costCenter: type: string example: 603031 nullable: true - element4: + articleName: type: string example: dagkaart nullable: true @@ -2346,20 +2354,16 @@ components: name: type: string example: Dagkaart - BUS - incomingName: - type: string - example: null - nullable: true + sourceMetadata: + type: object + $ref: '#/components/schemas/SourceMetadata' identifyingFieldValue: type: string example: null nullable: true - concessionName: - type: string - enum: - - RAIL - - BUS - example: RAIL + concession: + type: object + $ref: '#/components/schemas/Concession' lineType: type: string enum: @@ -2373,11 +2377,11 @@ components: - debit - credit example: credit - element3: + costCenter: type: string example: 603031 nullable: true - element4: + articleName: type: string example: dagkaart nullable: true @@ -2424,21 +2428,19 @@ components: type: string nullable: true example: Dagkaart - BUS - incomingName: + sourceMetadataId: type: string + format: uuid nullable: true example: null identifyingFieldValue: type: string nullable: true example: null - concessionName: - type: string + concessionId: + type: integer nullable: true - enum: - - RAIL - - BUS - example: RAIL + example: 1 lineType: type: string nullable: true @@ -2454,11 +2456,11 @@ components: - debit - credit example: credit - element3: + costCenter: type: string nullable: true example: 603031 - element4: + articleName: type: string nullable: true example: dagkaart @@ -2759,15 +2761,6 @@ components: 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 @@ -2776,7 +2769,6 @@ components: - businessOwner - rejectionProcessing - rejectionInfo - - validFrom SourceMetadataPostResponseBody: type: object properties: @@ -2807,15 +2799,6 @@ components: 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: @@ -2903,12 +2886,9 @@ components: type: string format: en example: e0af8c8f-d421-4567-a14e-48e2a1bb86fb - name: - type: string - enum: - - RAIL - - BUS - example: RAIL + concession: + type: object + $ref: "#/components/schemas/Concession" percentage: type: number example: 84.021 @@ -2934,12 +2914,9 @@ components: ConcessionMetadataPostRequestBody: type: object properties: - name: - type: string - enum: - - RAIL - - BUS - example: RAIL + concessionId: + type: integer + example: 1 percentage: type: number example: 84.021 @@ -2953,7 +2930,7 @@ components: nullable: true example: null required: - - name + - concessionId - percentage - validFrom ConcessionMetadataPostResponseBody: @@ -2968,12 +2945,9 @@ components: ConcessionMetadataPatchRequestBody: type: object properties: - name: - type: string - enum: - - RAIL - - BUS - example: RAIL + concessionId: + type: integer + example: 1 percentage: type: number example: 84.021 @@ -2995,6 +2969,30 @@ components: 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 + Concession: + type: object + properties: + concessionId: + type: integer + example: 1 + name: + type: string + example: BUS + required: + - concessionId + - name SourceMetadata: type: object properties: @@ -3020,15 +3018,6 @@ components: 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 From 19afac017ddda9f840294b52fa4ca9f01bb45565 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Tue, 18 Feb 2025 14:58:45 +0100 Subject: [PATCH 08/37] OVPAY-1518 - Swapped concessionId. --- src/openapi/fiko/fiko-crud.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/openapi/fiko/fiko-crud.yaml b/src/openapi/fiko/fiko-crud.yaml index 192c31c..ca35c86 100644 --- a/src/openapi/fiko/fiko-crud.yaml +++ b/src/openapi/fiko/fiko-crud.yaml @@ -2989,7 +2989,7 @@ components: example: 1 name: type: string - example: BUS + example: RAIL required: - concessionId - name From 8e77c34615c7ea8e35a728300ced30706e5eba35 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Wed, 19 Feb 2025 11:18:03 +0100 Subject: [PATCH 09/37] OVPAY-1518 - Added examples for Transactions v2. --- src/openapi/fiko/fiko-crud.yaml | 206 +++++++++++++++++++++++++++++++- 1 file changed, 204 insertions(+), 2 deletions(-) diff --git a/src/openapi/fiko/fiko-crud.yaml b/src/openapi/fiko/fiko-crud.yaml index ca35c86..421467e 100644 --- a/src/openapi/fiko/fiko-crud.yaml +++ b/src/openapi/fiko/fiko-crud.yaml @@ -4,7 +4,7 @@ info: version: "1.0" description: CRUD APIs for ABT FIKO database v2. servers: - - url: https://api.integratielaag.nl/v1 + - url: https://api.integratielaag.nl/fiko/1.0 paths: /transactionitems: get: @@ -148,6 +148,121 @@ paths: application/json: schema: $ref: "#/components/schemas/TransactionItemsGetResponseBody" + examples: + No transaction items: + summary: No transaction items were found + description: No transaction items that match the search criteria were found. + value: + transactionItems: [] + href: null + List containing multiple sales transaction items: + summary: List containing multiple sales transaction items + description: List containing multiple sales transaction items of transaction type 'sales' with different statuses. + value: + transactionItems: + - transactionItemId: afce35b2-1dff-4ace-98d0-4b9ac405c87d + transactionType: sales + 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 + articleNumber: 4031 + status: created + aggregationReference: null + accountingSystemReference: null + - transactionItemId: 1c1fc1c8-57f4-4336-9b43-a974eae5afbf + transactionType: sales + sourceName: Verkoopengine + transactionId: 1002001 + transactionLineId: 1 + name: Reisproduct HTM 3 dag Anoniem + quantity: 1 + taxCode: V21 + amountExclTax: 100 + amountInclTax: 121 + amountTax: 21 + occurredOn: 2024-10-04T00:00:00Z + type: debit + articleNumber: 4051 + status: failed + aggregationReference: null + accountingSystemReference: null + - transactionItemId: 3f58441e-dc8f-4956-9bc5-c952312476db + transactionType: sales + sourceName: Verkoopengine + transactionId: 1001871 + transactionLineId: 1 + name: Reisproduct HTM 3 dag Anoniem + quantity: 1 + taxCode: V21 + amountExclTax: 100 + amountInclTax: 121 + amountTax: 21 + occurredOn: 2024-10-04T00:00:00Z + type: debit + articleNumber: 4051 + status: returned to src + aggregationReference: FIKO-171f40609e + accountingSystemReference: null + - transactionItemId: 4418825f-3f9b-45bc-b662-dc3cd4ce6599 + transactionType: sales + sourceName: Verkoopengine + transactionId: 1001131 + transactionLineId: 1 + name: Reisproduct HTM 3 dag Anoniem + quantity: 1 + taxCode: V21 + amountExclTax: 100 + amountInclTax: 121 + amountTax: 21 + occurredOn: 2024-10-04T00:00:00Z + type: debit + articleNumber: 4051 + status: returned to trx-db + aggregationReference: null + accountingSystemReference: null + - transactionItemId: 2ddc1831-cf7b-4a77-8aa1-11aaf8e98d9f + transactionType: sales + sourceName: Verkoopengine + transactionId: 1001885 + transactionLineId: 1 + name: Reisproduct HTM 3 dag Anoniem + quantity: 1 + taxCode: V21 + amountExclTax: 100 + amountInclTax: 121 + amountTax: 21 + occurredOn: 2024-10-04T00:00:00Z + type: debit + articleNumber: 4051 + status: re-entered + aggregationReference: null + accountingSystemReference: null + - transactionItemId: 5ab2513d-f334-4cf8-8895-4e7269374a4b + transactionType: sales + sourceName: Verkoopengine + transactionId: 1001679 + transactionLineId: 1 + name: Reisproduct HTM 1 dag Anoniem + quantity: 1 + taxCode: V21 + amountExclTax: 100 + amountInclTax: 121 + amountTax: 21 + occurredOn: 2024-10-04T00:00:00Z + type: debit + articleNumber: 1737 + status: succeeded + aggregationReference: FIKO-6a4fca8cd6 + accountingSystemReference: U4F-123456 + href: null post: summary: Add one ore more finanicial transaction items in bulk. description: Add one ore more finanicial transaction items in bulk. @@ -159,6 +274,56 @@ paths: application/json: schema: $ref: "#/components/schemas/TransactionItemsPostRequestBody" + examples: + Add single transaction item: + summary: Add single transaction item + description: Add single transaction item of type sales. + value: + transactionItems: + - transactionType: sales + 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 + articleNumber: 4031 + Add multiple transaction items: + summary: Add multiple transaction items + description: Add multiple transaction items of type sales. + value: + transactionItems: + - transactionType: sales + 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 + articleNumber: 4031 + - transactionType: sales + sourceName: Verkoopengine + transactionId: 1001237 + transactionLineId: 1 + name: HTM Maandkorting 20% + quantity: 1 + taxCode: V21 + amountExclTax: 100 + amountInclTax: 121 + amountTax: 21 + occurredOn: 2024-10-04T00:00:00Z + type: debit + articleNumber: 4031 responses: "202": description: Accepted @@ -166,6 +331,16 @@ paths: application/json: schema: $ref: "#/components/schemas/TransactionItemsPostResponseBody" + examples: + Array of transaction items accepted: + summary: Array of transaction items accepted + description: Array of transaction items accepted. + value: + startTime: 2025-02-14T05:32:47.0672237Z + status: Running + clientTrackingId: 08584620957189579629541919368CU00 + callbackurl: https://api.integratielaag.nl/transactionitems/responsestatus/runtime/webhooks/workflow/scaleUnits/prod-00/workflows/6fd466916c + retryAfter: 10 /transactionitems/{transactionItemId}: parameters: - in: path @@ -187,6 +362,27 @@ paths: application/json: schema: $ref: "#/components/schemas/TransactionItemsPatchRequestBody" + examples: + Return transaction item to transaction database: + summary: Return transaction item to transaction database + description: | + FMT updates the transaction item so that it is returned to the transaction database. + This is done by changing the status to 'returned to trx-db' and emptying the + aggregationReference and accountingSystemReference. + value: + status: returned to trx-db + aggregationReference: null + accountingSystemReference: null + Return transaction item to source: + summary: Return transaction item to source + description: | + FMT updates the transaction item so that it is returned to the source. + This is done by changing the status to 'returned to src' and emptying the + aggregationReference and accountingSystemReference. + value: + status: returned to src + aggregationReference: null + accountingSystemReference: null responses: "200": description: OK @@ -194,6 +390,12 @@ paths: application/json: schema: $ref: "#/components/schemas/TransactionItemsPatchResponseBody" + examples: + Transaction item successfully updated: + summary: Transaction item successfully updated + description: The transaction item was successfully updated in the database. + value: + transactionItemId: 7c3a5b0f-b89e-4f02-8b09-d11c5a050a07 /transactionitems/{transactionItemId}/processingfailures: parameters: - in: path @@ -1601,7 +1803,7 @@ components: callbackurl: type: string format: uri - example: "https://services.api.htm.nl/transactionitems/responsestatus/runtime/webhooks/workflow/scaleUnits/prod-00/workflows/6fd466916c2241509f6225d6d568526b/runs/08584620957189579629541919368CU00/operations/c9f35a54-f5de-4bc6-991b-2219164aa56f?api-version=2022-05-01&sp=%2Fruns%2F08584620957189579629541919368CU00%2Foperations%2Fc9f35a54-f5de-4bc6-991b-2219164aa56f%2Fread&sv=1.0&sig=X8dPLkbtOdndMqNfZDxTEL_3k2MhE42YyL_2ATnSYj0&code=e0W6heo7VrzW-mtYzJlavaP99VZve_9fH-9NhIJW-ceJAzFu_yZ71g%3D%3D" + example: https://services.api.htm.nl/transactionitems/responsestatus/runtime/webhooks/workflow/scaleUnits/prod-00/workflows/6fd466916c retryAfter: type: integer example: 10 From 71ab5176b594341b46b63634450c0b4f7cd393f7 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Wed, 19 Feb 2025 13:39:49 +0100 Subject: [PATCH 10/37] OVPAY-1518 - Added examples for GET Metadata v2. --- src/openapi/fiko/fiko-crud.yaml | 451 +++++++++++++++++++++----------- 1 file changed, 299 insertions(+), 152 deletions(-) diff --git a/src/openapi/fiko/fiko-crud.yaml b/src/openapi/fiko/fiko-crud.yaml index 421467e..385be12 100644 --- a/src/openapi/fiko/fiko-crud.yaml +++ b/src/openapi/fiko/fiko-crud.yaml @@ -160,108 +160,108 @@ paths: description: List containing multiple sales transaction items of transaction type 'sales' with different statuses. value: transactionItems: - - transactionItemId: afce35b2-1dff-4ace-98d0-4b9ac405c87d - transactionType: sales - 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 - articleNumber: 4031 - status: created - aggregationReference: null - accountingSystemReference: null - - transactionItemId: 1c1fc1c8-57f4-4336-9b43-a974eae5afbf - transactionType: sales - sourceName: Verkoopengine - transactionId: 1002001 - transactionLineId: 1 - name: Reisproduct HTM 3 dag Anoniem - quantity: 1 - taxCode: V21 - amountExclTax: 100 - amountInclTax: 121 - amountTax: 21 - occurredOn: 2024-10-04T00:00:00Z - type: debit - articleNumber: 4051 - status: failed - aggregationReference: null - accountingSystemReference: null - - transactionItemId: 3f58441e-dc8f-4956-9bc5-c952312476db - transactionType: sales - sourceName: Verkoopengine - transactionId: 1001871 - transactionLineId: 1 - name: Reisproduct HTM 3 dag Anoniem - quantity: 1 - taxCode: V21 - amountExclTax: 100 - amountInclTax: 121 - amountTax: 21 - occurredOn: 2024-10-04T00:00:00Z - type: debit - articleNumber: 4051 - status: returned to src - aggregationReference: FIKO-171f40609e - accountingSystemReference: null - - transactionItemId: 4418825f-3f9b-45bc-b662-dc3cd4ce6599 - transactionType: sales - sourceName: Verkoopengine - transactionId: 1001131 - transactionLineId: 1 - name: Reisproduct HTM 3 dag Anoniem - quantity: 1 - taxCode: V21 - amountExclTax: 100 - amountInclTax: 121 - amountTax: 21 - occurredOn: 2024-10-04T00:00:00Z - type: debit - articleNumber: 4051 - status: returned to trx-db - aggregationReference: null - accountingSystemReference: null - - transactionItemId: 2ddc1831-cf7b-4a77-8aa1-11aaf8e98d9f - transactionType: sales - sourceName: Verkoopengine - transactionId: 1001885 - transactionLineId: 1 - name: Reisproduct HTM 3 dag Anoniem - quantity: 1 - taxCode: V21 - amountExclTax: 100 - amountInclTax: 121 - amountTax: 21 - occurredOn: 2024-10-04T00:00:00Z - type: debit - articleNumber: 4051 - status: re-entered - aggregationReference: null - accountingSystemReference: null - - transactionItemId: 5ab2513d-f334-4cf8-8895-4e7269374a4b - transactionType: sales - sourceName: Verkoopengine - transactionId: 1001679 - transactionLineId: 1 - name: Reisproduct HTM 1 dag Anoniem - quantity: 1 - taxCode: V21 - amountExclTax: 100 - amountInclTax: 121 - amountTax: 21 - occurredOn: 2024-10-04T00:00:00Z - type: debit - articleNumber: 1737 - status: succeeded - aggregationReference: FIKO-6a4fca8cd6 - accountingSystemReference: U4F-123456 + - transactionItemId: afce35b2-1dff-4ace-98d0-4b9ac405c87d + transactionType: sales + 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 + articleNumber: 4031 + status: created + aggregationReference: null + accountingSystemReference: null + - transactionItemId: 1c1fc1c8-57f4-4336-9b43-a974eae5afbf + transactionType: sales + sourceName: Verkoopengine + transactionId: 1002001 + transactionLineId: 1 + name: Reisproduct HTM 3 dag Anoniem + quantity: 1 + taxCode: V21 + amountExclTax: 100 + amountInclTax: 121 + amountTax: 21 + occurredOn: 2024-10-04T00:00:00Z + type: debit + articleNumber: 4051 + status: failed + aggregationReference: null + accountingSystemReference: null + - transactionItemId: 3f58441e-dc8f-4956-9bc5-c952312476db + transactionType: sales + sourceName: Verkoopengine + transactionId: 1001871 + transactionLineId: 1 + name: Reisproduct HTM 3 dag Anoniem + quantity: 1 + taxCode: V21 + amountExclTax: 100 + amountInclTax: 121 + amountTax: 21 + occurredOn: 2024-10-04T00:00:00Z + type: debit + articleNumber: 4051 + status: returned to src + aggregationReference: FIKO-171f40609e + accountingSystemReference: null + - transactionItemId: 4418825f-3f9b-45bc-b662-dc3cd4ce6599 + transactionType: sales + sourceName: Verkoopengine + transactionId: 1001131 + transactionLineId: 1 + name: Reisproduct HTM 3 dag Anoniem + quantity: 1 + taxCode: V21 + amountExclTax: 100 + amountInclTax: 121 + amountTax: 21 + occurredOn: 2024-10-04T00:00:00Z + type: debit + articleNumber: 4051 + status: returned to trx-db + aggregationReference: null + accountingSystemReference: null + - transactionItemId: 2ddc1831-cf7b-4a77-8aa1-11aaf8e98d9f + transactionType: sales + sourceName: Verkoopengine + transactionId: 1001885 + transactionLineId: 1 + name: Reisproduct HTM 3 dag Anoniem + quantity: 1 + taxCode: V21 + amountExclTax: 100 + amountInclTax: 121 + amountTax: 21 + occurredOn: 2024-10-04T00:00:00Z + type: debit + articleNumber: 4051 + status: re-entered + aggregationReference: null + accountingSystemReference: null + - transactionItemId: 5ab2513d-f334-4cf8-8895-4e7269374a4b + transactionType: sales + sourceName: Verkoopengine + transactionId: 1001679 + transactionLineId: 1 + name: Reisproduct HTM 1 dag Anoniem + quantity: 1 + taxCode: V21 + amountExclTax: 100 + amountInclTax: 121 + amountTax: 21 + occurredOn: 2024-10-04T00:00:00Z + type: debit + articleNumber: 1737 + status: succeeded + aggregationReference: FIKO-6a4fca8cd6 + accountingSystemReference: U4F-123456 href: null post: summary: Add one ore more finanicial transaction items in bulk. @@ -280,50 +280,50 @@ paths: description: Add single transaction item of type sales. value: transactionItems: - - transactionType: sales - 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 - articleNumber: 4031 + - transactionType: sales + 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 + articleNumber: 4031 Add multiple transaction items: summary: Add multiple transaction items description: Add multiple transaction items of type sales. value: transactionItems: - - transactionType: sales - 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 - articleNumber: 4031 - - transactionType: sales - sourceName: Verkoopengine - transactionId: 1001237 - transactionLineId: 1 - name: HTM Maandkorting 20% - quantity: 1 - taxCode: V21 - amountExclTax: 100 - amountInclTax: 121 - amountTax: 21 - occurredOn: 2024-10-04T00:00:00Z - type: debit - articleNumber: 4031 + - transactionType: sales + 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 + articleNumber: 4031 + - transactionType: sales + sourceName: Verkoopengine + transactionId: 1001237 + transactionLineId: 1 + name: HTM Maandkorting 20% + quantity: 1 + taxCode: V21 + amountExclTax: 100 + amountInclTax: 121 + amountTax: 21 + occurredOn: 2024-10-04T00:00:00Z + type: debit + articleNumber: 4031 responses: "202": description: Accepted @@ -903,7 +903,7 @@ paths: example: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 required: true description: The id of the booking metadata. - post: + post: summary: Add booking line metadata. description: Add booking line metadata. tags: @@ -1050,7 +1050,7 @@ paths: schema: type: string example: Dagkaart - description: The article name of the booking line metadata. + description: The article name of the booking line metadata. - in: query name: extRef1 schema: @@ -1065,7 +1065,7 @@ paths: name: extRef3 schema: type: string - example: extRef3 + example: extRef3 - in: query name: extRef4 schema: @@ -1170,6 +1170,49 @@ paths: application/json: schema: $ref: "#/components/schemas/TaxMetadataGetResponseBody" + examples: + List containing all tax metadata: + summary: List containing all tax metadata + description: Returns a list containing all tax metadata (no filters applied). + value: + taxMetadata: + - taxMetadataId: 2d444740-4131-4169-bb47-2d125641dc87 + taxCode: V0 + texPercantageAmount: 0 + description: BTW VERKOOP NUL + validFrom: 2024-03-22T09:00:00 + validUntil: null + - taxMetadataId: b5f879d1-043d-4357-9655-2eeca8ebe9bf + taxCode: V09 + taxPercentageAmount: 9 + description: BTW VERKOOP LAAG 9% + validFrom: 2024-03-22T09:00:00 + validUntil: null + - taxMetadataId: 62e1abe7-d76f-4364-9207-591c0601ba55 + taxCode: V21 + taxPercentageAmount: 21 + description: BTW VERKOOP HOOG 21% + validFrom: 2024-03-22T09:00:00 + validUntil: null + - taxMetadataId: 9a253fc3-e562-4c4a-925c-d9caf0dcc549 + taxCode: ?0 + taxPercentageAmount: 0 + description: BTW DEBIT NUL + validFrom: 2024-03-22T09:00:00 + validUntil: null + - taxMetadataId: 6243b848-5ca3-44e0-9860-4fb3a817f148 + taxCode: ?09 + taxPercentageAmount: 9 + description: BTW DEBIT laag 9% + validFrom: 2024-03-22T09:00:00 + validUntil: null + - taxMetadataId: 0240d6e4-6037-4da0-ac10-1fde0229d439 + taxCode: ?21 + taxPercentageAmount: 21 + description: BTW DEBIT hoog 21% + validFrom: 2024-03-22T09:00:00 + validUntil: null + href: null post: summary: Add tax metadata. description: Add tax metadata. @@ -1276,6 +1319,34 @@ paths: application/json: schema: $ref: "#/components/schemas/SourceMetadataGetResponseBody" + examples: + List containing all source metadata: + summary: List containing all source metadata + description: Returns a list containing all source metadata (no filters applied). + value: + sourceMetadata: + - sourceMetadataId: bc4ea24a-27a5-40e8-bbbc-57a105afaaa0 + incomingName: HTM-web + incomingEntity: OrderLine + outgoingName: webshop + businessOwner: Corneel Verstoep + rejectionProcessing: system + rejectionInfo: api.htm.nl/v2/account/12345/msgs/abc + - sourceMetadataId: c3a9ef01-06c6-4c05-8fc7-df825f676dfc + incomingName: HTM-app + incomingEntity: OrderLine + outgoingName: ticketapp + businessOwner: Daan Zeven + rejectionProcessing: mail + rejectionInfo: sven@infoplaza.nl + - sourceMetadataId: 0b6e3e07-c4e0-42bf-86f2-9c9522b71209 + incomingName: SMP + incomingEntity: OrderLine + outgoingName: balieverkoop + businessOwner: Gijs Sip + rejectionProcessing: mail + rejectionInfo: ao@htm.nl + href: null post: summary: Add source metadata. description: Add source metadata. @@ -1340,7 +1411,7 @@ paths: name: accountingPeriod schema: type: string - example: 2024-01 + example: 2024/01 description: The accounting period. - in: query name: isOpen @@ -1355,6 +1426,22 @@ paths: application/json: schema: $ref: "#/components/schemas/AccountingPeriodMetadataGetResponseBody" + examples: + List containing all accounting period metadata: + summary: List containing all accounting period metadata + description: Returns a list containing all accounting period metadata (no filters applied). + value: + accountingPeriodMetadata: + - accountingPeriodMetadataId: e0af8c8f-d421-4567-a14e-48e2a1bb86fb + accountingPeriod: 2025/01 + isOpen: true + - accountingPeriodMetadataId: 36a34bd8-2b84-4c89-87a4-22e809f6ed4a + accountingPeriod: 2024/12 + isOpen: false + - accountingPeriodMetadataId: 33b4889b-0036-4870-87df-be43f9316cdf + accountingPeriod: 2024/11 + isOpen: false + href: null post: summary: Add accounting period metadata. description: Add accounting period metadata. @@ -1443,6 +1530,55 @@ paths: application/json: schema: $ref: "#/components/schemas/ConcessionMetadataGetResponseBody" + examples: + List containing all concession metadata: + summary: List containing all concession metadata + description: Returns a list containing all concession metadata (no filters applied). + value: + concessionMetadata: + - concessionMetadataId: e0af8c8f-d421-4567-a14e-48e2a1bb86fb + concession: + concessionId: 1 + name: RAIL + percentage: 84.021 + validFrom: 2025-01-01T00:00:00.000 + validUntil: null + - concessionMetadataId: 39720be0-af88-486a-b5e2-faea7eb5b352 + concession: + concessionId: 2 + name: BUS + percentage: 15.979 + validFrom: 2025-01-01T00:00:00.000 + validUntil: null + - concessionMetadataId: 274db383-96dd-410e-a07e-0b9e3040ac91 + concession: + concessionId: 1 + name: RAIL + percentage: 83.021 + validFrom: 2024-12-01T00:00:00.000 + validUntil: 2024-12-31T23:59:59.999 + - concessionMetadataId: 03959bc5-83f2-4ac7-9bf5-67e0f2a6eace + concession: + concessionId: 2 + name: BUS + percentage: 16.979 + validFrom: 2024-12-01T00:00:00.000 + validUntil: 2024-12-31T23:59:59.999 + - concessionMetadataId: d5b7d8f6-5cb8-482e-9d9a-68909dc7b5d3 + concession: + concessionId: 1 + name: RAIL + percentage: 85.021 + validFrom: 2024-11-01T00:00:00.000 + validUntil: 2024-11-30T23:59:59.999 + - concessionMetadataId: 5ee5f86f-ab00-4630-b130-4714fd060d1a + concession: + concessionId: 2 + name: BUS + percentage: 14.979 + validFrom: 2024-11-01T00:00:00.000 + validUntil: 2024-11-30T23:59:59.999 + href: null post: summary: Add concession metadata. description: Add concession metadata. @@ -1616,6 +1752,17 @@ paths: application/json: schema: $ref: "#/components/schemas/ConcessionsGetResponseBody" + examples: + List containing all concessions: + summary: List containing all concessions + description: Returns a list containing all concessions (no filters applied). + value: + concessions: + - concessionId: 1 + name: RAIL + - concessionId: 2 + name: BUS + href: null components: securitySchemes: bearerToken: @@ -2558,14 +2705,14 @@ components: example: Dagkaart - BUS sourceMetadata: type: object - $ref: '#/components/schemas/SourceMetadata' + $ref: "#/components/schemas/SourceMetadata" identifyingFieldValue: type: string example: null nullable: true concession: type: object - $ref: '#/components/schemas/Concession' + $ref: "#/components/schemas/Concession" lineType: type: string enum: @@ -2672,7 +2819,7 @@ components: example: null extRef2: type: string - nullable: true + nullable: true example: null extRef3: type: string @@ -3024,7 +3171,7 @@ components: example: e0af8c8f-d421-4567-a14e-48e2a1bb86fb accountingPeriod: type: string - example: 2024-01 + example: 2024/01 isOpen: type: boolean example: true @@ -3042,7 +3189,7 @@ components: properties: accountingPeriod: type: string - example: 2024-01 + example: 2024/01 isOpen: type: boolean example: true @@ -3063,7 +3210,7 @@ components: properties: accountingPeriod: type: string - example: 2024-01 + example: 2024/01 isOpen: type: boolean example: true @@ -3177,7 +3324,7 @@ components: concessions: type: array items: - $ref: '#/components/schemas/Concession' + $ref: "#/components/schemas/Concession" href: type: string nullable: true From 7b2cf2f579f2570f0bc1554f39d4106f3c6edfc3 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Wed, 19 Feb 2025 15:30:17 +0100 Subject: [PATCH 11/37] OVPAY-1518 - Added examples for Audit Trail v2. --- src/openapi/fiko/fiko-crud.yaml | 155 +++++++++++++++++++++++++++++++- 1 file changed, 154 insertions(+), 1 deletion(-) diff --git a/src/openapi/fiko/fiko-crud.yaml b/src/openapi/fiko/fiko-crud.yaml index 385be12..04f48d8 100644 --- a/src/openapi/fiko/fiko-crud.yaml +++ b/src/openapi/fiko/fiko-crud.yaml @@ -334,7 +334,10 @@ paths: examples: Array of transaction items accepted: summary: Array of transaction items accepted - description: Array of transaction items accepted. + description: | + The array of transaction items was accepted successfully. + The transaction items will be processed asynchronously. + In the response body the consumer will find information on how to retrieve the processing status. value: startTime: 2025-02-14T05:32:47.0672237Z status: Running @@ -445,6 +448,27 @@ paths: application/json: schema: $ref: "#/components/schemas/TransactionAuditTrailsPostRequestBody" + examples: + Add new transaction audit trail for created transaction item: + summary: Add new transaction audit trail for created transaction item + description: Add a new audit trail record for a newly created transaction item. + value: + user: fiko + timestamp: 2022-01-01 12:34:00 + action: create + status: created + description: Transaction item created. + correlationId: null + Add new transaction audit trail for updated transaction item: + summary: Add new transaction audit trail for updated transaction item + description: Add a new audit trail record for an updated transaction item. + value: + user: r.meeuws + timestamp: 2022-01-02 12:34:00 + action: update + status: return to src + description: Transaction item returned to source. + correlationId: 0dc216ea-58e7-4a5e-aa18-449f0304209c responses: "201": description: Created @@ -452,6 +476,14 @@ paths: application/json: schema: $ref: "#/components/schemas/TransactionAuditTrailsPostResponseBody" + examples: + Transaction audit trail record created: + summary: Transaction audit trail record created + description: | + A new audit trail record for this transaction item was successfully created. + The transactionAuditTrailId is returned as a reference for the consumer. + value: + transactionAuditTrailId: 37a8095b-19db-498f-9349-5f37d21c5bdf /transactionaudittrails: get: summary: Find audit trail entries. @@ -536,6 +568,127 @@ paths: application/json: schema: $ref: "#/components/schemas/TransactionAuditTrailsGetResponseBody" + examples: + No transaction items: + summary: No transaction audit trails were found + description: No transaction audit trails that match the search criteria were found. + value: + transactionAuditTrails: [] + href: null + List containing multiple transaction audit trails: + summary: List containing multiple transaction audit trails + description: List containing multiple transaction audit trails of different transaction items (no filters applied). + value: + transactionAuditTrails: + - transactionAuditTrailId: afce35b2-1dff-4ace-98d0-4b9ac405c87d + transactionItemId: d667d293-aa82-4c9e-9b10-77cffc9058a1 + user: fiko + timestamp: 2025-01-01 12:34:51 + action: create + status: created + description: Transaction created. + correlationId: null + - transactionAuditTrailId: 1d234fc1-eb16-41d3-b2e0-e400e17b017f + transactionItemId: urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b + user: fiko + timestamp: 2025-01-01 12:34:50 + action: create + status: created + description: Transaction created. + correlationId: null + - transactionAuditTrailId: f4798a84-489d-4533-9dfe-42423c70f6b6 + transactionItemId: e8891be1-1b8a-4a0f-91e2-6b523b6497dd + user: r.meeuws + timestamp: 2025-01-01 12:34:48 + action: update + status: return to src + description: Transaction retunred to source. + correlationId: a3891560-3084-42cb-867c-f289e7cda47d + - transactionAuditTrailId: cc80d58d-6ee7-409a-8c14-b1f807e67c10 + transactionItemId: 34ba3d7c-3ca1-4fa4-aa42-23d4c4fc767b + user: fiko + timestamp: 2025-01-01 12:34:47 + action: update + status: failed + description: Validation XYZ failed. + correlationId: null + href: null + List containing multiple transaction audit trails of one transaction item: + summary: List containing multiple audit trails of one transaction item + description: List containing multiple audit trail records of one transaction item (with id d667d293-aa82-4c9e-9b10-77cffc9058a1). + value: + transactionAuditTrails: + - transactionAuditTrailId: d571ff7c-eaa5-428a-9bc3-5a0fa3e5ee2e + transactionItemId: d667d293-aa82-4c9e-9b10-77cffc9058a1 + user: fiko + timestamp: 2025-01-07 12:34:59 + action: update + status: re-entered + description: Transaction re-entered. + correlationId: null + - transactionAuditTrailId: b2192e6c-ab79-4000-a04d-d8f4d574a82f + transactionItemId: d667d293-aa82-4c9e-9b10-77cffc9058a1 + user: r.meeuws + timestamp: 2025-01-04 12:34:54 + action: update + status: return to src + description: Transaction retunred to source. + correlationId: a3891560-3084-42cb-867c-f289e7cda47d + - transactionAuditTrailId: 1d759985-7f1a-48bd-8dd1-efa30ce26423 + transactionItemId: d667d293-aa82-4c9e-9b10-77cffc9058a1 + user: fiko + timestamp: 2025-01-02 00:34:50 + action: update + status: failed + description: Validation XYZ failed. + correlationId: null + - transactionAuditTrailId: afce35b2-1dff-4ace-98d0-4b9ac405c87d + transactionItemId: d667d293-aa82-4c9e-9b10-77cffc9058a1 + user: fiko + timestamp: 2025-01-01 12:34:47 + action: create + status: created + description: Transaction created. + correlationId: null + href: null + List containing multiple audit trails of failed transactions: + summary: List containing multiple audit trails of failed transactions + description: List containing multiple audit trails of just failed transactions (status = failed). + value: + transactionAuditTrails: + - transactionAuditTrailId: afce35b2-1dff-4ace-98d0-4b9ac405c87d + transactionItemId: d667d293-aa82-4c9e-9b10-77cffc9058a1 + user: fiko + timestamp: 2025-01-01 00:34:51 + action: update + status: failed + description: Validation XYZ failed. + correlationId: null + - transactionAuditTrailId: 1d234fc1-eb16-41d3-b2e0-e400e17b017f + transactionItemId: urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b + user: fiko + timestamp: 2025-01-01 00:34:50 + action: update + status: failed + description: Validation XYZ failed. + correlationId: null + - transactionAuditTrailId: f4798a84-489d-4533-9dfe-42423c70f6b6 + transactionItemId: e8891be1-1b8a-4a0f-91e2-6b523b6497dd + user: fiko + timestamp: 2025-01-01 00:34:48 + action: update + status: failed + description: Validation XYZ failed. + correlationId: null + - transactionAuditTrailId: cc80d58d-6ee7-409a-8c14-b1f807e67c10 + transactionItemId: 34ba3d7c-3ca1-4fa4-aa42-23d4c4fc767b + user: fiko + timestamp: 2025-01-01 00:34:47 + action: update + status: failed + description: Validation XYZ failed. + correlationId: null + href: null /processingfailures: get: summary: Find processing failures. From 972219271e74e58227f202f196bd2779869336dd Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Wed, 19 Feb 2025 18:04:11 +0100 Subject: [PATCH 12/37] OVPAY-1518 - Added examples for GET Booking Processes v2. --- src/openapi/fiko/fiko-crud.yaml | 463 ++++++++++++++++++++++++++------ 1 file changed, 377 insertions(+), 86 deletions(-) diff --git a/src/openapi/fiko/fiko-crud.yaml b/src/openapi/fiko/fiko-crud.yaml index 04f48d8..14c38bf 100644 --- a/src/openapi/fiko/fiko-crud.yaml +++ b/src/openapi/fiko/fiko-crud.yaml @@ -460,15 +460,15 @@ paths: description: Transaction item created. correlationId: null Add new transaction audit trail for updated transaction item: - summary: Add new transaction audit trail for updated transaction item - description: Add a new audit trail record for an updated transaction item. - value: - user: r.meeuws - timestamp: 2022-01-02 12:34:00 - action: update - status: return to src - description: Transaction item returned to source. - correlationId: 0dc216ea-58e7-4a5e-aa18-449f0304209c + summary: Add new transaction audit trail for updated transaction item + description: Add a new audit trail record for an updated transaction item. + value: + user: r.meeuws + timestamp: 2022-01-02 12:34:00 + action: update + status: return to src + description: Transaction item returned to source. + correlationId: 0dc216ea-58e7-4a5e-aa18-449f0304209c responses: "201": description: Created @@ -613,43 +613,43 @@ paths: description: Validation XYZ failed. correlationId: null href: null - List containing multiple transaction audit trails of one transaction item: - summary: List containing multiple audit trails of one transaction item + ? List containing multiple transaction audit trails of one transaction item + : summary: List containing multiple audit trails of one transaction item description: List containing multiple audit trail records of one transaction item (with id d667d293-aa82-4c9e-9b10-77cffc9058a1). value: transactionAuditTrails: - - transactionAuditTrailId: d571ff7c-eaa5-428a-9bc3-5a0fa3e5ee2e - transactionItemId: d667d293-aa82-4c9e-9b10-77cffc9058a1 - user: fiko - timestamp: 2025-01-07 12:34:59 - action: update - status: re-entered - description: Transaction re-entered. - correlationId: null - - transactionAuditTrailId: b2192e6c-ab79-4000-a04d-d8f4d574a82f - transactionItemId: d667d293-aa82-4c9e-9b10-77cffc9058a1 - user: r.meeuws - timestamp: 2025-01-04 12:34:54 - action: update - status: return to src - description: Transaction retunred to source. - correlationId: a3891560-3084-42cb-867c-f289e7cda47d - - transactionAuditTrailId: 1d759985-7f1a-48bd-8dd1-efa30ce26423 - transactionItemId: d667d293-aa82-4c9e-9b10-77cffc9058a1 - user: fiko - timestamp: 2025-01-02 00:34:50 - action: update - status: failed - description: Validation XYZ failed. - correlationId: null - - transactionAuditTrailId: afce35b2-1dff-4ace-98d0-4b9ac405c87d - transactionItemId: d667d293-aa82-4c9e-9b10-77cffc9058a1 - user: fiko - timestamp: 2025-01-01 12:34:47 - action: create - status: created - description: Transaction created. - correlationId: null + - transactionAuditTrailId: d571ff7c-eaa5-428a-9bc3-5a0fa3e5ee2e + transactionItemId: d667d293-aa82-4c9e-9b10-77cffc9058a1 + user: fiko + timestamp: 2025-01-07 12:34:59 + action: update + status: re-entered + description: Transaction re-entered. + correlationId: null + - transactionAuditTrailId: b2192e6c-ab79-4000-a04d-d8f4d574a82f + transactionItemId: d667d293-aa82-4c9e-9b10-77cffc9058a1 + user: r.meeuws + timestamp: 2025-01-04 12:34:54 + action: update + status: return to src + description: Transaction retunred to source. + correlationId: a3891560-3084-42cb-867c-f289e7cda47d + - transactionAuditTrailId: 1d759985-7f1a-48bd-8dd1-efa30ce26423 + transactionItemId: d667d293-aa82-4c9e-9b10-77cffc9058a1 + user: fiko + timestamp: 2025-01-02 00:34:50 + action: update + status: failed + description: Validation XYZ failed. + correlationId: null + - transactionAuditTrailId: afce35b2-1dff-4ace-98d0-4b9ac405c87d + transactionItemId: d667d293-aa82-4c9e-9b10-77cffc9058a1 + user: fiko + timestamp: 2025-01-01 12:34:47 + action: create + status: created + description: Transaction created. + correlationId: null href: null List containing multiple audit trails of failed transactions: summary: List containing multiple audit trails of failed transactions @@ -688,7 +688,7 @@ paths: status: failed description: Validation XYZ failed. correlationId: null - href: null + href: null /processingfailures: get: summary: Find processing failures. @@ -834,6 +834,21 @@ paths: application/json: schema: $ref: "#/components/schemas/BookingProcessesGetResponseBody" + examples: + List containing all booking processes: + summary: List containing all booking processes + description: Returns a list containing all booking processes (no filters applied). + value: + bookingProcesses: + - bookingProcessId: 37a8095b-19db-498f-9349-5f37d21c5bdf + name: Verkooptransacties + transactionType: sales + identifyingFieldName: articleNumber + - bookingProcessId: 03105285-3c4c-477a-821c-0fae801d9d26 + name: Inkooptransacties + transactionType: purchase + identifyingFieldName: null + href: null post: summary: Add a booking process. description: Add a booking process. @@ -990,6 +1005,37 @@ paths: application/json: schema: $ref: "#/components/schemas/BookingMetadataGetResponseBody" + examples: + List containing all booking metadata: + summary: List containing all booking metadata + description: Returns a list containing all booking metadata (no filters applied). + value: + bookingMetadata: + - bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 + bookingProcessId: 37a8095b-19db-498f-9349-5f37d21c5bdf + description: Dagkaart + department: 900 + costType: 84956 + documentCode: FIKO-OPBR + hasSeparateTaxLine: true + hasLinePerIdentifyingField: true + hasLinePerSource: true + hasLinePerConcession: true + validFrom: 2022-01-01 00:00:00 + validTo: null + - bookingMetadataId: bd290c3f-4a27-4898-911e-1aadacc4a034 + bookingProcessId: 37a8095b-19db-498f-9349-5f37d21c5bdf + description: Saldoreizen + department: 900 + costType: 84955 + documentCode: FIKO-OPBR + hasSeparateTaxLine: true + hasLinePerIdentifyingField: true + hasLinePerSource: true + hasLinePerConcession: true + validFrom: 2022-01-01 00:00:00 + validTo: null + href: null /bookingmetadata/{bookingMetadataId}: parameters: - in: path @@ -1108,6 +1154,63 @@ paths: application/json: schema: $ref: "#/components/schemas/BookingGroupFieldsGetResponseBody" + examples: + List containing all booking group fields: + summary: List containing all booking group fields + description: Returns a list containing all booking group fields for all booking metadata (no filters applied). + value: + bookingGroupFields: + - bookingGroupFieldId: b34d0fc2-96fc-409b-93b6-ae51fb8c694a + bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 + identifyingFieldValue: 1737 + - bookingGroupFieldId: 3b9005f4-42c4-4e2b-b472-ba7d0926fe77 + bookingMetadataId: bd290c3f-4a27-4898-911e-1aadacc4a034 + identifyingFieldValue: 1748 + - bookingGroupFieldId: ae773282-ac9b-4a0b-a487-b4061ea2a42f + bookingMetadataId: bd290c3f-4a27-4898-911e-1aadacc4a034 + identifyingFieldValue: 1750 + - bookingGroupFieldId: fe1aca8c-3ef5-4e15-962b-202d28d3d761 + bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 + identifyingFieldValue: 1757 + href: null + List containing all booking group fields for a single booking: + summary: List containing all booking group fields for a single booking + description: | + Returns a list containing all booking group fields for a single booking booking metadata 'Dagkaart' + (identified by the same bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617). + value: + bookingGroupFields: + - bookingGroupFieldId: b34d0fc2-96fc-409b-93b6-ae51fb8c694a + bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 + identifyingFieldValue: 1737 + - bookingGroupFieldId: fe1aca8c-3ef5-4e15-962b-202d28d3d761 + bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 + identifyingFieldValue: 1757 + - bookingGroupFieldId: fede01e0-86c5-47d0-9466-3093132148e5 + bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 + identifyingFieldValue: 4031 + - bookingGroupFieldId: d7c25182-b64e-4e47-8998-19ddb65b8f2c + bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 + identifyingFieldValue: 4032 + - bookingGroupFieldId: ea02d3eb-29e6-42fd-b7eb-dfbfd2231090 + bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 + identifyingFieldValue: 4033 + - bookingGroupFieldId: a73407a6-ff8c-4924-a7ac-5cd605e1793c + bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 + identifyingFieldValue: 4034 + - bookingGroupFieldId: d9af4bf1-4e85-4eb6-ae5d-d2020b18d63c + bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 + identifyingFieldValue: 4051 + - bookingGroupFieldId: c1ba494b-249a-475b-a542-19918aa36778 + bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 + identifyingFieldValue: 4053 + - bookingGroupFieldId: 69be1be0-c600-492d-aec1-8490409371da + bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 + identifyingFieldValue: 4054 + - bookingGroupFieldId: d7d00ec1-6d53-44e9-bcd8-01f6a523f771 + bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 + identifyingFieldValue: 4055 + href: null /bookinggroupfields/{bookingGroupFieldId}: parameters: - in: path @@ -1209,31 +1312,37 @@ paths: schema: type: string example: extRef1 + description: External reference 1. - in: query name: extRef2 schema: type: string example: extRef2 + description: External reference 2. - in: query name: extRef3 schema: type: string example: extRef3 + description: External reference 3. - in: query name: extRef4 schema: type: string example: extRef4 + description: External reference 4. - in: query name: extRef5 schema: type: string example: extRef5 + description: External reference 5. - in: query name: extRef6 schema: type: string example: extRef6 + description: External reference 6. responses: "200": description: OK @@ -1241,6 +1350,188 @@ paths: application/json: schema: $ref: "#/components/schemas/BookingLineMetadataGetResponseBody" + examples: + List containing all booking line metadata: + summary: List containing all booking line metadata + description: Returns a list containing all booking line metadata for all bookings (no filters applied). + value: + bookingLineMetadata: + - bookingLineMetadataId: 98dccb4c-f24f-4acd-a036-f4b465124842 + bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 + name: Webshop - Dagkaart - BUS + sourceMetadata: + sourceMetadataId: bc4ea24a-27a5-40e8-bbbc-57a105afaaa0 + incomingName: HTM-website + incomingEntity: OrderLine + outgoingName: Webshop + businessOwner: Corneel Verstoep + rejectionProcessing: system + rejectionInfo: api.htm.nl/v2/account/12345/msgs/abc + identifyingFieldValue: null + concession: + concessionId: 2 + name: BUS + lineType: summary + lineSense: credit + costCenter: 603031 + articleName: dagkaart + extRef1: null + extRef2: null + extRef3: 2025-02-17 + extRef4: null + extRef5: Webshop + extRef6: null + - bookingLineMetadataId: 1bca01db-40d3-4447-9f28-41475ec6877d + bookingMetadataId: bd290c3f-4a27-4898-911e-1aadacc4a034 + name: TLS - Saldoreizen - RAIL + sourceMetadata: + sourceMetadataId: 4b06a325-1078-4a2f-b63e-1d81eae8e5c3 + incomingName: Translink + incomingEntity: Trip + outgoingName: TLS + businessOwner: Corneel Verstoep + rejectionProcessing: mail + rejectionInfo: helpdesk@translink.nl + identifyingFieldValue: null + concession: + concessionId: 1 + name: RAIL + lineType: summary + lineSense: credit + costCenter: 603007 + articleName: Opbrengst TLS + extRef1: null + extRef2: null + extRef3: 2025-02-17 + extRef4: null + extRef5: TLS + extRef6: null + href: null + List containing booking line metadata of one booking: + summary: List containing booking line metadata of one booking + description: | + Returns a list containing all booking line metadata a single booking. + This example contains all the booking lines for a 'Dagkaart' booking + (bookingMetadataId: "6ce10520-9a73-4cb4-b8dd-39ee46ceb617"). + value: + bookingLineMetadata: + - bookingLineMetadataId: 98dccb4c-f24f-4acd-a036-f4b465124842 + bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 + name: Webshop Dagkaart - BUS + sourceMetadata: + sourceMetadataId: bc4ea24a-27a5-40e8-bbbc-57a105afaaa0 + incomingName: HTM-website + incomingEntity: OrderLine + outgoingName: Webshop + businessOwner: Corneel Verstoep + rejectionProcessing: system + rejectionInfo: api.htm.nl/v2/account/12345/msgs/abc + identifyingFieldValue: null + concession: + concessionId: 2 + name: BUS + lineType: summary + lineSense: credit + costCenter: 619031 + articleName: dagkaart + extRef1: null + extRef2: null + extRef3: 2025-02-17 + extRef4: null + extRef5: Webshop + extRef6: null + - bookingLineMetadataId: a4464b5c-9a8e-4e48-a0a0-5500b1ca0885 + bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 + name: Webshop Dagkaart - RAIL + sourceMetadata: + sourceMetadataId: bc4ea24a-27a5-40e8-bbbc-57a105afaaa0 + incomingName: HTM-website + incomingEntity: OrderLine + outgoingName: Webshop + businessOwner: Corneel Verstoep + rejectionProcessing: system + rejectionInfo: api.htm.nl/v2/account/12345/msgs/abc + identifyingFieldValue: null + concession: + concessionId: 1 + name: RAIL + lineType: summary + lineSense: credit + costCenter: 603031 + articleName: dagkaart + extRef1: null + extRef2: null + extRef3: 2025-02-17 + extRef4: null + extRef5: Webshop + extRef6: null + - bookingLineMetadataId: feaa7b33-ba49-40a2-90f3-5dd70d591f17 + bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 + name: Ticketapp Dagkaart - BUS + sourceMetadata: + sourceMetadataId: c3a9ef01-06c6-4c05-8fc7-df825f676dfc + incomingName: HTM-app + incomingEntity: OrderLine + outgoingName: ticketapp + businessOwner: Daan Zeven + rejectionProcessing: mail + rejectionInfo: sven@infoplaza.nl + identifyingFieldValue: null + concession: + concessionId: 2 + name: BUS + lineType: summary + lineSense: credit + costCenter: 619031 + articleName: dagkaart + extRef1: null + extRef2: null + extRef3: 2025-02-17 + extRef4: null + extRef5: Webshop + extRef6: null + - bookingLineMetadataId: ea6ce4e7-4d52-4b89-bbea-ffe0ef6c48ff + bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 + name: Ticketapp Dagkaart - RAIL + sourceMetadata: + sourceMetadataId: c3a9ef01-06c6-4c05-8fc7-df825f676dfc + incomingName: HTM-app + incomingEntity: OrderLine + outgoingName: ticketapp + businessOwner: Daan Zeven + rejectionProcessing: mail + rejectionInfo: sven@infoplaza.nl + identifyingFieldValue: null + concession: + concessionId: 1 + name: RAIL + lineType: summary + lineSense: credit + costCenter: 603031 + articleName: dagkaart + extRef1: null + extRef2: null + extRef3: 2025-02-17 + extRef4: null + extRef5: Webshop + extRef6: null + - bookingLineMetadataId: 0a8dbb7d-73c8-451e-9028-e4613283c7bd + bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 + name: Dagkaart - BTW + sourceMetadata: null + identifyingFieldValue: null + concession: null + lineType: tax + lineSense: credit + costCenter: 1337 + articleName: dagkaart + extRef1: null + extRef2: null + extRef3: 2025-02-17 + extRef4: null + extRef5: null + extRef6: null + href: null /bookinglinemetadata/{bookingLineMetadataId}: parameters: - in: path @@ -1478,27 +1769,27 @@ paths: description: Returns a list containing all source metadata (no filters applied). value: sourceMetadata: - - sourceMetadataId: bc4ea24a-27a5-40e8-bbbc-57a105afaaa0 - incomingName: HTM-web - incomingEntity: OrderLine - outgoingName: webshop - businessOwner: Corneel Verstoep - rejectionProcessing: system - rejectionInfo: api.htm.nl/v2/account/12345/msgs/abc - - sourceMetadataId: c3a9ef01-06c6-4c05-8fc7-df825f676dfc - incomingName: HTM-app - incomingEntity: OrderLine - outgoingName: ticketapp - businessOwner: Daan Zeven - rejectionProcessing: mail - rejectionInfo: sven@infoplaza.nl - - sourceMetadataId: 0b6e3e07-c4e0-42bf-86f2-9c9522b71209 - incomingName: SMP - incomingEntity: OrderLine - outgoingName: balieverkoop - businessOwner: Gijs Sip - rejectionProcessing: mail - rejectionInfo: ao@htm.nl + - sourceMetadataId: bc4ea24a-27a5-40e8-bbbc-57a105afaaa0 + incomingName: HTM-web + incomingEntity: OrderLine + outgoingName: webshop + businessOwner: Corneel Verstoep + rejectionProcessing: system + rejectionInfo: api.htm.nl/v2/account/12345/msgs/abc + - sourceMetadataId: c3a9ef01-06c6-4c05-8fc7-df825f676dfc + incomingName: HTM-app + incomingEntity: OrderLine + outgoingName: ticketapp + businessOwner: Daan Zeven + rejectionProcessing: mail + rejectionInfo: sven@infoplaza.nl + - sourceMetadataId: 0b6e3e07-c4e0-42bf-86f2-9c9522b71209 + incomingName: SMP + incomingEntity: OrderLine + outgoingName: balieverkoop + businessOwner: Gijs Sip + rejectionProcessing: mail + rejectionInfo: ao@htm.nl href: null post: summary: Add source metadata. @@ -1585,15 +1876,15 @@ paths: description: Returns a list containing all accounting period metadata (no filters applied). value: accountingPeriodMetadata: - - accountingPeriodMetadataId: e0af8c8f-d421-4567-a14e-48e2a1bb86fb - accountingPeriod: 2025/01 - isOpen: true - - accountingPeriodMetadataId: 36a34bd8-2b84-4c89-87a4-22e809f6ed4a - accountingPeriod: 2024/12 - isOpen: false - - accountingPeriodMetadataId: 33b4889b-0036-4870-87df-be43f9316cdf - accountingPeriod: 2024/11 - isOpen: false + - accountingPeriodMetadataId: e0af8c8f-d421-4567-a14e-48e2a1bb86fb + accountingPeriod: 2025/01 + isOpen: true + - accountingPeriodMetadataId: 36a34bd8-2b84-4c89-87a4-22e809f6ed4a + accountingPeriod: 2024/12 + isOpen: false + - accountingPeriodMetadataId: 33b4889b-0036-4870-87df-be43f9316cdf + accountingPeriod: 2024/11 + isOpen: false href: null post: summary: Add accounting period metadata. @@ -1690,42 +1981,42 @@ paths: value: concessionMetadata: - concessionMetadataId: e0af8c8f-d421-4567-a14e-48e2a1bb86fb - concession: + concession: concessionId: 1 name: RAIL percentage: 84.021 validFrom: 2025-01-01T00:00:00.000 validUntil: null - concessionMetadataId: 39720be0-af88-486a-b5e2-faea7eb5b352 - concession: + concession: concessionId: 2 name: BUS percentage: 15.979 validFrom: 2025-01-01T00:00:00.000 validUntil: null - concessionMetadataId: 274db383-96dd-410e-a07e-0b9e3040ac91 - concession: + concession: concessionId: 1 name: RAIL percentage: 83.021 validFrom: 2024-12-01T00:00:00.000 validUntil: 2024-12-31T23:59:59.999 - concessionMetadataId: 03959bc5-83f2-4ac7-9bf5-67e0f2a6eace - concession: + concession: concessionId: 2 name: BUS percentage: 16.979 validFrom: 2024-12-01T00:00:00.000 validUntil: 2024-12-31T23:59:59.999 - concessionMetadataId: d5b7d8f6-5cb8-482e-9d9a-68909dc7b5d3 - concession: + concession: concessionId: 1 name: RAIL percentage: 85.021 validFrom: 2024-11-01T00:00:00.000 validUntil: 2024-11-30T23:59:59.999 - concessionMetadataId: 5ee5f86f-ab00-4630-b130-4714fd060d1a - concession: + concession: concessionId: 2 name: BUS percentage: 14.979 @@ -1911,10 +2202,10 @@ paths: description: Returns a list containing all concessions (no filters applied). value: concessions: - - concessionId: 1 - name: RAIL - - concessionId: 2 - name: BUS + - concessionId: 1 + name: RAIL + - concessionId: 2 + name: BUS href: null components: securitySchemes: @@ -2743,7 +3034,7 @@ components: type: string format: uuid example: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 - bookingGroupMetadataId: + bookingMetadataId: type: string format: uuid example: 12b4d128-0ab8-4a4a-944d-25b83de38b27 @@ -2752,7 +3043,7 @@ components: example: 1737 required: - bookingGroupFieldId - - bookingGroupMetadataId + - bookingMetadataId - identifyingFieldValue href: type: string From 4a123f11ee26058e7480da2414de30424a7ad074 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Thu, 20 Feb 2025 10:05:40 +0100 Subject: [PATCH 13/37] OVPAY-1518 - Added GET /transactionitems/responsestatus/* --- src/openapi/fiko/fiko-crud.yaml | 308 ++++++++++++++++++++------------ 1 file changed, 192 insertions(+), 116 deletions(-) diff --git a/src/openapi/fiko/fiko-crud.yaml b/src/openapi/fiko/fiko-crud.yaml index 14c38bf..e55bb2c 100644 --- a/src/openapi/fiko/fiko-crud.yaml +++ b/src/openapi/fiko/fiko-crud.yaml @@ -399,6 +399,25 @@ paths: description: The transaction item was successfully updated in the database. value: transactionItemId: 7c3a5b0f-b89e-4f02-8b09-d11c5a050a07 + /transactionitems/responsestatus/*: + get: + tags: + - Transactions v2 + summary: Get the status of the transaction items POST. + description: Get the status of the asynchronous transaction items POST processing. + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/TransactionItemsResponseStatusGetResponseBody" + "409": + description: Conflict + content: + application/json: + schema: + $ref: "#/components/schemas/409Response" /transactionitems/{transactionItemId}/processingfailures: parameters: - in: path @@ -1415,122 +1434,122 @@ paths: (bookingMetadataId: "6ce10520-9a73-4cb4-b8dd-39ee46ceb617"). value: bookingLineMetadata: - - bookingLineMetadataId: 98dccb4c-f24f-4acd-a036-f4b465124842 - bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 - name: Webshop Dagkaart - BUS - sourceMetadata: - sourceMetadataId: bc4ea24a-27a5-40e8-bbbc-57a105afaaa0 - incomingName: HTM-website - incomingEntity: OrderLine - outgoingName: Webshop - businessOwner: Corneel Verstoep - rejectionProcessing: system - rejectionInfo: api.htm.nl/v2/account/12345/msgs/abc - identifyingFieldValue: null - concession: - concessionId: 2 - name: BUS - lineType: summary - lineSense: credit - costCenter: 619031 - articleName: dagkaart - extRef1: null - extRef2: null - extRef3: 2025-02-17 - extRef4: null - extRef5: Webshop - extRef6: null - - bookingLineMetadataId: a4464b5c-9a8e-4e48-a0a0-5500b1ca0885 - bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 - name: Webshop Dagkaart - RAIL - sourceMetadata: - sourceMetadataId: bc4ea24a-27a5-40e8-bbbc-57a105afaaa0 - incomingName: HTM-website - incomingEntity: OrderLine - outgoingName: Webshop - businessOwner: Corneel Verstoep - rejectionProcessing: system - rejectionInfo: api.htm.nl/v2/account/12345/msgs/abc - identifyingFieldValue: null - concession: - concessionId: 1 - name: RAIL - lineType: summary - lineSense: credit - costCenter: 603031 - articleName: dagkaart - extRef1: null - extRef2: null - extRef3: 2025-02-17 - extRef4: null - extRef5: Webshop - extRef6: null - - bookingLineMetadataId: feaa7b33-ba49-40a2-90f3-5dd70d591f17 - bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 - name: Ticketapp Dagkaart - BUS - sourceMetadata: - sourceMetadataId: c3a9ef01-06c6-4c05-8fc7-df825f676dfc - incomingName: HTM-app - incomingEntity: OrderLine - outgoingName: ticketapp - businessOwner: Daan Zeven - rejectionProcessing: mail - rejectionInfo: sven@infoplaza.nl - identifyingFieldValue: null - concession: - concessionId: 2 - name: BUS - lineType: summary - lineSense: credit - costCenter: 619031 - articleName: dagkaart - extRef1: null - extRef2: null - extRef3: 2025-02-17 - extRef4: null - extRef5: Webshop - extRef6: null - - bookingLineMetadataId: ea6ce4e7-4d52-4b89-bbea-ffe0ef6c48ff - bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 - name: Ticketapp Dagkaart - RAIL - sourceMetadata: - sourceMetadataId: c3a9ef01-06c6-4c05-8fc7-df825f676dfc - incomingName: HTM-app - incomingEntity: OrderLine - outgoingName: ticketapp - businessOwner: Daan Zeven - rejectionProcessing: mail - rejectionInfo: sven@infoplaza.nl - identifyingFieldValue: null - concession: - concessionId: 1 - name: RAIL - lineType: summary - lineSense: credit - costCenter: 603031 - articleName: dagkaart - extRef1: null - extRef2: null - extRef3: 2025-02-17 - extRef4: null - extRef5: Webshop - extRef6: null - - bookingLineMetadataId: 0a8dbb7d-73c8-451e-9028-e4613283c7bd - bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 - name: Dagkaart - BTW - sourceMetadata: null - identifyingFieldValue: null - concession: null - lineType: tax - lineSense: credit - costCenter: 1337 - articleName: dagkaart - extRef1: null - extRef2: null - extRef3: 2025-02-17 - extRef4: null - extRef5: null - extRef6: null + - bookingLineMetadataId: 98dccb4c-f24f-4acd-a036-f4b465124842 + bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 + name: Webshop Dagkaart - BUS + sourceMetadata: + sourceMetadataId: bc4ea24a-27a5-40e8-bbbc-57a105afaaa0 + incomingName: HTM-website + incomingEntity: OrderLine + outgoingName: Webshop + businessOwner: Corneel Verstoep + rejectionProcessing: system + rejectionInfo: api.htm.nl/v2/account/12345/msgs/abc + identifyingFieldValue: null + concession: + concessionId: 2 + name: BUS + lineType: summary + lineSense: credit + costCenter: 619031 + articleName: dagkaart + extRef1: null + extRef2: null + extRef3: 2025-02-17 + extRef4: null + extRef5: Webshop + extRef6: null + - bookingLineMetadataId: a4464b5c-9a8e-4e48-a0a0-5500b1ca0885 + bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 + name: Webshop Dagkaart - RAIL + sourceMetadata: + sourceMetadataId: bc4ea24a-27a5-40e8-bbbc-57a105afaaa0 + incomingName: HTM-website + incomingEntity: OrderLine + outgoingName: Webshop + businessOwner: Corneel Verstoep + rejectionProcessing: system + rejectionInfo: api.htm.nl/v2/account/12345/msgs/abc + identifyingFieldValue: null + concession: + concessionId: 1 + name: RAIL + lineType: summary + lineSense: credit + costCenter: 603031 + articleName: dagkaart + extRef1: null + extRef2: null + extRef3: 2025-02-17 + extRef4: null + extRef5: Webshop + extRef6: null + - bookingLineMetadataId: feaa7b33-ba49-40a2-90f3-5dd70d591f17 + bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 + name: Ticketapp Dagkaart - BUS + sourceMetadata: + sourceMetadataId: c3a9ef01-06c6-4c05-8fc7-df825f676dfc + incomingName: HTM-app + incomingEntity: OrderLine + outgoingName: ticketapp + businessOwner: Daan Zeven + rejectionProcessing: mail + rejectionInfo: sven@infoplaza.nl + identifyingFieldValue: null + concession: + concessionId: 2 + name: BUS + lineType: summary + lineSense: credit + costCenter: 619031 + articleName: dagkaart + extRef1: null + extRef2: null + extRef3: 2025-02-17 + extRef4: null + extRef5: Webshop + extRef6: null + - bookingLineMetadataId: ea6ce4e7-4d52-4b89-bbea-ffe0ef6c48ff + bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 + name: Ticketapp Dagkaart - RAIL + sourceMetadata: + sourceMetadataId: c3a9ef01-06c6-4c05-8fc7-df825f676dfc + incomingName: HTM-app + incomingEntity: OrderLine + outgoingName: ticketapp + businessOwner: Daan Zeven + rejectionProcessing: mail + rejectionInfo: sven@infoplaza.nl + identifyingFieldValue: null + concession: + concessionId: 1 + name: RAIL + lineType: summary + lineSense: credit + costCenter: 603031 + articleName: dagkaart + extRef1: null + extRef2: null + extRef3: 2025-02-17 + extRef4: null + extRef5: Webshop + extRef6: null + - bookingLineMetadataId: 0a8dbb7d-73c8-451e-9028-e4613283c7bd + bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 + name: Dagkaart - BTW + sourceMetadata: null + identifyingFieldValue: null + concession: null + lineType: tax + lineSense: credit + costCenter: 1337 + articleName: dagkaart + extRef1: null + extRef2: null + extRef3: 2025-02-17 + extRef4: null + extRef5: null + extRef6: null href: null /bookinglinemetadata/{bookingLineMetadataId}: parameters: @@ -3820,6 +3839,63 @@ components: - rejectionProcessing - rejectionInfo - validFrom + TransactionItemsResponseStatusGetResponseBody: + type: object + properties: + summary: + type: object + properties: + created: + type: integer + example: 15 + updated: + type: integer + example: 2 + total: + type: integer + example: 17 + required: + - created + - total + - updated + required: + - summary + 409Response: + type: object + properties: + code: + type: string + example: "409" + type: + type: string + example: error + message: + type: string + example: conflict + description: + type: string + example: >- + A transaction with the same TransactionId and TransactionLineId + already exists. + errors: + type: array + items: + type: object + properties: + detail: + type: string + example: >- + Transaction is a duplicate of a transaction already in the + system. + pointer: + type: string + example: "#/transactionItems/0" + transactionId: + type: string + example: 1ad109d3-fd7d-4b6f-872b-220d492f385f + transactionLineId: + type: string + example: fee907dd-e59d-44f5-a63b-bbdec38f79b7 rfc9457: type: object properties: From 5fc879d6850e767f41518f5cfe31e9617422e9af Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Thu, 20 Feb 2025 10:38:01 +0100 Subject: [PATCH 14/37] OVPAY-1518 - Added final GET examples. --- src/openapi/fiko/fiko-crud.yaml | 107 ++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) diff --git a/src/openapi/fiko/fiko-crud.yaml b/src/openapi/fiko/fiko-crud.yaml index e55bb2c..5aa6908 100644 --- a/src/openapi/fiko/fiko-crud.yaml +++ b/src/openapi/fiko/fiko-crud.yaml @@ -412,12 +412,40 @@ paths: application/json: schema: $ref: "#/components/schemas/TransactionItemsResponseStatusGetResponseBody" + examples: + Batch successfully processed: + summary: Batch successfully processed + description: | + Body of a batch of transaction items that was successfully processed. + A number of transaction items were inserted and another number was updated. + value: + summary: + created: 15 + updated: 2 + total: 17 "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/409Response" + examples: + A transaction item already exists: + summary: A transaction item already exists + description: | + In this batch of transaction items, a transaction with same transactionId and + transactionLineId already exists. Therefore, the whole batch is rolled back and + rejected. + value: + code: '409' + type: error + message: conflict + description: A transaction with the same TransactionId and TransactionLineId already exists. + errors: + - detail: Transaction is a duplicate of a transaction already in the system. + pointer: '#/transactionItems/0' + transactionId: 1ad109d3-fd7d-4b6f-872b-220d492f385f + transactionLineId: fee907dd-e59d-44f5-a63b-bbdec38f79b7 /transactionitems/{transactionItemId}/processingfailures: parameters: - in: path @@ -784,6 +812,85 @@ paths: application/json: schema: $ref: "#/components/schemas/ProcessingFailuresGetResponseBody" + examples: + No processing failures: + summary: No processing failures + description: No processing failures were found (for example for a single transaction item). + value: + processingFailures: [] + href: null + Multiple processing failures for a single transaction item: + summary: Multiple processing failures for a single transaction item + description: | + In this example multiple processing failures were found for a single transaction item. + This example shows how a single transaction items has failed validation two times, in which the + the first failure has two validation errors, which have been resolved, and the second failure + hasn't been. Which makes three processing failures total. + value: + processingFailures: + - processingFailureId: 37a8095b-19db-498f-9349-5f37d21c5bdf + transactionItemId: 2d77d978-7141-499a-84ad-93fad8ee03ce + timestamp: 2022-01-01 00:00:00 + element: costType + value: 901 + reasonCode: 004 + reasonDescription: Cost type does not exist. + resolved: false + change: null + - processingFailureId: ccc06dc9-956d-47d8-bde7-9644ddde2193 + transactionItemId: 2d77d978-7141-499a-84ad-93fad8ee03ce + timestamp: 2025-01-01 00:43:01 + element: costCenter + value: 84955 + reasonCode: 002 + reasonDescription: Cost center does not exist. + resolved: true + change: Adapt config + - processingFailureId: 96bf8d44-0030-4509-b24e-2d62299779c5 + transactionItemId: 2d77d978-7141-499a-84ad-93fad8ee03ce + timestamp: 2025-01-01 00:43:01 + element: department + value: 1337 + reasonCode: 001 + reasonDescription: Department does not exist. + resolved: true + change: Adapt config + href: null + List of unfiltered processing failures: + summary: List of unfiltered processing failures + description: | + In this example there is a list of processing failures where no filters have been applied. + This results in a list of all processing failures, for different transaction items. + value: + processingFailures: + - processingFailureId: 1d0f237e-5fbe-4107-8bdf-a41f43307ac0 + transactionItemId: d0425652-07a3-4b95-bb37-8bb15ea1b9b5 + timestamp: 2022-01-01 00:00:00 + element: occuredOn + value: 2027-01-01 + reasonCode: 009 + reasonDescription: Transaction date is in the future + resolved: false + change: null + - processingFailureId: 76aa82e1-a10f-4664-a84f-1f30d60884b3 + transactionItemId: 3f0a8a74-c642-441e-a187-d32fedb77fdf + timestamp: 2025-01-01 00:43:01 + element: costCenter + value: 84955 + reasonCode: 002 + reasonDescription: Cost center does not exist. + resolved: false + change: null + - processingFailureId: 25d2dd6f-ae17-44a7-b7a5-43eaf6de78e1 + transactionItemId: 446ad396-41f6-4c1f-942c-a131e620075d + timestamp: 2025-01-01 00:43:01 + element: department + value: 1337 + reasonCode: 001 + reasonDescription: Department does not exist. + resolved: false + change: null + href: null /processingfailures/{processingFailureId}: parameters: - in: path From d0f2335acb25a5aa3cef317c2f2e3ae272ac4700 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Thu, 20 Feb 2025 11:26:50 +0100 Subject: [PATCH 15/37] OVPAY-1518 - Added POST and PATCH exampels for Booking Processes v2. --- src/openapi/fiko/fiko-crud.yaml | 145 ++++++++++++++++++++++++++++++-- 1 file changed, 138 insertions(+), 7 deletions(-) diff --git a/src/openapi/fiko/fiko-crud.yaml b/src/openapi/fiko/fiko-crud.yaml index 5aa6908..7c4a958 100644 --- a/src/openapi/fiko/fiko-crud.yaml +++ b/src/openapi/fiko/fiko-crud.yaml @@ -986,6 +986,15 @@ paths: application/json: schema: $ref: "#/components/schemas/BookingProcessesPostRequestBody" + examples: + Add a new booking process: + summary: Add a new booking process + description: | + This example shows how a new booking process for purchase orders can be added. + value: + name: Inkooptransacties + transactionType: purchase + identifyingFieldName: articleNumber responses: "201": description: Created @@ -993,6 +1002,12 @@ paths: application/json: schema: $ref: "#/components/schemas/BookingProcessesPostResponseBody" + examples: + New booking process added successfully: + summary: New booking process added successfully + description: The new booking process was successfully added to the database. + value: + bookingProcessId: 03105285-3c4c-477a-821c-0fae801d9d26 /bookingprocesses/{bookingProcessId}: parameters: - in: path @@ -1014,6 +1029,13 @@ paths: application/json: schema: $ref: "#/components/schemas/BookingProcessesPatchRequestBody" + examples: + Update a booking process: + summary: Update a booking process + description: | + This example shows how a booking process can be updated. + value: + identifyingFieldName: orderNumber responses: "200": description: OK @@ -1021,6 +1043,12 @@ paths: application/json: schema: $ref: "#/components/schemas/BookingProcessesPatchResponseBody" + examples: + Booking process successfully updated: + summary: Booking process successfully updated + description: The booking process was successfully updated in the database. + value: + bookingProcessId: 37a8095b-19db-498f-9349-5f37d21c5bdf /bookingprocesses/{bookingProcessId}/bookingmetadata: parameters: - in: path @@ -1042,6 +1070,22 @@ paths: application/json: schema: $ref: "#/components/schemas/BookingMetadataPostRequestBody" + examples: + Add a new booking metadata: + summary: Add a new booking metadata + description: | + This example shows how a new booking metadata for a booking process can be added. + value: + description: Saldoreizen + department: 900 + costType: 84955 + documentCode: OPBR-FIKO + hasSeparateTaxLine: true + hasLinePerIdentifyingField: false + hasLinePerSource: true + hasLinePerConcession: true + validFrom: 2024-03-22T09:00:00 + validUntil: null responses: "201": description: Created @@ -1049,6 +1093,12 @@ paths: application/json: schema: $ref: "#/components/schemas/BookingMetadataPostResponseBody" + examples: + New booking metadata added successfully: + summary: New booking metadata added successfully + description: The new booking metadata was successfully added to the database. + value: + bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 /bookingmetadata: get: summary: Find booking metadata. @@ -1148,7 +1198,7 @@ paths: hasLinePerSource: true hasLinePerConcession: true validFrom: 2022-01-01 00:00:00 - validTo: null + validUntil: null - bookingMetadataId: bd290c3f-4a27-4898-911e-1aadacc4a034 bookingProcessId: 37a8095b-19db-498f-9349-5f37d21c5bdf description: Saldoreizen @@ -1160,7 +1210,7 @@ paths: hasLinePerSource: true hasLinePerConcession: true validFrom: 2022-01-01 00:00:00 - validTo: null + validUntil: null href: null /bookingmetadata/{bookingMetadataId}: parameters: @@ -1183,6 +1233,13 @@ paths: application/json: schema: $ref: "#/components/schemas/BookingMetadataPatchRequestBody" + examples: + Update booking metadata: + summary: Update booking metadata + description: | + In this example the booking metadata is updated. The validUntil field is updated to 2024-03-22T09:00:00. + value: + validUntil: 2024-03-22T09:00:00 responses: "200": description: OK @@ -1190,6 +1247,12 @@ paths: application/json: schema: $ref: "#/components/schemas/BookingMetadataPatchResponseBody" + examples: + Booking metadata updated successfully: + summary: Booking metadata updated successfully + description: The booking metadata was successfully updated in the database. + value: + bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 /bookingmetadata/{bookingMetadataId}/bookinggroupfields: parameters: - in: path @@ -1211,6 +1274,12 @@ paths: application/json: schema: $ref: "#/components/schemas/BookingGroupFieldsPostRequestBody" + examples: + Add a new booking group field: + summary: Add a new booking group field + description: Add a new booking group field to an existing booking. + value: + identifyingFieldValue: 4135 responses: "201": description: Created @@ -1218,6 +1287,12 @@ paths: application/json: schema: $ref: "#/components/schemas/BookingGroupFieldsPostResponseBody" + examples: + New booking group field added successfully: + summary: New booking group field added successfully + description: The new booking group field was successfully added to the database. + value: + bookingGroupFieldId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 /bookingmetadata/{bookingMetadataId}/bookinglinemetadata: parameters: - in: path @@ -1239,6 +1314,43 @@ paths: application/json: schema: $ref: "#/components/schemas/BookingLineMetadataPostRequestBody" + examples: + Add a new tax booking line metadata: + summary: Add a new tax booking line metadata + description: In this example a new tax booking line metadata is added to an existing booking. + value: + name: Saldoreizen - BTW + sourceMetadataId: null + identifyingFieldValue: null + concessionId: null + lineType: tax + lineSense: credit + costCenter: 603031 + articleName: null + extRef1: null + extRef2: null + extRef3: null + extRef4: null + extRef5: TLS + extRef6: null + Add a new yield booking line metadata: + summary: Add a new yield booking line metadata + description: In this example a new yield booking line metadata is added to an existing booking. + value: + name: Opbrengst Saldoreizen - RAIL + sourceMetadataId: null + identifyingFieldValue: null + concessionId: 1 + lineType: analysis + lineSense: credit + costCenter: 603031 + articleName: Saldoreizen + extRef1: null + extRef2: null + extRef3: 2025-02-17 + extRef4: null + extRef5: TLS + extRef6: null responses: "201": description: Created @@ -1246,6 +1358,12 @@ paths: application/json: schema: $ref: "#/components/schemas/BookingLineMetadataPostResponseBody" + examples: + New booking line metadata added successfully: + summary: New booking line metadata added successfully + description: The new booking line metadata was successfully added to the database. + value: + bookingLineMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 /bookinggroupfields: get: summary: Find booking group fields. @@ -1679,6 +1797,13 @@ paths: application/json: schema: $ref: "#/components/schemas/BookingLineMetadataPatchRequestBody" + examples: + Update cost center of a booking line: + summary: Update cost center of a booking line + description: | + In this example the cost center of an existing booking line metadata is updated. + value: + costCenter: 84957 responses: "200": description: OK @@ -1686,6 +1811,12 @@ paths: application/json: schema: $ref: "#/components/schemas/BookingLineMetadataPatchResponseBody" + examples: + Booking line metadata updated successfully: + summary: Booking line metadata updated successfully + description: The booking line metadata was successfully updated in the database. + value: + bookingLineMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 delete: summary: Delete booking line metadata. description: Delete booking line metadata. @@ -2999,7 +3130,7 @@ components: type: string format: date-time example: 2022-01-01 00:00:00 - validTo: + validUntil: type: string format: date-time nullable: true @@ -3053,7 +3184,7 @@ components: type: string format: date-time example: 2022-01-01 00:00:00 - validTo: + validUntil: type: string format: date-time nullable: true @@ -3117,7 +3248,7 @@ components: format: date-time nullable: true example: 2022-01-01 00:00:00 - validTo: + validUntil: type: string format: date-time nullable: true @@ -3272,7 +3403,7 @@ components: example: 12b4d128-0ab8-4a4a-944d-25b83de38b27 name: type: string - example: Dagkaart - BUS + example: Dagkaart - RAIL sourceMetadata: type: object $ref: "#/components/schemas/SourceMetadata" @@ -3346,7 +3477,7 @@ components: name: type: string nullable: true - example: Dagkaart - BUS + example: Dagkaart - RAIL sourceMetadataId: type: string format: uuid From d496370cbe6e12f14ef636ee448c64db45898ebe Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Thu, 20 Feb 2025 11:48:14 +0100 Subject: [PATCH 16/37] OVPAY-1518 - Added POST and PATCH examples for Metadata v2. --- src/openapi/fiko/fiko-crud.yaml | 173 ++++++++++++++++++++++++++------ 1 file changed, 143 insertions(+), 30 deletions(-) diff --git a/src/openapi/fiko/fiko-crud.yaml b/src/openapi/fiko/fiko-crud.yaml index 7c4a958..b341b01 100644 --- a/src/openapi/fiko/fiko-crud.yaml +++ b/src/openapi/fiko/fiko-crud.yaml @@ -437,13 +437,13 @@ paths: transactionLineId already exists. Therefore, the whole batch is rolled back and rejected. value: - code: '409' + code: "409" type: error message: conflict description: A transaction with the same TransactionId and TransactionLineId already exists. errors: - detail: Transaction is a duplicate of a transaction already in the system. - pointer: '#/transactionItems/0' + pointer: "#/transactionItems/0" transactionId: 1ad109d3-fd7d-4b6f-872b-220d492f385f transactionLineId: fee907dd-e59d-44f5-a63b-bbdec38f79b7 /transactionitems/{transactionItemId}/processingfailures: @@ -828,33 +828,33 @@ paths: hasn't been. Which makes three processing failures total. value: processingFailures: - - processingFailureId: 37a8095b-19db-498f-9349-5f37d21c5bdf - transactionItemId: 2d77d978-7141-499a-84ad-93fad8ee03ce - timestamp: 2022-01-01 00:00:00 - element: costType - value: 901 - reasonCode: 004 - reasonDescription: Cost type does not exist. - resolved: false - change: null - - processingFailureId: ccc06dc9-956d-47d8-bde7-9644ddde2193 - transactionItemId: 2d77d978-7141-499a-84ad-93fad8ee03ce - timestamp: 2025-01-01 00:43:01 - element: costCenter - value: 84955 - reasonCode: 002 - reasonDescription: Cost center does not exist. - resolved: true - change: Adapt config - - processingFailureId: 96bf8d44-0030-4509-b24e-2d62299779c5 - transactionItemId: 2d77d978-7141-499a-84ad-93fad8ee03ce - timestamp: 2025-01-01 00:43:01 - element: department - value: 1337 - reasonCode: 001 - reasonDescription: Department does not exist. - resolved: true - change: Adapt config + - processingFailureId: 37a8095b-19db-498f-9349-5f37d21c5bdf + transactionItemId: 2d77d978-7141-499a-84ad-93fad8ee03ce + timestamp: 2022-01-01 00:00:00 + element: costType + value: 901 + reasonCode: 004 + reasonDescription: Cost type does not exist. + resolved: false + change: null + - processingFailureId: ccc06dc9-956d-47d8-bde7-9644ddde2193 + transactionItemId: 2d77d978-7141-499a-84ad-93fad8ee03ce + timestamp: 2025-01-01 00:43:01 + element: costCenter + value: 84955 + reasonCode: 002 + reasonDescription: Cost center does not exist. + resolved: true + change: Adapt config + - processingFailureId: 96bf8d44-0030-4509-b24e-2d62299779c5 + transactionItemId: 2d77d978-7141-499a-84ad-93fad8ee03ce + timestamp: 2025-01-01 00:43:01 + element: department + value: 1337 + reasonCode: 001 + reasonDescription: Department does not exist. + resolved: true + change: Adapt config href: null List of unfiltered processing failures: summary: List of unfiltered processing failures @@ -1250,7 +1250,7 @@ paths: examples: Booking metadata updated successfully: summary: Booking metadata updated successfully - description: The booking metadata was successfully updated in the database. + description: The booking metadata was successfully updated in the database. value: bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 /bookingmetadata/{bookingMetadataId}/bookinggroupfields: @@ -1925,6 +1925,16 @@ paths: application/json: schema: $ref: "#/components/schemas/TaxMetadataPostRequestBody" + examples: + Add new tax metadata: + summary: Add new tax metadata + description: This example adds a new tax metadata record to the database. + value: + taxCode: V21.4 + taxPercentageAmount: 21.4 + description: BTW VERKOOP HOOG 21.4% + validFrom: 2025-03-22T09:00:00 + validUntil: null responses: "201": description: Created @@ -1932,6 +1942,12 @@ paths: application/json: schema: $ref: "#/components/schemas/TaxMetadataPostResponseBody" + examples: + Tax metadata created successfully: + summary: Tax metadata created successfully + description: The tax metadata was successfully added to the database. + value: + taxMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 /taxmetadata/{taxMetadataId}: parameters: - in: path @@ -1953,6 +1969,12 @@ paths: application/json: schema: $ref: "#/components/schemas/TaxMetadataPatchRequestBody" + examples: + Update tax metadata: + summary: Update tax metadata + description: In this example the tax metadata is updated. The validUntil field is updated to 2025-03-22T09:00:00. + value: + validUntil: 2025-03-22T09:00:00 responses: "200": description: OK @@ -1960,6 +1982,12 @@ paths: application/json: schema: $ref: "#/components/schemas/TaxMetadataPatchResponseBody" + examples: + Tax metadata updated successfully: + summary: Tax metadata updated successfully + description: The tax metadata was successfully updated in the database. + value: + taxMetadataId: 7c3a5b0f-b89e-4f02-8b09-d11c5a050a07 /sourcemetadata: get: summary: Find source metadata. @@ -2059,6 +2087,17 @@ paths: application/json: schema: $ref: "#/components/schemas/SourceMetadataPostRequestBody" + examples: + Add a new source to the metadata: + summary: Add a new source to the metadata + description: Add a new record to the source metadata in the database. + value: + incomingName: HTM-app + incomingEntity: OrderLine + outgoingName: ticketapp + businessOwner: Daan Zeven + rejectionProcessing: mail + rejectionInfo: sven@infoplaza.nl responses: "201": description: Created @@ -2066,6 +2105,12 @@ paths: application/json: schema: $ref: "#/components/schemas/SourceMetadataPostResponseBody" + examples: + Source metadata created successfully: + summary: Source metadata created successfully + description: The source metadata was successfully added to the database. + value: + sourceMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 /sourcemetadata/{sourceMetadataId}: parameters: - in: path @@ -2087,6 +2132,12 @@ paths: application/json: schema: $ref: "#/components/schemas/SourceMetadataPatchRequestBody" + examples: + Update a source in the metadata: + summary: Update a source in the metadata + description: In this example we update the business owner of a single source meta data + value: + businessOwner: Eric Kok responses: "200": description: OK @@ -2094,6 +2145,12 @@ paths: application/json: schema: $ref: "#/components/schemas/SourceMetadataPatchResponseBody" + examples: + Source metadata updated successfully: + summary: Source metadata updated successfully + description: The source metadata was successfully updated in the database. + value: + sourceMetadataId: 37a8095b-19db-498f-9349-5f37d21c5bdf /accountingperiodmetadata: get: summary: Find accounting period metadata. @@ -2154,6 +2211,13 @@ paths: application/json: schema: $ref: "#/components/schemas/AccountingPeriodMetadataPostRequestBody" + examples: + Add a new accounting period metadata: + summary: Add a new accounting period metadata + description: In this example we add a new accounting period metadata. + value: + accountingPeriod: 2025/03 + isOpen: true responses: "201": description: Created @@ -2161,6 +2225,12 @@ paths: application/json: schema: $ref: "#/components/schemas/AccountingPeriodMetadataPostResponseBody" + examples: + Accounting period metadata created successfully: + summary: Accounting period metadata created successfully + description: The accounting period metadata was successfully added to the database. + value: + accountingPeriodMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 /accountingperiodmetadata/{accountingPeriodMetadataId}: parameters: - in: path @@ -2182,6 +2252,12 @@ paths: application/json: schema: $ref: "#/components/schemas/AccountingPeriodMetadataPatchRequestBody" + examples: + Update an accounting period metadata: + summary: Update an accounting period metadata + description: In this example we close an existing accounting period in the metadata. + value: + isOpen: false responses: "200": description: OK @@ -2189,6 +2265,12 @@ paths: application/json: schema: $ref: "#/components/schemas/AccountingPeriodMetadataPatchResponseBody" + examples: + Accounting period metadata updated successfully: + summary: Accounting period metadata updated successfully + description: The accounting period metadata was successfully updated in the database. + value: + accountingPeriodMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 /concessionmetadata: get: summary: Find concession metadata. @@ -2291,6 +2373,17 @@ paths: application/json: schema: $ref: "#/components/schemas/ConcessionMetadataPostRequestBody" + examples: + Add a new concession distribution: + summary: Add a new concession distribution + description: | + Every month, the administrator determines the concession distribution for the next month. + In this example, a new concession distribution for RAIL is added to the metadata. + value: + concessionId: 1 + percentage: 83.041 + validFrom: 2025-03-01T00:00:00.000 + validUntil: null responses: "201": description: Created @@ -2298,6 +2391,12 @@ paths: application/json: schema: $ref: "#/components/schemas/ConcessionMetadataPostResponseBody" + examples: + Concession metadata added succesfully: + summary: Concession metadata added succesfully + description: The new concession metadata was successfully added to the database. + value: + concessionMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 /concessionmetadata/{concessionMetadataId}: parameters: - in: path @@ -2319,6 +2418,14 @@ paths: application/json: schema: $ref: "#/components/schemas/ConcessionMetadataPatchRequestBody" + examples: + Update a concession distribution: + summary: Update a concession distribution + description: | + Every month, the administrator determines the concession distribution for the next month. + In this example, the concession distribution for last month gets an end date. + value: + validUntil: 2025-02-28T23:59:59.999 responses: "200": description: OK @@ -2326,6 +2433,12 @@ paths: application/json: schema: $ref: "#/components/schemas/ConcessionMetadataPatchResponseBody" + examples: + Concession metadata updated successfully: + summary: Concession metadata updated successfully + description: The concession metadata was successfully updated in the database. + value: + concessionMetadataId: 37a8095b-19db-498f-9349-5f37d21c5bdf /metadataaudittrails: get: summary: Find metadata audit trails. From 40795f380afcc6a4b0d99e17ef8ad17b689e3c4b Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Thu, 20 Feb 2025 13:11:36 +0100 Subject: [PATCH 17/37] OVPAY-1518 - Added POST and PATCH examples for Processing Failure v2. --- src/openapi/fiko/fiko-crud.yaml | 49 ++++++++++++++++++++++++++++----- 1 file changed, 42 insertions(+), 7 deletions(-) diff --git a/src/openapi/fiko/fiko-crud.yaml b/src/openapi/fiko/fiko-crud.yaml index b341b01..fe409dd 100644 --- a/src/openapi/fiko/fiko-crud.yaml +++ b/src/openapi/fiko/fiko-crud.yaml @@ -467,6 +467,20 @@ paths: application/json: schema: $ref: "#/components/schemas/ProcessingFailuresPostRequestBody" + examples: + Add new processing failure for a transaction item: + summary: Add new processing failure for a transaction item + description: | + Add a new processing failure for a transaction item. This usually happens when + a transaction item has failed validation. In this specific example, the transaction + item has a timestamp in the future. + value: + timestamp: 2025-01-01 12:34:00 + element: occuredOn + value: 2027-01-01 12:34:00 + reasonCode: "012" + reasonDescription: Transaction date is in the future. + resolved: false responses: "201": description: Created @@ -474,6 +488,12 @@ paths: application/json: schema: $ref: "#/components/schemas/ProcessingFailuresPostResponseBody" + examples: + Processing failure successfully added: + summary: Processing failure successfully added + description: The processing failure was successfully added to the database. + value: + processingFailureId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 /transactionitems/{transactionItemId}/transactionaudittrails: parameters: - in: path @@ -662,7 +682,7 @@ paths: href: null ? List containing multiple transaction audit trails of one transaction item : summary: List containing multiple audit trails of one transaction item - description: List containing multiple audit trail records of one transaction item (with id d667d293-aa82-4c9e-9b10-77cffc9058a1). + description: List containing multiple audit trail records of one transaction item (with id `d667d293-aa82-4c9e-9b10-77cffc9058a1`). value: transactionAuditTrails: - transactionAuditTrailId: d571ff7c-eaa5-428a-9bc3-5a0fa3e5ee2e @@ -833,7 +853,7 @@ paths: timestamp: 2022-01-01 00:00:00 element: costType value: 901 - reasonCode: 004 + reasonCode: "004" reasonDescription: Cost type does not exist. resolved: false change: null @@ -842,7 +862,7 @@ paths: timestamp: 2025-01-01 00:43:01 element: costCenter value: 84955 - reasonCode: 002 + reasonCode: "002" reasonDescription: Cost center does not exist. resolved: true change: Adapt config @@ -851,7 +871,7 @@ paths: timestamp: 2025-01-01 00:43:01 element: department value: 1337 - reasonCode: 001 + reasonCode: "001" reasonDescription: Department does not exist. resolved: true change: Adapt config @@ -868,7 +888,7 @@ paths: timestamp: 2022-01-01 00:00:00 element: occuredOn value: 2027-01-01 - reasonCode: 009 + reasonCode: "009" reasonDescription: Transaction date is in the future resolved: false change: null @@ -877,7 +897,7 @@ paths: timestamp: 2025-01-01 00:43:01 element: costCenter value: 84955 - reasonCode: 002 + reasonCode: "002" reasonDescription: Cost center does not exist. resolved: false change: null @@ -886,7 +906,7 @@ paths: timestamp: 2025-01-01 00:43:01 element: department value: 1337 - reasonCode: 001 + reasonCode: "001" reasonDescription: Department does not exist. resolved: false change: null @@ -911,6 +931,15 @@ paths: application/json: schema: $ref: "#/components/schemas/ProcessingFailuresPatchRequestBody" + examples: + Resolve an existing processing failure: + summary: Resolve an existing processing failure + description: | + In this example, the processing failure with the id `37a8095b-19db-498f-9349-5f37d21c5bdf` + has been resolved by chaning the config. + value: + resolved: true + change: Adapt config responses: "200": description: OK @@ -918,6 +947,12 @@ paths: application/json: schema: $ref: "#/components/schemas/ProcessingFailuresPatchResponseBody" + examples: + Processing failure updated successfully: + summary: Processing failure updated successfully + description: The processing failure has been updated successfully. + value: + processingFailureId: 37a8095b-19db-498f-9349-5f37d21c5bdf /bookingprocesses: get: summary: Find booking processes. From 030f4a2087d94a280333e9cab7aeaaab1b4ac45c Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Thu, 20 Feb 2025 13:20:14 +0100 Subject: [PATCH 18/37] OVPAY-1518 - Minor documentation improvements. --- src/openapi/fiko/fiko-crud.yaml | 80 +++++++++++++++++---------------- 1 file changed, 41 insertions(+), 39 deletions(-) diff --git a/src/openapi/fiko/fiko-crud.yaml b/src/openapi/fiko/fiko-crud.yaml index fe409dd..8bf9703 100644 --- a/src/openapi/fiko/fiko-crud.yaml +++ b/src/openapi/fiko/fiko-crud.yaml @@ -1,8 +1,10 @@ openapi: "3.0.3" info: - title: ABT FIKO CRUD APIs v2 + title: FIKO CRUD APIs v2.2 version: "1.0" - description: CRUD APIs for ABT FIKO database v2. + description: | + CRUD APIs for FIKO resource model v2.2. This version of the API corresponds with version 2.2 + of the data model in [Lucid Chart](https://lucid.app/lucidchart/50c0ff9d-48ba-4ea9-8182-10bede07d3b1/edit?page=LL7PJg1Y_GOA>). servers: - url: https://api.integratielaag.nl/fiko/1.0 paths: @@ -11,7 +13,7 @@ paths: summary: Find transaction items. description: Find transaction items. tags: - - Transactions v2 + - Transactions v2.2 parameters: - in: query name: transactionItemId @@ -267,7 +269,7 @@ paths: summary: Add one ore more finanicial transaction items in bulk. description: Add one ore more finanicial transaction items in bulk. tags: - - Transactions v2 + - Transactions v2.2 requestBody: required: true content: @@ -358,7 +360,7 @@ paths: summary: Update a transaction item. description: Update a transaction item. tags: - - Transactions v2 + - Transactions v2.2 requestBody: required: true content: @@ -402,7 +404,7 @@ paths: /transactionitems/responsestatus/*: get: tags: - - Transactions v2 + - Transactions v2.2 summary: Get the status of the transaction items POST. description: Get the status of the asynchronous transaction items POST processing. responses: @@ -460,7 +462,7 @@ paths: summary: Add a processing failure. description: Add a processing failure. tags: - - Failures v2 + - Failures v2.2 requestBody: required: true content: @@ -508,7 +510,7 @@ paths: summary: Add an audit trail entry. description: Add an audit trail entry. tags: - - Audit Trail v2 + - Audit Trail v2.2 requestBody: required: true content: @@ -556,7 +558,7 @@ paths: summary: Find audit trail entries. description: Find audit trail entries. tags: - - Audit Trail v2 + - Audit Trail v2.2 parameters: - in: query name: transactionAuditTrailId @@ -761,7 +763,7 @@ paths: summary: Find processing failures. description: Find processing failures. tags: - - Failures v2 + - Failures v2.2 parameters: - in: query name: processingFailureId @@ -925,7 +927,7 @@ paths: summary: Update processing failure. description: Update processing failure. tags: - - Failures v2 + - Failures v2.2 requestBody: content: application/json: @@ -958,7 +960,7 @@ paths: summary: Find booking processes. description: Find booking processes. tags: - - Booking Processes v2 + - Booking Processes v2.2 parameters: - in: query name: bookingProcessId @@ -1014,7 +1016,7 @@ paths: summary: Add a booking process. description: Add a booking process. tags: - - Booking Processes v2 + - Booking Processes v2.2 requestBody: required: true content: @@ -1057,7 +1059,7 @@ paths: summary: Update a booking process. description: Update a booking process. tags: - - Booking Processes v2 + - Booking Processes v2.2 requestBody: required: true content: @@ -1098,7 +1100,7 @@ paths: summary: Add booking metadata. description: Add booking metadata. tags: - - Booking Processes v2 + - Booking Processes v2.2 requestBody: required: true content: @@ -1139,7 +1141,7 @@ paths: summary: Find booking metadata. description: Find booking metadata. tags: - - Booking Processes v2 + - Booking Processes v2.2 parameters: - in: query name: bookingMetadataId @@ -1261,7 +1263,7 @@ paths: summary: Update booking metadata. description: Update booking metadata. tags: - - Booking Processes v2 + - Booking Processes v2.2 requestBody: required: true content: @@ -1302,7 +1304,7 @@ paths: summary: Add booking group fields. description: Add booking group fields. tags: - - Booking Processes v2 + - Booking Processes v2.2 requestBody: required: true content: @@ -1342,7 +1344,7 @@ paths: summary: Add booking line metadata. description: Add booking line metadata. tags: - - Booking Processes v2 + - Booking Processes v2.2 requestBody: required: true content: @@ -1404,7 +1406,7 @@ paths: summary: Find booking group fields. description: Find booking group fields. tags: - - Booking Processes v2 + - Booking Processes v2.2 parameters: - in: query name: bookingGroupFieldId @@ -1504,7 +1506,7 @@ paths: summary: Delete booking group field. description: Delete booking group field. tags: - - Booking Processes v2 + - Booking Processes v2.2 responses: "200": description: OK @@ -1513,7 +1515,7 @@ paths: summary: Find booking line metadata. description: Find booking line metadata. tags: - - Booking Processes v2 + - Booking Processes v2.2 parameters: - in: query name: bookingLineMetadataId @@ -1825,7 +1827,7 @@ paths: summary: Update booking line metadata. description: Update booking line metadata. tags: - - Booking Processes v2 + - Booking Processes v2.2 requestBody: required: true content: @@ -1856,7 +1858,7 @@ paths: summary: Delete booking line metadata. description: Delete booking line metadata. tags: - - Booking Processes v2 + - Booking Processes v2.2 responses: "200": description: OK @@ -1865,7 +1867,7 @@ paths: summary: Find tax metadata. description: Find tax metadata. tags: - - Metadata v2 + - Metadata v2.2 parameters: - in: query name: taxMetadataId @@ -1953,7 +1955,7 @@ paths: summary: Add tax metadata. description: Add tax metadata. tags: - - Metadata v2 + - Metadata v2.2 requestBody: required: true content: @@ -1997,7 +1999,7 @@ paths: summary: Update tax metadata. description: Update tax metadata. tags: - - Metadata v2 + - Metadata v2.2 requestBody: required: true content: @@ -2028,7 +2030,7 @@ paths: summary: Find source metadata. description: Find source metadata. tags: - - Metadata v2 + - Metadata v2.2 parameters: - in: query name: sourceMetadataId @@ -2115,7 +2117,7 @@ paths: summary: Add source metadata. description: Add source metadata. tags: - - Metadata v2 + - Metadata v2.2 requestBody: required: true content: @@ -2160,7 +2162,7 @@ paths: summary: Update source metadata. description: Update source metadata. tags: - - Metadata v2 + - Metadata v2.2 requestBody: required: true content: @@ -2191,7 +2193,7 @@ paths: summary: Find accounting period metadata. description: Find accounting period metadata. tags: - - Metadata v2 + - Metadata v2.2 parameters: - in: query name: accountingPeriodMetadataId @@ -2239,7 +2241,7 @@ paths: summary: Add accounting period metadata. description: Add accounting period metadata. tags: - - Metadata v2 + - Metadata v2.2 requestBody: required: true content: @@ -2280,7 +2282,7 @@ paths: summary: Update accounting period metadata. description: Update accounting period metadata. tags: - - Metadata v2 + - Metadata v2.2 requestBody: required: true content: @@ -2311,7 +2313,7 @@ paths: summary: Find concession metadata. description: Find concession metadata. tags: - - Metadata v2 + - Metadata v2.2 parameters: - in: query name: concessionMetadataId @@ -2401,7 +2403,7 @@ paths: summary: Add concession metadata. description: Add concession metadata. tags: - - Metadata v2 + - Metadata v2.2 requestBody: required: true content: @@ -2446,7 +2448,7 @@ paths: summary: Update concession metadata. description: Update concession metadata. tags: - - Metadata v2 + - Metadata v2.2 requestBody: required: true content: @@ -2480,7 +2482,7 @@ paths: description: Find metadata audit trails. deprecated: true tags: - - Audit Trail v2 + - Audit Trail v2.2 parameters: - in: query name: metadataAuditTrailId @@ -2574,7 +2576,7 @@ paths: description: Add metadata audit trail. deprecated: true tags: - - Audit Trail v2 + - Audit Trail v2.2 requestBody: required: true content: @@ -2593,7 +2595,7 @@ paths: summary: Get all concessions. description: Get all concessions. tags: - - References v2 + - References v2.2 responses: "200": description: OK From caf927cae5b33b4aed8fedf96789a4b5fc51277d Mon Sep 17 00:00:00 2001 From: Mirjam Herald Date: Mon, 24 Feb 2025 12:16:41 +0100 Subject: [PATCH 19/37] creating orderv2.3 --- src/openapi/orders/service_engine_orders.yaml | 1375 +++++++++++++---- 1 file changed, 1048 insertions(+), 327 deletions(-) diff --git a/src/openapi/orders/service_engine_orders.yaml b/src/openapi/orders/service_engine_orders.yaml index 058a3dc..0c8ce0a 100644 --- a/src/openapi/orders/service_engine_orders.yaml +++ b/src/openapi/orders/service_engine_orders.yaml @@ -35,30 +35,6 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v1: - summary: Order validation v1 - description: Order validation v1 - value: - [ - { - "ovPayTokenId": 2, - "serviceReferenceId": "NLOV1234567ABCDEFG", - "amount": 34, - "ovpasNumber": "OV34567", - "productId": 2, - "startDate": "2024-03-22T09:00:00z", - "quantity": 1, - }, - { - "ovPayTokenId": 3, - "serviceReferenceId": "NLOV1234567ABCDEFG", - "amount": 89, - "ovpasNumber": "OV34567", - "productId": 4, - "startDate": "2024-03-22T09:00:00z", - "quantity": 4, - }, - ] v2: summary: Order validation v2 description: Order validation v2 @@ -125,6 +101,30 @@ paths: ], }, } + v1: + summary: Order validation v1 + description: Order validation v1 + value: + [ + { + "ovPayTokenId": 2, + "serviceReferenceId": "NLOV1234567ABCDEFG", + "amount": 34, + "ovpasNumber": "OV34567", + "productId": 2, + "startDate": "2024-03-22T09:00:00z", + "quantity": 1, + }, + { + "ovPayTokenId": 3, + "serviceReferenceId": "NLOV1234567ABCDEFG", + "amount": 89, + "ovpasNumber": "OV34567", + "productId": 4, + "startDate": "2024-03-22T09:00:00z", + "quantity": 4, + }, + ] responses: "200": description: OK @@ -322,44 +322,98 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v1: - summary: Order fulfillment v1 - description: Order fulfillment v1 + v2.2: + summary: Order fulfillment v2.2 + description: Order fulfillment v2.2 value: { - "customerProfileID": 123415, - "customerProfileData": { "dateOfBirth": "09-03-1989" }, - "personalAccountData": { "birthdate": "09-03-1989" }, - "directDebitMandate": - { - "consumerName": "J. de Tèster", - "consumerBic": "RABONL2U", - "consumerIban": "NL44RABO0123456789", - }, - "orderContents": + "externalOrderId": "a0ef57fa-395c-4a03-96e9-234c26dccea9", + "languageId": 1, + "billingAddressId": 1, + "shippingAddressId": 1, + "createdOn": "2024-03-22T09:00:00", + "orderStatusId": 4, + "orderLines": [ { - "ovPayTokenId": 123, - "serviceReferenceId": "NLOV1234567ABCDEFG", - "amount": 450, - "ovpasNumber": "63AW974", - "productId": 2, - "startDate": "2024-03-22T09:00:00Z", + "externalOrderLineId": "2ba39cae-c401-446b-ae5c-2d6d85b3df1f", + "productId": 1, "quantity": 1, - "orderlineId": "2d7fadc9-b64b-4516-9a7d-cf550f201372", - }, - { - "ovPayTokenId": 123, - "serviceReferenceId": "NLOV1234567ABCDEFG", - "amount": 450, - "ovpasNumber": "63AW974", - "productId": 3, - "startDate": "2024-03-16T09:00:00Z", - "quantity": 1, - "orderlineId": "9d7fadc9-b64b-4516-9a7d-cf550f201378", + "createdOn": "2024-03-22T09:00:00", + "validFrom": "2024-03-22T09:00:00", + "validUntil": null, + "orderLineStatusId": 4, + "tokens": + [ + { + "tokenTypeId": 1, + "ovPayTokenId": 1, + "serviceReferenceId": "NLOV1234567ABCDEFG", + "amount": 34, + "ovpasNumber": "OV34567", + "verificationCode": "A7H6", + "personalAccountData": + { + "name": "Jan de Vries", + "dateOfBirth": "01-01-1970", + "photoReference": "DSC_0502.JPG", + "fileType": "image/jpg", + "challengeTypeId": 1, + "oneTimePassword": "H5Iiz3JTaQeIV8p", + }, + }, + ], }, ], - "orderStatus": "succeededPayment", + "payments": + [ + { + "createdOn": "2024-03-22T09:00:00", + "amountDebit": 121, + "paymentMethodId": 1, + "isRefund": false, + "htmPaymentReference": "HTM-1234", + "pspPaymentReference": "Buckaroo-1234", + "paymentStatuses": + [ + { + "createdOn": "2024-03-22T09:00:00", + "statusCode": "190", + "statusDescription": "Success", + "statusSubCode": "S001", + "statusSubDescription": "PaymentSuccessFul", + }, + ], + "payPush": + { + "consumerIssuer": "ABN AMRO", + "transactionId": "0000000000000001", + "consumerName": "J. de Vries", + "consumerIBAN": "NL44RABO0123456789", + "consumerBIC": "RABONL2U", + }, + }, + ], + "customer": + { + "birthname": "Jan", + "surname": "Vries", + "prefix": "de", + "emailAddress": "jandevries@outlook.com", + "dateOfBirth": "1970-01-01", + "addresses": + [ + { + "addressTypeId": 1, + "street": "Kon. Julianaplein", + "houseNumber": 10, + "houseNumberSuffix": "a", + "postalCode": "2595 AA", + "city": "Den Haag", + "country": "NL", + }, + ], + }, } v2: summary: Order fulfillment v2 @@ -469,98 +523,44 @@ paths: ], }, } - v2.2: - summary: Order fulfillment v2.2 - description: Order fulfillment v2.2 + v1: + summary: Order fulfillment v1 + description: Order fulfillment v1 value: { - "externalOrderId": "a0ef57fa-395c-4a03-96e9-234c26dccea9", - "languageId": 1, - "billingAddressId": 1, - "shippingAddressId": 1, - "createdOn": "2024-03-22T09:00:00", - "orderStatusId": 4, - "orderLines": - [ - { - "externalOrderLineId": "2ba39cae-c401-446b-ae5c-2d6d85b3df1f", - "productId": 1, - "quantity": 1, - "createdOn": "2024-03-22T09:00:00", - "validFrom": "2024-03-22T09:00:00", - "validUntil": null, - "orderLineStatusId": 4, - "tokens": - [ - { - "tokenTypeId": 1, - "ovPayTokenId": 1, - "serviceReferenceId": "NLOV1234567ABCDEFG", - "amount": 34, - "ovpasNumber": "OV34567", - "verificationCode": "A7H6", - "personalAccountData": - { - "name": "Jan de Vries", - "dateOfBirth": "01-01-1970", - "photoReference": "DSC_0502.JPG", - "fileType": "image/jpg", - "challengeTypeId": 1, - "oneTimePassword": "H5Iiz3JTaQeIV8p", - }, - }, - ], - }, - ], - "payments": - [ - { - "createdOn": "2024-03-22T09:00:00", - "amountDebit": 121, - "paymentMethodId": 1, - "isRefund": false, - "htmPaymentReference": "HTM-1234", - "pspPaymentReference": "Buckaroo-1234", - "paymentStatuses": - [ - { - "createdOn": "2024-03-22T09:00:00", - "statusCode": "190", - "statusDescription": "Success", - "statusSubCode": "S001", - "statusSubDescription": "PaymentSuccessFul", - }, - ], - "payPush": - { - "consumerIssuer": "ABN AMRO", - "transactionId": "0000000000000001", - "consumerName": "J. de Vries", - "consumerIBAN": "NL44RABO0123456789", - "consumerBIC": "RABONL2U", - }, - }, - ], - "customer": + "customerProfileID": 123415, + "customerProfileData": { "dateOfBirth": "09-03-1989" }, + "personalAccountData": { "birthdate": "09-03-1989" }, + "directDebitMandate": { - "birthname": "Jan", - "surname": "Vries", - "prefix": "de", - "emailAddress": "jandevries@outlook.com", - "dateOfBirth": "1970-01-01", - "addresses": - [ - { - "addressTypeId": 1, - "street": "Kon. Julianaplein", - "houseNumber": 10, - "houseNumberSuffix": "a", - "postalCode": "2595 AA", - "city": "Den Haag", - "country": "NL", - }, - ], + "consumerName": "J. de Tèster", + "consumerBic": "RABONL2U", + "consumerIban": "NL44RABO0123456789", }, + "orderContents": + [ + { + "ovPayTokenId": 123, + "serviceReferenceId": "NLOV1234567ABCDEFG", + "amount": 450, + "ovpasNumber": "63AW974", + "productId": 2, + "startDate": "2024-03-22T09:00:00Z", + "quantity": 1, + "orderlineId": "2d7fadc9-b64b-4516-9a7d-cf550f201372", + }, + { + "ovPayTokenId": 123, + "serviceReferenceId": "NLOV1234567ABCDEFG", + "amount": 450, + "ovpasNumber": "63AW974", + "productId": 3, + "startDate": "2024-03-16T09:00:00Z", + "quantity": 1, + "orderlineId": "9d7fadc9-b64b-4516-9a7d-cf550f201378", + }, + ], + "orderStatus": "succeededPayment", } responses: "201": @@ -954,6 +954,209 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: + v2.3: + summary: Order creation v2.3 + description: Order creation v2.3 + value: + { + "externalOrderId": null, + "languageId": 1, + "billingAddressId": 1, + "shippingAddressId": 1, + "createdOn": "2024-03-22T09:00:00", + "orderStatusId": 1, + "orderLines": + [ + { + "externalOrderLineId": null, + "productId": 1, + "quantity": 1, + "validFrom": "2024-03-22T09:00:00", + "validUntil": null, + "orderLineStatusId": 1, + "createdOn": "2024-03-22T09:00:00", + "customerTokens": + [ + { + "tokenTypeId": 1, + "ovPayTokenId": 1, + "serviceReferenceId": "NLOV1234567ABCDEFG", + "amount": 34, + "ovpasNumber": "OV34567", + "verificationCode": "A7H6", + "personalAccountData": + { + "name": "Jan de Vries", + "dateOfBirth": "01-01-1970", + "photoReference": "DSC_0502.JPG", + "fileType": "image/jpg", + "challengeTypeId": 1, + "oneTimePassword": "H5Iiz3JTaQeIV8p", + } + } + ] + } + ], + "payments": + [ + { + "createdOn": "2024-03-22T09:00:00", + "amountDebit": 121, + "paymentMethodId": 1, + "isRefund": false, + "htmPaymentReference": "HTM-1234", + "pspPaymentReference": "Buckaroo-1234", + "paymentStatuses": + [ + { + "createdOn": "2024-03-22T09:00:00", + "statusCode": "190", + "statusDescription": "Success", + "statusSubCode": "S001", + "statusSubDescription": "PaymentSuccessFul", + }, + ], + "mandateInput": + { + "directDebitMandateTypeId": 1, + "createdOn": "2024-03-22T09:00:00", + "bic": "RABONL2U", + "iban": "NL44RABO0123456789", + "ascription": "J. de Vries", + "place": "Den Haag", + }, + }, + ], + "orderCustomer": + { + "birthname": "Jan", + "surname": "Vries", + "prefix": "de", + "emailAddress": "jandevries@outlook.com", + "dateOfBirth": "1970-01-01", + "orderCustomerAddresses": + [ + { + "addressTypeId": 1, + "street": "Kon. Julianaplein", + "houseNumber": 10, + "houseNumberSuffix": "a", + "postalCode": "2595 AA", + "city": "Den Haag", + "country": "NL", + } + ] + } + } + v2.2: + summary: Order creation v2.2 + description: Order creation v2.2 + value: + { + "externalOrderId": null, + "languageId": 1, + "billingAddressId": 1, + "shippingAddressId": 1, + "createdOn": "2024-03-22T09:00:00", + "order_OrderStatus": + [ + { + "orderStatusId": 1, + "createdOn": "2024-03-22T09:00:00", + "description": "Concept order", + }, + ], + "orderLines": + [ + { + "externalOrderLineId": null, + "productId": 1, + "quantity": 1, + "validFrom": "2024-03-22T09:00:00", + "validUntil": "2025-03-22T09:00:00", + "orderLineStatusId": 4, + "createdOn": "2024-03-22T09:00:00", + "customerTokens": + [ + { + "tokenTypeId": 1, + "ovPayTokenId": 1, + "serviceReferenceId": "NLOV1234567ABCDEFG", + "amount": 34, + "ovpasNumber": "OV34567", + "verificationCode": "A7H6", + "personalAccountData": + { + "name": "Jan de Vries", + "dateOfBirth": "01-01-1970", + "photoReference": "DSC_0502.JPG", + "fileType": "image/jpg", + "challengeTypeId": 1, + "oneTimePassword": "H5Iiz3JTaQeIV8p", + }, + }, + ], + "orderAccountingStatuses": + [ + { + "accountingStatusId": 1, + "createdOn": "2024-03-22T09:00:00", + "description": "Financiele transactie voor de FIKO.", + }, + ], + }, + ], + "payments": + [ + { + "createdOn": "2024-03-22T09:00:00", + "amountDebit": 121, + "paymentMethodId": 1, + "isRefund": false, + "htmPaymentReference": "HTM-1234", + "pspPaymentReference": "Buckaroo-1234", + "paymentStatuses": + [ + { + "createdOn": "2024-03-22T09:00:00", + "statusCode": "190", + "statusDescription": "Success", + "statusSubCode": "S001", + "statusSubDescription": "PaymentSuccessFul", + }, + ], + "mandateInput": + { + "directDebitMandateTypeId": 1, + "createdOn": "2024-03-22T09:00:00", + "bic": "RABONL2U", + "iban": "NL44RABO0123456789", + "ascription": "J. de Vries", + "place": "Den Haag", + }, + }, + ], + "orderCustomer": + { + "birthname": "Jan", + "surname": "Vries", + "prefix": "de", + "emailAddress": "jandevries@outlook.com", + "dateOfBirth": "1970-01-01", + "orderCustomerAddresses": + [ + { + "addressTypeId": 1, + "street": "Kon. Julianaplein", + "houseNumber": 10, + "houseNumberSuffix": "a", + "postalCode": "2595 AA", + "city": "Den Haag", + "country": "NL", + }, + ], + }, + } v2: summary: Order creation v2.1 description: Order creation v2.1 @@ -1082,126 +1285,166 @@ paths: ], }, } - v2.2: - summary: Order creation v2.2 - description: Order creation v2.2 - value: - { - "externalOrderId": null, - "languageId": 1, - "billingAddressId": 1, - "shippingAddressId": 1, - "createdOn": "2024-03-22T09:00:00", - "order_OrderStatus": - [ - { - "orderStatusId": 1, - "createdOn": "2024-03-22T09:00:00", - "description": "Concept order", - }, - ], - "orderLines": - [ - { - "externalOrderLineId": null, - "productId": 1, - "quantity": 1, - "validFrom": "2024-03-22T09:00:00", - "validUntil": "2025-03-22T09:00:00", - "orderLineStatusId": 4, - "createdOn": "2024-03-22T09:00:00", - "customerTokens": - [ - { - "tokenTypeId": 1, - "ovPayTokenId": 1, - "serviceReferenceId": "NLOV1234567ABCDEFG", - "amount": 34, - "ovpasNumber": "OV34567", - "verificationCode": "A7H6", - "personalAccountData": - { - "name": "Jan de Vries", - "dateOfBirth": "01-01-1970", - "photoReference": "DSC_0502.JPG", - "fileType": "image/jpg", - "challengeTypeId": 1, - "oneTimePassword": "H5Iiz3JTaQeIV8p", - }, - }, - ], - "orderAccountingStatuses": - [ - { - "accountingStatusId": 1, - "createdOn": "2024-03-22T09:00:00", - "description": "Financiele transactie voor de FIKO.", - }, - ], - }, - ], - "payments": - [ - { - "createdOn": "2024-03-22T09:00:00", - "amountDebit": 121, - "paymentMethodId": 1, - "isRefund": false, - "htmPaymentReference": "HTM-1234", - "pspPaymentReference": "Buckaroo-1234", - "paymentStatuses": - [ - { - "createdOn": "2024-03-22T09:00:00", - "statusCode": "190", - "statusDescription": "Success", - "statusSubCode": "S001", - "statusSubDescription": "PaymentSuccessFul", - }, - ], - "mandateInput": - { - "directDebitMandateTypeId": 1, - "createdOn": "2024-03-22T09:00:00", - "bic": "RABONL2U", - "iban": "NL44RABO0123456789", - "ascription": "J. de Vries", - "place": "Den Haag", - }, - }, - ], - "orderCustomer": - { - "birthname": "Jan", - "surname": "Vries", - "prefix": "de", - "emailAddress": "jandevries@outlook.com", - "dateOfBirth": "1970-01-01", - "orderCustomerAddresses": - [ - { - "addressTypeId": 1, - "street": "Kon. Julianaplein", - "houseNumber": 10, - "houseNumberSuffix": "a", - "postalCode": "2595 AA", - "city": "Den Haag", - "country": "NL", - }, - ], - }, - } responses: "201": description: Created + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + examples: + v2.3: + value: + { + "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", + "externalOrderId": null, + "orderNumber": "ORD-123456", + "customerProfileId": 1337, + "totalAmount": 121, + "languageId": 1, + "billingAddressId": 1, + "shippingAddressId": 1, + "touchpointId": 3, + "createdOn": "2024-03-22T09:00:00", + "lastUpdatedOn": "2024-03-22T09:00:00", + "order_OrderStatus": + [ + { + "order_orderStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f", + "orderStatus": { "orderStatusId": 1, "name": "concept" }, + "createdOn": "2024-03-22T09:00:00", + "description": "Order is aangemaakt", + } + ], + "orderLines": + [ + { + "orderLineId": "cccada2c-d5ea-48ab-b4be-f590e16b5468", + "externalOrderLineId": null, + "productId": 1, + "productName": "HTM Maandkorting 20%", + "productCode": "HTM-MND-20", + "productDescription": "HTM Maandkorting 20%", + "taxAmount": 21, + "taxCode": "V21", + "amountExclTax": 100, + "amountInclTax": 121, + "quantity": 1, + "terms": + [ + "generalTermsAndConditions.pdf", + "productTermsAndConditions.pdf", + ], + "createdOn": "2024-03-22T09:00:00", + "validFrom": "2024-03-22T09:00:00", + "validUntil": null, + "orderLineStatus": + { "orderLineStatusId": 1, "name": "pending" }, + "tokens": + [ + { + "tokenTypeId": 1, + "ovPayTokenId": 1, + "serviceReferenceId": "NLOV1234567ABCDEFG", + "amount": 34, + "ovpasNumber": "OV34567", + "verificationCode": "A7H6", + "personalAccountData": + { + "name": "Jan de Vries", + "dateOfBirth": "01-01-1970", + "photoReference": "DSC_0502.JPG", + "fileType": "image/jpg", + "challengeTypeId": 1, + "oneTimePassword": "H5Iiz3JTaQeIV8p", + }, + }, + ], + }, + ], + "payments": + [ + { + "createdOn": "2024-03-22T09:00:00", + "amountDebit": 121, + "paymentMethodId": 1, + "touchPointId": 1, + "isRefund": false, + "htmPaymentReference": "HTM-1234", + "pspPaymentReference": "Buckaroo-1234", + "paymentStatuses": + [ + { + "createdOn": "2024-03-22T09:00:00", + "statusCode": "190", + "statusDescription": "Success", + "statusSubCode": "S001", + "statusSubDescription": "PaymentSuccessFul", + }, + ], + "payPush": + { + "consumerIssuer": "ABN AMRO", + "transactionId": "0000000000000001", + "consumerName": "J. de Vries", + "consumerIBAN": "NL44RABO0123456789", + "consumerBIC": "RABONL2U", + }, + }, + ], + "customer": + { + "birthname": "Jan", + "surname": "Vries", + "prefix": "de", + "emailAddress": "jandevries@outlook.com", + "dateOfBirth": "1970-01-01", + "addresses": + [ + { + "addressTypeId": 1, + "street": "Kon. Julianaplein", + "houseNumber": 10, + "houseNumberSuffix": "a", + "postalCode": "2595 AA", + "city": "Den Haag", + "country": "NL", + } + ] + } + } + v2.2: + value: + { + "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", + "orderNumber": "ORD-123456", + } + "400": + description: Bad request content: application/json: schema: $ref: "#/components/schemas/unavailable" example: - { - "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", - "orderNumber": "ORD-123456", + { + "type": "https://htm.nl/api/v1/probs/validationerror", + "title": "Your request is not valid.", + "detail": "The combination of tokens and/or products chosen is not valid. See errors for more details.", + "instance": "urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b", + "errors": [ + { + "detail": "Startdate of this product should be at most 60 days in the future.", + "pointer": "#/0/startDate", + "ovPayTokenId": 123, + "productId": 2 + }, + { + "detail": "Combination of product and token type is not valid.", + "pointer": "#/1/ovPayTokenId", + "ovPayTokenId": 123, + "productId": 3 + } + ] } /orders/{orderId}: parameters: @@ -1249,6 +1492,7 @@ paths: }, "billingAddressId": 1, "shippingAddressId": 1, + "touchpointId": 3, "createdOn": "2024-03-22T09:00:00", "lastUpdatedOn": "2024-03-22T09:00:00", "order_OrderStatus": @@ -1413,15 +1657,27 @@ paths: application/json: schema: $ref: "#/components/schemas/unavailable" - example: - { - "customerProfileId": 1337, - "totalAmount": 121, - "languageId": 1, - "billingAddressId": 1, - "shippingAddressId": 1, - "lastUpdatedOn": "2024-03-22T09:00:00", - } + examples: + v2.3: + summary: Order update v2.3 + description: Order update v2.3 + value: { + "languageId": 1, + "billingAddressId": 2, + "shippingAddressId": 1, + "lastUpdatedOn": "2024-03-22T09:00:00", + } + v2.2: + summary: Order update v2.2 + description: Order update v2.2 + value: { + "customerProfileId": 1337, + "totalAmount": 121, + "languageId": 1, + "billingAddressId": 1, + "shippingAddressId": 1, + "lastUpdatedOn": "2024-03-22T09:00:00", + } responses: "200": description: OK @@ -1429,11 +1685,133 @@ paths: application/json: schema: $ref: "#/components/schemas/unavailable" - example: - { - "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", - "orderNumber": "ORD-123456", - } + examples: + v2.3: + value: + { + "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", + "externalOrderId": null, + "orderNumber": "ORD-123456", + "customerProfileId": 1337, + "totalAmount": 121, + "languageId": 1, + "billingAddressId": 2, + "shippingAddressId": 1, + "touchpointId": 3, + "createdOn": "2024-03-22T09:00:00", + "lastUpdatedOn": "2024-03-22T09:00:00", + "order_OrderStatus": + [ + { + "order_orderStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f", + "orderStatus": { "orderStatusId": 1, "name": "concept" }, + "createdOn": "2024-03-22T09:00:00", + "description": "Order is aangemaakt", + } + ], + "orderLines": + [ + { + "orderLineId": "cccada2c-d5ea-48ab-b4be-f590e16b5468", + "externalOrderLineId": null, + "productId": 1, + "productName": "HTM Maandkorting 20%", + "productCode": "HTM-MND-20", + "productDescription": "HTM Maandkorting 20%", + "taxAmount": 21, + "taxCode": "V21", + "amountExclTax": 100, + "amountInclTax": 121, + "quantity": 1, + "terms": + [ + "generalTermsAndConditions.pdf", + "productTermsAndConditions.pdf", + ], + "createdOn": "2024-03-22T09:00:00", + "validFrom": "2024-03-22T09:00:00", + "validUntil": null, + "orderLineStatus": + { "orderLineStatusId": 1, "name": "pending" }, + "tokens": + [ + { + "tokenTypeId": 1, + "ovPayTokenId": 1, + "serviceReferenceId": "NLOV1234567ABCDEFG", + "amount": 34, + "ovpasNumber": "OV34567", + "verificationCode": "A7H6", + "personalAccountData": + { + "name": "Jan de Vries", + "dateOfBirth": "01-01-1970", + "photoReference": "DSC_0502.JPG", + "fileType": "image/jpg", + "challengeTypeId": 1, + "oneTimePassword": "H5Iiz3JTaQeIV8p", + }, + }, + ], + }, + ], + "payments": + [ + { + "createdOn": "2024-03-22T09:00:00", + "amountDebit": 121, + "paymentMethodId": 1, + "touchPointId": 1, + "isRefund": false, + "htmPaymentReference": "HTM-1234", + "pspPaymentReference": "Buckaroo-1234", + "paymentStatuses": + [ + { + "createdOn": "2024-03-22T09:00:00", + "statusCode": "190", + "statusDescription": "Success", + "statusSubCode": "S001", + "statusSubDescription": "PaymentSuccessFul", + }, + ], + "payPush": + { + "consumerIssuer": "ABN AMRO", + "transactionId": "0000000000000001", + "consumerName": "J. de Vries", + "consumerIBAN": "NL44RABO0123456789", + "consumerBIC": "RABONL2U", + }, + }, + ], + "customer": + { + "birthname": "Jan", + "surname": "Vries", + "prefix": "de", + "emailAddress": "jandevries@outlook.com", + "dateOfBirth": "1970-01-01", + "addresses": + [ + { + "addressTypeId": 1, + "street": "Kon. Julianaplein", + "houseNumber": 10, + "houseNumberSuffix": "a", + "postalCode": "2595 AA", + "city": "Den Haag", + "country": "NL", + } + ] + } + } + v2.2: + value: + { + "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", + "orderNumber": "ORD-123456", + } delete: tags: - Order Creation v2.1 @@ -1469,53 +1847,82 @@ paths: application/json: schema: $ref: "#/components/schemas/unavailable" - example: - { - "externalOrderLineId": null, - "productId": 1, - "productName": "HTM Maandkorting 20%", - "productCode": "HTM-MND-20", - "productDescription": "HTM Maandkorting 20%", - "taxAmount": 21, - "taxMetadataId": "1d6f1725-1072-4f08-982c-3df51dd854a1", - "amountExclTax": 100, - "amountInclTax": 121, - "quantity": 1, - "orderLineTerms": - [{ "termsUrl": "generalTermsAndConditions.pdf" }], - "validFrom": "2024-03-22T09:00:00", - "validUntil": "2025-03-22T09:00:00", - "orderLineStatusId": 4, - "createdOn": "2024-03-22T09:00:00", - "customerTokens": - [ - { - "tokenTypeId": 1, - "ovPayTokenId": 1, - "serviceReferenceId": "NLOV1234567ABCDEFG", - "amount": 34, - "ovpasNumber": "OV34567", - "verificationCode": "A7H6", - "personalAccountData": + examples: + v2.3: + summary: Create orderLine v2.3 + description: Create orderLine v2.3 + value: + { + "externalOrderLineId": null, + "productId": 2, + "quantity": 1, + "validFrom": "2024-03-22T09:00:00", + "validUntil": null, + "orderLineStatusId": 1, + "createdOn": "2024-03-22T09:00:00", + "customerTokens": + [ { - "name": "Jan de Vries", - "dateOfBirth": "01-01-1970", - "photoReference": "DSC_0502.JPG", - "fileType": "image/jpg", - "challengeTypeId": 1, - "oneTimePassword": "H5Iiz3JTaQeIV8p", + "tokenTypeId": 1, + "ovPayTokenId": 4, + "serviceReferenceId": null, + "amount": null , + "ovpasNumber": null , + "verificationCode": null , + "personalAccountData": null }, - }, - ], - "orderAccountingStatuses": - [ - { - "accountingStatusId": 1, - "createdOn": "2024-03-22T09:00:00", - "description": "Financiele transactie voor de FIKO.", - }, - ], - } + ] + } + v2.2: + summary: Create orderLine v2.2 + description: Create orderLine v2.2 + value: + { + "externalOrderLineId": null, + "productId": 1, + "productName": "HTM Maandkorting 20%", + "productCode": "HTM-MND-20", + "productDescription": "HTM Maandkorting 20%", + "taxAmount": 21, + "taxMetadataId": "1d6f1725-1072-4f08-982c-3df51dd854a1", + "amountExclTax": 100, + "amountInclTax": 121, + "quantity": 1, + "orderLineTerms": + [{ "termsUrl": "generalTermsAndConditions.pdf" }], + "validFrom": "2024-03-22T09:00:00", + "validUntil": "2025-03-22T09:00:00", + "orderLineStatusId": 4, + "createdOn": "2024-03-22T09:00:00", + "customerTokens": + [ + { + "tokenTypeId": 1, + "ovPayTokenId": 1, + "serviceReferenceId": "NLOV1234567ABCDEFG", + "amount": 34, + "ovpasNumber": "OV34567", + "verificationCode": "A7H6", + "personalAccountData": + { + "name": "Jan de Vries", + "dateOfBirth": "01-01-1970", + "photoReference": "DSC_0502.JPG", + "fileType": "image/jpg", + "challengeTypeId": 1, + "oneTimePassword": "H5Iiz3JTaQeIV8p", + }, + }, + ], + "orderAccountingStatuses": + [ + { + "accountingStatusId": 1, + "createdOn": "2024-03-22T09:00:00", + "description": "Financiele transactie voor de FIKO.", + }, + ], + } responses: "200": description: OK @@ -1523,7 +1930,164 @@ paths: application/json: schema: $ref: "#/components/schemas/unavailable" - example: { "orderLineId": "e78b78d9-4fb0-4a9c-8dc0-6d100c9f1b3f" } + examples: + v2.3: + value: + { + "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", + "externalOrderId": null, + "orderNumber": "ORD-123456", + "customerProfileId": 1337, + "totalAmount": 121, + "languageId": 1, + "billingAddressId": 2, + "shippingAddressId": 1, + "touchpointId": 3, + "createdOn": "2024-03-22T09:00:00", + "lastUpdatedOn": "2024-03-22T09:00:00", + "order_OrderStatus": + [ + { + "order_orderStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f", + "orderStatus": { "orderStatusId": 1, "name": "concept" }, + "createdOn": "2024-03-22T09:00:00", + "description": "Order is aangemaakt", + } + ], + "orderLines": + [ + { + "orderLineId": "cccada2c-d5ea-48ab-b4be-f590e16b5468", + "externalOrderLineId": null, + "productId": 1, + "productName": "HTM Maandkorting 20%", + "productCode": "HTM-MND-20", + "productDescription": "HTM Maandkorting 20%", + "taxAmount": 21, + "taxCode": "V21", + "amountExclTax": 100, + "amountInclTax": 121, + "quantity": 1, + "terms": + [ + "generalTermsAndConditions.pdf", + "productTermsAndConditions.pdf", + ], + "createdOn": "2024-03-22T09:00:00", + "validFrom": "2024-03-22T09:00:00", + "validUntil": null, + "orderLineStatus": + { "orderLineStatusId": 1, "name": "pending" }, + "tokens": + [ + { + "tokenTypeId": 1, + "ovPayTokenId": 1, + "serviceReferenceId": "NLOV1234567ABCDEFG", + "amount": 34, + "ovpasNumber": "OV34567", + "verificationCode": "A7H6", + "personalAccountData": + { + "name": "Jan de Vries", + "dateOfBirth": "01-01-1970", + "photoReference": "DSC_0502.JPG", + "fileType": "image/jpg", + "challengeTypeId": 1, + "oneTimePassword": "H5Iiz3JTaQeIV8p", + }, + }, + ], + }, + { + "orderLineId": "2cb04b38-e9a8-465a-a273-261c55a21b71", + "externalOrderLineId": null, + "productId": 2, + "productName": "HTM Maandkorting 40%", + "productCode": "HTM-MND-40", + "productDescription": "HTM Maandkorting 40%", + "taxAmount": 42, + "taxCode": "V21", + "amountExclTax": 200, + "amountInclTax": 242, + "quantity": 1, + "terms": + [ + "generalTermsAndConditions.pdf", + "productTermsAndConditions.pdf", + ], + "createdOn": "2024-03-22T09:00:00", + "validFrom": "2024-03-22T09:00:00", + "validUntil": null, + "orderLineStatus": + { "orderLineStatusId": 1, "name": "pending" }, + "tokens": + [ + { + "tokenTypeId": 1, + "ovPayTokenId": 4, + "serviceReferenceId": null, + "amount": null , + "ovpasNumber": null , + "verificationCode": null , + "personalAccountData": null + } + ] + } + ], + "payments": + [ + { + "createdOn": "2024-03-22T09:00:00", + "amountDebit": 121, + "paymentMethodId": 1, + "touchPointId": 1, + "isRefund": false, + "htmPaymentReference": "HTM-1234", + "pspPaymentReference": "Buckaroo-1234", + "paymentStatuses": + [ + { + "createdOn": "2024-03-22T09:00:00", + "statusCode": "190", + "statusDescription": "Success", + "statusSubCode": "S001", + "statusSubDescription": "PaymentSuccessFul", + }, + ], + "payPush": + { + "consumerIssuer": "ABN AMRO", + "transactionId": "0000000000000001", + "consumerName": "J. de Vries", + "consumerIBAN": "NL44RABO0123456789", + "consumerBIC": "RABONL2U", + }, + }, + ], + "customer": + { + "birthname": "Jan", + "surname": "Vries", + "prefix": "de", + "emailAddress": "jandevries@outlook.com", + "dateOfBirth": "1970-01-01", + "addresses": + [ + { + "addressTypeId": 1, + "street": "Kon. Julianaplein", + "houseNumber": 10, + "houseNumberSuffix": "a", + "postalCode": "2595 AA", + "city": "Den Haag", + "country": "NL", + } + ] + } + } + v2.2: + value: { "orderLineId": "e78b78d9-4fb0-4a9c-8dc0-6d100c9f1b3f" } /orderlines/{orderLineId}: parameters: - in: path @@ -1551,17 +2115,30 @@ paths: application/json: schema: $ref: "#/components/schemas/unavailable" - example: - { - "taxAmount": 21, - "taxMetadataId": "0574440e-7fa0-401f-b907-539c91633a5d", - "amountExclTax": 100, - "amountInclTax": 121, - "quantity": 1, - "validFrom": "2024-03-22T09:00:00", - "validUntil": "2025-03-22T09:00:00", - "orderLineStatusId": 4, - } + examples: + v2.3: + summary: Order creation v2.3 + description: Order creation v2.3 + value: + { + "quantity": 1, + "validFrom": "2024-03-25T09:00:00", + "validUntil": null + } + v2.2: + summary: Order creation v2.2 + description: Order creation v2.2 + value: + { + "taxAmount": 21, + "taxMetadataId": "0574440e-7fa0-401f-b907-539c91633a5d", + "amountExclTax": 100, + "amountInclTax": 121, + "quantity": 1, + "validFrom": "2024-03-22T09:00:00", + "validUntil": "2025-03-22T09:00:00", + "orderLineStatusId": 4, + } responses: "200": description: OK @@ -1569,7 +2146,130 @@ paths: application/json: schema: $ref: "#/components/schemas/unavailable" - example: { "orderLineId": "e78b78d9-4fb0-4a9c-8dc0-6d100c9f1b3f" } + examples: + v2.3: + value: + { + "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", + "externalOrderId": null, + "orderNumber": "ORD-123456", + "customerProfileId": 1337, + "totalAmount": 121, + "languageId": 1, + "billingAddressId": 1, + "shippingAddressId": 1, + "touchpointId": 3, + "createdOn": "2024-03-22T09:00:00", + "lastUpdatedOn": "2024-03-22T09:00:00", + "order_OrderStatus": + [ + { + "order_orderStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f", + "orderStatus": { "orderStatusId": 1, "name": "concept" }, + "createdOn": "2024-03-22T09:00:00", + "description": "Order is aangemaakt", + } + ], + "orderLines": + [ + { + "orderLineId": "cccada2c-d5ea-48ab-b4be-f590e16b5468", + "externalOrderLineId": null, + "productId": 1, + "productName": "HTM Maandkorting 20%", + "productCode": "HTM-MND-20", + "productDescription": "HTM Maandkorting 20%", + "taxAmount": 21, + "taxCode": "V21", + "amountExclTax": 100, + "amountInclTax": 121, + "quantity": 1, + "terms": + [ + "generalTermsAndConditions.pdf", + "productTermsAndConditions.pdf", + ], + "createdOn": "2024-03-22T09:00:00", + "validFrom": "2024-03-25T09:00:00", + "validUntil": null, + "orderLineStatus": + { "orderLineStatusId": 1, "name": "pending" }, + "tokens": + [ + { + "tokenTypeId": 1, + "ovPayTokenId": 1, + "serviceReferenceId": "NLOV1234567ABCDEFG", + "amount": 34, + "ovpasNumber": "OV34567", + "verificationCode": "A7H6", + "personalAccountData": + { + "name": "Jan de Vries", + "dateOfBirth": "01-01-1970", + "photoReference": "DSC_0502.JPG", + "fileType": "image/jpg", + "challengeTypeId": 1, + "oneTimePassword": "H5Iiz3JTaQeIV8p", + } + } + ] + }, + ], + "payments": + [ + { + "createdOn": "2024-03-22T09:00:00", + "amountDebit": 121, + "paymentMethodId": 1, + "touchPointId": 1, + "isRefund": false, + "htmPaymentReference": "HTM-1234", + "pspPaymentReference": "Buckaroo-1234", + "paymentStatuses": + [ + { + "createdOn": "2024-03-22T09:00:00", + "statusCode": "190", + "statusDescription": "Success", + "statusSubCode": "S001", + "statusSubDescription": "PaymentSuccessFul", + }, + ], + "payPush": + { + "consumerIssuer": "ABN AMRO", + "transactionId": "0000000000000001", + "consumerName": "J. de Vries", + "consumerIBAN": "NL44RABO0123456789", + "consumerBIC": "RABONL2U", + }, + }, + ], + "customer": + { + "birthname": "Jan", + "surname": "Vries", + "prefix": "de", + "emailAddress": "jandevries@outlook.com", + "dateOfBirth": "1970-01-01", + "addresses": + [ + { + "addressTypeId": 1, + "street": "Kon. Julianaplein", + "houseNumber": 10, + "houseNumberSuffix": "a", + "postalCode": "2595 AA", + "city": "Den Haag", + "country": "NL", + } + ] + } + } + v2.2: + value: + { "orderLineId": "e78b78d9-4fb0-4a9c-8dc0-6d100c9f1b3f" } delete: tags: - Order Creation v2.1 @@ -1578,6 +2278,27 @@ paths: responses: "200": description: OK + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "type": "https://htm.nl/api/v1/probs/validationerror", + "title": "Your request is not valid.", + "detail": "The combination of tokens and/or products chosen is not valid. See errors for more details.", + "instance": "urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b", + "errors": [ + { + "detail": "Product requires product with productId=2", + "pointer": "#/1/orderLine", + "orderLineId": "0574440e-7fa0-401f-b907-539c91633a5d", + "productId": 3 + } + ] + } /orders/{orderId}/payments: parameters: - in: path From 76c5fd1804c613ea4df840de923ddbb9183e8c42 Mon Sep 17 00:00:00 2001 From: Mirjam Herald Date: Mon, 24 Feb 2025 13:59:28 +0100 Subject: [PATCH 20/37] v3.0 orders --- src/openapi/orders/service_engine_orders.yaml | 1205 +++++++++++++++-- 1 file changed, 1110 insertions(+), 95 deletions(-) diff --git a/src/openapi/orders/service_engine_orders.yaml b/src/openapi/orders/service_engine_orders.yaml index 0c8ce0a..fc587a2 100644 --- a/src/openapi/orders/service_engine_orders.yaml +++ b/src/openapi/orders/service_engine_orders.yaml @@ -685,6 +685,33 @@ paths: ], }, } + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "type": "https://htm.nl/api/v1/probs/validationerror", + "title": "Your request is not valid.", + "detail": "The combination of tokens and/or products chosen is not valid. See errors for more details.", + "instance": "urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b", + "errors": [ + { + "detail": "Startdate of this product should be at most 60 days in the future.", + "pointer": "#/0/startDate", + "ovPayTokenId": 123, + "productId": 2 + }, + { + "detail": "Combination of product and token type is not valid.", + "pointer": "#/1/ovPayTokenId", + "ovPayTokenId": 123, + "productId": 3 + } + ] + } /customers/{customerProfileId}/orders: parameters: - in: path @@ -945,25 +972,24 @@ paths: } post: tags: - - Order Creation v2.1 - summary: Create a new order. - description: Create a new order. + - Order Creation v3.0 + summary: Create a new order v3.0. + description: Create a new order v3.0. requestBody: content: application/json: schema: $ref: "#/components/schemas/unavailable" examples: - v2.3: - summary: Order creation v2.3 - description: Order creation v2.3 + v3.0: + summary: Order creation v3.0 + description: Order creation v3.0 value: { "externalOrderId": null, "languageId": 1, "billingAddressId": 1, "shippingAddressId": 1, - "createdOn": "2024-03-22T09:00:00", "orderStatusId": 1, "orderLines": [ @@ -974,7 +1000,6 @@ paths: "validFrom": "2024-03-22T09:00:00", "validUntil": null, "orderLineStatusId": 1, - "createdOn": "2024-03-22T09:00:00", "customerTokens": [ { @@ -1293,7 +1318,7 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v2.3: + v3.0: value: { "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", @@ -1649,7 +1674,7 @@ paths: } patch: tags: - - Order Creation v2.1 + - Order Creation v3.0 summary: Update an existing order. description: Update an existing order. requestBody: @@ -1658,9 +1683,9 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v2.3: - summary: Order update v2.3 - description: Order update v2.3 + v3.0: + summary: Order update v3.0 + description: Order update v3.0 value: { "languageId": 1, "billingAddressId": 2, @@ -1686,7 +1711,7 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v2.3: + v3.0: value: { "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", @@ -1812,9 +1837,36 @@ paths: "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", "orderNumber": "ORD-123456", } + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "type": "https://htm.nl/api/v1/probs/validationerror", + "title": "Your request is not valid.", + "detail": "The combination of tokens and/or products chosen is not valid. See errors for more details.", + "instance": "urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b", + "errors": [ + { + "detail": "Startdate of this product should be at most 60 days in the future.", + "pointer": "#/0/startDate", + "ovPayTokenId": 123, + "productId": 2 + }, + { + "detail": "Combination of product and token type is not valid.", + "pointer": "#/1/ovPayTokenId", + "ovPayTokenId": 123, + "productId": 3 + } + ] + } delete: tags: - - Order Creation v2.1 + - Order Creation v3.0 summary: Delete an existing order. description: Delete an existing order. responses: @@ -1839,7 +1891,7 @@ paths: description: The JWT of the logged in customer (in case of a web shop). post: tags: - - Order Creation v2.1 + - Order Creation v3.0 summary: Add a new order line to an existing order. description: Add a new order line to an existing order. requestBody: @@ -1848,9 +1900,9 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v2.3: - summary: Create orderLine v2.3 - description: Create orderLine v2.3 + v3.0: + summary: Create orderLine v3.0 + description: Create orderLine v3.0 value: { "externalOrderLineId": null, @@ -1931,7 +1983,7 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v2.3: + v3.0: value: { "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", @@ -2088,6 +2140,33 @@ paths: } v2.2: value: { "orderLineId": "e78b78d9-4fb0-4a9c-8dc0-6d100c9f1b3f" } + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "type": "https://htm.nl/api/v1/probs/validationerror", + "title": "Your request is not valid.", + "detail": "The combination of tokens and/or products chosen is not valid. See errors for more details.", + "instance": "urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b", + "errors": [ + { + "detail": "Startdate of this product should be at most 60 days in the future.", + "pointer": "#/0/startDate", + "ovPayTokenId": 123, + "productId": 2 + }, + { + "detail": "Combination of product and token type is not valid.", + "pointer": "#/1/ovPayTokenId", + "ovPayTokenId": 123, + "productId": 3 + } + ] + } /orderlines/{orderLineId}: parameters: - in: path @@ -2107,7 +2186,7 @@ paths: description: The JWT of the logged in customer (in case of a web shop). patch: tags: - - Order Creation v2.1 + - Order Creation v3.0 summary: Update an existing order line. description: Update an existing order line. requestBody: @@ -2116,9 +2195,9 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v2.3: - summary: Order creation v2.3 - description: Order creation v2.3 + v3.0: + summary: Order creation v3.0 + description: Order creation v3.0 value: { "quantity": 1, @@ -2147,7 +2226,7 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v2.3: + v3.0: value: { "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", @@ -2270,14 +2349,86 @@ paths: v2.2: value: { "orderLineId": "e78b78d9-4fb0-4a9c-8dc0-6d100c9f1b3f" } + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "type": "https://htm.nl/api/v1/probs/validationerror", + "title": "Your request is not valid.", + "detail": "The start date of the product is not allowed. See errors for more details.", + "instance": "urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b", + "errors": [ + { + "detail": "Startdate of this product should be at most 60 days in the future.", + "pointer": "#/0/startDate", + "ovPayTokenId": 123, + "productId": 2 + } + ] + } delete: tags: - - Order Creation v2.1 + - Order Creation v3.0 summary: Delete an existing order line. description: Delete an existing order line. responses: "200": description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + v3.0: + value: + { + "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", + "externalOrderId": null, + "orderNumber": "ORD-123456", + "customerProfileId": 1337, + "totalAmount": 0, + "languageId": 1, + "billingAddressId": 2, + "shippingAddressId": 1, + "touchpointId": 3, + "createdOn": "2024-03-22T09:00:00", + "lastUpdatedOn": "2024-03-22T09:00:00", + "order_OrderStatus": + [ + { + "order_orderStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f", + "orderStatus": { "orderStatusId": 1, "name": "concept" }, + "createdOn": "2024-03-22T09:00:00", + "description": "Order is aangemaakt", + } + ], + "orderLines": null, + "payments": null, + "customer": + { + "birthname": "Jan", + "surname": "Vries", + "prefix": "de", + "emailAddress": "jandevries@outlook.com", + "dateOfBirth": "1970-01-01", + "addresses": + [ + { + "addressTypeId": 1, + "street": "Kon. Julianaplein", + "houseNumber": 10, + "houseNumberSuffix": "a", + "postalCode": "2595 AA", + "city": "Den Haag", + "country": "NL", + } + ] + } + } "400": description: Bad request content: @@ -2318,7 +2469,7 @@ paths: description: The JWT of the logged in customer (in case of a web shop). post: tags: - - Order Creation v2.1 + - Order Creation v3.0 summary: Add a payment to an existing order. description: Add a payment to an existing order. requestBody: @@ -2326,35 +2477,70 @@ paths: application/json: schema: $ref: "#/components/schemas/unavailable" - example: - { - "createdOn": "2024-03-22T09:00:00", - "amountDebit": 121, - "paymentMethodId": 1, - "touchPointId": 1, - "isRefund": false, - "htmPaymentReference": "HTM-1234", - "pspPaymentReference": "Buckaroo-1234", - "paymentStatuses": - [ - { - "createdOn": "2024-03-22T09:00:00", - "statusCode": "190", - "statusDescription": "Success", - "statusSubCode": "S001", - "statusSubDescription": "PaymentSuccessFul", - }, - ], - "mandateInput": + examples: + v3.0: + summary: Order creation v3.0 + description: Order creation v3.0 + value: { - "directDebitMandateTypeId": 1, "createdOn": "2024-03-22T09:00:00", - "bic": "RABONL2U", - "iban": "NL44RABO0123456789", - "ascription": "J. de Vries", - "place": "Den Haag", - }, - } + "amountDebit": 121, + "paymentMethodId": 1, + "isRefund": false, + "htmPaymentReference": "HTM-1234", + "pspPaymentReference": "Buckaroo-1234", + "paymentStatuses": + [ + { + "createdOn": "2024-03-22T09:00:00", + "statusCode": "190", + "statusDescription": "Success", + "statusSubCode": "S001", + "statusSubDescription": "PaymentSuccessFul", + }, + ], + "mandateInput": + { + "directDebitMandateTypeId": 1, + "createdOn": "2024-03-22T09:00:00", + "bic": "RABONL2U", + "iban": "NL44RABO0123456789", + "ascription": "J. de Vries", + "place": "Den Haag", + }, + } + v2.2: + summary: Order creation v2.2 + description: Order creation v2.2 + value: + { + "createdOn": "2024-03-22T09:00:00", + "amountDebit": 121, + "paymentMethodId": 1, + "touchpointId": 1, + "isRefund": false, + "htmPaymentReference": "HTM-1234", + "pspPaymentReference": "Buckaroo-1234", + "paymentStatuses": + [ + { + "createdOn": "2024-03-22T09:00:00", + "statusCode": "190", + "statusDescription": "Success", + "statusSubCode": "S001", + "statusSubDescription": "PaymentSuccessFul", + }, + ], + "mandateInput": + { + "directDebitMandateTypeId": 1, + "createdOn": "2024-03-22T09:00:00", + "bic": "RABONL2U", + "iban": "NL44RABO0123456789", + "ascription": "J. de Vries", + "place": "Den Haag", + }, + } responses: "201": description: Created @@ -2362,7 +2548,165 @@ paths: application/json: schema: $ref: "#/components/schemas/unavailable" - example: { "paymentId": "94270188-4cf6-447e-bd49-e8186bcec073" } + examples: + v3.0: + value: + { + "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", + "externalOrderId": null, + "orderNumber": "ORD-123456", + "customerProfileId": 1337, + "totalAmount": 121, + "languageId": 1, + "billingAddressId": 2, + "shippingAddressId": 1, + "touchpointId": 3, + "createdOn": "2024-03-22T09:00:00", + "lastUpdatedOn": "2024-03-22T09:00:00", + "order_OrderStatus": + [ + { + "order_orderStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f", + "orderStatus": { "orderStatusId": 1, "name": "concept" }, + "createdOn": "2024-03-22T09:00:00", + "description": "Order is aangemaakt", + } + ], + "orderLines": + [ + { + "orderLineId": "cccada2c-d5ea-48ab-b4be-f590e16b5468", + "externalOrderLineId": null, + "productId": 1, + "productName": "HTM Maandkorting 20%", + "productCode": "HTM-MND-20", + "productDescription": "HTM Maandkorting 20%", + "taxAmount": 21, + "taxCode": "V21", + "amountExclTax": 100, + "amountInclTax": 121, + "quantity": 1, + "terms": + [ + "generalTermsAndConditions.pdf", + "productTermsAndConditions.pdf", + ], + "createdOn": "2024-03-22T09:00:00", + "validFrom": "2024-03-22T09:00:00", + "validUntil": null, + "orderLineStatus": + { "orderLineStatusId": 1, "name": "pending" }, + "tokens": + [ + { + "tokenTypeId": 1, + "ovPayTokenId": 1, + "serviceReferenceId": "NLOV1234567ABCDEFG", + "amount": 34, + "ovpasNumber": "OV34567", + "verificationCode": "A7H6", + "personalAccountData": + { + "name": "Jan de Vries", + "dateOfBirth": "01-01-1970", + "photoReference": "DSC_0502.JPG", + "fileType": "image/jpg", + "challengeTypeId": 1, + "oneTimePassword": "H5Iiz3JTaQeIV8p", + }, + }, + ], + }, + { + "orderLineId": "2cb04b38-e9a8-465a-a273-261c55a21b71", + "externalOrderLineId": null, + "productId": 2, + "productName": "HTM Maandkorting 40%", + "productCode": "HTM-MND-40", + "productDescription": "HTM Maandkorting 40%", + "taxAmount": 42, + "taxCode": "V21", + "amountExclTax": 200, + "amountInclTax": 242, + "quantity": 1, + "terms": + [ + "generalTermsAndConditions.pdf", + "productTermsAndConditions.pdf", + ], + "createdOn": "2024-03-22T09:00:00", + "validFrom": "2024-03-22T09:00:00", + "validUntil": null, + "orderLineStatus": + { "orderLineStatusId": 1, "name": "pending" }, + "tokens": + [ + { + "tokenTypeId": 1, + "ovPayTokenId": 4, + "serviceReferenceId": null, + "amount": null , + "ovpasNumber": null , + "verificationCode": null , + "personalAccountData": null + } + ] + } + ], + "payments": + [ + { + "createdOn": "2024-03-22T09:00:00", + "amountDebit": 121, + "paymentMethodId": 1, + "touchPointId": 1, + "isRefund": false, + "htmPaymentReference": "HTM-1234", + "pspPaymentReference": "Buckaroo-1234", + "paymentStatuses": + [ + { + "createdOn": "2024-03-22T09:00:00", + "statusCode": "190", + "statusDescription": "Success", + "statusSubCode": "S001", + "statusSubDescription": "PaymentSuccessFul", + }, + ], + "payPush": + { + "consumerIssuer": "ABN AMRO", + "transactionId": "0000000000000001", + "consumerName": "J. de Vries", + "consumerIBAN": "NL44RABO0123456789", + "consumerBIC": "RABONL2U", + }, + }, + ], + "customer": + { + "birthname": "Jan", + "surname": "Vries", + "prefix": "de", + "emailAddress": "jandevries@outlook.com", + "dateOfBirth": "1970-01-01", + "addresses": + [ + { + "addressTypeId": 1, + "street": "Kon. Julianaplein", + "houseNumber": 10, + "houseNumberSuffix": "a", + "postalCode": "2595 AA", + "city": "Den Haag", + "country": "NL", + } + ] + } + } + v2.2: + value: + { "paymentId": "94270188-4cf6-447e-bd49-e8186bcec073" } /payments/{paymentId}: parameters: - in: path @@ -2382,7 +2726,7 @@ paths: description: The JWT of the logged in customer (in case of a web shop). patch: tags: - - Order Creation v2.1 + - Order Creation v3.0 summary: Update a payment on an existing order. description: Update a payment on an existing order. requestBody: @@ -2390,11 +2734,42 @@ paths: application/json: schema: $ref: "#/components/schemas/unavailable" - example: - { - "htmPaymentReference": "HTM-1234", - "pspPaymentReference": "Buckaroo-1234", - } + examples: + v3.0: + summary: Order payment update v3.0 + description: Order payment update v3.0 + value: + { + "htmPaymentReference": "HTM-1234", + "pspPaymentReference": "Buckaroo-1234", + "paymentStatuses": + [ + { + "createdOn": "2024-03-22T09:00:00", + "statusCode": "190", + "statusDescription": "Success", + "statusSubCode": "S001", + "statusSubDescription": "PaymentSuccessFul", + }, + ], + "mandateInput": + { + "directDebitMandateTypeId": 1, + "createdOn": "2024-03-22T09:00:00", + "bic": "RABONL2U", + "iban": "NL44RABO0123456789", + "ascription": "J. de Vries", + "place": "Den Haag", + } + } + v2.2: + summary: Order payment update v2.2 + description: Order payment update v2.2 + value: + { + "htmPaymentReference": "HTM-1234", + "pspPaymentReference": "Buckaroo-1234", + } responses: "200": description: OK @@ -2402,7 +2777,137 @@ paths: application/json: schema: $ref: "#/components/schemas/unavailable" - example: { "paymentId": "94270188-4cf6-447e-bd49-e8186bcec073" } + examples: + v3.0: + value: + { + "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", + "externalOrderId": null, + "orderNumber": "ORD-123456", + "customerProfileId": 1337, + "totalAmount": 121, + "languageId": 1, + "billingAddressId": 2, + "shippingAddressId": 1, + "touchpointId": 3, + "createdOn": "2024-03-22T09:00:00", + "lastUpdatedOn": "2024-03-22T09:00:00", + "order_OrderStatus": + [ + { + "order_orderStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f", + "orderStatus": { "orderStatusId": 1, "name": "concept" }, + "createdOn": "2024-03-22T09:00:00", + "description": "Order is aangemaakt", + } + ], + "orderLines": + [ + { + "orderLineId": "cccada2c-d5ea-48ab-b4be-f590e16b5468", + "externalOrderLineId": null, + "productId": 1, + "productName": "HTM Maandkorting 20%", + "productCode": "HTM-MND-20", + "productDescription": "HTM Maandkorting 20%", + "taxAmount": 21, + "taxCode": "V21", + "amountExclTax": 100, + "amountInclTax": 121, + "quantity": 1, + "terms": + [ + "generalTermsAndConditions.pdf", + "productTermsAndConditions.pdf", + ], + "createdOn": "2024-03-22T09:00:00", + "validFrom": "2024-03-22T09:00:00", + "validUntil": null, + "orderLineStatus": + { "orderLineStatusId": 1, "name": "pending" }, + "tokens": + [ + { + "tokenTypeId": 1, + "ovPayTokenId": 1, + "serviceReferenceId": "NLOV1234567ABCDEFG", + "amount": 34, + "ovpasNumber": "OV34567", + "verificationCode": "A7H6", + "personalAccountData": + { + "name": "Jan de Vries", + "dateOfBirth": "01-01-1970", + "photoReference": "DSC_0502.JPG", + "fileType": "image/jpg", + "challengeTypeId": 1, + "oneTimePassword": "H5Iiz3JTaQeIV8p", + }, + }, + ], + } + ], + "payments": + [ + { + "createdOn": "2024-03-22T09:00:00", + "amountDebit": 121, + "paymentMethodId": 1, + "touchPointId": 1, + "isRefund": false, + "htmPaymentReference": "HTM-1234", + "pspPaymentReference": "Buckaroo-1234", + "paymentStatuses": + [ + { + "createdOn": "2024-03-22T09:00:00", + "statusCode": "791", + "statusDescription": "Pending processing", + "statusSubCode": "S001", + "statusSubDescription": "PendingProcessing", + }, + { + "createdOn": "2024-03-22T09:01:00", + "statusCode": "190", + "statusDescription": "Success", + "statusSubCode": "S001", + "statusSubDescription": "PaymentSuccessFul", + }, + ], + "payPush": + { + "consumerIssuer": "ABN AMRO", + "transactionId": "0000000000000001", + "consumerName": "J. de Vries", + "consumerIBAN": "NL44RABO0123456789", + "consumerBIC": "RABONL2U", + }, + }, + ], + "customer": + { + "birthname": "Jan", + "surname": "Vries", + "prefix": "de", + "emailAddress": "jandevries@outlook.com", + "dateOfBirth": "1970-01-01", + "addresses": + [ + { + "addressTypeId": 1, + "street": "Kon. Julianaplein", + "houseNumber": 10, + "houseNumberSuffix": "a", + "postalCode": "2595 AA", + "city": "Den Haag", + "country": "NL", + } + ] + } + } + v2.2: + value: + { "paymentId": "94270188-4cf6-447e-bd49-e8186bcec073" } /orders/{orderId}/ordercustomers: parameters: - in: path @@ -2422,7 +2927,7 @@ paths: description: The JWT of the logged in customer (in case of a web shop). post: tags: - - Order Creation v2.1 + - Order Creation v3.0 summary: Add a customer to an existing order. description: Add a customer to an existing order. requestBody: @@ -2430,26 +2935,53 @@ paths: application/json: schema: $ref: "#/components/schemas/unavailable" - example: - { - "birthname": "Jan", - "surname": "Vries", - "prefix": "de", - "emailAddress": "jandevries@outlook.com", - "dateOfBirth": "1970-01-01", - "orderCustomerAddresses": - [ - { - "addressTypeId": 1, - "street": "Kon. Julianaplein", - "houseNumber": 10, - "houseNumberSuffix": "a", - "postalCode": "2595 AA", - "city": "Den Haag", - "country": "NL", - }, - ], - } + examples: + v3.0: + summary: Order payment update v3.0 + description: Order payment update v3.0 + value: + { + "birthname": "Jan", + "surname": "Vries", + "prefix": "de", + "emailAddress": "jandevries@outlook.com", + "dateOfBirth": "1970-01-01", + "orderCustomerAddresses": + [ + { + "addressTypeId": 1, + "street": "Kon. Julianaplein", + "houseNumber": 10, + "houseNumberSuffix": "a", + "postalCode": "2595 AA", + "city": "Den Haag", + "country": "NL", + }, + ], + } + v2.2: + summary: Order payment update v2.2 + description: Order payment update v2.2 + value: + { + "birthname": "Jan", + "surname": "Vries", + "prefix": "de", + "emailAddress": "jandevries@outlook.com", + "dateOfBirth": "1970-01-01", + "orderCustomerAddresses": + [ + { + "addressTypeId": 1, + "street": "Kon. Julianaplein", + "houseNumber": 10, + "houseNumberSuffix": "a", + "postalCode": "2595 AA", + "city": "Den Haag", + "country": "NL", + }, + ], + } responses: "201": description: Created @@ -2457,8 +2989,101 @@ paths: application/json: schema: $ref: "#/components/schemas/unavailable" - example: - { "orderCustomerId": "94270188-4cf6-447e-bd49-e8186bcec073" } + examples: + v3.0: + value: + { + "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", + "externalOrderId": null, + "orderNumber": "ORD-123456", + "customerProfileId": 1337, + "totalAmount": 121, + "languageId": 1, + "billingAddressId": 2, + "shippingAddressId": 1, + "touchpointId": 3, + "createdOn": "2024-03-22T09:00:00", + "lastUpdatedOn": "2024-03-22T09:00:00", + "order_OrderStatus": + [ + { + "order_orderStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f", + "orderStatus": { "orderStatusId": 1, "name": "concept" }, + "createdOn": "2024-03-22T09:00:00", + "description": "Order is aangemaakt", + } + ], + "orderLines": + [ + { + "orderLineId": "cccada2c-d5ea-48ab-b4be-f590e16b5468", + "externalOrderLineId": null, + "productId": 1, + "productName": "HTM Maandkorting 20%", + "productCode": "HTM-MND-20", + "productDescription": "HTM Maandkorting 20%", + "taxAmount": 21, + "taxCode": "V21", + "amountExclTax": 100, + "amountInclTax": 121, + "quantity": 1, + "terms": + [ + "generalTermsAndConditions.pdf", + "productTermsAndConditions.pdf", + ], + "createdOn": "2024-03-22T09:00:00", + "validFrom": "2024-03-22T09:00:00", + "validUntil": null, + "orderLineStatus": + { "orderLineStatusId": 1, "name": "pending" }, + "tokens": + [ + { + "tokenTypeId": 1, + "ovPayTokenId": 1, + "serviceReferenceId": "NLOV1234567ABCDEFG", + "amount": 34, + "ovpasNumber": "OV34567", + "verificationCode": "A7H6", + "personalAccountData": + { + "name": "Jan de Vries", + "dateOfBirth": "01-01-1970", + "photoReference": "DSC_0502.JPG", + "fileType": "image/jpg", + "challengeTypeId": 1, + "oneTimePassword": "H5Iiz3JTaQeIV8p", + }, + }, + ], + } + ], + "payments": null, + "customer": + { + "birthname": "Jan", + "surname": "Vries", + "prefix": "de", + "emailAddress": "jandevries@outlook.com", + "dateOfBirth": "1970-01-01", + "addresses": + [ + { + "addressTypeId": 1, + "street": "Kon. Julianaplein", + "houseNumber": 10, + "houseNumberSuffix": "a", + "postalCode": "2595 AA", + "city": "Den Haag", + "country": "NL", + } + ] + } + } + v2.2: + value: + { "orderCustomerId": "94270188-4cf6-447e-bd49-e8186bcec073" } /ordercustomers/{orderCustomerId}: patch: parameters: @@ -2478,7 +3103,7 @@ paths: example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c description: The JWT of the logged in customer (in case of a web shop). tags: - - Order Creation v2.1 + - Order Creation v3.0 summary: Update a customer on an existing order. description: Update a customer on an existing order. requestBody: @@ -2487,13 +3112,28 @@ paths: schema: $ref: "#/components/schemas/unavailable" example: - { - "birthname": "Jan", - "surname": "Vries", - "prefix": "de", - "emailAddress": "jandevries@outlook.com", - "dateOfBirth": "1970-01-01", - } + v3.0: + summary: Order customer update v2.2 + description: Order customer update v2.2 + value: + { + "birthname": "Jan", + "surname": "Vries", + "prefix": "de", + "emailAddress": "jandevries@outlook.com", + "dateOfBirth": "1970-01-01", + } + v2.2: + summary: Order customer update v2.2 + description: Order customer update v2.2 + value: + { + "birthname": "Jan", + "surname": "Vries", + "prefix": "de", + "emailAddress": "jandevries@outlook.com", + "dateOfBirth": "1970-01-01", + } responses: "200": description: OK @@ -2501,8 +3141,383 @@ paths: application/json: schema: $ref: "#/components/schemas/unavailable" - example: - { "orderCustomerId": "94270188-4cf6-447e-bd49-e8186bcec073" } + examples: + v3.0: + value: + { + "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", + "externalOrderId": null, + "orderNumber": "ORD-123456", + "customerProfileId": 1337, + "totalAmount": 121, + "languageId": 1, + "billingAddressId": 2, + "shippingAddressId": 1, + "touchpointId": 3, + "createdOn": "2024-03-22T09:00:00", + "lastUpdatedOn": "2024-03-22T09:00:00", + "order_OrderStatus": + [ + { + "order_orderStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f", + "orderStatus": { "orderStatusId": 1, "name": "concept" }, + "createdOn": "2024-03-22T09:00:00", + "description": "Order is aangemaakt", + } + ], + "orderLines": + [ + { + "orderLineId": "cccada2c-d5ea-48ab-b4be-f590e16b5468", + "externalOrderLineId": null, + "productId": 1, + "productName": "HTM Maandkorting 20%", + "productCode": "HTM-MND-20", + "productDescription": "HTM Maandkorting 20%", + "taxAmount": 21, + "taxCode": "V21", + "amountExclTax": 100, + "amountInclTax": 121, + "quantity": 1, + "terms": + [ + "generalTermsAndConditions.pdf", + "productTermsAndConditions.pdf", + ], + "createdOn": "2024-03-22T09:00:00", + "validFrom": "2024-03-22T09:00:00", + "validUntil": null, + "orderLineStatus": + { "orderLineStatusId": 1, "name": "pending" }, + "tokens": + [ + { + "tokenTypeId": 1, + "ovPayTokenId": 1, + "serviceReferenceId": "NLOV1234567ABCDEFG", + "amount": 34, + "ovpasNumber": "OV34567", + "verificationCode": "A7H6", + "personalAccountData": + { + "name": "Jan de Vries", + "dateOfBirth": "01-01-1970", + "photoReference": "DSC_0502.JPG", + "fileType": "image/jpg", + "challengeTypeId": 1, + "oneTimePassword": "H5Iiz3JTaQeIV8p", + }, + }, + ], + } + ], + "payments": null, + "customer": + { + "birthname": "Jan", + "surname": "Vries", + "prefix": "de", + "emailAddress": "jandevries@outlook.com", + "dateOfBirth": "1970-01-01", + "addresses": + [ + { + "addressTypeId": 1, + "street": "Kon. Julianaplein", + "houseNumber": 10, + "houseNumberSuffix": "a", + "postalCode": "2595 AA", + "city": "Den Haag", + "country": "NL", + } + ] + } + } + v2.2: + value: + { "orderCustomerId": "94270188-4cf6-447e-bd49-e8186bcec073" } + /ordercustomers/{orderCustomerId}/orderCustomerAddress: + post: + parameters: + - in: path + name: orderCustomerId + required: true + style: simple + explode: false + schema: + type: string + format: uuid + example: a0ef57fa-395c-4a03-96e9-234c26dccea9 + - in: header + name: X-HM-JWT-AUTH-HEADER + schema: + type: string + example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c + description: The JWT of the logged in customer (in case of a web shop). + tags: + - Order Creation v3.0 + summary: Create a customer address for an existing order. + description: Create a customer address for an existing order. + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + v3.0: + summary: Order customer address create v2.2 + description: Order customer address create v2.2 + value: + { + "addressTypeId": 1, + "street": "Kon. Julianaplein", + "houseNumber": 10, + "houseNumberSuffix": "a", + "postalCode": "2595 AA", + "city": "Den Haag", + "country": "NL", + } + + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + examples: + v3.0: + value: + { + "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", + "externalOrderId": null, + "orderNumber": "ORD-123456", + "customerProfileId": 1337, + "totalAmount": 121, + "languageId": 1, + "billingAddressId": 2, + "shippingAddressId": 1, + "touchpointId": 3, + "createdOn": "2024-03-22T09:00:00", + "lastUpdatedOn": "2024-03-22T09:00:00", + "order_OrderStatus": + [ + { + "order_orderStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f", + "orderStatus": { "orderStatusId": 1, "name": "concept" }, + "createdOn": "2024-03-22T09:00:00", + "description": "Order is aangemaakt", + } + ], + "orderLines": + [ + { + "orderLineId": "cccada2c-d5ea-48ab-b4be-f590e16b5468", + "externalOrderLineId": null, + "productId": 1, + "productName": "HTM Maandkorting 20%", + "productCode": "HTM-MND-20", + "productDescription": "HTM Maandkorting 20%", + "taxAmount": 21, + "taxCode": "V21", + "amountExclTax": 100, + "amountInclTax": 121, + "quantity": 1, + "terms": + [ + "generalTermsAndConditions.pdf", + "productTermsAndConditions.pdf", + ], + "createdOn": "2024-03-22T09:00:00", + "validFrom": "2024-03-22T09:00:00", + "validUntil": null, + "orderLineStatus": + { "orderLineStatusId": 1, "name": "pending" }, + "tokens": + [ + { + "tokenTypeId": 1, + "ovPayTokenId": 1, + "serviceReferenceId": "NLOV1234567ABCDEFG", + "amount": 34, + "ovpasNumber": "OV34567", + "verificationCode": "A7H6", + "personalAccountData": + { + "name": "Jan de Vries", + "dateOfBirth": "01-01-1970", + "photoReference": "DSC_0502.JPG", + "fileType": "image/jpg", + "challengeTypeId": 1, + "oneTimePassword": "H5Iiz3JTaQeIV8p", + }, + }, + ], + } + ], + "payments": null, + "customer": + { + "birthname": "Jan", + "surname": "Vries", + "prefix": "de", + "emailAddress": "jandevries@outlook.com", + "dateOfBirth": "1970-01-01", + "addresses": + [ + { + "addressTypeId": 1, + "street": "Kon. Julianaplein", + "houseNumber": 10, + "houseNumberSuffix": "a", + "postalCode": "2595 AA", + "city": "Den Haag", + "country": "NL", + } + ] + } + } + /orderCustomerAddress/{orderCustomerAddressId}: + patch: + parameters: + - in: path + name: orderCustomerAddressId + required: true + style: simple + explode: false + schema: + type: string + format: uuid + example: a0ef57fa-395c-4a03-96e9-234c26dccea9 + - in: header + name: X-HM-JWT-AUTH-HEADER + schema: + type: string + example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c + description: The JWT of the logged in customer (in case of a web shop). + tags: + - Order Creation v3.0 + summary: Update a customer address for an existing order. + description: Update a customer address for an existing order. + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + v3.0: + summary: Order customer address create v2.2 + description: Order customer address create v2.2 + value: + { + "addressTypeId": 1, + "street": "Kon. Julianaplein", + "houseNumber": 101, + "houseNumberSuffix": "a", + "postalCode": "2595 AA", + "city": "Den Haag", + "country": "NL", + } + + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + examples: + v3.0: + value: + { + "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", + "externalOrderId": null, + "orderNumber": "ORD-123456", + "customerProfileId": 1337, + "totalAmount": 121, + "languageId": 1, + "billingAddressId": 2, + "shippingAddressId": 1, + "touchpointId": 3, + "createdOn": "2024-03-22T09:00:00", + "lastUpdatedOn": "2024-03-22T09:00:00", + "order_OrderStatus": + [ + { + "order_orderStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f", + "orderStatus": { "orderStatusId": 1, "name": "concept" }, + "createdOn": "2024-03-22T09:00:00", + "description": "Order is aangemaakt", + } + ], + "orderLines": + [ + { + "orderLineId": "cccada2c-d5ea-48ab-b4be-f590e16b5468", + "externalOrderLineId": null, + "productId": 1, + "productName": "HTM Maandkorting 20%", + "productCode": "HTM-MND-20", + "productDescription": "HTM Maandkorting 20%", + "taxAmount": 21, + "taxCode": "V21", + "amountExclTax": 100, + "amountInclTax": 121, + "quantity": 1, + "terms": + [ + "generalTermsAndConditions.pdf", + "productTermsAndConditions.pdf", + ], + "createdOn": "2024-03-22T09:00:00", + "validFrom": "2024-03-22T09:00:00", + "validUntil": null, + "orderLineStatus": + { "orderLineStatusId": 1, "name": "pending" }, + "tokens": + [ + { + "tokenTypeId": 1, + "ovPayTokenId": 1, + "serviceReferenceId": "NLOV1234567ABCDEFG", + "amount": 34, + "ovpasNumber": "OV34567", + "verificationCode": "A7H6", + "personalAccountData": + { + "name": "Jan de Vries", + "dateOfBirth": "01-01-1970", + "photoReference": "DSC_0502.JPG", + "fileType": "image/jpg", + "challengeTypeId": 1, + "oneTimePassword": "H5Iiz3JTaQeIV8p", + }, + }, + ], + } + ], + "payments": null, + "customer": + { + "birthname": "Jan", + "surname": "Vries", + "prefix": "de", + "emailAddress": "jandevries@outlook.com", + "dateOfBirth": "1970-01-01", + "addresses": + [ + { + "addressTypeId": 1, + "street": "Kon. Julianaplein", + "houseNumber": 101, + "houseNumberSuffix": "a", + "postalCode": "2595 AA", + "city": "Den Haag", + "country": "NL", + } + ] + } + } /orders/{orderId}/fulfill: parameters: - in: path From f190a007b8ebc8384d4ee073a1ad64da3780644d Mon Sep 17 00:00:00 2001 From: Mirjam Herald Date: Mon, 24 Feb 2025 14:23:16 +0100 Subject: [PATCH 21/37] mandate create in crud --- src/openapi/orders/orders-crud.yaml | 38 ++++ src/openapi/orders/service_engine_orders.yaml | 191 ++++++++++++++---- 2 files changed, 193 insertions(+), 36 deletions(-) diff --git a/src/openapi/orders/orders-crud.yaml b/src/openapi/orders/orders-crud.yaml index 8ae1a81..e9e47cc 100644 --- a/src/openapi/orders/orders-crud.yaml +++ b/src/openapi/orders/orders-crud.yaml @@ -1846,6 +1846,44 @@ paths: "place": "Den Haag", }, ] + /payments/{paymentId}/mandateinputs: + parameters: + - in: path + name: paymentId + schema: + type: string + format: uuid + example: fd09f3c5-35d9-4a1b-a98b-e46addb663f2 + required: true + description: The id of the payment to process. + post: + summary: P2. Create a mandateInput. + description: Create a mandateInput.. + tags: + - Payment + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "directDebitMandateTypeId": 1, + "createdOn": "2024-03-22T09:00:00", + "bic": "RABONL2U", + "iban": "NL44RABO0123456789", + "ascription": "J. de Vries", + "place": "Den Haag", + } + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: { "mandateInputId": "dbbc3913-414e-4528-9c95-6c11a11e04ac" } + /mandateinputs/{mandateInputId}: parameters: - in: path diff --git a/src/openapi/orders/service_engine_orders.yaml b/src/openapi/orders/service_engine_orders.yaml index fc587a2..5905fe8 100644 --- a/src/openapi/orders/service_engine_orders.yaml +++ b/src/openapi/orders/service_engine_orders.yaml @@ -882,7 +882,7 @@ paths: schema: $ref: "#/components/schemas/unavailable" example: - { + { "orders": [ { @@ -1326,10 +1326,22 @@ paths: "orderNumber": "ORD-123456", "customerProfileId": 1337, "totalAmount": 121, - "languageId": 1, + "language": + { + "languageId": 1, + "name": "Nederlands", + "iso639Code": "nl-NL", + "ietfCode": "nl", + }, "billingAddressId": 1, "shippingAddressId": 1, - "touchpointId": 3, + "touchPoint": + { + "salesTouchpointId": 3, + "name": "Website (Perplex)", + "isActive": true, + "retailerId": 1001, + }, "createdOn": "2024-03-22T09:00:00", "lastUpdatedOn": "2024-03-22T09:00:00", "order_OrderStatus": @@ -1507,7 +1519,15 @@ paths: "orderNumber": "123456", "customerProfileId": 42, "totalAmount": 121, - "touchPointId": 1, + "touchPoint": + { + "salesTouchpointId": 3, + "name": "Website (Perplex)", + "isActive": true, + "retailerId": 1001, + }, + "billingAddressId": 1, + "shippingAddressId": 1, "language": { "languageId": 1, @@ -1515,9 +1535,6 @@ paths: "iso639Code": "nl-NL", "ietfCode": "nl", }, - "billingAddressId": 1, - "shippingAddressId": 1, - "touchpointId": 3, "createdOn": "2024-03-22T09:00:00", "lastUpdatedOn": "2024-03-22T09:00:00", "order_OrderStatus": @@ -1719,10 +1736,21 @@ paths: "orderNumber": "ORD-123456", "customerProfileId": 1337, "totalAmount": 121, - "languageId": 1, - "billingAddressId": 2, + "language": { + "languageId": 1, + "name": "Nederlands", + "iso639Code": "nl-NL", + "ietfCode": "nl" + }, + "billingAddressId": 1, "shippingAddressId": 1, - "touchpointId": 3, + "touchPoint": + { + "salesTouchpointId": 3, + "name": "Website (Perplex)", + "isActive": true, + "retailerId": 1001, + }, "createdOn": "2024-03-22T09:00:00", "lastUpdatedOn": "2024-03-22T09:00:00", "order_OrderStatus": @@ -1991,10 +2019,21 @@ paths: "orderNumber": "ORD-123456", "customerProfileId": 1337, "totalAmount": 121, - "languageId": 1, - "billingAddressId": 2, + "language": { + "languageId": 1, + "name": "Nederlands", + "iso639Code": "nl-NL", + "ietfCode": "nl" + }, + "billingAddressId": 1, "shippingAddressId": 1, - "touchpointId": 3, + "touchPoint": + { + "salesTouchpointId": 3, + "name": "Website (Perplex)", + "isActive": true, + "retailerId": 1001, + }, "createdOn": "2024-03-22T09:00:00", "lastUpdatedOn": "2024-03-22T09:00:00", "order_OrderStatus": @@ -2234,10 +2273,21 @@ paths: "orderNumber": "ORD-123456", "customerProfileId": 1337, "totalAmount": 121, - "languageId": 1, + "language": { + "languageId": 1, + "name": "Nederlands", + "iso639Code": "nl-NL", + "ietfCode": "nl" + }, "billingAddressId": 1, "shippingAddressId": 1, - "touchpointId": 3, + "touchPoint": + { + "salesTouchpointId": 3, + "name": "Website (Perplex)", + "isActive": true, + "retailerId": 1001, + }, "createdOn": "2024-03-22T09:00:00", "lastUpdatedOn": "2024-03-22T09:00:00", "order_OrderStatus": @@ -2391,10 +2441,21 @@ paths: "orderNumber": "ORD-123456", "customerProfileId": 1337, "totalAmount": 0, - "languageId": 1, - "billingAddressId": 2, + "language": { + "languageId": 1, + "name": "Nederlands", + "iso639Code": "nl-NL", + "ietfCode": "nl" + }, + "billingAddressId": 1, "shippingAddressId": 1, - "touchpointId": 3, + "touchPoint": + { + "salesTouchpointId": 3, + "name": "Website (Perplex)", + "isActive": true, + "retailerId": 1001, + }, "createdOn": "2024-03-22T09:00:00", "lastUpdatedOn": "2024-03-22T09:00:00", "order_OrderStatus": @@ -2557,10 +2618,21 @@ paths: "orderNumber": "ORD-123456", "customerProfileId": 1337, "totalAmount": 121, - "languageId": 1, - "billingAddressId": 2, + "language": { + "languageId": 1, + "name": "Nederlands", + "iso639Code": "nl-NL", + "ietfCode": "nl" + }, + "billingAddressId": 1, "shippingAddressId": 1, - "touchpointId": 3, + "touchPoint": + { + "salesTouchpointId": 3, + "name": "Website (Perplex)", + "isActive": true, + "retailerId": 1001, + }, "createdOn": "2024-03-22T09:00:00", "lastUpdatedOn": "2024-03-22T09:00:00", "order_OrderStatus": @@ -2786,8 +2858,13 @@ paths: "orderNumber": "ORD-123456", "customerProfileId": 1337, "totalAmount": 121, - "languageId": 1, - "billingAddressId": 2, + "language": { + "languageId": 1, + "name": "Nederlands", + "iso639Code": "nl-NL", + "ietfCode": "nl" + }, + "billingAddressId": 1, "shippingAddressId": 1, "touchpointId": 3, "createdOn": "2024-03-22T09:00:00", @@ -2998,10 +3075,21 @@ paths: "orderNumber": "ORD-123456", "customerProfileId": 1337, "totalAmount": 121, - "languageId": 1, - "billingAddressId": 2, + "language": { + "languageId": 1, + "name": "Nederlands", + "iso639Code": "nl-NL", + "ietfCode": "nl" + }, + "billingAddressId": 1, "shippingAddressId": 1, - "touchpointId": 3, + "touchPoint": + { + "salesTouchpointId": 3, + "name": "Website (Perplex)", + "isActive": true, + "retailerId": 1001, + }, "createdOn": "2024-03-22T09:00:00", "lastUpdatedOn": "2024-03-22T09:00:00", "order_OrderStatus": @@ -3150,10 +3238,21 @@ paths: "orderNumber": "ORD-123456", "customerProfileId": 1337, "totalAmount": 121, - "languageId": 1, - "billingAddressId": 2, + "language": { + "languageId": 1, + "name": "Nederlands", + "iso639Code": "nl-NL", + "ietfCode": "nl" + }, + "billingAddressId": 1, "shippingAddressId": 1, - "touchpointId": 3, + "touchPoint": + { + "salesTouchpointId": 3, + "name": "Website (Perplex)", + "isActive": true, + "retailerId": 1001, + }, "createdOn": "2024-03-22T09:00:00", "lastUpdatedOn": "2024-03-22T09:00:00", "order_OrderStatus": @@ -3277,7 +3376,6 @@ paths: "city": "Den Haag", "country": "NL", } - responses: "200": description: OK @@ -3294,10 +3392,21 @@ paths: "orderNumber": "ORD-123456", "customerProfileId": 1337, "totalAmount": 121, - "languageId": 1, + "language": { + "languageId": 1, + "name": "Nederlands", + "iso639Code": "nl-NL", + "ietfCode": "nl" + }, "billingAddressId": 2, "shippingAddressId": 1, - "touchpointId": 3, + "touchPoint": + { + "salesTouchpointId": 3, + "name": "Website (Perplex)", + "isActive": true, + "retailerId": 1001, + }, "createdOn": "2024-03-22T09:00:00", "lastUpdatedOn": "2024-03-22T09:00:00", "order_OrderStatus": @@ -3418,7 +3527,6 @@ paths: "city": "Den Haag", "country": "NL", } - responses: "200": description: OK @@ -3435,10 +3543,21 @@ paths: "orderNumber": "ORD-123456", "customerProfileId": 1337, "totalAmount": 121, - "languageId": 1, - "billingAddressId": 2, + "language": { + "languageId": 1, + "name": "Nederlands", + "iso639Code": "nl-NL", + "ietfCode": "nl" + }, + "billingAddressId": 1, "shippingAddressId": 1, - "touchpointId": 3, + "touchPoint": + { + "salesTouchpointId": 3, + "name": "Website (Perplex)", + "isActive": true, + "retailerId": 1001, + }, "createdOn": "2024-03-22T09:00:00", "lastUpdatedOn": "2024-03-22T09:00:00", "order_OrderStatus": From 8c470c790c1fadf9255ea6ff002127314a586d96 Mon Sep 17 00:00:00 2001 From: Mirjam Herald Date: Mon, 24 Feb 2025 15:54:37 +0100 Subject: [PATCH 22/37] small fix --- src/openapi/orders/service_engine_orders.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/openapi/orders/service_engine_orders.yaml b/src/openapi/orders/service_engine_orders.yaml index 5905fe8..3745780 100644 --- a/src/openapi/orders/service_engine_orders.yaml +++ b/src/openapi/orders/service_engine_orders.yaml @@ -3199,10 +3199,10 @@ paths: application/json: schema: $ref: "#/components/schemas/unavailable" - example: + examples: v3.0: - summary: Order customer update v2.2 - description: Order customer update v2.2 + summary: Order customer update v3.0 + description: Order customer update v3.0 value: { "birthname": "Jan", From 2bf79f1fa093f43b19088c5155c7de90ab16d8a3 Mon Sep 17 00:00:00 2001 From: Mirjam Herald Date: Wed, 26 Feb 2025 15:53:12 +0100 Subject: [PATCH 23/37] versionering and additional remarks --- src/openapi/orders/service_engine_orders.yaml | 205 +++++++++++------- 1 file changed, 123 insertions(+), 82 deletions(-) diff --git a/src/openapi/orders/service_engine_orders.yaml b/src/openapi/orders/service_engine_orders.yaml index 3745780..8515281 100644 --- a/src/openapi/orders/service_engine_orders.yaml +++ b/src/openapi/orders/service_engine_orders.yaml @@ -4,12 +4,12 @@ info: version: "1.0" description: Order APIs available in the Service Engine for order validation and fulfillment. servers: - - url: https://api.integratielaag.nl/v2 + - url: https://api.integratielaag.nl/v1 paths: /orders/validation: post: tags: - - Order Validation v1 & v2 + - Order Validation v1 & v1 summary: Validate order. description: Validate order. parameters: @@ -133,9 +133,9 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v1: - summary: Order validation v1 - description: Order validation v1 + v2: + summary: Order validation v2 + description: Order validation v2 value: { "validContents": true, @@ -166,9 +166,9 @@ paths: }, ], } - v2: - summary: Order validation v2 - description: Order validation v2 + v1: + summary: Order validation v1 + description: Order validation v1 value: { "validContents": true, @@ -186,7 +186,7 @@ paths: "validFrom": "2024-03-22T09:00:00", "validUntil": null, "taxAmount": 21, - "taxCode": "V21", + "taxCode": "V11", "amountExclTax": 100, "amountInclTax": 121, "isRenewable": true, @@ -232,7 +232,7 @@ paths: "validFrom": "2024-03-22T09:00:00", "validUntil": null, "taxAmount": 21, - "taxCode": "V21", + "taxCode": "V11", "amountExclTax": 100, "amountInclTax": 121, "isRenewable": true, @@ -437,7 +437,7 @@ paths: "productCode": "HTM-MND-20", "productDescription": "HTM Maandkorting 20%", "taxAmount": 21, - "taxCode": "V21", + "taxCode": "V11", "amountExclTax": 100, "amountInclTax": 121, "quantity": 1, @@ -599,7 +599,7 @@ paths: "productCode": "HTM-MND-20", "productDescription": "HTM Maandkorting 20%", "taxAmount": 21, - "taxCode": "V21", + "taxCode": "V11", "amountExclTax": 100, "amountInclTax": 121, "quantity": 1, @@ -730,7 +730,7 @@ paths: description: The JWT of the logged in customer (in case of a web shop). get: tags: - - Order Retrieval v2.1 + - Order Retrieval v1.1 summary: Get all orders for a specific customer. description: Get all orders for a specific customer. responses: @@ -871,7 +871,7 @@ paths: example: 7208e73e-87a6-46d9-bb6d-867ffc460c9b description: xTat used in order fulfillment. Note that this is a joined parameter via PurchasedProduct. tags: - - Order Retrieval v2.1 + - Order Retrieval v1.1 summary: Find orders. description: Find orders. responses: @@ -1073,9 +1073,9 @@ paths: ] } } - v2.2: - summary: Order creation v2.2 - description: Order creation v2.2 + v1.2: + summary: Order creation v1.2 + description: Order creation v1.2 value: { "externalOrderId": null, @@ -1182,9 +1182,9 @@ paths: ], }, } - v2: - summary: Order creation v2.1 - description: Order creation v2.1 + v1: + summary: Order creation v1.1 + description: Order creation v1.1 value: { "externalOrderId": null, @@ -1363,7 +1363,7 @@ paths: "productCode": "HTM-MND-20", "productDescription": "HTM Maandkorting 20%", "taxAmount": 21, - "taxCode": "V21", + "taxCode": "V11", "amountExclTax": 100, "amountInclTax": 121, "quantity": 1, @@ -1394,9 +1394,10 @@ paths: "fileType": "image/jpg", "challengeTypeId": 1, "oneTimePassword": "H5Iiz3JTaQeIV8p", - }, + } }, ], + "additionalRemarks" : [] }, ], "payments": @@ -1450,7 +1451,7 @@ paths: ] } } - v2.2: + v1.2: value: { "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", @@ -1502,7 +1503,7 @@ paths: description: The JWT of the logged in customer (in case of a web shop). get: tags: - - Order Retrieval v2.1 + - Order Retrieval v1.1 summary: Get a single order. description: Get a single order. responses: @@ -1566,7 +1567,7 @@ paths: "taxMetadata": { "taxMetadataId": "06270769-a263-4325-82d6-f49396f39d03", - "taxCode": "V21", + "taxCode": "V11", "taxPercentageAmount": 21, "description": "21% BTW", }, @@ -1709,9 +1710,9 @@ paths: "shippingAddressId": 1, "lastUpdatedOn": "2024-03-22T09:00:00", } - v2.2: - summary: Order update v2.2 - description: Order update v2.2 + v1.2: + summary: Order update v1.2 + description: Order update v1.2 value: { "customerProfileId": 1337, "totalAmount": 121, @@ -1772,7 +1773,7 @@ paths: "productCode": "HTM-MND-20", "productDescription": "HTM Maandkorting 20%", "taxAmount": 21, - "taxCode": "V21", + "taxCode": "V11", "amountExclTax": 100, "amountInclTax": 121, "quantity": 1, @@ -1805,7 +1806,14 @@ paths: "oneTimePassword": "H5Iiz3JTaQeIV8p", }, }, - ], + ], + "additionalRemarks" : + [ + { + "code": "MANDATE_REQUIRED", + "parameter": "directDebitMandateId" + } + ] }, ], "payments": @@ -1859,7 +1867,7 @@ paths: ] } } - v2.2: + v1.2: value: { "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", @@ -1900,6 +1908,9 @@ paths: responses: "200": description: OK + "400": + description: "Bad request" + /orders/{orderId}/orderlines: parameters: - in: path @@ -1953,9 +1964,9 @@ paths: }, ] } - v2.2: - summary: Create orderLine v2.2 - description: Create orderLine v2.2 + v1.2: + summary: Create orderLine v1.2 + description: Create orderLine v1.2 value: { "externalOrderLineId": null, @@ -2055,7 +2066,7 @@ paths: "productCode": "HTM-MND-20", "productDescription": "HTM Maandkorting 20%", "taxAmount": 21, - "taxCode": "V21", + "taxCode": "V11", "amountExclTax": 100, "amountInclTax": 121, "quantity": 1, @@ -2088,7 +2099,14 @@ paths: "oneTimePassword": "H5Iiz3JTaQeIV8p", }, }, - ], + ], + "additionalRemarks" : + [ + { + "code": "MANDATE_REQUIRED", + "parameter": "directDebitMandateId" + } + ] }, { "orderLineId": "2cb04b38-e9a8-465a-a273-261c55a21b71", @@ -2098,7 +2116,7 @@ paths: "productCode": "HTM-MND-40", "productDescription": "HTM Maandkorting 40%", "taxAmount": 42, - "taxCode": "V21", + "taxCode": "V11", "amountExclTax": 200, "amountInclTax": 242, "quantity": 1, @@ -2123,9 +2141,10 @@ paths: "verificationCode": null , "personalAccountData": null } - ] + ], + "additionalRemarks" : [] } - ], + ], "payments": [ { @@ -2177,7 +2196,7 @@ paths: ] } } - v2.2: + v1.2: value: { "orderLineId": "e78b78d9-4fb0-4a9c-8dc0-6d100c9f1b3f" } "400": description: Bad request @@ -2243,9 +2262,9 @@ paths: "validFrom": "2024-03-25T09:00:00", "validUntil": null } - v2.2: - summary: Order creation v2.2 - description: Order creation v2.2 + v1.2: + summary: Order creation v1.2 + description: Order creation v1.2 value: { "taxAmount": 21, @@ -2309,7 +2328,7 @@ paths: "productCode": "HTM-MND-20", "productDescription": "HTM Maandkorting 20%", "taxAmount": 21, - "taxCode": "V21", + "taxCode": "V11", "amountExclTax": 100, "amountInclTax": 121, "quantity": 1, @@ -2342,7 +2361,14 @@ paths: "oneTimePassword": "H5Iiz3JTaQeIV8p", } } - ] + ], + "additionalRemarks" : + [ + { + "code": "MANDATE_REQUIRED", + "parameter": "directDebitMandateId" + } + ] }, ], "payments": @@ -2396,7 +2422,7 @@ paths: ] } } - v2.2: + v1.2: value: { "orderLineId": "e78b78d9-4fb0-4a9c-8dc0-6d100c9f1b3f" } "400": @@ -2570,9 +2596,9 @@ paths: "place": "Den Haag", }, } - v2.2: - summary: Order creation v2.2 - description: Order creation v2.2 + v1.2: + summary: Order creation v1.2 + description: Order creation v1.2 value: { "createdOn": "2024-03-22T09:00:00", @@ -2654,7 +2680,7 @@ paths: "productCode": "HTM-MND-20", "productDescription": "HTM Maandkorting 20%", "taxAmount": 21, - "taxCode": "V21", + "taxCode": "V11", "amountExclTax": 100, "amountInclTax": 121, "quantity": 1, @@ -2697,7 +2723,7 @@ paths: "productCode": "HTM-MND-40", "productDescription": "HTM Maandkorting 40%", "taxAmount": 42, - "taxCode": "V21", + "taxCode": "V11", "amountExclTax": 200, "amountInclTax": 242, "quantity": 1, @@ -2776,7 +2802,7 @@ paths: ] } } - v2.2: + v1.2: value: { "paymentId": "94270188-4cf6-447e-bd49-e8186bcec073" } /payments/{paymentId}: @@ -2834,9 +2860,9 @@ paths: "place": "Den Haag", } } - v2.2: - summary: Order payment update v2.2 - description: Order payment update v2.2 + v1.2: + summary: Order payment update v1.2 + description: Order payment update v1.2 value: { "htmPaymentReference": "HTM-1234", @@ -2888,7 +2914,7 @@ paths: "productCode": "HTM-MND-20", "productDescription": "HTM Maandkorting 20%", "taxAmount": 21, - "taxCode": "V21", + "taxCode": "V11", "amountExclTax": 100, "amountInclTax": 121, "quantity": 1, @@ -2982,7 +3008,7 @@ paths: ] } } - v2.2: + v1.2: value: { "paymentId": "94270188-4cf6-447e-bd49-e8186bcec073" } /orders/{orderId}/ordercustomers: @@ -3036,9 +3062,9 @@ paths: }, ], } - v2.2: - summary: Order payment update v2.2 - description: Order payment update v2.2 + v1.2: + summary: Order payment update v1.2 + description: Order payment update v1.2 value: { "birthname": "Jan", @@ -3111,7 +3137,7 @@ paths: "productCode": "HTM-MND-20", "productDescription": "HTM Maandkorting 20%", "taxAmount": 21, - "taxCode": "V21", + "taxCode": "V11", "amountExclTax": 100, "amountInclTax": 121, "quantity": 1, @@ -3169,7 +3195,7 @@ paths: ] } } - v2.2: + v1.2: value: { "orderCustomerId": "94270188-4cf6-447e-bd49-e8186bcec073" } /ordercustomers/{orderCustomerId}: @@ -3211,9 +3237,9 @@ paths: "emailAddress": "jandevries@outlook.com", "dateOfBirth": "1970-01-01", } - v2.2: - summary: Order customer update v2.2 - description: Order customer update v2.2 + v1.2: + summary: Order customer update v1.2 + description: Order customer update v1.2 value: { "birthname": "Jan", @@ -3274,7 +3300,7 @@ paths: "productCode": "HTM-MND-20", "productDescription": "HTM Maandkorting 20%", "taxAmount": 21, - "taxCode": "V21", + "taxCode": "V11", "amountExclTax": 100, "amountInclTax": 121, "quantity": 1, @@ -3307,9 +3333,10 @@ paths: "oneTimePassword": "H5Iiz3JTaQeIV8p", }, }, - ], + ], + "additionalRemarks" : [] } - ], + ], "payments": null, "customer": { @@ -3332,7 +3359,7 @@ paths: ] } } - v2.2: + v1.2: value: { "orderCustomerId": "94270188-4cf6-447e-bd49-e8186bcec073" } /ordercustomers/{orderCustomerId}/orderCustomerAddress: @@ -3364,8 +3391,8 @@ paths: $ref: "#/components/schemas/unavailable" example: v3.0: - summary: Order customer address create v2.2 - description: Order customer address create v2.2 + summary: Order customer address create v1.2 + description: Order customer address create v1.2 value: { "addressTypeId": 1, @@ -3428,7 +3455,7 @@ paths: "productCode": "HTM-MND-20", "productDescription": "HTM Maandkorting 20%", "taxAmount": 21, - "taxCode": "V21", + "taxCode": "V11", "amountExclTax": 100, "amountInclTax": 121, "quantity": 1, @@ -3461,9 +3488,16 @@ paths: "oneTimePassword": "H5Iiz3JTaQeIV8p", }, }, - ], - } - ], + ], + "additionalRemarks" : + [ + { + "code": "MANDATE_REQUIRED", + "parameter": "directDebitMandateId" + } + ] + } + ], "payments": null, "customer": { @@ -3515,8 +3549,8 @@ paths: $ref: "#/components/schemas/unavailable" example: v3.0: - summary: Order customer address create v2.2 - description: Order customer address create v2.2 + summary: Order customer address create v1.2 + description: Order customer address create v1.2 value: { "addressTypeId": 1, @@ -3579,7 +3613,7 @@ paths: "productCode": "HTM-MND-20", "productDescription": "HTM Maandkorting 20%", "taxAmount": 21, - "taxCode": "V21", + "taxCode": "V11", "amountExclTax": 100, "amountInclTax": 121, "quantity": 1, @@ -3612,9 +3646,16 @@ paths: "oneTimePassword": "H5Iiz3JTaQeIV8p", }, }, - ], - } - ], + ], + "additionalRemarks" : + [ + { + "code": "MANDATE_REQUIRED", + "parameter": "directDebitMandateId" + } + ] + } + ], "payments": null, "customer": { @@ -3656,7 +3697,7 @@ paths: description: The JWT of the logged in customer (in case of a web shop). post: tags: - - Order Fulfillment v2.1 + - Order Fulfillment v1.1 summary: Fulfill an order without creating or updating the order as a resource. description: Fulfill an order without creating or updating the order as a resource. responses: From 8461b117bd0f1d3510565b91613abbb3e02822ad Mon Sep 17 00:00:00 2001 From: Mirjam Herald Date: Wed, 26 Feb 2025 16:11:39 +0100 Subject: [PATCH 24/37] added delete on order address --- src/openapi/orders/orders-crud.yaml | 36 +++ src/openapi/orders/service_engine_orders.yaml | 226 +++++++++++++----- 2 files changed, 206 insertions(+), 56 deletions(-) diff --git a/src/openapi/orders/orders-crud.yaml b/src/openapi/orders/orders-crud.yaml index e9e47cc..c3b3115 100644 --- a/src/openapi/orders/orders-crud.yaml +++ b/src/openapi/orders/orders-crud.yaml @@ -1395,6 +1395,42 @@ paths: $ref: "#/components/schemas/unavailable" example: { "customerTokenId": "0aedb483-2477-4720-aee6-7abcd016843b" } + /customertokens/{customerTokenId}/personalaccountdata: + parameters: + - in: path + name: customerTokenId + schema: + type: string + format: uuid + example: 510194ef-0038-45ef-94c7-262df93ef1d7 + required: true + description: The id of the customer token. + post: + summary: P3. Add personal account data to token. + description: Add personal account data to token. + tags: + - Order Line + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "photoReference": "DSC_0502.JPG", + "fileType": "image/jpg", + "challengeTypeId": 1, + "oneTimePassword": "H5Iiz3JTaQeIV8p", + } + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { "personalAccountDataId": "0aedb483-2477-4720-aee6-7abcd016843b" } /personalaccountdata: get: summary: P5. Find personal account data. diff --git a/src/openapi/orders/service_engine_orders.yaml b/src/openapi/orders/service_engine_orders.yaml index 8515281..d0de7bd 100644 --- a/src/openapi/orders/service_engine_orders.yaml +++ b/src/openapi/orders/service_engine_orders.yaml @@ -9,7 +9,7 @@ paths: /orders/validation: post: tags: - - Order Validation v1 & v1 + - Order Validation v1 & v2 summary: Validate order. description: Validate order. parameters: @@ -972,18 +972,18 @@ paths: } post: tags: - - Order Creation v3.0 - summary: Create a new order v3.0. - description: Create a new order v3.0. + - Order Creation v2.0 + summary: Create a new order v2.0. + description: Create a new order v2.0. requestBody: content: application/json: schema: $ref: "#/components/schemas/unavailable" examples: - v3.0: - summary: Order creation v3.0 - description: Order creation v3.0 + v2.0: + summary: Order creation v2.0 + description: Order creation v2.0 value: { "externalOrderId": null, @@ -1318,7 +1318,7 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v3.0: + v2.0: value: { "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", @@ -1692,7 +1692,7 @@ paths: } patch: tags: - - Order Creation v3.0 + - Order Creation v2.0 summary: Update an existing order. description: Update an existing order. requestBody: @@ -1701,9 +1701,9 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v3.0: - summary: Order update v3.0 - description: Order update v3.0 + v2.0: + summary: Order update v2.0 + description: Order update v2.0 value: { "languageId": 1, "billingAddressId": 2, @@ -1729,7 +1729,7 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v3.0: + v2.0: value: { "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", @@ -1902,15 +1902,32 @@ paths: } delete: tags: - - Order Creation v3.0 + - Order Creation v2.0 summary: Delete an existing order. description: Delete an existing order. responses: "200": description: OK "400": - description: "Bad request" - + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "type": "https://htm.nl/api/v1/probs/validationerror", + "title": "Your request is not valid.", + "detail": "The order can not be deleted.", + "instance": "urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b", + "errors": [ + { + "detail": "Order status is paid", + "pointer": "#/order_OrderStatus/1/orderStatus/orderStatusId", + "orderStatusId": 4 + } + ] + } /orders/{orderId}/orderlines: parameters: - in: path @@ -1930,7 +1947,7 @@ paths: description: The JWT of the logged in customer (in case of a web shop). post: tags: - - Order Creation v3.0 + - Order Creation v2.0 summary: Add a new order line to an existing order. description: Add a new order line to an existing order. requestBody: @@ -1939,9 +1956,9 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v3.0: - summary: Create orderLine v3.0 - description: Create orderLine v3.0 + v2.0: + summary: Create orderLine v2.0 + description: Create orderLine v2.0 value: { "externalOrderLineId": null, @@ -2022,7 +2039,7 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v3.0: + v2.0: value: { "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", @@ -2244,7 +2261,7 @@ paths: description: The JWT of the logged in customer (in case of a web shop). patch: tags: - - Order Creation v3.0 + - Order Creation v2.0 summary: Update an existing order line. description: Update an existing order line. requestBody: @@ -2253,9 +2270,9 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v3.0: - summary: Order creation v3.0 - description: Order creation v3.0 + v2.0: + summary: Orderline update v2.0 + description: Orderline update v2.0 value: { "quantity": 1, @@ -2263,8 +2280,8 @@ paths: "validUntil": null } v1.2: - summary: Order creation v1.2 - description: Order creation v1.2 + summary: Orderline updatev1.2 + description: Orderline update v1.2 value: { "taxAmount": 21, @@ -2284,7 +2301,7 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v3.0: + v2.0: value: { "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", @@ -2448,7 +2465,7 @@ paths: } delete: tags: - - Order Creation v3.0 + - Order Creation v2.0 summary: Delete an existing order line. description: Delete an existing order line. responses: @@ -2459,7 +2476,7 @@ paths: schema: $ref: "#/components/schemas/unavailable" example: - v3.0: + v2.0: value: { "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", @@ -2556,7 +2573,7 @@ paths: description: The JWT of the logged in customer (in case of a web shop). post: tags: - - Order Creation v3.0 + - Order Creation v2.0 summary: Add a payment to an existing order. description: Add a payment to an existing order. requestBody: @@ -2565,9 +2582,9 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v3.0: - summary: Order creation v3.0 - description: Order creation v3.0 + v2.0: + summary: Order creation v2.0 + description: Order creation v2.0 value: { "createdOn": "2024-03-22T09:00:00", @@ -2636,7 +2653,7 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v3.0: + v2.0: value: { "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", @@ -2824,7 +2841,7 @@ paths: description: The JWT of the logged in customer (in case of a web shop). patch: tags: - - Order Creation v3.0 + - Order Creation v2.0 summary: Update a payment on an existing order. description: Update a payment on an existing order. requestBody: @@ -2833,9 +2850,9 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v3.0: - summary: Order payment update v3.0 - description: Order payment update v3.0 + v2.0: + summary: Order payment update v2.0 + description: Order payment update v2.0 value: { "htmPaymentReference": "HTM-1234", @@ -2876,7 +2893,7 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v3.0: + v2.0: value: { "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", @@ -3030,7 +3047,7 @@ paths: description: The JWT of the logged in customer (in case of a web shop). post: tags: - - Order Creation v3.0 + - Order Creation v2.0 summary: Add a customer to an existing order. description: Add a customer to an existing order. requestBody: @@ -3039,9 +3056,9 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v3.0: - summary: Order payment update v3.0 - description: Order payment update v3.0 + v2.0: + summary: Order payment update v2.0 + description: Order payment update v2.0 value: { "birthname": "Jan", @@ -3093,7 +3110,7 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v3.0: + v2.0: value: { "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", @@ -3217,7 +3234,7 @@ paths: example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c description: The JWT of the logged in customer (in case of a web shop). tags: - - Order Creation v3.0 + - Order Creation v2.0 summary: Update a customer on an existing order. description: Update a customer on an existing order. requestBody: @@ -3226,9 +3243,9 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v3.0: - summary: Order customer update v3.0 - description: Order customer update v3.0 + v2.0: + summary: Order customer update v2.0 + description: Order customer update v2.0 value: { "birthname": "Jan", @@ -3256,7 +3273,7 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v3.0: + v2.0: value: { "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", @@ -3381,7 +3398,7 @@ paths: example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c description: The JWT of the logged in customer (in case of a web shop). tags: - - Order Creation v3.0 + - Order Creation v2.0 summary: Create a customer address for an existing order. description: Create a customer address for an existing order. requestBody: @@ -3390,7 +3407,7 @@ paths: schema: $ref: "#/components/schemas/unavailable" example: - v3.0: + v2.0: summary: Order customer address create v1.2 description: Order customer address create v1.2 value: @@ -3411,7 +3428,7 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v3.0: + v2.0: value: { "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", @@ -3539,7 +3556,7 @@ paths: example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c description: The JWT of the logged in customer (in case of a web shop). tags: - - Order Creation v3.0 + - Order Creation v2.0 summary: Update a customer address for an existing order. description: Update a customer address for an existing order. requestBody: @@ -3548,7 +3565,7 @@ paths: schema: $ref: "#/components/schemas/unavailable" example: - v3.0: + v2.0: summary: Order customer address create v1.2 description: Order customer address create v1.2 value: @@ -3569,7 +3586,7 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v3.0: + v2.0: value: { "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", @@ -3678,6 +3695,103 @@ paths: ] } } + delete: + tags: + - Order Creation v2.0 + summary: Delete an existing order address + description: Delete an existing order address + parameters: + - in: path + name: orderCustomerAddressId + required: true + style: simple + explode: false + schema: + type: string + format: uuid + example: a0ef57fa-395c-4a03-96e9-234c26dccea9 + - in: header + name: X-HM-JWT-AUTH-HEADER + schema: + type: string + example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c + description: The JWT of the logged in customer (in case of a web shop). + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + examples: + v2.0: + value: + { + "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", + "externalOrderId": null, + "orderNumber": "ORD-123456", + "customerProfileId": 1337, + "totalAmount": 0, + "language": { + "languageId": 1, + "name": "Nederlands", + "iso639Code": "nl-NL", + "ietfCode": "nl" + }, + "billingAddressId": 1, + "shippingAddressId": 1, + "touchPoint": + { + "salesTouchpointId": 3, + "name": "Website (Perplex)", + "isActive": true, + "retailerId": 1001, + }, + "createdOn": "2024-03-22T09:00:00", + "lastUpdatedOn": "2024-03-22T09:00:00", + "order_OrderStatus": + [ + { + "order_orderStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f", + "orderStatus": { "orderStatusId": 1, "name": "concept" }, + "createdOn": "2024-03-22T09:00:00", + "description": "Order is aangemaakt", + } + ], + "orderLines": null, + "payments": null, + "customer": + { + "birthname": "Jan", + "surname": "Vries", + "prefix": "de", + "emailAddress": "jandevries@outlook.com", + "dateOfBirth": "1970-01-01", + "addresses": null + } + } + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "type": "https://htm.nl/api/v1/probs/validationerror", + "title": "Your request is not valid.", + "detail": "The combination of tokens and/or products chosen is not valid. See errors for more details.", + "instance": "urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b", + "errors": [ + { + "detail": "Product requires product with productId=2", + "pointer": "#/1/orderLine", + "orderLineId": "0574440e-7fa0-401f-b907-539c91633a5d", + "productId": 3 + } + ] + } + /orders/{orderId}/fulfill: parameters: - in: path From bd3f3e68a65de82466b6e58ea43a38229b23e061 Mon Sep 17 00:00:00 2001 From: Mirjam Herald Date: Wed, 26 Feb 2025 16:17:17 +0100 Subject: [PATCH 25/37] Addede delete address to CRUD --- src/openapi/orders/orders-crud.yaml | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/openapi/orders/orders-crud.yaml b/src/openapi/orders/orders-crud.yaml index c3b3115..538c913 100644 --- a/src/openapi/orders/orders-crud.yaml +++ b/src/openapi/orders/orders-crud.yaml @@ -1919,7 +1919,6 @@ paths: schema: $ref: "#/components/schemas/unavailable" example: { "mandateInputId": "dbbc3913-414e-4528-9c95-6c11a11e04ac" } - /mandateinputs/{mandateInputId}: parameters: - in: path @@ -2245,6 +2244,27 @@ paths: { "orderCustomerAddressId": "d5005529-d4f2-4552-a5b8-477dab7836ec", } + delete: + summary: P3. Delete an address of a customer on an order. + description: Delete an address of a customer on an order. + tags: + - Customer + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: { + + } + components: securitySchemes: bearerToken: From d39a4ba51d934813ddf8228c80719ceb8d8e5b63 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Mon, 3 Mar 2025 12:34:26 +0100 Subject: [PATCH 26/37] OVPAY-1518 - No more seagulls. --- src/openapi/fiko/fiko-crud.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/openapi/fiko/fiko-crud.yaml b/src/openapi/fiko/fiko-crud.yaml index 8bf9703..77403b5 100644 --- a/src/openapi/fiko/fiko-crud.yaml +++ b/src/openapi/fiko/fiko-crud.yaml @@ -532,7 +532,7 @@ paths: summary: Add new transaction audit trail for updated transaction item description: Add a new audit trail record for an updated transaction item. value: - user: r.meeuws + user: ad.ministrateur timestamp: 2022-01-02 12:34:00 action: update status: return to src @@ -667,7 +667,7 @@ paths: correlationId: null - transactionAuditTrailId: f4798a84-489d-4533-9dfe-42423c70f6b6 transactionItemId: e8891be1-1b8a-4a0f-91e2-6b523b6497dd - user: r.meeuws + user: ad.ministrateur timestamp: 2025-01-01 12:34:48 action: update status: return to src @@ -697,7 +697,7 @@ paths: correlationId: null - transactionAuditTrailId: b2192e6c-ab79-4000-a04d-d8f4d574a82f transactionItemId: d667d293-aa82-4c9e-9b10-77cffc9058a1 - user: r.meeuws + user: ad.ministrateur timestamp: 2025-01-04 12:34:54 action: update status: return to src @@ -2542,7 +2542,7 @@ paths: name: user schema: type: string - example: r.meeuws + example: ad.ministrateur description: The id of the user who performed the metadata change. - in: query name: timestampBefore @@ -3737,7 +3737,7 @@ components: example: { "json": "data" } user: type: string - example: r.meeuws + example: ad.ministrateur timestamp: type: string format: date-time @@ -3794,7 +3794,7 @@ components: example: { "json": "data" } user: type: string - example: r.meeuws + example: ad.ministrateur timestamp: type: string format: date-time From 2b754dfb754f42d5921d74fb4f7d0937e5177922 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Mon, 3 Mar 2025 14:10:28 +0100 Subject: [PATCH 27/37] OVPAY-1518 - TaxPercentageAmount is a number. --- src/openapi/fiko/fiko-crud.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/openapi/fiko/fiko-crud.yaml b/src/openapi/fiko/fiko-crud.yaml index 77403b5..4f8acee 100644 --- a/src/openapi/fiko/fiko-crud.yaml +++ b/src/openapi/fiko/fiko-crud.yaml @@ -1885,7 +1885,7 @@ paths: - in: query name: taxPercentageAmount schema: - type: string + type: number example: 21 description: The tax percentage amount. - in: query @@ -3838,7 +3838,7 @@ components: type: string example: V21 taxPercentageAmount: - type: integer + type: number example: 21 description: type: string From cd828981c52ab557a502925af3e165d53b3433f2 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Mon, 3 Mar 2025 14:14:24 +0100 Subject: [PATCH 28/37] OVPAY-1518 - Fixed bug in SourceMetadataPostRequestBody. --- src/openapi/fiko/fiko-crud.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/src/openapi/fiko/fiko-crud.yaml b/src/openapi/fiko/fiko-crud.yaml index 4f8acee..176a739 100644 --- a/src/openapi/fiko/fiko-crud.yaml +++ b/src/openapi/fiko/fiko-crud.yaml @@ -3962,7 +3962,6 @@ components: type: string example: api.htm.nl/v2/account/12345/msgs/abc required: - - sourceMetadataId - incomingName - incomingEntity - outgoingName From 18ffc699c78da69dc5a551aeb74fff7c8b67ad01 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Mon, 3 Mar 2025 14:23:23 +0100 Subject: [PATCH 29/37] OVPAY-1518 - Obfuscate names. --- src/openapi/fiko/fiko-crud.yaml | 50 ++++++++++++++++----------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/src/openapi/fiko/fiko-crud.yaml b/src/openapi/fiko/fiko-crud.yaml index 176a739..b91da43 100644 --- a/src/openapi/fiko/fiko-crud.yaml +++ b/src/openapi/fiko/fiko-crud.yaml @@ -532,7 +532,7 @@ paths: summary: Add new transaction audit trail for updated transaction item description: Add a new audit trail record for an updated transaction item. value: - user: ad.ministrateur + user: ad.vogelaar timestamp: 2022-01-02 12:34:00 action: update status: return to src @@ -667,7 +667,7 @@ paths: correlationId: null - transactionAuditTrailId: f4798a84-489d-4533-9dfe-42423c70f6b6 transactionItemId: e8891be1-1b8a-4a0f-91e2-6b523b6497dd - user: ad.ministrateur + user: ad.vogelaar timestamp: 2025-01-01 12:34:48 action: update status: return to src @@ -697,7 +697,7 @@ paths: correlationId: null - transactionAuditTrailId: b2192e6c-ab79-4000-a04d-d8f4d574a82f transactionItemId: d667d293-aa82-4c9e-9b10-77cffc9058a1 - user: ad.ministrateur + user: ad.vogelaar timestamp: 2025-01-04 12:34:54 action: update status: return to src @@ -1645,7 +1645,7 @@ paths: incomingName: HTM-website incomingEntity: OrderLine outgoingName: Webshop - businessOwner: Corneel Verstoep + businessOwner: Koos Verweg rejectionProcessing: system rejectionInfo: api.htm.nl/v2/account/12345/msgs/abc identifyingFieldValue: null @@ -1670,7 +1670,7 @@ paths: incomingName: Translink incomingEntity: Trip outgoingName: TLS - businessOwner: Corneel Verstoep + businessOwner: Koos Verweg rejectionProcessing: mail rejectionInfo: helpdesk@translink.nl identifyingFieldValue: null @@ -1704,7 +1704,7 @@ paths: incomingName: HTM-website incomingEntity: OrderLine outgoingName: Webshop - businessOwner: Corneel Verstoep + businessOwner: Koos Verweg rejectionProcessing: system rejectionInfo: api.htm.nl/v2/account/12345/msgs/abc identifyingFieldValue: null @@ -1729,7 +1729,7 @@ paths: incomingName: HTM-website incomingEntity: OrderLine outgoingName: Webshop - businessOwner: Corneel Verstoep + businessOwner: Koos Verweg rejectionProcessing: system rejectionInfo: api.htm.nl/v2/account/12345/msgs/abc identifyingFieldValue: null @@ -1754,9 +1754,9 @@ paths: incomingName: HTM-app incomingEntity: OrderLine outgoingName: ticketapp - businessOwner: Daan Zeven + businessOwner: Danny Negen rejectionProcessing: mail - rejectionInfo: sven@infoplaza.nl + rejectionInfo: d.negen@htm.nl identifyingFieldValue: null concession: concessionId: 2 @@ -1779,9 +1779,9 @@ paths: incomingName: HTM-app incomingEntity: OrderLine outgoingName: ticketapp - businessOwner: Daan Zeven + businessOwner: Danny Negen rejectionProcessing: mail - rejectionInfo: sven@infoplaza.nl + rejectionInfo: d.negen@htm.nl identifyingFieldValue: null concession: concessionId: 1 @@ -2061,7 +2061,7 @@ paths: name: businessOwner schema: type: string - example: Corneel Verstoep + example: Koos Verweg description: The business owner of the source. - in: query name: rejectionProcessing @@ -2095,21 +2095,21 @@ paths: incomingName: HTM-web incomingEntity: OrderLine outgoingName: webshop - businessOwner: Corneel Verstoep + businessOwner: Koos Verweg rejectionProcessing: system rejectionInfo: api.htm.nl/v2/account/12345/msgs/abc - sourceMetadataId: c3a9ef01-06c6-4c05-8fc7-df825f676dfc incomingName: HTM-app incomingEntity: OrderLine outgoingName: ticketapp - businessOwner: Daan Zeven + businessOwner: Danny Negen rejectionProcessing: mail - rejectionInfo: sven@infoplaza.nl + rejectionInfo: d.negen@htm.nl - sourceMetadataId: 0b6e3e07-c4e0-42bf-86f2-9c9522b71209 incomingName: SMP incomingEntity: OrderLine outgoingName: balieverkoop - businessOwner: Gijs Sip + businessOwner: Guus Geluk rejectionProcessing: mail rejectionInfo: ao@htm.nl href: null @@ -2132,9 +2132,9 @@ paths: incomingName: HTM-app incomingEntity: OrderLine outgoingName: ticketapp - businessOwner: Daan Zeven + businessOwner: Danny Negen rejectionProcessing: mail - rejectionInfo: sven@infoplaza.nl + rejectionInfo: d.negen@htm.nl responses: "201": description: Created @@ -2174,7 +2174,7 @@ paths: summary: Update a source in the metadata description: In this example we update the business owner of a single source meta data value: - businessOwner: Eric Kok + businessOwner: Chef Erwin responses: "200": description: OK @@ -2542,7 +2542,7 @@ paths: name: user schema: type: string - example: ad.ministrateur + example: ad.vogelaar description: The id of the user who performed the metadata change. - in: query name: timestampBefore @@ -3737,7 +3737,7 @@ components: example: { "json": "data" } user: type: string - example: ad.ministrateur + example: ad.vogelaar timestamp: type: string format: date-time @@ -3794,7 +3794,7 @@ components: example: { "json": "data" } user: type: string - example: ad.ministrateur + example: ad.vogelaar timestamp: type: string format: date-time @@ -3954,7 +3954,7 @@ components: example: Website Verkopen businessOwner: type: string - example: Corneel Verstoep + example: Koos Verweg rejectionProcessing: type: string example: system @@ -3991,7 +3991,7 @@ components: example: Website Verkopen businessOwner: type: string - example: Corneel Verstoep + example: Koos Verweg rejectionProcessing: type: string example: system @@ -4210,7 +4210,7 @@ components: example: Website Verkopen businessOwner: type: string - example: Corneel Verstoep + example: Koos Verweg rejectionProcessing: type: string example: system From 2350b40e9ba80ec4ed8deddfeeb1fb1789161e79 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Mon, 3 Mar 2025 16:20:40 +0100 Subject: [PATCH 30/37] OVPAY-1518 - Added sort, limit, offset query params to GET operations. --- src/openapi/fiko/fiko-crud.yaml | 198 ++++++++++++++++++++++++++++++++ 1 file changed, 198 insertions(+) diff --git a/src/openapi/fiko/fiko-crud.yaml b/src/openapi/fiko/fiko-crud.yaml index b91da43..8e6d293 100644 --- a/src/openapi/fiko/fiko-crud.yaml +++ b/src/openapi/fiko/fiko-crud.yaml @@ -143,6 +143,24 @@ paths: type: string example: U4F-123456 description: The accounting system reference of the transaction. %00 is searching for NULL-values. + - in: query + name: sort + schema: + type: string + example: occurredOn + description: The field by which the transaction items in the result body are sorted. + - in: query + name: limit + schema: + type: integer + example: 15 + description: The limit of the transaction items in the result body. + - in: query + name: offset + schema: + type: integer + example: 15 + description: The offset of the transaction items in the result body. responses: "200": description: OK @@ -630,6 +648,24 @@ paths: type: string example: a3891560-3084-42cb-867c-f289e7cda47d description: The correlation id of the event. + - in: query + name: sort + schema: + type: string + example: timestamp + description: The field by which the transaction audit trails in the result body are sorted. + - in: query + name: limit + schema: + type: integer + example: 15 + description: The limit of the transaction audit trails in the result body. + - in: query + name: offset + schema: + type: integer + example: 15 + description: The offset of the transaction audit trails in the result body. responses: "200": description: OK @@ -827,6 +863,24 @@ paths: type: string example: Adapt config description: Description of what was changed to resolve the failure. + - in: query + name: sort + schema: + type: string + example: timestamp + description: The field by which the processing failures in the result body are sorted. + - in: query + name: limit + schema: + type: integer + example: 15 + description: The limit of the processing failures in the result body. + - in: query + name: offset + schema: + type: integer + example: 15 + description: The offset of the processing failures in the result body. responses: "200": description: OK @@ -990,6 +1044,24 @@ paths: type: string example: articleNumber description: The identifying field name of the booking process. + - in: query + name: sort + schema: + type: string + example: name + description: The field by which the booking processes in the result body are sorted. + - in: query + name: limit + schema: + type: integer + example: 15 + description: The limit of the booking processes in the result body. + - in: query + name: offset + schema: + type: integer + example: 15 + description: The offset of the booking processes in the result body. responses: "200": description: OK @@ -1211,6 +1283,24 @@ paths: type: string example: 2024-01-01T00:00:00.000 description: Timestamp that the booking metadata is valid. + - in: query + name: sort + schema: + type: string + example: validFrom + description: The field by which the booking metadata in the result body are sorted. + - in: query + name: limit + schema: + type: integer + example: 15 + description: The limit of the booking metadata in the result body. + - in: query + name: offset + schema: + type: integer + example: 15 + description: The offset of the booking metadata in the result body. responses: "200": description: OK @@ -1428,6 +1518,24 @@ paths: type: string example: 1737 description: The identifying field value. + - in: query + name: sort + schema: + type: string + example: bookingMetadataId + description: The field by which the booking group fields in the result body are sorted. + - in: query + name: limit + schema: + type: integer + example: 15 + description: The limit of the booking group fields in the result body. + - in: query + name: offset + schema: + type: integer + example: 15 + description: The offset of the booking group fields in the result body. responses: "200": description: OK @@ -1624,6 +1732,24 @@ paths: type: string example: extRef6 description: External reference 6. + - in: query + name: sort + schema: + type: string + example: lineType + description: The field by which the booking line metadata in the result body are sorted. + - in: query + name: limit + schema: + type: integer + example: 15 + description: The limit of the booking line metadata in the result body. + - in: query + name: offset + schema: + type: integer + example: 15 + description: The offset of the booking line metadata in the result body. responses: "200": description: OK @@ -1901,6 +2027,24 @@ paths: format: date-time example: 2024-03-22T09:00:00 description: Timestamp that the metadata is valid. + - in: query + name: sort + schema: + type: string + example: validFrom + description: The field by which the tax metadata in the result body are sorted. + - in: query + name: limit + schema: + type: integer + example: 15 + description: The limit of the tax metadata in the result body. + - in: query + name: offset + schema: + type: integer + example: 15 + description: The offset of the tax metadata in the result body. responses: "200": description: OK @@ -2078,6 +2222,24 @@ paths: type: string example: api.htm.nl/v2/account/12345/msgs/abc description: The rejection info of the source. + - in: query + name: sort + schema: + type: string + example: incomingName + description: The field by which the source metadata in the result body are sorted. + - in: query + name: limit + schema: + type: integer + example: 15 + description: The limit of the source metadata in the result body. + - in: query + name: offset + schema: + type: integer + example: 15 + description: The offset of the source metadata in the result body. responses: "200": description: OK @@ -2214,6 +2376,24 @@ paths: type: boolean example: true description: Whether the accounting period is open. + - in: query + name: sort + schema: + type: string + example: accountingPeriod + description: The field by which the accounting period metadata in the result body are sorted. + - in: query + name: limit + schema: + type: integer + example: 15 + description: The limit of the accounting period metadata in the result body. + - in: query + name: offset + schema: + type: integer + example: 15 + description: The offset of the accounting period metadata in the result body. responses: "200": description: OK @@ -2343,6 +2523,24 @@ paths: type: string example: 2024-01-01T00:00:00.000 description: Timestamp that the metadata is valid. + - in: query + name: sort + schema: + type: string + example: validFrom + description: The field by which the concession metadata in the result body are sorted. + - in: query + name: limit + schema: + type: integer + example: 15 + description: The limit of the concession metadata in the result body. + - in: query + name: offset + schema: + type: integer + example: 15 + description: The offset of the concession metadata in the result body. responses: "200": description: OK From dc4674202a0e6d376f203e97a893215825eeeabd Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Tue, 4 Mar 2025 10:16:51 +0100 Subject: [PATCH 31/37] OVPAY-1562 - Added query param resourceNameId. --- src/openapi/products/purchased_products-crud.yaml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/openapi/products/purchased_products-crud.yaml b/src/openapi/products/purchased_products-crud.yaml index 1a77eda..2305f96 100644 --- a/src/openapi/products/purchased_products-crud.yaml +++ b/src/openapi/products/purchased_products-crud.yaml @@ -52,6 +52,13 @@ paths: example: 2024-10-04T12:34:56.000 required: false description: The purchased product should be last updated after this timestamp. + - in: query + name: resourceNameId + schema: + type: integer + example: 2 + required: false + description: The id of the resource. - in: query name: resourceName schema: From 976293e617de3b5ff56e5b7b4da710796852009f Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Tue, 4 Mar 2025 10:55:20 +0100 Subject: [PATCH 32/37] OVPAY-1563 - Added query param contractInvoiceId. --- src/openapi/contracts/contracts-crud.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/openapi/contracts/contracts-crud.yaml b/src/openapi/contracts/contracts-crud.yaml index 0c3e90e..963bf1e 100644 --- a/src/openapi/contracts/contracts-crud.yaml +++ b/src/openapi/contracts/contracts-crud.yaml @@ -624,6 +624,14 @@ paths: tags: - ContractInvoice parameters: + - in: query + name: contractInvoiceId + schema: + type: string + format: uuid + example: 8699d72a-cf4d-4e6b-9e9c-549d837ca51f + required: false + description: Id of the contract invoice to fetch. - in: query name: contractId schema: From bed4dddf3bfedeb1841509495f237d6a2a5c0636 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Tue, 4 Mar 2025 12:42:01 +0100 Subject: [PATCH 33/37] OVPAY-1518 - Replaced asterisk by query param. --- src/openapi/fiko/fiko-crud.yaml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/openapi/fiko/fiko-crud.yaml b/src/openapi/fiko/fiko-crud.yaml index 8e6d293..38e96a4 100644 --- a/src/openapi/fiko/fiko-crud.yaml +++ b/src/openapi/fiko/fiko-crud.yaml @@ -419,12 +419,19 @@ paths: description: The transaction item was successfully updated in the database. value: transactionItemId: 7c3a5b0f-b89e-4f02-8b09-d11c5a050a07 - /transactionitems/responsestatus/*: + /transactionitems/responsestatus/{clientTrackingId}: get: tags: - Transactions v2.2 summary: Get the status of the transaction items POST. description: Get the status of the asynchronous transaction items POST processing. + parameters: + - in: path + name: clientTrackingId + schema: + type: string + required: true + description: The clientTrackingId of the transaction items POST. responses: "200": description: OK From 151a23c39ae7add9c4eae8e10093cc41739e6324 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Wed, 5 Mar 2025 10:23:49 +0100 Subject: [PATCH 34/37] OVPAY-1518 - Added priority to endpoints. --- src/openapi/fiko/fiko-crud.yaml | 70 ++++++++++++++++----------------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/src/openapi/fiko/fiko-crud.yaml b/src/openapi/fiko/fiko-crud.yaml index 38e96a4..9e956d0 100644 --- a/src/openapi/fiko/fiko-crud.yaml +++ b/src/openapi/fiko/fiko-crud.yaml @@ -10,7 +10,7 @@ servers: paths: /transactionitems: get: - summary: Find transaction items. + summary: P1. Find transaction items. description: Find transaction items. tags: - Transactions v2.2 @@ -284,7 +284,7 @@ paths: accountingSystemReference: U4F-123456 href: null post: - summary: Add one ore more finanicial transaction items in bulk. + summary: P1. Add one ore more finanicial transaction items in bulk. description: Add one ore more finanicial transaction items in bulk. tags: - Transactions v2.2 @@ -375,7 +375,7 @@ paths: required: true description: The id of the transaction item. patch: - summary: Update a transaction item. + summary: P1. Update a transaction item. description: Update a transaction item. tags: - Transactions v2.2 @@ -423,7 +423,7 @@ paths: get: tags: - Transactions v2.2 - summary: Get the status of the transaction items POST. + summary: P1. Get the status of the transaction items POST. description: Get the status of the asynchronous transaction items POST processing. parameters: - in: path @@ -484,7 +484,7 @@ paths: required: true description: The id of the transaction item to process. post: - summary: Add a processing failure. + summary: P1. Add a processing failure. description: Add a processing failure. tags: - Failures v2.2 @@ -532,7 +532,7 @@ paths: required: true description: The id of the transaction item to process. post: - summary: Add an audit trail entry. + summary: P1. Add an audit trail entry. description: Add an audit trail entry. tags: - Audit Trail v2.2 @@ -580,7 +580,7 @@ paths: transactionAuditTrailId: 37a8095b-19db-498f-9349-5f37d21c5bdf /transactionaudittrails: get: - summary: Find audit trail entries. + summary: P3. Find audit trail entries. description: Find audit trail entries. tags: - Audit Trail v2.2 @@ -803,7 +803,7 @@ paths: href: null /processingfailures: get: - summary: Find processing failures. + summary: P1.Find processing failures. description: Find processing failures. tags: - Failures v2.2 @@ -985,7 +985,7 @@ paths: required: true description: The id of the processing failure. patch: - summary: Update processing failure. + summary: P1. Update processing failure. description: Update processing failure. tags: - Failures v2.2 @@ -1018,7 +1018,7 @@ paths: processingFailureId: 37a8095b-19db-498f-9349-5f37d21c5bdf /bookingprocesses: get: - summary: Find booking processes. + summary: P1. Find booking processes. description: Find booking processes. tags: - Booking Processes v2.2 @@ -1092,7 +1092,7 @@ paths: identifyingFieldName: null href: null post: - summary: Add a booking process. + summary: P2. Add a booking process. description: Add a booking process. tags: - Booking Processes v2.2 @@ -1135,7 +1135,7 @@ paths: required: true description: The id of the booking process. patch: - summary: Update a booking process. + summary: P2. Update a booking process. description: Update a booking process. tags: - Booking Processes v2.2 @@ -1176,7 +1176,7 @@ paths: required: true description: The id of the booking process. post: - summary: Add booking metadata. + summary: P2. Add booking metadata. description: Add booking metadata. tags: - Booking Processes v2.2 @@ -1217,7 +1217,7 @@ paths: bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 /bookingmetadata: get: - summary: Find booking metadata. + summary: P1. Find booking metadata. description: Find booking metadata. tags: - Booking Processes v2.2 @@ -1357,7 +1357,7 @@ paths: required: true description: The id of the booking metadata. patch: - summary: Update booking metadata. + summary: P2. Update booking metadata. description: Update booking metadata. tags: - Booking Processes v2.2 @@ -1398,7 +1398,7 @@ paths: required: true description: The id of the booking metadata. post: - summary: Add booking group fields. + summary: P2. Add booking group fields. description: Add booking group fields. tags: - Booking Processes v2.2 @@ -1438,7 +1438,7 @@ paths: required: true description: The id of the booking metadata. post: - summary: Add booking line metadata. + summary: P2. Add booking line metadata. description: Add booking line metadata. tags: - Booking Processes v2.2 @@ -1500,7 +1500,7 @@ paths: bookingLineMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 /bookinggroupfields: get: - summary: Find booking group fields. + summary: P1. Find booking group fields. description: Find booking group fields. tags: - Booking Processes v2.2 @@ -1618,7 +1618,7 @@ paths: required: true description: The id of the booking group field. delete: - summary: Delete booking group field. + summary: P2. Delete booking group field. description: Delete booking group field. tags: - Booking Processes v2.2 @@ -1627,7 +1627,7 @@ paths: description: OK /bookinglinemetadata: get: - summary: Find booking line metadata. + summary: P1. Find booking line metadata. description: Find booking line metadata. tags: - Booking Processes v2.2 @@ -1957,7 +1957,7 @@ paths: required: true description: The id of the booking line metadata. patch: - summary: Update booking line metadata. + summary: P2. Update booking line metadata. description: Update booking line metadata. tags: - Booking Processes v2.2 @@ -1988,7 +1988,7 @@ paths: value: bookingLineMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 delete: - summary: Delete booking line metadata. + summary: P2. Delete booking line metadata. description: Delete booking line metadata. tags: - Booking Processes v2.2 @@ -1997,7 +1997,7 @@ paths: description: OK /taxmetadata: get: - summary: Find tax metadata. + summary: P1. Find tax metadata. description: Find tax metadata. tags: - Metadata v2.2 @@ -2103,7 +2103,7 @@ paths: validUntil: null href: null post: - summary: Add tax metadata. + summary: P3. Add tax metadata. description: Add tax metadata. tags: - Metadata v2.2 @@ -2147,7 +2147,7 @@ paths: required: true description: The id of the tax metadata. patch: - summary: Update tax metadata. + summary: P3. Update tax metadata. description: Update tax metadata. tags: - Metadata v2.2 @@ -2178,7 +2178,7 @@ paths: taxMetadataId: 7c3a5b0f-b89e-4f02-8b09-d11c5a050a07 /sourcemetadata: get: - summary: Find source metadata. + summary: P1. Find source metadata. description: Find source metadata. tags: - Metadata v2.2 @@ -2283,7 +2283,7 @@ paths: rejectionInfo: ao@htm.nl href: null post: - summary: Add source metadata. + summary: P3. Add source metadata. description: Add source metadata. tags: - Metadata v2.2 @@ -2328,7 +2328,7 @@ paths: required: true description: The id of the source metadata. patch: - summary: Update source metadata. + summary: P3. Update source metadata. description: Update source metadata. tags: - Metadata v2.2 @@ -2359,7 +2359,7 @@ paths: sourceMetadataId: 37a8095b-19db-498f-9349-5f37d21c5bdf /accountingperiodmetadata: get: - summary: Find accounting period metadata. + summary: P1. Find accounting period metadata. description: Find accounting period metadata. tags: - Metadata v2.2 @@ -2425,7 +2425,7 @@ paths: isOpen: false href: null post: - summary: Add accounting period metadata. + summary: P2. Add accounting period metadata. description: Add accounting period metadata. tags: - Metadata v2.2 @@ -2466,7 +2466,7 @@ paths: required: true description: The id of the accounting period metadata. patch: - summary: Update accounting period metadata. + summary: P2. Update accounting period metadata. description: Update accounting period metadata. tags: - Metadata v2.2 @@ -2497,7 +2497,7 @@ paths: accountingPeriodMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 /concessionmetadata: get: - summary: Find concession metadata. + summary: P1. Find concession metadata. description: Find concession metadata. tags: - Metadata v2.2 @@ -2605,7 +2605,7 @@ paths: validUntil: 2024-11-30T23:59:59.999 href: null post: - summary: Add concession metadata. + summary: P2. Add concession metadata. description: Add concession metadata. tags: - Metadata v2.2 @@ -2650,7 +2650,7 @@ paths: required: true description: The id of the concession metadata. patch: - summary: Update concession metadata. + summary: P2. Update concession metadata. description: Update concession metadata. tags: - Metadata v2.2 @@ -2797,7 +2797,7 @@ paths: $ref: "#/components/schemas/MetadataAuditTrailsPostResponseBody" /concessions: get: - summary: Get all concessions. + summary: P1. Get all concessions. description: Get all concessions. tags: - References v2.2 From e2c768804a5c0be67c4249e49d2ce54ace1bd111 Mon Sep 17 00:00:00 2001 From: Mirjam Herald Date: Wed, 5 Mar 2025 10:48:09 +0100 Subject: [PATCH 35/37] fixed semantic error CRUD order --- src/openapi/orders/orders-crud.yaml | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/src/openapi/orders/orders-crud.yaml b/src/openapi/orders/orders-crud.yaml index 538c913..1dd008e 100644 --- a/src/openapi/orders/orders-crud.yaml +++ b/src/openapi/orders/orders-crud.yaml @@ -2249,11 +2249,6 @@ paths: description: Delete an address of a customer on an order. tags: - Customer - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/unavailable" responses: "200": description: OK @@ -2261,10 +2256,7 @@ paths: application/json: schema: $ref: "#/components/schemas/unavailable" - example: { - - } - + example: {} components: securitySchemes: bearerToken: From 38674787182ec0286d480f7f7a249087244ef8fa Mon Sep 17 00:00:00 2001 From: Mirjam Herald Date: Wed, 5 Mar 2025 11:42:50 +0100 Subject: [PATCH 36/37] fixed my search&replace errors --- src/openapi/orders/orders-crud.yaml | 4 +- src/openapi/orders/service_engine_orders.yaml | 43 +++++++++---------- 2 files changed, 23 insertions(+), 24 deletions(-) diff --git a/src/openapi/orders/orders-crud.yaml b/src/openapi/orders/orders-crud.yaml index 1dd008e..1f4c370 100644 --- a/src/openapi/orders/orders-crud.yaml +++ b/src/openapi/orders/orders-crud.yaml @@ -1423,7 +1423,7 @@ paths: "oneTimePassword": "H5Iiz3JTaQeIV8p", } responses: - "200": + "201": description: OK content: application/json: @@ -1912,7 +1912,7 @@ paths: "place": "Den Haag", } responses: - "200": + "201": description: OK content: application/json: diff --git a/src/openapi/orders/service_engine_orders.yaml b/src/openapi/orders/service_engine_orders.yaml index d0de7bd..1c36967 100644 --- a/src/openapi/orders/service_engine_orders.yaml +++ b/src/openapi/orders/service_engine_orders.yaml @@ -4,7 +4,7 @@ info: version: "1.0" description: Order APIs available in the Service Engine for order validation and fulfillment. servers: - - url: https://api.integratielaag.nl/v1 + - url: https://api.integratielaag.nl/v2 paths: /orders/validation: post: @@ -186,7 +186,7 @@ paths: "validFrom": "2024-03-22T09:00:00", "validUntil": null, "taxAmount": 21, - "taxCode": "V11", + "taxCode": "V21", "amountExclTax": 100, "amountInclTax": 121, "isRenewable": true, @@ -232,7 +232,7 @@ paths: "validFrom": "2024-03-22T09:00:00", "validUntil": null, "taxAmount": 21, - "taxCode": "V11", + "taxCode": "V21", "amountExclTax": 100, "amountInclTax": 121, "isRenewable": true, @@ -437,7 +437,7 @@ paths: "productCode": "HTM-MND-20", "productDescription": "HTM Maandkorting 20%", "taxAmount": 21, - "taxCode": "V11", + "taxCode": "V21", "amountExclTax": 100, "amountInclTax": 121, "quantity": 1, @@ -599,7 +599,7 @@ paths: "productCode": "HTM-MND-20", "productDescription": "HTM Maandkorting 20%", "taxAmount": 21, - "taxCode": "V11", + "taxCode": "V21", "amountExclTax": 100, "amountInclTax": 121, "quantity": 1, @@ -730,7 +730,7 @@ paths: description: The JWT of the logged in customer (in case of a web shop). get: tags: - - Order Retrieval v1.1 + - Order Retrieval v2.1 summary: Get all orders for a specific customer. description: Get all orders for a specific customer. responses: @@ -871,7 +871,7 @@ paths: example: 7208e73e-87a6-46d9-bb6d-867ffc460c9b description: xTat used in order fulfillment. Note that this is a joined parameter via PurchasedProduct. tags: - - Order Retrieval v1.1 + - Order Retrieval v2.1 summary: Find orders. description: Find orders. responses: @@ -1363,7 +1363,7 @@ paths: "productCode": "HTM-MND-20", "productDescription": "HTM Maandkorting 20%", "taxAmount": 21, - "taxCode": "V11", + "taxCode": "V21", "amountExclTax": 100, "amountInclTax": 121, "quantity": 1, @@ -1567,7 +1567,7 @@ paths: "taxMetadata": { "taxMetadataId": "06270769-a263-4325-82d6-f49396f39d03", - "taxCode": "V11", + "taxCode": "V21", "taxPercentageAmount": 21, "description": "21% BTW", }, @@ -1773,7 +1773,7 @@ paths: "productCode": "HTM-MND-20", "productDescription": "HTM Maandkorting 20%", "taxAmount": 21, - "taxCode": "V11", + "taxCode": "V21", "amountExclTax": 100, "amountInclTax": 121, "quantity": 1, @@ -2083,7 +2083,7 @@ paths: "productCode": "HTM-MND-20", "productDescription": "HTM Maandkorting 20%", "taxAmount": 21, - "taxCode": "V11", + "taxCode": "V21", "amountExclTax": 100, "amountInclTax": 121, "quantity": 1, @@ -2133,7 +2133,7 @@ paths: "productCode": "HTM-MND-40", "productDescription": "HTM Maandkorting 40%", "taxAmount": 42, - "taxCode": "V11", + "taxCode": "V21", "amountExclTax": 200, "amountInclTax": 242, "quantity": 1, @@ -2345,7 +2345,7 @@ paths: "productCode": "HTM-MND-20", "productDescription": "HTM Maandkorting 20%", "taxAmount": 21, - "taxCode": "V11", + "taxCode": "V21", "amountExclTax": 100, "amountInclTax": 121, "quantity": 1, @@ -2697,7 +2697,7 @@ paths: "productCode": "HTM-MND-20", "productDescription": "HTM Maandkorting 20%", "taxAmount": 21, - "taxCode": "V11", + "taxCode": "V21", "amountExclTax": 100, "amountInclTax": 121, "quantity": 1, @@ -2740,7 +2740,7 @@ paths: "productCode": "HTM-MND-40", "productDescription": "HTM Maandkorting 40%", "taxAmount": 42, - "taxCode": "V11", + "taxCode": "V21", "amountExclTax": 200, "amountInclTax": 242, "quantity": 1, @@ -2931,7 +2931,7 @@ paths: "productCode": "HTM-MND-20", "productDescription": "HTM Maandkorting 20%", "taxAmount": 21, - "taxCode": "V11", + "taxCode": "V21", "amountExclTax": 100, "amountInclTax": 121, "quantity": 1, @@ -3154,7 +3154,7 @@ paths: "productCode": "HTM-MND-20", "productDescription": "HTM Maandkorting 20%", "taxAmount": 21, - "taxCode": "V11", + "taxCode": "V21", "amountExclTax": 100, "amountInclTax": 121, "quantity": 1, @@ -3317,7 +3317,7 @@ paths: "productCode": "HTM-MND-20", "productDescription": "HTM Maandkorting 20%", "taxAmount": 21, - "taxCode": "V11", + "taxCode": "V21", "amountExclTax": 100, "amountInclTax": 121, "quantity": 1, @@ -3421,7 +3421,7 @@ paths: "country": "NL", } responses: - "200": + "201": description: OK content: application/json: @@ -3472,7 +3472,7 @@ paths: "productCode": "HTM-MND-20", "productDescription": "HTM Maandkorting 20%", "taxAmount": 21, - "taxCode": "V11", + "taxCode": "V21", "amountExclTax": 100, "amountInclTax": 121, "quantity": 1, @@ -3630,7 +3630,7 @@ paths: "productCode": "HTM-MND-20", "productDescription": "HTM Maandkorting 20%", "taxAmount": 21, - "taxCode": "V11", + "taxCode": "V21", "amountExclTax": 100, "amountInclTax": 121, "quantity": 1, @@ -3791,7 +3791,6 @@ paths: } ] } - /orders/{orderId}/fulfill: parameters: - in: path From c8368ab003f031a12446ddae103dbd2d8ffbcbdb Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Wed, 5 Mar 2025 14:08:57 +0100 Subject: [PATCH 37/37] OVPAY-1518 - Changed GET query params to OData. --- src/openapi/fiko/fiko-crud.yaml | 1307 +++++++++++++------------------ 1 file changed, 564 insertions(+), 743 deletions(-) diff --git a/src/openapi/fiko/fiko-crud.yaml b/src/openapi/fiko/fiko-crud.yaml index 9e956d0..33fb229 100644 --- a/src/openapi/fiko/fiko-crud.yaml +++ b/src/openapi/fiko/fiko-crud.yaml @@ -15,152 +15,70 @@ paths: tags: - Transactions v2.2 parameters: - - in: query - name: transactionItemId - schema: - type: string - format: uuid - example: 75174a9d-fff4-4682-b66b-ebd93cbe7ea3 - description: The id of the transaction item. - - in: query - name: transactionType + - $ref: "#/components/parameters/top" + - $ref: "#/components/parameters/skip" + - $ref: "#/components/parameters/filter" + - $ref: "#/components/parameters/count" + - name: $orderby + in: query + description: Order items by property values + required: false + style: form + explode: false schema: + uniqueItems: true type: array items: type: string - example: [sales] + enum: + - transactionItemRowId + - transactionItemId + - transactionType + - sourceName + - transactionId + - transactionLineId + - name + - quantity + - taxCode + - amountExclTax + - amountInclTax + - amountTax + - occurredOn + - type + - articleNumber + - status + - aggregationReference + - accountingSystemReference + - name: $select + in: query + description: Select properties to be returned + required: false + style: form explode: false - description: Possible types of the transaction ('sales'). - - in: query - name: sourceName - schema: - type: string - example: Verkoopengine - description: Source name of the transaction. - - in: query - name: transactionId - schema: - type: string - example: 1001236 - description: The id of the transaction. - - in: query - name: transactionLineId - schema: - type: string - example: 1 - description: The line id of the transaction. - - in: query - name: name - schema: - type: string - example: HTM Maandkorting 20% - description: The name of the product on the transaction. - - in: query - name: quantity - schema: - type: integer - example: 1 - description: The quantity of the transaction. - - in: query - name: taxCode - schema: - type: string - example: V21 - description: The tax code of the transaction. - - in: query - name: amountExclTax - schema: - type: integer - example: 100 - description: The amount of the transaction excluding tax in cents. - - in: query - name: amountInclTax - schema: - type: integer - example: 121 - description: The amount of the transaction including tax in cents. - - in: query - name: amountTax - schema: - type: integer - example: 21 - description: The tax amount of the transaction in cents. - - in: query - name: occurredBefore - schema: - type: string - format: date-time - example: 2024-10-04T00:00:00Z - description: Timestamp before which the transaction occurred. - - in: query - name: occurredAfter - schema: - type: string - format: date-time - example: 2024-10-04T00:00:00Z - description: Timestamp after which the transaction occurred. - - in: query - name: type schema: + uniqueItems: true type: array items: type: string - example: [debit, credit] - explode: false - description: Possible types of the transaction ('debit' or 'credit'). - - in: query - name: articleNumber - schema: - type: string - example: 4031 - description: The article number of the transaction. - - in: query - name: status - schema: - type: array - items: - type: string - example: - [ - created, - succeeded, - failed, - returned to trx-db, - returned to src, - re-entered, - ] - explode: false - description: Possible statuses of the transaction ('created', 'succeeded', 'failed', 'returned to trx-db', 'returned to src', 're-entered'). - - in: query - name: aggregationReference - schema: - type: string - example: FIKO-123456 - 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. %00 is searching for NULL-values. - - in: query - name: sort - schema: - type: string - example: occurredOn - description: The field by which the transaction items in the result body are sorted. - - in: query - name: limit - schema: - type: integer - example: 15 - description: The limit of the transaction items in the result body. - - in: query - name: offset - schema: - type: integer - example: 15 - description: The offset of the transaction items in the result body. + enum: + - transactionItemRowId + - transactionItemId + - transactionType + - sourceName + - transactionId + - transactionLineId + - name + - quantity + - taxCode + - amountExclTax + - amountInclTax + - amountTax + - occurredOn + - type + - articleNumber + - status + - aggregationReference + - accountingSystemReference responses: "200": description: OK @@ -585,94 +503,63 @@ paths: tags: - Audit Trail v2.2 parameters: - - in: query - name: transactionAuditTrailId - schema: - type: string - format: uuid - example: 498e11fd-86c7-4e26-8ca9-c5ed9049da9e - description: The id of the audit trail. - - in: query - name: transactionItemId - schema: - type: string - format: uuid - example: 9834b346-d68c-438d-9bd5-6716422c2657 - description: The id of the transaction item. - - in: query - name: user - schema: - type: string - example: fiko - description: The user who created the audit trail. - - in: query - name: timestampBefore - schema: - type: string - example: 2022-01-01 00:00:00 - description: The timestamp before the event occured. - - in: query - name: timestampAfter - schema: - type: string - example: 2022-01-01 00:00:00 - description: The timestamp after the event occured. - - in: query - name: action + - $ref: "#/components/parameters/top" + - $ref: "#/components/parameters/skip" + - $ref: "#/components/parameters/filter" + - $ref: "#/components/parameters/count" + - name: $orderby + in: query + description: Order items by property values + required: false + style: form + explode: false schema: + uniqueItems: true type: array items: type: string - example: [create, update] + enum: + - transactionAuditTrailRowId + - transactionAuditTrailId + - transactionItemId + - user + - timestamp + - action + - status + - correlationId + - name: $select + in: query + description: Select properties to be returned + required: false + style: form explode: false - description: The action of the event. - - in: query - name: status schema: + uniqueItems: true type: array items: type: string - example: - [ - created, - succeeded, - failed, - returned to trx-db, - returned to src, - re-entered, - ] + enum: + - transactionAuditTrailRowId + - transactionAuditTrailId + - transactionItemId + - user + - timestamp + - action + - status + - correlationId + - name: $expand + in: query + description: Expand related entities + required: false + style: form explode: false - description: The status of the transaction item. - - in: query - name: description schema: - type: string - example: Transaction created. - description: The description of the event. - - in: query - name: correlationId - schema: - type: string - example: a3891560-3084-42cb-867c-f289e7cda47d - description: The correlation id of the event. - - in: query - name: sort - schema: - type: string - example: timestamp - description: The field by which the transaction audit trails in the result body are sorted. - - in: query - name: limit - schema: - type: integer - example: 15 - description: The limit of the transaction audit trails in the result body. - - in: query - name: offset - schema: - type: integer - example: 15 - description: The offset of the transaction audit trails in the result body. + uniqueItems: true + type: array + items: + type: string + enum: + - TransactionItem responses: "200": description: OK @@ -808,86 +695,67 @@ paths: tags: - Failures v2.2 parameters: - - in: query - name: processingFailureId + - $ref: "#/components/parameters/top" + - $ref: "#/components/parameters/skip" + - $ref: "#/components/parameters/filter" + - $ref: "#/components/parameters/count" + - name: $orderby + in: query + description: Order items by property values + required: false + style: form + explode: false schema: - type: string - format: uuid - example: 9834b346-d68c-438d-9bd5-6716422c2657 - description: The id of the processing failure. - - in: query - name: transactionItemId + uniqueItems: true + type: array + items: + type: string + enum: + - processingFailureRowId + - processingFailureId + - transactionItemId + - timestamp + - element + - value + - reasonCode + - reasonDescription + - resolved + - change + - name: $select + in: query + description: Select properties to be returned + required: false + style: form + explode: false schema: - type: string - format: uuid - example: 9834b346-d68c-438d-9bd5-6716422c2657 - description: The id of the transaction item. - - in: query - name: timestampBefore + uniqueItems: true + type: array + items: + type: string + enum: + - processingFailureRowId + - processingFailureId + - transactionItemId + - timestamp + - element + - value + - reasonCode + - reasonDescription + - resolved + - change + - name: $expand + in: query + description: Expand related entities + required: false + style: form + explode: false schema: - type: string - example: 2022-01-01 00:00:00 - description: The timestamp before the event occured. - - in: query - name: timestampAfter - schema: - type: string - example: 2022-01-01 00:00:00 - description: The timestamp after the event occured. - - in: query - name: element - schema: - type: string - example: contraAccount - description: The element on which the validation failed. - - in: query - name: value - schema: - type: string - example: 84955 - description: The value of th element on which the validation failed. - - in: query - name: reasonCode - schema: - type: string - example: "002" - description: The code of the validation failure reason. - - in: query - name: reasonDescription - schema: - type: string - example: Contra account does not exist. - description: The description of the validation failure reason. - - in: query - name: resolved - schema: - type: boolean - example: true - description: Whether the failure is resolved. - - in: query - name: change - schema: - type: string - example: Adapt config - description: Description of what was changed to resolve the failure. - - in: query - name: sort - schema: - type: string - example: timestamp - description: The field by which the processing failures in the result body are sorted. - - in: query - name: limit - schema: - type: integer - example: 15 - description: The limit of the processing failures in the result body. - - in: query - name: offset - schema: - type: integer - example: 15 - description: The offset of the processing failures in the result body. + uniqueItems: true + type: array + items: + type: string + enum: + - TransactionItem responses: "200": description: OK @@ -1023,52 +891,44 @@ paths: tags: - Booking Processes v2.2 parameters: - - in: query - name: bookingProcessId - schema: - type: string - format: uuid - example: 37a8095b-19db-498f-9349-5f37d21c5bdf - description: The id of the booking process. - - in: query - name: name - schema: - type: string - example: Verkooptransacties - description: The name of the booking process. - - in: query - name: transactionType + - $ref: "#/components/parameters/top" + - $ref: "#/components/parameters/skip" + - $ref: "#/components/parameters/filter" + - $ref: "#/components/parameters/count" + - name: $orderby + in: query + description: Order items by property values + required: false + style: form + explode: false schema: + uniqueItems: true type: array items: type: string - example: [sales, purchase] + enum: + - bookingProcessRowId + - bookingProcessId + - name + - transactionType + - identifyingFieldName + - name: $select + in: query + description: Select properties to be returned + required: false + style: form explode: false - description: The transaction type of the booking process. - - in: query - name: identifyingFieldName schema: - type: string - example: articleNumber - description: The identifying field name of the booking process. - - in: query - name: sort - schema: - type: string - example: name - description: The field by which the booking processes in the result body are sorted. - - in: query - name: limit - schema: - type: integer - example: 15 - description: The limit of the booking processes in the result body. - - in: query - name: offset - schema: - type: integer - example: 15 - description: The offset of the booking processes in the result body. + uniqueItems: true + type: array + items: + type: string + enum: + - bookingProcessRowId + - bookingProcessId + - name + - transactionType + - identifyingFieldName responses: "200": description: OK @@ -1222,92 +1082,73 @@ paths: tags: - Booking Processes v2.2 parameters: - - in: query - name: bookingMetadataId + - $ref: "#/components/parameters/top" + - $ref: "#/components/parameters/skip" + - $ref: "#/components/parameters/filter" + - $ref: "#/components/parameters/count" + - name: $orderby + in: query + description: Order items by property values + required: false + style: form + explode: false schema: - type: string - format: uuid - example: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 - description: The id of the booking metadata. - - in: query - name: bookingProcessId + uniqueItems: true + type: array + items: + type: string + enum: + - bookingMetadataRowId + - bookingMetadataId + - bookingProcessId + - description + - department + - costType + - documentCode + - hasSeparateTaxLine + - hasLinePerIdentifyingField + - hasLinePerSource + - hasLinePerConcession + - validFrom + - validUntil + - name: $select + in: query + description: Select properties to be returned + required: false + style: form + explode: false schema: - type: string - format: uuid - example: 37a8095b-19db-498f-9349-5f37d21c5bdf - description: The id of the parent booking process. - - in: query - name: description + uniqueItems: true + type: array + items: + type: string + enum: + - bookingMetadataRowId + - bookingMetadataId + - bookingProcessId + - description + - department + - costType + - documentCode + - hasSeparateTaxLine + - hasLinePerIdentifyingField + - hasLinePerSource + - hasLinePerConcession + - validFrom + - validUntil + - name: $expand + in: query + description: Expand related entities + required: false + style: form + explode: false schema: - type: string - example: Dagkaart - description: The description of the booking. - - in: query - name: department - schema: - type: string - example: 900 - description: The department of the booking. - - in: query - name: costType - schema: - type: string - example: 84956 - description: The cost type of the booking. - - in: query - name: documentCode - schema: - type: string - example: FIKO-OPBR - description: The document code of the booking. - - in: query - name: hasSeparateTaxLine - schema: - type: boolean - example: true - description: Whether the booking has a separate tax line. - - in: query - name: hasLinePerIdentifyingField - schema: - type: boolean - example: true - description: Whether the booking has a line per identifying field. - - in: query - name: hasLinePerSource - schema: - type: boolean - example: true - description: Whether the booking has a line per source. - - in: query - name: hasLinePerConcession - schema: - type: boolean - example: true - description: Whether the booking has a line per concession. - - in: query - name: validAt - schema: - type: string - example: 2024-01-01T00:00:00.000 - description: Timestamp that the booking metadata is valid. - - in: query - name: sort - schema: - type: string - example: validFrom - description: The field by which the booking metadata in the result body are sorted. - - in: query - name: limit - schema: - type: integer - example: 15 - description: The limit of the booking metadata in the result body. - - in: query - name: offset - schema: - type: integer - example: 15 - description: The offset of the booking metadata in the result body. + uniqueItems: true + type: array + items: + type: string + enum: + - BookingProcess responses: "200": description: OK @@ -1505,44 +1346,55 @@ paths: tags: - Booking Processes v2.2 parameters: - - in: query - name: bookingGroupFieldId + - $ref: "#/components/parameters/top" + - $ref: "#/components/parameters/skip" + - $ref: "#/components/parameters/filter" + - $ref: "#/components/parameters/count" + - name: $orderby + in: query + description: Order items by property values + required: false + style: form + explode: false schema: - type: string - format: uuid - example: 37a8095b-19db-498f-9349-5f37d21c5bdf - description: The id of the booking group field. - - in: query - name: bookingMetadataId + uniqueItems: true + type: array + items: + type: string + enum: + - bookingGroupFieldRowId + - bookingGroupFieldId + - bookingMetadataId + - identifyingFieldValue + - name: $select + in: query + description: Select properties to be returned + required: false + style: form + explode: false schema: - type: string - format: uuid - example: 63d4a7e2-62c3-428b-a4bb-e4ee45516f2a - description: The id of the parent booking metadata. - - in: query - name: identifyingFieldValue + uniqueItems: true + type: array + items: + type: string + enum: + - bookingGroupFieldRowId + - bookingGroupFieldId + - bookingMetadataId + - identifyingFieldValue + - name: $expand + in: query + description: Expand related entities + required: false + style: form + explode: false schema: - type: string - example: 1737 - description: The identifying field value. - - in: query - name: sort - schema: - type: string - example: bookingMetadataId - description: The field by which the booking group fields in the result body are sorted. - - in: query - name: limit - schema: - type: integer - example: 15 - description: The limit of the booking group fields in the result body. - - in: query - name: offset - schema: - type: integer - example: 15 - description: The offset of the booking group fields in the result body. + uniqueItems: true + type: array + items: + type: string + enum: + - BookingMetadata responses: "200": description: OK @@ -1632,131 +1484,83 @@ paths: tags: - Booking Processes v2.2 parameters: - - in: query - name: bookingLineMetadataId - schema: - type: string - format: uuid - example: 37a8095b-19db-498f-9349-5f37d21c5bdf - description: The id of the booking line metadata. - - in: query - name: bookingMetadataId - schema: - type: string - format: uuid - example: 63d4a7e2-62c3-428b-a4bb-e4ee45516f2a - description: The id of the parent booking metadata. - - in: query - name: name - schema: - type: string - example: Dakaart - BUS - description: The name of the booking line metadata. - - in: query - name: sourceMetadataId - schema: - type: string - example: 9b371ab4-2c47-4aa5-bcf8-6642385278ac - description: The source of the booking line metadata. - - in: query - name: identifyingFieldValue - schema: - type: string - example: 1737 - description: The identifying field value. - - in: query - name: concessionId - schema: - type: array - items: - type: integer - example: [1, 2] + - $ref: "#/components/parameters/top" + - $ref: "#/components/parameters/skip" + - $ref: "#/components/parameters/filter" + - $ref: "#/components/parameters/count" + - name: $orderby + in: query + description: Order items by property values + required: false + style: form explode: false - description: The name of the concession. - - in: query - name: lineType schema: + uniqueItems: true type: array items: type: string - example: [summary, analysis, tax] + enum: + - bookingLineMetadataRowId + - bookingLineMetadataId + - bookingMetadataId + - name + - sourceMetadataId + - identifyingFieldValue + - concessionId + - lineType + - lineSense + - costCenter + - articleName + - extRef1 + - extRef2 + - extRef3 + - extRef4 + - extRef5 + - extRef6 + - name: $select + in: query + description: Select properties to be returned + required: false + style: form explode: false - description: The type of the line. - - in: query - name: lineSense schema: + uniqueItems: true type: array items: type: string - example: [debit, credit] + enum: + - bookingLineMetadataRowId + - bookingLineMetadataId + - bookingMetadataId + - name + - sourceMetadataId + - identifyingFieldValue + - concessionId + - lineType + - lineSense + - costCenter + - articleName + - extRef1 + - extRef2 + - extRef3 + - extRef4 + - extRef5 + - extRef6 + - name: $expand + in: query + description: Expand related entities + required: false + style: form explode: false - description: The sense of the line. - - in: query - name: costCenter schema: - type: string - example: 603031 - description: The cost center of the booking line metadata. - - in: query - name: artcleName - schema: - type: string - example: Dagkaart - description: The article name of the booking line metadata. - - in: query - name: extRef1 - schema: - type: string - example: extRef1 - description: External reference 1. - - in: query - name: extRef2 - schema: - type: string - example: extRef2 - description: External reference 2. - - in: query - name: extRef3 - schema: - type: string - example: extRef3 - description: External reference 3. - - in: query - name: extRef4 - schema: - type: string - example: extRef4 - description: External reference 4. - - in: query - name: extRef5 - schema: - type: string - example: extRef5 - description: External reference 5. - - in: query - name: extRef6 - schema: - type: string - example: extRef6 - description: External reference 6. - - in: query - name: sort - schema: - type: string - example: lineType - description: The field by which the booking line metadata in the result body are sorted. - - in: query - name: limit - schema: - type: integer - example: 15 - description: The limit of the booking line metadata in the result body. - - in: query - name: offset - schema: - type: integer - example: 15 - description: The offset of the booking line metadata in the result body. + uniqueItems: true + type: array + items: + type: string + enum: + - BookingMetadata + - SourceMetadata + - Concession responses: "200": description: OK @@ -2002,56 +1806,48 @@ paths: tags: - Metadata v2.2 parameters: - - in: query - name: taxMetadataId + - $ref: "#/components/parameters/top" + - $ref: "#/components/parameters/skip" + - $ref: "#/components/parameters/filter" + - $ref: "#/components/parameters/count" + - name: $orderby + in: query + description: Order items by property values + required: false + style: form + explode: false schema: - type: string - format: uuid - example: 37a8095b-19db-498f-9349-5f37d21c5bdf - description: The id of the tax metadata. - - in: query - name: taxCode + uniqueItems: true + type: array + items: + type: string + enum: + - taxMetadataRowId + - taxMetadataId + - taxCode + - taxPercentageAmount + - description + - validFrom + - validUntil + - name: $select + in: query + description: Select properties to be returned + required: false + style: form + explode: false schema: - type: string - example: V21 - description: The tax code. - - in: query - name: taxPercentageAmount - schema: - type: number - example: 21 - description: The tax percentage amount. - - in: query - name: description - schema: - type: string - example: BTW VERKOOP HOOG 21% - description: The description of the tax metadata. - - in: query - name: validAt - schema: - type: string - format: date-time - example: 2024-03-22T09:00:00 - description: Timestamp that the metadata is valid. - - in: query - name: sort - schema: - type: string - example: validFrom - description: The field by which the tax metadata in the result body are sorted. - - in: query - name: limit - schema: - type: integer - example: 15 - description: The limit of the tax metadata in the result body. - - in: query - name: offset - schema: - type: integer - example: 15 - description: The offset of the tax metadata in the result body. + uniqueItems: true + type: array + items: + type: string + enum: + - taxMetadataRowId + - taxMetadataId + - taxCode + - taxPercentageAmount + - description + - validFrom + - validUntil responses: "200": description: OK @@ -2183,70 +1979,50 @@ paths: tags: - Metadata v2.2 parameters: - - in: query - name: sourceMetadataId - schema: - type: string - format: uuid - example: 37a8095b-19db-498f-9349-5f37d21c5bdf - description: The id of the source metadata. - - in: query - name: incomingName - schema: - type: string - example: VerkoopEngine - description: The name of the source. - - in: query - name: incomingEntity - schema: - type: string - example: OrderLine - description: The entity of the source. - - in: query - name: outgoingName - schema: - type: string - example: Website Verkopen - description: The name of the destination. - - in: query - name: businessOwner - schema: - type: string - example: Koos Verweg - description: The business owner of the source. - - in: query - name: rejectionProcessing + - $ref: "#/components/parameters/top" + - $ref: "#/components/parameters/skip" + - $ref: "#/components/parameters/filter" + - $ref: "#/components/parameters/count" + - name: $orderby + in: query + description: Order items by property values + required: false + style: form + explode: false schema: + uniqueItems: true type: array items: type: string - example: [mail, system] + enum: + - sourceMetadataRowId + - sourceMetadataId + - incomingName + - incomingEntity + - outgoingName + - businessOwner + - rejectionProcessing + - rejectionInfo + - name: $select + in: query + description: Select properties to be returned + required: false + style: form explode: false - description: The rejection processing of the source. - - in: query - name: rejectionInfo schema: - type: string - example: api.htm.nl/v2/account/12345/msgs/abc - description: The rejection info of the source. - - in: query - name: sort - schema: - type: string - example: incomingName - description: The field by which the source metadata in the result body are sorted. - - in: query - name: limit - schema: - type: integer - example: 15 - description: The limit of the source metadata in the result body. - - in: query - name: offset - schema: - type: integer - example: 15 - description: The offset of the source metadata in the result body. + uniqueItems: true + type: array + items: + type: string + enum: + - sourceMetadataRowId + - sourceMetadataId + - incomingName + - incomingEntity + - outgoingName + - businessOwner + - rejectionProcessing + - rejectionInfo responses: "200": description: OK @@ -2364,43 +2140,42 @@ paths: tags: - Metadata v2.2 parameters: - - in: query - name: accountingPeriodMetadataId + - $ref: "#/components/parameters/top" + - $ref: "#/components/parameters/skip" + - $ref: "#/components/parameters/filter" + - $ref: "#/components/parameters/count" + - name: $orderby + in: query + description: Order items by property values + required: false + style: form + explode: false schema: - type: string - format: uuid - example: 37a8095b-19db-498f-9349-5f37d21c5bdf - description: The id of the accounting period metadata. - - in: query - name: accountingPeriod + uniqueItems: true + type: array + items: + type: string + enum: + - accountingPeriodMetadataRowId + - accountingPeriodMetadataId + - accountingPeriod + - isOpen + - name: $select + in: query + description: Select properties to be returned + required: false + style: form + explode: false schema: - type: string - example: 2024/01 - description: The accounting period. - - in: query - name: isOpen - schema: - type: boolean - example: true - description: Whether the accounting period is open. - - in: query - name: sort - schema: - type: string - example: accountingPeriod - description: The field by which the accounting period metadata in the result body are sorted. - - in: query - name: limit - schema: - type: integer - example: 15 - description: The limit of the accounting period metadata in the result body. - - in: query - name: offset - schema: - type: integer - example: 15 - description: The offset of the accounting period metadata in the result body. + uniqueItems: true + type: array + items: + type: string + enum: + - accountingPeriodMetadataRowId + - accountingPeriodMetadataId + - accountingPeriod + - isOpen responses: "200": description: OK @@ -2502,52 +2277,59 @@ paths: tags: - Metadata v2.2 parameters: - - in: query - name: concessionMetadataId - schema: - type: string - format: uuid - example: 37a8095b-19db-498f-9349-5f37d21c5bdf - description: The id of the concession metadata. - - in: query - name: concessionId + - $ref: "#/components/parameters/top" + - $ref: "#/components/parameters/skip" + - $ref: "#/components/parameters/filter" + - $ref: "#/components/parameters/count" + - name: $orderby + in: query + description: Order items by property values + required: false + style: form + explode: false schema: + uniqueItems: true type: array items: - type: integer - example: [1, 2] + type: string + enum: + - concessionMetadataRowId + - concessionMetadataId + - concessionId + - percentage + - validFrom + - validUntil + - name: $select + in: query + description: Select properties to be returned + required: false + style: form explode: false - description: The name of the concession. - - in: query - name: percentage schema: - type: number - example: 84.021 - description: The percentage of the concession. - - in: query - name: validAt + uniqueItems: true + type: array + items: + type: string + enum: + - concessionMetadataRowId + - concessionMetadataId + - concessionId + - percentage + - validFrom + - validUntil + - name: $expand + in: query + description: Expand related entities + required: false + style: form + explode: false schema: - type: string - example: 2024-01-01T00:00:00.000 - description: Timestamp that the metadata is valid. - - in: query - name: sort - schema: - type: string - example: validFrom - description: The field by which the concession metadata in the result body are sorted. - - in: query - name: limit - schema: - type: integer - example: 15 - description: The limit of the concession metadata in the result body. - - in: query - name: offset - schema: - type: integer - example: 15 - description: The offset of the concession metadata in the result body. + uniqueItems: true + type: array + items: + type: string + enum: + - Concession responses: "200": description: OK @@ -4514,3 +4296,42 @@ components: example: - "/account/12345" - "/account/67890" + parameters: + top: + name: $top + in: query + description: Show only the first n items + required: false + style: form + explode: true + schema: + minimum: 0 + type: integer + skip: + name: $skip + in: query + description: Skip the first n items + required: false + style: form + explode: true + schema: + minimum: 0 + type: integer + count: + name: $count + in: query + description: Include count of items + required: false + style: form + explode: true + schema: + type: boolean + filter: + name: $filter + in: query + description: Filter items by property values + required: false + style: form + explode: true + schema: + type: string