Merge pull request 'feature/OVPAY-2294' (#40) from feature/OVPAY-2294 into develop

Reviewed-on: #40
This commit is contained in:
Bas Boterman 2025-11-28 14:33:25 +00:00
commit 76f6ed9c9f

View File

@ -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: