diff --git a/src/openapi/products/purchased_products-crud.yaml b/src/openapi/products/purchased_products-crud.yaml index 991e1f7..4ad9317 100644 --- a/src/openapi/products/purchased_products-crud.yaml +++ b/src/openapi/products/purchased_products-crud.yaml @@ -246,7 +246,7 @@ paths: post: tags: - Purchased Product - summary: Create a new purchased product. + summary: Create one or more purchased product(s) in bulk. description: Create a new purchased product. requestBody: required: true @@ -255,131 +255,286 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - Create Purchased GBO Product: + Create Single Purchased GBO Product: value: { - "productId": 11, - "createdOn": "2024-10-04T12:34:56.000", - "lastUpdatedOn": "2024-10-04T12:34:56.000", - "purchasedProductResources": - [ - { - "resourceNameId": 1, - "resourceIdentifier": "408eefa9-b393-4bb3-8439-b2e51833abc7", - }, - { - "resourceNameId": 2, - "resourceIdentifier": "f809a6e1-1c8d-4f8e-8a6e-0d0b1e1e1e1e", - }, - ], - "purchasedGboProducts": - [ - { - "salesTimestamp": "2024-10-04T12:34:56.000", - "refundTimestamp": "2024-10-04T12:34:56.000", - "fromInclusive": "2024-10-04T12:34:56.000", - "untilInclusive": "2024-10-04T12:34:56.000", - "packageTemplateId": "30003", - "xBot": "f15efe6f-7353-4968-b134-60ba6fc2da8b", - "xTat": "42efebf7-132e-4ee0-9cbb-4037a9a54ad8", - "xSpit": "d67b2f72-918a-4e6c-957d-a39ed9c9e16b", - "customerTokenId": "b6492322-c458-4857-9ac3-a109c1887b9f", - "ovPayTokenId": 13, - "createdOn": "2024-10-04T12:34:56.000", - "lastUpdatedOn": "2024-10-04T12:34:56.000", - "createdBy": "someuser", - "lastUpdatedBy": null, - }, - ], - "purchasedTapconnectTickets": [], - "issuedVouchers": [], + "purchasedProducts":[ + { + "productId": 11, + "createdOn": "2024-10-04T12:34:56.000", + "lastUpdatedOn": "2024-10-04T12:34:56.000", + "purchasedProductResources": + [ + { + "resourceNameId": 1, + "resourceIdentifier": "408eefa9-b393-4bb3-8439-b2e51833abc7", + }, + { + "resourceNameId": 2, + "resourceIdentifier": "f809a6e1-1c8d-4f8e-8a6e-0d0b1e1e1e1e", + }, + ], + "purchasedGboProducts": + [ + { + "salesTimestamp": "2024-10-04T12:34:56.000", + "refundTimestamp": "2024-10-04T12:34:56.000", + "fromInclusive": "2024-10-04T12:34:56.000", + "untilInclusive": "2024-10-04T12:34:56.000", + "packageTemplateId": "30003", + "xBot": "f15efe6f-7353-4968-b134-60ba6fc2da8b", + "xTat": "42efebf7-132e-4ee0-9cbb-4037a9a54ad8", + "xSpit": "d67b2f72-918a-4e6c-957d-a39ed9c9e16b", + "customerTokenId": "b6492322-c458-4857-9ac3-a109c1887b9f", + "ovPayTokenId": 13, + "createdOn": "2024-10-04T12:34:56.000", + "lastUpdatedOn": "2024-10-04T12:34:56.000", + "createdBy": "someuser", + "lastUpdatedBy": null, + }, + ], + "purchasedTapconnectTickets": [], + "issuedVouchers": [], + } + ] } - Create Purchased TapConnet Ticket: - value: + Create Single Purchased TapConnet Ticket: + value: { - "productId": 11, - "createdOn": "2024-10-04T12:34:56.000", - "lastUpdatedOn": "2024-10-04T12:34:56.000", - "purchasedProductResources": - [ - { - "resourceNameId": 1, - "resourceIdentifier": "408eefa9-b393-4bb3-8439-b2e51833abc7", - }, - { - "resourceNameId": 2, - "resourceIdentifier": "f809a6e1-1c8d-4f8e-8a6e-0d0b1e1e1e1e", - }, - ], - "purchasedGboProducts": [], - "purchasedTapconnectTickets": - [ - { - "issuedAt": "2024-10-04T12:34:56.000", - "activatedAt": "2024-10-04T12:34:56.000", - "cancelledAt": null, - "ticketReference": "KJj43nejhbTxhr897287", - "createdOn": "2024-10-04T12:34:56.000", - "lastUpdatedOn": "2024-10-04T12:34:56.000", - "createdBy": "user", - "lastUpdatedBy": "user", - }, - ], - "issuedVouchers": [], + "purchasedProducts":[ + { + "productId": 11, + "createdOn": "2024-10-04T12:34:56.000", + "lastUpdatedOn": "2024-10-04T12:34:56.000", + "purchasedProductResources": + [ + { + "resourceNameId": 1, + "resourceIdentifier": "408eefa9-b393-4bb3-8439-b2e51833abc7", + }, + { + "resourceNameId": 2, + "resourceIdentifier": "f809a6e1-1c8d-4f8e-8a6e-0d0b1e1e1e1e", + }, + ], + "purchasedGboProducts": [], + "purchasedTapconnectTickets": + [ + { + "issuedAt": "2024-10-04T12:34:56.000", + "activatedAt": "2024-10-04T12:34:56.000", + "cancelledAt": null, + "ticketReference": "KJj43nejhbTxhr897287", + "createdOn": "2024-10-04T12:34:56.000", + "lastUpdatedOn": "2024-10-04T12:34:56.000", + "createdBy": "user", + "lastUpdatedBy": "user", + }, + ], + "issuedVouchers": [], + } + ] } - Create Issued Voucher: + Create Single Issued Voucher: value: { - "productId": 11, - "createdOn": "2024-10-04T12:34:56.000", - "lastUpdatedOn": "2024-10-04T12:34:56.000", - "purchasedProductResources": - [ - { - "resourceNameId": 1, - "resourceIdentifier": "408eefa9-b393-4bb3-8439-b2e51833abc7", - }, - { - "resourceNameId": 2, - "resourceIdentifier": "f809a6e1-1c8d-4f8e-8a6e-0d0b1e1e1e1e", - }, - ], - "purchasedGboProducts": [], - "purchasedTapconnectTickets": [], - "issuedVouchers": - [ - { - "voucherCode": "VOUCHER123", - "voucherStatusInstances": - [ - { - "voucherStatusId": 1, - "createdOn": "2024-10-04T12:34:56.000", - }, - ], - "voucherClaims": - [ - { - "mandatoryCustomerDataItemId": 8, - "value": "1999-12-31", - }, - { - "mandatoryCustomerDataItemId": 4, - "value": "vlad.harkonnen@househarkonnen.net", - }, - ], - }, - ], + "purchasedProducts":[ + { + "productId": 11, + "createdOn": "2024-10-04T12:34:56.000", + "lastUpdatedOn": "2024-10-04T12:34:56.000", + "purchasedProductResources": + [ + { + "resourceNameId": 1, + "resourceIdentifier": "408eefa9-b393-4bb3-8439-b2e51833abc7", + }, + { + "resourceNameId": 2, + "resourceIdentifier": "f809a6e1-1c8d-4f8e-8a6e-0d0b1e1e1e1e", + }, + ], + "purchasedGboProducts": [], + "purchasedTapconnectTickets": [], + "issuedVouchers": + [ + { + "voucherCode": "VOUCHER123", + "voucherStatusInstances": + [ + { + "voucherStatusId": 1, + "createdOn": "2024-10-04T12:34:56.000", + }, + ], + "voucherClaims": + [ + { + "mandatoryCustomerDataItemId": 8, + "value": "1999-12-31", + }, + { + "mandatoryCustomerDataItemId": 4, + "value": "vlad.harkonnen@househarkonnen.net", + }, + ], + }, + ], + } + ] + } + Create Multiple Issued Vouchers: + value: + { + "purchasedProducts":[ + { + "productId": 11, + "createdOn": "2024-10-04T12:34:56.000", + "lastUpdatedOn": "2024-10-04T12:34:56.000", + "purchasedProductResources": + [ + { + "resourceNameId": 1, + "resourceIdentifier": "408eefa9-b393-4bb3-8439-b2e51833abc7", + }, + { + "resourceNameId": 2, + "resourceIdentifier": "f809a6e1-1c8d-4f8e-8a6e-0d0b1e1e1e1e", + }, + ], + "purchasedGboProducts": [], + "purchasedTapconnectTickets": [], + "issuedVouchers": + [ + { + "voucherCode": "VOUCHER123", + "voucherStatusInstances": + [ + { + "voucherStatusId": 1, + "createdOn": "2024-10-04T12:34:56.000", + }, + ], + "voucherClaims": + [ + { + "mandatoryCustomerDataItemId": 8, + "value": "1999-12-31", + }, + { + "mandatoryCustomerDataItemId": 4, + "value": "vlad.harkonnen@househarkonnen.net", + }, + ], + }, + ], + }, + { + "productId": 11, + "createdOn": "2024-10-04T12:34:56.000", + "lastUpdatedOn": "2024-10-04T12:34:56.000", + "purchasedProductResources": + [ + { + "resourceNameId": 1, + "resourceIdentifier": "7ce32f9b-52f0-4e80-a527-0c6184b57f52", + }, + { + "resourceNameId": 2, + "resourceIdentifier": "02047745-f03e-4c00-8e1b-8dc5c86a786e", + }, + ], + "purchasedGboProducts": [], + "purchasedTapconnectTickets": [], + "issuedVouchers": + [ + { + "voucherCode": "VOUCHER123", + "voucherStatusInstances": + [ + { + "voucherStatusId": 1, + "createdOn": "2024-10-04T12:34:56.000", + }, + ], + "voucherClaims": + [ + { + "mandatoryCustomerDataItemId": 8, + "value": "1940-01-18", + }, + { + "mandatoryCustomerDataItemId": 4, + "value": "valdemar.hoskanner@househarkonnen.net", + }, + ], + }, + ], + }, + { + "productId": 11, + "createdOn": "2024-10-04T12:34:56.000", + "lastUpdatedOn": "2024-10-04T12:34:56.000", + "purchasedProductResources": + [ + { + "resourceNameId": 1, + "resourceIdentifier": "7c71ec8a-3326-451f-9464-3e36d10260e3", + }, + { + "resourceNameId": 2, + "resourceIdentifier": "73c7a805-2edf-4616-a04c-267e88e0931c", + }, + ], + "purchasedGboProducts": [], + "purchasedTapconnectTickets": [], + "issuedVouchers": + [ + { + "voucherCode": "VOUCHER123", + "voucherStatusInstances": + [ + { + "voucherStatusId": 1, + "createdOn": "2024-10-04T12:34:56.000", + }, + ], + "voucherClaims": + [ + { + "mandatoryCustomerDataItemId": 8, + "value": "2016-06-08", + }, + { + "mandatoryCustomerDataItemId": 4, + "value": "alia.artreides@housearteides.net", + }, + ], + }, + ], + } + ] } responses: - "201": - description: Created + "202": + description: Accepted content: application/json: schema: - $ref: "#/components/schemas/unavailable" - example: - { "purchasedProductId": "a9b3dea5-fb8a-4b1e-9fe6-90cad31c0cfd" } + $ref: "#/components/schemas/BulkResponseBody" + examples: + Array of purchased products accepted: + summary: Array of purchased products accepted + description: | + The array of purchased products was accepted successfully. + The purchased products 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 + clientTrackingId: 08584620957189579629541919368CU00 + callbackurl: https://api.integratielaag.nl/purchasedproducts/responsestatus/runtime/webhooks/workflow/scaleUnits/prod-00/workflows/6fd466916c + retryAfter: 10 /purchasedproducts/{purchasedProductId}: parameters: - in: path @@ -1311,6 +1466,32 @@ components: schemas: unavailable: type: object + BulkResponseBody: + type: object + properties: + 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/purchasedproducts/responsestatus/runtime/webhooks/workflow/scaleUnits/prod-00/workflows/6fd466916c + retryAfter: + type: integer + example: 10 + required: + - startTime + - status + - clientTrackingId + - callbackurl + - retryAfter rfc9457: type: object properties: