diff --git a/src/openapi/products/purchased_products-crud.yaml b/src/openapi/products/purchased_products-crud.yaml index 7bacd3b..991e1f7 100644 --- a/src/openapi/products/purchased_products-crud.yaml +++ b/src/openapi/products/purchased_products-crud.yaml @@ -80,54 +80,169 @@ paths: application/json: schema: $ref: "#/components/schemas/unavailable" - example: - { - "purchasedProducts": - [ - { - "purchasedProductId": "45573af8-a9aa-4f7c-95f4-b1971bf2c3c6", - "productId": 12, - "createdOn": "2024-10-04T12:34:56.000", - "lastUpdatedOn": "2024-10-04T12:34:56.000", - "purchasedProductResources": - [ - { - "purchasedProductResourceId": "c7900130-0637-41d7-83fe-6fe283a0a1f1", - "resourceName": - { "resourceNameId": 1, "name": "contracts" }, - "resourceIdentifier": "408eefa9-b393-4bb3-8439-b2e51833abc7", - }, - { - "purchasedProductResourceId": "06dae996-cdfe-45f1-833a-720201c35114", - "resourceName": - { "resourceNameId": 2, "name": "orders" }, - "resourceIdentifier": "f809a6e1-1c8d-4f8e-8a6e-0d0b1e1e1e1e", - }, - ], - "purchasedGboProducts": - [ - { - "purchasedGboProductId": "a9b3dea5-fb8a-4b1e-9fe6-90cad31c0cfd", - "salesTimestamp": "2024-10-04T12:34:56.000", - "refundTimestamp": "2024-10-04T12:34:56.000", - "fromInclusive": "2024-10-04T12:34:56.000", - "untilInclusive": "2024-10-04T12:34:56.000", - "packageTemplateId": "30003", - "xBot": "f15efe6f-7353-4968-b134-60ba6fc2da8b", - "xTat": "42efebf7-132e-4ee0-9cbb-4037a9a54ad8", - "xSpit": "d67b2f72-918a-4e6c-957d-a39ed9c9e16b", - "customerTokenId": "b6492322-c458-4857-9ac3-a109c1887b9f", - "ovPayTokenId": 13, - "createdOn": "2024-10-04T12:34:56.000", - "lastUpdatedOn": "2024-10-04T12:34:56.000", - "createdBy": "someuser", - "lastUpdatedBy": null, - }, - ], - }, - ], - "href": null, - } + examples: + Empty list: + value: { "purchasedProducts": [], "href": null } + List with multiple purchased products: + value: + { + "purchasedProducts": + [ + { + "purchasedProductId": "45573af8-a9aa-4f7c-95f4-b1971bf2c3c6", + "productId": 12, + "createdOn": "2024-10-04T12:34:56.000", + "lastUpdatedOn": "2024-10-04T12:34:56.000", + "purchasedProductResources": + [ + { + "purchasedProductResourceId": "c7900130-0637-41d7-83fe-6fe283a0a1f1", + "resourceName": + { + "resourceNameId": 1, + "name": "contracts", + }, + "resourceIdentifier": "408eefa9-b393-4bb3-8439-b2e51833abc7", + }, + { + "purchasedProductResourceId": "06dae996-cdfe-45f1-833a-720201c35114", + "resourceName": + { "resourceNameId": 2, "name": "orders" }, + "resourceIdentifier": "f809a6e1-1c8d-4f8e-8a6e-0d0b1e1e1e1e", + }, + ], + "purchasedGboProducts": + [ + { + "purchasedGboProductId": "a9b3dea5-fb8a-4b1e-9fe6-90cad31c0cfd", + "salesTimestamp": "2024-10-04T12:34:56.000", + "refundTimestamp": "2024-10-04T12:34:56.000", + "fromInclusive": "2024-10-04T12:34:56.000", + "untilInclusive": "2024-10-04T12:34:56.000", + "packageTemplateId": "30003", + "xBot": "f15efe6f-7353-4968-b134-60ba6fc2da8b", + "xTat": "42efebf7-132e-4ee0-9cbb-4037a9a54ad8", + "xSpit": "d67b2f72-918a-4e6c-957d-a39ed9c9e16b", + "customerTokenId": "b6492322-c458-4857-9ac3-a109c1887b9f", + "ovPayTokenId": 13, + "createdOn": "2024-10-04T12:34:56.000", + "lastUpdatedOn": "2024-10-04T12:34:56.000", + "createdBy": "someuser", + "lastUpdatedBy": null, + }, + ], + "purchasedTapconnectTickets": [], + "issuedVouchers": [], + }, + { + "purchasedProductId": "599f1296-ed56-4b90-a518-5c8e917a7dd6", + "productId": 12, + "createdOn": "2024-10-04T12:34:56.000", + "lastUpdatedOn": "2024-10-04T12:34:56.000", + "purchasedProductResources": + [ + { + "purchasedProductResourceId": "c7900130-0637-41d7-83fe-6fe283a0a1f1", + "resourceName": + { + "resourceNameId": 1, + "name": "contracts", + }, + "resourceIdentifier": "408eefa9-b393-4bb3-8439-b2e51833abc7", + }, + { + "purchasedProductResourceId": "06dae996-cdfe-45f1-833a-720201c35114", + "resourceName": + { "resourceNameId": 2, "name": "orders" }, + "resourceIdentifier": "f809a6e1-1c8d-4f8e-8a6e-0d0b1e1e1e1e", + }, + ], + "purchasedGboProducts": [], + "purchasedTapconnectTickets": + [ + { + "purchasedTapconnectTicketId": "d4e5f6a7-b8c9-0d1e-2f3a-4b5c6d7e8f90", + "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": [], + }, + { + "purchasedProductId": "2c97c451-3bd5-467b-8db0-fd3a04fe5bc6", + "productId": 12, + "createdOn": "2024-10-04T12:34:56.000", + "lastUpdatedOn": "2024-10-04T12:34:56.000", + "purchasedProductResources": + [ + { + "purchasedProductResourceId": "c7900130-0637-41d7-83fe-6fe283a0a1f1", + "resourceName": + { + "resourceNameId": 1, + "name": "contracts", + }, + "resourceIdentifier": "408eefa9-b393-4bb3-8439-b2e51833abc7", + }, + { + "purchasedProductResourceId": "06dae996-cdfe-45f1-833a-720201c35114", + "resourceName": + { "resourceNameId": 2, "name": "orders" }, + "resourceIdentifier": "f809a6e1-1c8d-4f8e-8a6e-0d0b1e1e1e1e", + }, + ], + "purchasedGboProducts": [], + "purchasedTapconnectTickets": [], + "issuedVouchers": + [ + { + "issuedVoucherId": "e1f2g3h4-i5j6-k7l8-m9n0-o1p2q3r4s5t6", + "voucherCode": "VOUCHER12345", + "voucherStatusInstances": + [ + { + "voucherStatusInstanceId": "ac8c54d1-79f7-4167-8817-c66b9575d679", + "voucherStatus": + { + "voucherStatusId": 1, + "name": "New", + }, + "createdOn": "2024-10-04T12:34:56.000", + }, + { + "voucherStatusInstanceId": "b01412e6-70fb-4c05-9bef-e65bf2747ca1", + "voucherStatus": + { + "voucherStatusId": 2, + "name": "Issued", + }, + "createdOn": "2024-10-04T12:37:14.000", + }, + ], + "voucherClaims": + [ + { + "voucherClaimId": "b1c2d3e4-f5g6-h7i8-j9k0-l1m2n3o4p5q6", + "mandatoryCustomerDataItem": + { + "mandatoryCustomerDataItemId": 8, + "name": "PadBirthdate", + }, + "value": "1990-01-01", + }, + ], + }, + ], + }, + ], + "href": null, + } post: tags: - Purchased Product @@ -139,42 +254,123 @@ paths: application/json: schema: $ref: "#/components/schemas/unavailable" - example: - { - "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, - }, - ], - } + examples: + Create 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": [], + } + Create 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": [], + } + Create 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", + }, + ], + }, + ], + } responses: "201": description: Created @@ -206,45 +402,143 @@ paths: application/json: schema: $ref: "#/components/schemas/unavailable" - example: - { - "purchasedProductId": "a9b3dea5-fb8a-4b1e-9fe6-90cad31c0cfd", - "productId": 14, - "createdOn": "2024-10-04T12:34:56.000", - "lastUpdatedOn": "2024-10-04T12:34:56.000", - "purchasedProductResources": - [ - { - "resourceName": - { "resourceNameId": 1, "name": "contracts" }, - "resourceIdentifier": "408eefa9-b393-4bb3-8439-b2e51833abc7", - }, - { - "resourceName": - { "resourceNameId": 2, "name": "orders" }, - "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, - }, - ], - } + examples: + Get Purchased GBO Product: + value: + { + "purchasedProductId": "a9b3dea5-fb8a-4b1e-9fe6-90cad31c0cfd", + "productId": 14, + "createdOn": "2024-10-04T12:34:56.000", + "lastUpdatedOn": "2024-10-04T12:34:56.000", + "purchasedProductResources": + [ + { + "resourceName": + { "resourceNameId": 1, "name": "contracts" }, + "resourceIdentifier": "408eefa9-b393-4bb3-8439-b2e51833abc7", + }, + { + "resourceName": + { "resourceNameId": 2, "name": "orders" }, + "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": [], + } + Get Purchased Tapconnect Ticket: + value: + { + "purchasedProductId": "a9b3dea5-fb8a-4b1e-9fe6-90cad31c0cfd", + "productId": 14, + "createdOn": "2024-10-04T12:34:56.000", + "lastUpdatedOn": "2024-10-04T12:34:56.000", + "purchasedProductResources": + [ + { + "resourceName": + { "resourceNameId": 1, "name": "contracts" }, + "resourceIdentifier": "408eefa9-b393-4bb3-8439-b2e51833abc7", + }, + { + "resourceName": + { "resourceNameId": 2, "name": "orders" }, + "resourceIdentifier": "f809a6e1-1c8d-4f8e-8a6e-0d0b1e1e1e1e", + }, + ], + "purchasedGboProducts": [], + "purchasedTapconnectTickets": + [ + { + "purchasedTapconnectTicketId": "d4e5f6a7-b8c9-0d1e-2f3a-4b5c6d7e8f90", + "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": [], + } + Get Issued Voucher: + value: + { + "purchasedProductId": "a9b3dea5-fb8a-4b1e-9fe6-90cad31c0cfd", + "productId": 14, + "createdOn": "2024-10-04T12:34:56.000", + "lastUpdatedOn": "2024-10-04T12:34:56.000", + "purchasedProductResources": + [ + { + "resourceName": + { "resourceNameId": 1, "name": "contracts" }, + "resourceIdentifier": "408eefa9-b393-4bb3-8439-b2e51833abc7", + }, + { + "resourceName": + { "resourceNameId": 2, "name": "orders" }, + "resourceIdentifier": "f809a6e1-1c8d-4f8e-8a6e-0d0b1e1e1e1e", + }, + ], + "purchasedGboProducts": [], + "purchasedTapconnectTickets": [], + "issuedVouchers": + [ + { + "issuedVoucherId": "e1f2g3h4-i5j6-k7l8-m9n0-o1p2q3r4s5t6", + "voucherCode": "VOUCHER12345", + "voucherStatusInstances": + [ + { + "voucherStatusInstanceId": "ac8c54d1-79f7-4167-8817-c66b9575d679", + "voucherStatus": + { "voucherStatusId": 1, "name": "New" }, + "createdOn": "2024-10-04T12:34:56.000", + }, + { + "voucherStatusInstanceId": "b01412e6-70fb-4c05-9bef-e65bf2747ca1", + "voucherStatus": + { "voucherStatusId": 2, "name": "Issued" }, + "createdOn": "2024-10-04T12:37:14.000", + }, + ], + "voucherClaims": + [ + { + "voucherClaimId": "b1c2d3e4-f5g6-h7i8-j9k0-l1m2n3o4p5q6", + "mandatoryCustomerDataItem": + { + "mandatoryCustomerDataItemId": 8, + "name": "PadBirthdate", + }, + "value": "1990-01-01", + }, + ], + }, + ], + } patch: tags: - Purchased Product @@ -598,6 +892,416 @@ paths: { "purchasedGboProductId": "a9b3dea5-fb8a-4b1e-9fe6-90cad31c0cfd", } + /purchasedproducts/{purchasedProductId}/purchasedTapconnectTicket: + parameters: + - in: path + name: purchasedProductId + schema: + type: string + format: uuid + example: 058a1af7-897f-45d5-b691-9cc9161e387f + required: true + description: The id of the purchased product to process. + post: + tags: + - Purchased Tapconnect Ticket + summary: Add a purchased Tapconnect ticket. + description: Add a purchased Tapconnect ticket. + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "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", + } + responses: + "201": + description: Created + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "purchasedTapconnectTicketId": "d4e5f6a7-b8c9-0d1e-2f3a-4b5c6d7e8f90", + } + /purchasedtapconnecttickets: + get: + tags: + - Purchased Tapconnect Ticket + summary: Find purchased Tapconnect tickets. + description: Find purchased Tapconnect tickets. + parameters: + - in: query + name: purchasedTapconnectTicketId + schema: + type: string + format: uuid + example: d4e5f6a7-b8c9-0d1e-2f3a-4b5c6d7e8f90 + description: The id of the purchased Tapconnect ticket. + - in: query + name: purchasedProductId + schema: + type: string + format: uuid + example: 058a1af7-897f-45d5-b691-9cc9161e387f + description: The id of the purchased product. + - in: query + name: issuedBefore + schema: + type: string + format: date-time + example: 2024-10-04T12:34:56.000 + description: The Tapconnect ticket should be issued before this timestamp. + - in: query + name: issuedAfter + schema: + type: string + format: date-time + example: 2024-10-04T12:34:56.000 + description: The Tapconnect ticket should be issued after this timestamp. + - in: query + name: activatedBefore + schema: + type: string + format: date-time + example: 2024-10-04T12:34:56.000 + description: The Tapconnect ticket should be activated before this timestamp. + - in: query + name: activatedAfter + schema: + type: string + format: date-time + example: 2024-10-04T12:34:56.000 + description: The Tapconnect ticket should be activated after this timestamp. + - in: query + name: cancelledBefore + schema: + type: string + format: date-time + example: 2024-10-04T12:34:56.000 + description: The Tapconnect ticket should be cancelled before this timestamp. + - in: query + name: cancelledAfter + schema: + type: string + format: date-time + example: 2024-10-04T12:34:56.000 + description: The Tapconnect ticket should be cancelled after this timestamp. + - in: query + name: ticketReference + schema: + type: string + example: KJj43nejhbTxhr897287 + description: The reference of the Tapconnect ticket. + - in: query + name: createdBefore + schema: + type: string + format: date-time + example: 2024-10-04T12:34:56.000 + description: The purchased Tapconnect ticket should be created before this timestamp. + - in: query + name: createdAfter + schema: + type: string + format: date-time + example: 2024-10-04T12:34:56.000 + description: The purchased Tapconnect ticket should be created after this timestamp. + - in: query + name: lastUpdatedBefore + schema: + type: string + format: date-time + example: 2024-10-04T12:34:56.000 + description: The purchased Tapconnect ticket should be updated before this timestamp. + - in: query + name: lastUpdatedAfter + schema: + type: string + format: date-time + example: 2024-10-04T12:34:56.000 + description: The purchased Tapconnect ticket should be updated after this timestamp. + - in: query + name: createdBy + schema: + type: string + example: user + description: The user that created the purchased Tapconnect ticket. + - in: query + name: lastUpdatedBy + schema: + type: string + example: user + description: The user that last updated the purchased Tapconnect ticket. + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "purchasedTapconnectTickets": + [ + { + "purchasedTapconnectTicketId": "d4e5f6a7-b8c9-0d1e-2f3a-4b5c6d7e8f90", + "purchasedProductId": "058a1af7-897f-45d5-b691-9cc9161e387f", + "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", + }, + ], + } + /purchasedtapconnecttickets/{purchasedTapconnectTicketId}: + parameters: + - in: path + name: purchasedTapconnectTicketId + schema: + type: string + format: uuid + example: d4e5f6a7-b8c9-0d1e-2f3a-4b5c6d7e8f90 + required: true + description: The id of the purchased Tapconnect ticket to process. + patch: + tags: + - Purchased Tapconnect Ticket + summary: Update a purchased Tapconnect ticket. + description: Update a purchased Tapconnect ticket. + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "activatedAt": "2024-10-05T12:34:56.000", + "cancelledAt": "2024-10-06T12:34:56.000", + "lastUpdatedOn": "2024-10-05T12:34:56.000", + } + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "purchasedTapconnectTicketId": "d4e5f6a7-b8c9-0d1e-2f3a-4b5c6d7e8f90", + } + /purchasedproducts/{purchasedProductId}/issuedvouchers: + parameters: + - in: path + name: purchasedProductId + schema: + type: string + format: uuid + example: 058a1af7-897f-45d5-b691-9cc9161e387f + required: true + description: The id of the purchased product to process. + post: + tags: + - Issued Voucher + summary: Add an issued voucher. + description: Add an issued voucher. + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "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", + }, + ], + } + responses: + "201": + description: Created + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { "issuedVoucherId": "d4e5f6a7-b8c9-0d1e-2f3a-4b5c6d7e8f90" } + /issuedvouchers: + get: + tags: + - Issued Voucher + summary: Find issued vouchers. + description: Find issued vouchers. + parameters: + - in: query + name: issuedVoucherId + schema: + type: string + format: uuid + example: d4e5f6a7-b8c9-0d1e-2f3a-4b5c6d7e8f90 + description: The id of the issued voucher. + - in: query + name: purchasedProductId + schema: + type: string + format: uuid + example: 058a1af7-897f-45d5-b691-9cc9161e387f + description: The id of the purchased product. + - in: query + name: voucherCode + schema: + type: string + example: VOUCHER123 + description: The code of the voucher. + - in: query + name: voucherStatusId + schema: + type: array + items: + type: integer + explode: false + required: false + description: The moest recent status id of the voucher. + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "issuedVouchers": + [ + { + "issuedVoucherId": "d4e5f6a7-b8c9-0d1e-2f3a-4b5c6d7e8f90", + "purchasedProductId": "058a1af7-897f-45d5-b691-9cc9161e387f", + "voucherCode": "VOUCHER123", + "voucherStatusInstances": + [ + { + "voucherStatusInstanceId": "ac8c54d1-79f7-4167-8817-c66b9575d679", + "voucherStatus": + { "voucherStatusId": 1, "name": "New" }, + "createdOn": "2024-10-04T12:34:56.000", + }, + { + "voucherStatusInstanceId": "b01412e6-70fb-4c05-9bef-e65bf2747ca1", + "voucherStatus": + { "voucherStatusId": 2, "name": "Issued" }, + "createdOn": "2024-10-04T12:37:14.000", + }, + ], + "voucherClaims": + [ + { + "mandatoryCustomerDataItem": + { + "mandatoryCustomerDataItemId": 8, + "customerDataItem": "padBirthDate", + }, + "value": "1999-12-31", + }, + { + "mandatoryCustomerDataItem": + { + "mandatoryCustomerDataItemId": 4, + "customerDataItem": "emailAddress", + }, + "value": "vlad.harkonnen@househarkonnen.net", + }, + ], + }, + ], + } + /issuedvouchers/{issuedVoucherId}/voucherstatusinstances: + parameters: + - in: path + name: issuedVoucherId + schema: + type: string + format: uuid + example: d4e5f6a7-b8c9-0d1e-2f3a-4b5c6d7e8f90 + required: true + description: The id of the issued voucher to process. + post: + tags: + - Issued Voucher + summary: Update the status of an issued voucher. + description: Update the status of an issued voucher. + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { "voucherStatusId": 2, "createdOn": "2024-10-04T12:34:56.000" } + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "voucherStatusInstanceId": "d4e5f6a7-b8c9-0d1e-2f3a-4b5c6d7e8f90", + } + /voucherstatuses: + get: + tags: + - References + summary: Get voucher statuses. + description: Get voucher statuses. + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "voucherStatuses": + [ + { "voucherStatusId": 1, "name": "New" }, + { "voucherStatusId": 2, "name": "Issued" }, + { "voucherStatusId": 3, "name": "Redeemed" }, + { "voucherStatusId": 4, "name": "Revoked" }, + { "voucherStatusId": 5, "name": "Expired" }, + ], + } components: securitySchemes: bearerToken: