Created/updated shared JSON schema for product-instances for GBO/TapConnect

This commit is contained in:
Max Martens 2025-12-30 12:44:36 +01:00
parent 1553e4eda1
commit 822a1489bd

View File

@ -2209,7 +2209,7 @@ paths:
content:
application/json:
schema:
$ref: "#/components/schemas/OvPayTokenProductInstancesResponse"
$ref: "#/components/schemas/ProductInstancesResponse"
examples:
getEmptyProductInstances:
summary: No product-instances found on token
@ -3440,14 +3440,14 @@ paths:
content:
application/json:
schema:
$ref: "#/components/schemas/unavailable"
$ref: "#/components/schemas/ProductInstancesResponse"
examples:
getEmptyProductInstances:
summary: No product-instances found for devi
value:
productInstances: []
getSingleProductInstance:
summary: One non-renewable product-instance
summary: One TapConnect product-instance
value:
{
"productInstances":
@ -3986,20 +3986,39 @@ components:
method:
type: string
example: GET
OvPayTokenProductInstancesResponse:
ProductInstancesResponse:
type: object
required:
- productInstances
properties:
productInstances:
type: array
items:
type: object
required:
- productInstanceId
- productId
- name
- status
- purchasedProductType
- isRenewable
- productCategory
- _links
properties:
productInstanceId:
type: string
format: uuid
example: 0f0981bf-6d60-4b06-bc55-de1ba325f366
productId:
type: integer
example: 1
name:
type: string
example: HTM 90% Korting
purchasedProductType:
type: string
description: The type of product instance (e.g. GBO, TapConnect, physical, etc.)
example: GBO
status:
type: string
enum: ["Active", "Ended", "Refunded"]
@ -4040,6 +4059,10 @@ components:
format: uuid
example: 56B17EF-C436-9043-B76C-481797WEB464F
description: Only present for subscriptions/contracts
content:
type: object
description: Custom data for the product-instance, depending on the purchasedProductType
example: null
_links:
type: object
properties:
@ -4054,21 +4077,31 @@ components:
example: GET
get_order:
type: object
description: Always present for any HTM product-instance
properties:
href:
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
method:
type: string
example: GET
get_contract:
type: object
description: Only present for subscriptions/contracts
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
patch_productinstance:
type: object
description: Only present for TapConnect product-instances that need to be activated
properties:
href:
type: string
example: https://api.integratielaag.nl/abt/touchpoint/1.0/customers/productinstances/0f0981bf-6d60-4b06-bc55-de1ba325f366
method:
type: string
example: PATCH