Move /purchasedproducts endpoint to SE-customers-V2
This commit is contained in:
parent
58ca9326dc
commit
f033ab6bbe
File diff suppressed because it is too large
Load Diff
@ -1960,7 +1960,7 @@ paths:
|
|||||||
type: integer
|
type: integer
|
||||||
example: 1
|
example: 1
|
||||||
required: true
|
required: true
|
||||||
summary: Replace an OVpay token with another (+ transfer products) - V2 (for Integratielaag)
|
summary: "**INTERNAL USE ONLY** Replace an OVpay token with another (+ transfer products) - V2"
|
||||||
description: |
|
description: |
|
||||||
Transfer products from one OVpay token to another, and replace the tokens in the database.
|
Transfer products from one OVpay token to another, and replace the tokens in the database.
|
||||||
This endpoint is for usage by integratielaag only. Touch points should use
|
This endpoint is for usage by integratielaag only. Touch points should use
|
||||||
@ -3403,321 +3403,6 @@ paths:
|
|||||||
responses:
|
responses:
|
||||||
"200":
|
"200":
|
||||||
description: OK
|
description: OK
|
||||||
/purchasedproducts:
|
|
||||||
parameters:
|
|
||||||
- name: X-HTM-JWT-AUTH-HEADER
|
|
||||||
in: header
|
|
||||||
schema:
|
|
||||||
type: string
|
|
||||||
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
|
|
||||||
required: false
|
|
||||||
description: The JWT of a customer in case of a touchpoint where customer logs in themselves
|
|
||||||
- name: X-HTM-CUSTOMER-PROFILE-ID-HEADER
|
|
||||||
in: header
|
|
||||||
schema:
|
|
||||||
type: string
|
|
||||||
example: feaaef83-a551-4283-8419-340b1ada3b55
|
|
||||||
required: false
|
|
||||||
description: The customerProfileId of a customer in the case of the SMP
|
|
||||||
- name: X-HTM-ROLE-HEADER
|
|
||||||
in: header
|
|
||||||
schema:
|
|
||||||
type: string
|
|
||||||
example: Customer
|
|
||||||
required: false
|
|
||||||
- name: deviceId
|
|
||||||
in: query
|
|
||||||
description: Id of the device you want to get the purchased HTM products for.
|
|
||||||
schema:
|
|
||||||
type: string
|
|
||||||
format: uuid
|
|
||||||
- name: externalDeviceId
|
|
||||||
in: query
|
|
||||||
description: External id of the device you want to get the purchased HTM products for.
|
|
||||||
schema:
|
|
||||||
type: string
|
|
||||||
- name: ovpayTokenId
|
|
||||||
in: query
|
|
||||||
description: Id of the OVpay-token you want to get the purchased HTM products for.
|
|
||||||
schema:
|
|
||||||
type: string
|
|
||||||
format: uuid
|
|
||||||
get:
|
|
||||||
summary: Get a list of all purchased HTM products for a specific device or token of the given customer. At least one of the query parameters should be filled in.
|
|
||||||
description: |-
|
|
||||||
Get a list of all purchased HTM products for a specific device or token of the given customer. At least one of the query parametersshould be filled in.
|
|
||||||
Only HTM products are returned.
|
|
||||||
Where relevant, operations to be performed are returned as HATEOAS links per purchased product.
|
|
||||||
tags:
|
|
||||||
- Purchased Products
|
|
||||||
responses:
|
|
||||||
"200":
|
|
||||||
description: OK
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
$ref: "#/components/schemas/PurchasedProductsResponse"
|
|
||||||
examples:
|
|
||||||
getEmptyPurchasedProducts:
|
|
||||||
summary: No purchased products found
|
|
||||||
value:
|
|
||||||
purchasedProducts: {
|
|
||||||
"ovPayProducts":[],
|
|
||||||
"barcodeTickets": [],
|
|
||||||
"vouchers":[]
|
|
||||||
}
|
|
||||||
getTwoBarcodePurchasedProductsForDevice:
|
|
||||||
summary: Two BarcodeTicket purchased products, one PendingActivation and one Active
|
|
||||||
description: |-
|
|
||||||
The first ticket (PendingActivation) shows the 30-day range in which the ticket can be activated
|
|
||||||
(using the PATCH endpoint) in the validityStart and validityEnd fields. The second ticket (Active)
|
|
||||||
shows the actual validity period of the ticket after activation.
|
|
||||||
value:
|
|
||||||
{
|
|
||||||
"purchasedProducts":{
|
|
||||||
"ovPayProducts":[],
|
|
||||||
"barcodeTickets":[
|
|
||||||
{
|
|
||||||
"purchasedProductId": "0f0981bf-6d60-4b06-bc55-de1ba325f366",
|
|
||||||
"productId": 14,
|
|
||||||
"name": "HTM 2 uurskaart",
|
|
||||||
"status": "PendingActivation",
|
|
||||||
"productCategory":
|
|
||||||
{
|
|
||||||
"productCategoryId": 5,
|
|
||||||
"name": "Barcode",
|
|
||||||
},
|
|
||||||
"orderId": "501B17EF-36C4-4039-B92C-6517969B464E",
|
|
||||||
"orderLineId": "38B17EF-36C4-4039-B92C-4817969B464E",
|
|
||||||
"ticketReference": "KJj43nejhbTxhrfef287",
|
|
||||||
"serviceId": "DEF-4321-7654-7659",
|
|
||||||
"issuedAt": "2026-03-21T09:01:35",
|
|
||||||
"activatedAt": null,
|
|
||||||
"blocked": false,
|
|
||||||
"cancelledAt": null,
|
|
||||||
"validityStart": "2026-03-21T09:01:35",
|
|
||||||
"validityEnd": "2026-04-21T23:59:59",
|
|
||||||
"barcode": "barcodeBytes",
|
|
||||||
"externalDeviceId": "e2be51ae-2701-4803-a2d7-97d4b714482d",
|
|
||||||
"_links": {
|
|
||||||
"get_order": {
|
|
||||||
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/orders/501B17EF-36C4-4039-B92C-6517969B464E",
|
|
||||||
"method": "GET"
|
|
||||||
},
|
|
||||||
"patch_purchasedproduct": {
|
|
||||||
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/customers/purchasedproducts/0f0981bf-6d60-4b06-bc55-de1ba325f366",
|
|
||||||
"method": "PATCH"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"purchasedProductId": "0f0981bf-6d60-4b06-bc55-de1ba325f366",
|
|
||||||
"productId": 14,
|
|
||||||
"name": "HTM 2 uurskaart",
|
|
||||||
"status": "Active",
|
|
||||||
"productCategory":
|
|
||||||
{
|
|
||||||
"productCategoryId": 5,
|
|
||||||
"name": "Barcode",
|
|
||||||
},
|
|
||||||
"orderId": "501B17EF-36C4-4039-B92C-6517969B464E",
|
|
||||||
"orderLineId": "38B17EF-36C4-4039-B92C-4817969B464E",
|
|
||||||
"ticketReference": "KJj43nejhbTxhr897287",
|
|
||||||
"serviceId": "ABC-1234-7654-8945",
|
|
||||||
"issuedAt": "2026-03-21T10:01:12",
|
|
||||||
"activatedAt": "2026-03-21T12:45:01",
|
|
||||||
"blocked": false,
|
|
||||||
"cancelledAt": null,
|
|
||||||
"validityStart": "2026-03-21T12:45:01",
|
|
||||||
"validityEnd": "2026-03-21T14:45:01",
|
|
||||||
"barcode": "barcodeBytes",
|
|
||||||
"externalDeviceId": "e2be51ae-2701-4803-a2d7-97d4b714482d",
|
|
||||||
"_links": {
|
|
||||||
"get_order": {
|
|
||||||
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/orders/501B17EF-36C4-4039-B92C-6517969B464E",
|
|
||||||
"method": "GET"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"vouchers":[]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
getSingleOvpayPurchasedProductForSpecificOvPayToken:
|
|
||||||
summary: One Ovpay purchased product
|
|
||||||
value:
|
|
||||||
{
|
|
||||||
"purchasedProducts":{
|
|
||||||
"ovPayProducts":[ {
|
|
||||||
"purchasedProductId": "26d41861-f77e-4666-9cde-2c5c66ace0a2",
|
|
||||||
"productId": 1,
|
|
||||||
"name": "HTM 90% Korting",
|
|
||||||
"status": "Active",
|
|
||||||
"isRenewable": true,
|
|
||||||
"productCategory":
|
|
||||||
{
|
|
||||||
"productCategoryId": 1,
|
|
||||||
"name": "Kortingsabonnement",
|
|
||||||
},
|
|
||||||
"fromInclusive": "2024-11-25T13:25:00+01:00",
|
|
||||||
"untilInclusive": "2024-12-25T03:59:59+01:00",
|
|
||||||
"orderId": "501B17EF-36C4-4039-B92C-6517969B464E",
|
|
||||||
"orderLineId": "38B17EF-36C4-4039-B92C-4817969B464E",
|
|
||||||
"contractId": "56B17EF-C436-9043-B76C-481797WEB464F",
|
|
||||||
"ovPayTokenId": 42,
|
|
||||||
"_links":
|
|
||||||
{
|
|
||||||
"get_order":
|
|
||||||
{
|
|
||||||
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/orders/501B17EF-36C4-4039-B92C-6517969B464E",
|
|
||||||
"method": "GET",
|
|
||||||
},
|
|
||||||
"get_contract":
|
|
||||||
{
|
|
||||||
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/customers/contracts/56B17EF-C436-9043-B76C-481797WEB464F",
|
|
||||||
"method": "GET",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
],
|
|
||||||
"barcodeTickets":[],
|
|
||||||
"vouchers":[]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
getSingleVoucherPurchasedProductForCustomer:
|
|
||||||
summary: One voucher purchased product
|
|
||||||
value:
|
|
||||||
{
|
|
||||||
"purchasedProducts":{
|
|
||||||
"ovPayProducts":[],
|
|
||||||
"barcodeTickets":[],
|
|
||||||
"vouchers":[
|
|
||||||
{
|
|
||||||
"purchasedProductId": "07a55d42-ea42-4f5c-896a-b340ab084309",
|
|
||||||
"productId": 81,
|
|
||||||
"name": "HTM ooivaarspas voucher",
|
|
||||||
"productCategory":
|
|
||||||
{
|
|
||||||
"productCategoryId": 9,
|
|
||||||
"name": "Voucher",
|
|
||||||
},
|
|
||||||
"voucherCode": "HTM45253",
|
|
||||||
"fromInclusive": "2026-01-01T00:00:00",
|
|
||||||
"untilInclusive": "2026-12-31T23:59:99",
|
|
||||||
"voucherStatus": {
|
|
||||||
"voucherStatusId": 2,
|
|
||||||
"name": "issued"
|
|
||||||
},
|
|
||||||
"mandatoryCustomerDataItems":
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"mandatoryCustomerDataItemId": 8,
|
|
||||||
"customerDataItem": "padBirthDate",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"mandatoryCustomerDataItemId": 4,
|
|
||||||
"customerDataItem": "emailAddress",
|
|
||||||
},
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/purchasedproducts/{purchasedProductId}:
|
|
||||||
parameters:
|
|
||||||
- name: X-HTM-JWT-AUTH-HEADER
|
|
||||||
in: header
|
|
||||||
schema:
|
|
||||||
type: string
|
|
||||||
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
|
|
||||||
required: false
|
|
||||||
description: The JWT of a customer in case of a touchpoint where customer logs in themselves
|
|
||||||
- name: X-HTM-CUSTOMER-PROFILE-ID-HEADER
|
|
||||||
in: header
|
|
||||||
schema:
|
|
||||||
type: string
|
|
||||||
example: feaaef83-a551-4283-8419-340b1ada3b55
|
|
||||||
required: false
|
|
||||||
description: The customerProfileId of a customer in the case of the SMP
|
|
||||||
- name: X-HTM-ROLE-HEADER
|
|
||||||
in: header
|
|
||||||
schema:
|
|
||||||
type: string
|
|
||||||
example: Customer
|
|
||||||
required: false
|
|
||||||
- name: purchasedProductId
|
|
||||||
in: path
|
|
||||||
required: true
|
|
||||||
style: simple
|
|
||||||
description: Id of the purchased product you want to change
|
|
||||||
schema:
|
|
||||||
type: string
|
|
||||||
format: uuid
|
|
||||||
example: 0f0981bf-6d60-4b06-bc55-de1ba325f366
|
|
||||||
patch:
|
|
||||||
summary: Update a purchased product
|
|
||||||
description: |-
|
|
||||||
Update the given purchased product. Currently only used to activate a barcode ticket.
|
|
||||||
tags:
|
|
||||||
- Purchased Products
|
|
||||||
requestBody:
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
$ref: "#/components/schemas/unavailable"
|
|
||||||
examples:
|
|
||||||
Activate a TapConnect purchased product:
|
|
||||||
value:
|
|
||||||
{
|
|
||||||
"status": "Active"
|
|
||||||
}
|
|
||||||
responses:
|
|
||||||
"200":
|
|
||||||
description: OK
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
$ref: "#/components/schemas/PurchasedProductsResponse"
|
|
||||||
examples:
|
|
||||||
Activate a TapConnect purchased product:
|
|
||||||
summary: Activate a TapConnect purchased product
|
|
||||||
value:
|
|
||||||
{
|
|
||||||
"purchasedProducts": {
|
|
||||||
"ovPayProducts": [],
|
|
||||||
"barcodeTickets": [
|
|
||||||
{
|
|
||||||
"purchasedProductId": "0f0981bf-6d60-4b06-bc55-de1ba325f366",
|
|
||||||
"productId": 14,
|
|
||||||
"name": "HTM 2 uurskaart",
|
|
||||||
"status": "Active",
|
|
||||||
"productCategory": {
|
|
||||||
"productCategoryId": 5,
|
|
||||||
"name": "Barcode"
|
|
||||||
},
|
|
||||||
"orderId": "501B17EF-36C4-4039-B92C-6517969B464E",
|
|
||||||
"orderLineId": "38B17EF-36C4-4039-B92C-4817969B464E",
|
|
||||||
"ticketReference": "KJj43nejhbTxhr897287",
|
|
||||||
"serviceId": "ABC-1234-7654-8945",
|
|
||||||
"issuedAt": "2026-03-21T10:01:12",
|
|
||||||
"activatedAt": "2026-03-21T12:45:01",
|
|
||||||
"blocked": false,
|
|
||||||
"cancelledAt": null,
|
|
||||||
"validityStart": "2026-03-21T12:45:01",
|
|
||||||
"validityEnd": "2026-03-21T14:45:01",
|
|
||||||
"barcode": "barcodeBytes",
|
|
||||||
"externalDeviceId": "e2be51ae-2701-4803-a2d7-97d4b714482d",
|
|
||||||
"_links": {
|
|
||||||
"get_order": {
|
|
||||||
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/orders/501B17EF-36C4-4039-B92C-6517969B464E",
|
|
||||||
"method": "GET"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"vouchers": []
|
|
||||||
}
|
|
||||||
}
|
|
||||||
components:
|
components:
|
||||||
schemas:
|
schemas:
|
||||||
unavailable:
|
unavailable:
|
||||||
@ -4108,11 +3793,23 @@ components:
|
|||||||
example: GET
|
example: GET
|
||||||
OvPayTokenProductInstancesResponse:
|
OvPayTokenProductInstancesResponse:
|
||||||
type: object
|
type: object
|
||||||
|
required:
|
||||||
|
- productInstances
|
||||||
properties:
|
properties:
|
||||||
productInstances:
|
productInstances:
|
||||||
type: array
|
type: array
|
||||||
items:
|
items:
|
||||||
type: object
|
type: object
|
||||||
|
required:
|
||||||
|
- productId
|
||||||
|
- name
|
||||||
|
- status
|
||||||
|
- isRenewable
|
||||||
|
- productCategory
|
||||||
|
- fromInclusive
|
||||||
|
- orderId
|
||||||
|
- orderLineId
|
||||||
|
- _links
|
||||||
properties:
|
properties:
|
||||||
productId:
|
productId:
|
||||||
type: integer
|
type: integer
|
||||||
@ -4174,329 +3871,21 @@ components:
|
|||||||
example: GET
|
example: GET
|
||||||
get_order:
|
get_order:
|
||||||
type: object
|
type: object
|
||||||
|
description: Always present for any HTM product-instance
|
||||||
properties:
|
properties:
|
||||||
href:
|
href:
|
||||||
type: string
|
type: string
|
||||||
description: Always present for any HTM product-instance
|
|
||||||
example: https://api.integratielaag.nl/abt/touchpoint/1.0/orders/501B17EF-36C4-4039-B92C-6517969B464E
|
example: https://api.integratielaag.nl/abt/touchpoint/1.0/orders/501B17EF-36C4-4039-B92C-6517969B464E
|
||||||
method:
|
method:
|
||||||
type: string
|
type: string
|
||||||
example: GET
|
example: GET
|
||||||
get_contract:
|
get_contract:
|
||||||
type: object
|
type: object
|
||||||
|
description: Only present for subscriptions/contracts
|
||||||
properties:
|
properties:
|
||||||
href:
|
href:
|
||||||
type: string
|
type: string
|
||||||
description: Only present for subscriptions/contracts
|
|
||||||
example: https://api.integratielaag.nl/abt/touchpoint/1.0/customers/contracts/56B17EF-C436-9043-B76C-481797WEB464F
|
example: https://api.integratielaag.nl/abt/touchpoint/1.0/customers/contracts/56B17EF-C436-9043-B76C-481797WEB464F
|
||||||
method:
|
method:
|
||||||
type: string
|
type: string
|
||||||
example: GET
|
example: GET
|
||||||
PurchasedProductsResponse:
|
|
||||||
type: object
|
|
||||||
required:
|
|
||||||
- purchasedProducts
|
|
||||||
properties:
|
|
||||||
purchasedProducts:
|
|
||||||
type: object
|
|
||||||
required:
|
|
||||||
- ovPayProducts
|
|
||||||
- barcodeTickets
|
|
||||||
- vouchers
|
|
||||||
properties:
|
|
||||||
ovPayProducts:
|
|
||||||
type: array
|
|
||||||
items:
|
|
||||||
type: object
|
|
||||||
required:
|
|
||||||
- purchasedProductId
|
|
||||||
- productId
|
|
||||||
- name
|
|
||||||
- status
|
|
||||||
- isRenewable
|
|
||||||
- productCategory
|
|
||||||
- fromInclusive
|
|
||||||
- orderId
|
|
||||||
- orderLineId
|
|
||||||
- _links
|
|
||||||
properties:
|
|
||||||
purchasedProductId:
|
|
||||||
type: string
|
|
||||||
format: uuid
|
|
||||||
example: 0f0981bf-6d60-4b06-bc55-de1ba325f366
|
|
||||||
productId:
|
|
||||||
type: integer
|
|
||||||
example: 1
|
|
||||||
name:
|
|
||||||
type: string
|
|
||||||
example: HTM 90% Korting
|
|
||||||
status:
|
|
||||||
type: string
|
|
||||||
enum: ["Active", "Ended", "Refunded"]
|
|
||||||
example: Active
|
|
||||||
isRenewable:
|
|
||||||
type: boolean
|
|
||||||
example: true
|
|
||||||
productCategory:
|
|
||||||
type: object
|
|
||||||
description: The category of the originating HTM product definition
|
|
||||||
properties:
|
|
||||||
productCategoryId:
|
|
||||||
type: integer
|
|
||||||
example: 1
|
|
||||||
name:
|
|
||||||
type: string
|
|
||||||
example: Kortingsabonnement
|
|
||||||
fromInclusive:
|
|
||||||
type: string
|
|
||||||
format: date-time-offset
|
|
||||||
example: "2024-11-25T13:25:00+01:00"
|
|
||||||
untilInclusive:
|
|
||||||
type: string
|
|
||||||
format: date-time-offset
|
|
||||||
description: >-
|
|
||||||
If not present, this purchased product represents a subscription/contract without a real end date. If present, it can be either the natural end date or the refund timestamp.
|
|
||||||
example: "2024-12-25T03:59:59+01:00"
|
|
||||||
orderId:
|
|
||||||
type: string
|
|
||||||
format: uuid
|
|
||||||
example: 501B17EF-36C4-4039-B92C-6517969B464E
|
|
||||||
orderLineId:
|
|
||||||
type: string
|
|
||||||
format: uuid
|
|
||||||
example: 38B17EF-36C4-4039-B92C-4817969B464E
|
|
||||||
contractId:
|
|
||||||
type: string
|
|
||||||
format: uuid
|
|
||||||
example: 56B17EF-C436-9043-B76C-481797WEB464F
|
|
||||||
description: Only present for subscriptions/contracts
|
|
||||||
_links:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
self:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
href:
|
|
||||||
type: string
|
|
||||||
example: https://api.integratielaag.nl/abt/touchpoint/1.0/purchasedproducts
|
|
||||||
method:
|
|
||||||
type: string
|
|
||||||
example: GET
|
|
||||||
get_order:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
href:
|
|
||||||
type: string
|
|
||||||
description: Always present for any HTM purchased product
|
|
||||||
example: https://api.integratielaag.nl/abt/touchpoint/1.0/orders/501B17EF-36C4-4039-B92C-6517969B464E
|
|
||||||
method:
|
|
||||||
type: string
|
|
||||||
example: GET
|
|
||||||
get_contract:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
href:
|
|
||||||
type: string
|
|
||||||
description: Only present for subscriptions/contracts
|
|
||||||
example: https://api.integratielaag.nl/abt/touchpoint/1.0/customers/contracts/56B17EF-C436-9043-B76C-481797WEB464F
|
|
||||||
method:
|
|
||||||
type: string
|
|
||||||
example: GET
|
|
||||||
barcodeTickets:
|
|
||||||
type: array
|
|
||||||
items:
|
|
||||||
type: object
|
|
||||||
required:
|
|
||||||
- purchasedProductId
|
|
||||||
- productId
|
|
||||||
- name
|
|
||||||
- status
|
|
||||||
- productCategory
|
|
||||||
- orderId
|
|
||||||
- orderLineId
|
|
||||||
- ticketReference
|
|
||||||
- serviceId
|
|
||||||
- issuedAt
|
|
||||||
- blocked
|
|
||||||
- validityStart
|
|
||||||
- validityEnd
|
|
||||||
- _links
|
|
||||||
properties:
|
|
||||||
purchasedProductId:
|
|
||||||
type: string
|
|
||||||
format: uuid
|
|
||||||
example: 0f0981bf-6d60-4b06-bc55-de1ba325f366
|
|
||||||
productId:
|
|
||||||
type: integer
|
|
||||||
example: 1
|
|
||||||
name:
|
|
||||||
type: string
|
|
||||||
example: HTM 2 uurskaart
|
|
||||||
status:
|
|
||||||
type: string
|
|
||||||
enum: ["PendingActivation", "Active", "Ended", "Blocked", "Refunded"]
|
|
||||||
example: Active
|
|
||||||
productCategory:
|
|
||||||
type: object
|
|
||||||
description: The category of the originating HTM product definition
|
|
||||||
properties:
|
|
||||||
productCategoryId:
|
|
||||||
type: integer
|
|
||||||
example: 5
|
|
||||||
name:
|
|
||||||
type: string
|
|
||||||
example: Barcode
|
|
||||||
orderId:
|
|
||||||
type: string
|
|
||||||
format: uuid
|
|
||||||
example: 501B17EF-36C4-4039-B92C-6517969B464E
|
|
||||||
orderLineId:
|
|
||||||
type: string
|
|
||||||
format: uuid
|
|
||||||
example: 38B17EF-36C4-4039-B92C-4817969B464E
|
|
||||||
ticketReference:
|
|
||||||
type: string
|
|
||||||
example: KJj43nejhbTxhr897287
|
|
||||||
serviceId:
|
|
||||||
type: string
|
|
||||||
example: ABC-1234-7654-8945
|
|
||||||
issuedAt:
|
|
||||||
type: string
|
|
||||||
format: date-time-offset
|
|
||||||
example: "2024-11-25T13:25:00+01:00"
|
|
||||||
activatedAt:
|
|
||||||
type: string
|
|
||||||
format: date-time-offset
|
|
||||||
description: Only present for active and ended barcode tickets
|
|
||||||
example: "2024-11-25T13:25:00+01:00"
|
|
||||||
blocked:
|
|
||||||
type: boolean
|
|
||||||
example: false
|
|
||||||
cancelledAt:
|
|
||||||
type: string
|
|
||||||
format: date-time-offset
|
|
||||||
example: "2024-11-25T13:25:00+01:00"
|
|
||||||
validityStart:
|
|
||||||
description: |-
|
|
||||||
The date-time at which the ticket will become valid for traveling. The ticket will not be valid before this date.
|
|
||||||
For tickets that require activation: Before activation this field will show the lower bound of the range in which
|
|
||||||
a ticket can be activated, after activation the value of this field is updated to the final start of the validity
|
|
||||||
range. For example: a 1 hour product that has to be activated within 7 days. Before ticket activation (activatedAt
|
|
||||||
field returns null) this value (together with validityEnd) will return the 7 day range, after activation (activatedAt
|
|
||||||
field returns a date-time) the value will show the start of the final 1 hour validity range.
|
|
||||||
type: string
|
|
||||||
format: date-time-offset
|
|
||||||
example: "2024-11-25T13:25:00+01:00"
|
|
||||||
validityEnd:
|
|
||||||
description: |-
|
|
||||||
The date-time at which the ticket will become valid for traveling. The ticket will not be valid before this date.
|
|
||||||
For tickets that require activation: Before activation this field will show the upper bound of the range in which
|
|
||||||
a ticket can be activated, after activation the value of this field is updated to the final end of the validity
|
|
||||||
range. For example: a 1 hour product that has to be activated within 7 days. Before ticket activation (activatedAt
|
|
||||||
field returns null) this value (together with validityStart) will return the 7 day range, after activation (activatedAt
|
|
||||||
field returns a date-time) the value will show the end of the final 1 hour validity range.
|
|
||||||
type: string
|
|
||||||
format: date-time-offset
|
|
||||||
example: "2024-11-25T15:25:00+01:00"
|
|
||||||
barcode:
|
|
||||||
type: string
|
|
||||||
example: barcodeBytes
|
|
||||||
externalDeviceId:
|
|
||||||
type: string
|
|
||||||
example: e2be51ae-2701-4803-a2d7-97d4b714482d
|
|
||||||
_links:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
self:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
href:
|
|
||||||
type: string
|
|
||||||
example: https://api.integratielaag.nl/abt/touchpoint/1.0/purchasedproducts
|
|
||||||
method:
|
|
||||||
type: string
|
|
||||||
example: GET
|
|
||||||
get_order:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
href:
|
|
||||||
type: string
|
|
||||||
description: Always present for any HTM purchased product
|
|
||||||
example: https://api.integratielaag.nl/abt/touchpoint/1.0/orders/501B17EF-36C4-4039-B92C-6517969B464E
|
|
||||||
method:
|
|
||||||
type: string
|
|
||||||
example: GET
|
|
||||||
patch_purchasedproduct:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
href:
|
|
||||||
type: string
|
|
||||||
description: Only present for purchased products that are PATCHable
|
|
||||||
example: https://api.integratielaag.nl/abt/touchpoint/1.0/purchasedproducts/56B17EF-C436-9043-B76C-481797WEB464F
|
|
||||||
method:
|
|
||||||
type: string
|
|
||||||
example: PATCH
|
|
||||||
vouchers:
|
|
||||||
type: array
|
|
||||||
items:
|
|
||||||
type: object
|
|
||||||
required:
|
|
||||||
- purchasedProductId
|
|
||||||
- productId
|
|
||||||
- name
|
|
||||||
- productCategory
|
|
||||||
- voucherCode
|
|
||||||
- fromInclusive
|
|
||||||
- voucherStatus
|
|
||||||
properties:
|
|
||||||
purchasedProductId:
|
|
||||||
type: string
|
|
||||||
format: uuid
|
|
||||||
example: 0f0981bf-6d60-4b06-bc55-de1ba325f366
|
|
||||||
productId:
|
|
||||||
type: integer
|
|
||||||
example: 81
|
|
||||||
name:
|
|
||||||
type: string
|
|
||||||
example: HTM ooivaarspas voucher
|
|
||||||
productCategory:
|
|
||||||
type: object
|
|
||||||
description: The category of the originating HTM product definition
|
|
||||||
properties:
|
|
||||||
productCategoryId:
|
|
||||||
type: integer
|
|
||||||
example: 6
|
|
||||||
name:
|
|
||||||
type: string
|
|
||||||
example: Voucher
|
|
||||||
voucherCode:
|
|
||||||
type: string
|
|
||||||
example: HKV-A7J-128-PYT
|
|
||||||
fromInclusive:
|
|
||||||
type: string
|
|
||||||
format: date-time-offset
|
|
||||||
example: "2024-11-25T13:25:00+01:00"
|
|
||||||
untilInclusive:
|
|
||||||
type: string
|
|
||||||
format: date-time-offset
|
|
||||||
example: "2024-12-25T03:59:59+01:00"
|
|
||||||
voucherStatus:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
voucherStatusId:
|
|
||||||
type: integer
|
|
||||||
example: 2
|
|
||||||
name:
|
|
||||||
type: string
|
|
||||||
example: issued
|
|
||||||
mandatoryCustomerDataItems:
|
|
||||||
type: array
|
|
||||||
items:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
mandatoryCustomerDataItemId:
|
|
||||||
type: integer
|
|
||||||
example: 4
|
|
||||||
customerDataItem:
|
|
||||||
type: string
|
|
||||||
example: emailAddress
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user