Add two new attributes isValid and isArchived (only in CRUD, SE/TP will never get those attributes in response); update to correct Regio Vrij gboPackageTemplateIds

This commit is contained in:
Max Martens 2025-06-18 20:59:30 +02:00
parent 87f19f756b
commit 8e5522524c
3 changed files with 132 additions and 22 deletions

View File

@ -929,7 +929,7 @@ paths:
"productId": 109, "productId": 109,
"parentProductId": 49, "parentProductId": 49,
"fikoArticleNumber": "1234", "fikoArticleNumber": "1234",
"gboPackageTemplateId": null, "gboPackageTemplateId": "33615",
"tapConnectProductCode": null, "tapConnectProductCode": null,
"productName": "HTM Regio Vrij - HL62", "productName": "HTM Regio Vrij - HL62",
"productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in gebied HL62", "productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in gebied HL62",
@ -1095,7 +1095,7 @@ paths:
"productId": 114, "productId": 114,
"parentProductId": 109, "parentProductId": 109,
"fikoArticleNumber": "1234", "fikoArticleNumber": "1234",
"gboPackageTemplateId": "33629", "gboPackageTemplateId": "33615",
"tapConnectProductCode": null, "tapConnectProductCode": null,
"productName": "HTM Regio Vrij - Voltarief - HL62", "productName": "HTM Regio Vrij - Voltarief - HL62",
"productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in gebied HL62", "productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in gebied HL62",
@ -1261,7 +1261,7 @@ paths:
"productId": 115, "productId": 115,
"parentProductId": 109, "parentProductId": 109,
"fikoArticleNumber": "1234", "fikoArticleNumber": "1234",
"gboPackageTemplateId": "33630", "gboPackageTemplateId": "33615",
"tapConnectProductCode": null, "tapConnectProductCode": null,
"productName": "HTM Regio Vrij - Reductietarief - HL62", "productName": "HTM Regio Vrij - Reductietarief - HL62",
"productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in gebied HL62", "productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in gebied HL62",
@ -1422,7 +1422,7 @@ paths:
"productId": 116, "productId": 116,
"parentProductId": 115, "parentProductId": 115,
"fikoArticleNumber": "1234", "fikoArticleNumber": "1234",
"gboPackageTemplateId": "33630", "gboPackageTemplateId": "33615",
"tapConnectProductCode": null, "tapConnectProductCode": null,
"productName": "HTM Regio Vrij - Reductietarief - Losse Maand- HL62", "productName": "HTM Regio Vrij - Reductietarief - Losse Maand- HL62",
"productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in gebied HL62", "productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in gebied HL62",
@ -1586,7 +1586,7 @@ paths:
"productId": 117, "productId": 117,
"parentProductId": 115, "parentProductId": 115,
"fikoArticleNumber": "1234", "fikoArticleNumber": "1234",
"gboPackageTemplateId": "33630", "gboPackageTemplateId": "33615",
"tapConnectProductCode": null, "tapConnectProductCode": null,
"productName": "HTM Regio Vrij - Reductietarief - Doorlopend abonnement- HL62", "productName": "HTM Regio Vrij - Reductietarief - Doorlopend abonnement- HL62",
"productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in gebied HL62", "productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in gebied HL62",
@ -1754,7 +1754,7 @@ paths:
"productId": 112, "productId": 112,
"parentProductId": 49, "parentProductId": 49,
"fikoArticleNumber": "1234", "fikoArticleNumber": "1234",
"gboPackageTemplateId": null, "gboPackageTemplateId": "33618",
"tapConnectProductCode": null, "tapConnectProductCode": null,
"productName": "HTM Regio Vrij - HL65", "productName": "HTM Regio Vrij - HL65",
"productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in gebied HL65", "productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in gebied HL65",

View File

@ -929,7 +929,7 @@ paths:
"productId": 109, "productId": 109,
"parentProductId": 49, "parentProductId": 49,
"fikoArticleNumber": "1234", "fikoArticleNumber": "1234",
"gboPackageTemplateId": null, "gboPackageTemplateId": "33615",
"tapConnectProductCode": null, "tapConnectProductCode": null,
"productName": "HTM Regio Vrij - HL62", "productName": "HTM Regio Vrij - HL62",
"productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in gebied HL62", "productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in gebied HL62",
@ -1095,7 +1095,7 @@ paths:
"productId": 114, "productId": 114,
"parentProductId": 109, "parentProductId": 109,
"fikoArticleNumber": "1234", "fikoArticleNumber": "1234",
"gboPackageTemplateId": "33629", "gboPackageTemplateId": "33615",
"tapConnectProductCode": null, "tapConnectProductCode": null,
"productName": "HTM Regio Vrij - Voltarief - HL62", "productName": "HTM Regio Vrij - Voltarief - HL62",
"productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in gebied HL62", "productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in gebied HL62",
@ -1261,7 +1261,7 @@ paths:
"productId": 115, "productId": 115,
"parentProductId": 109, "parentProductId": 109,
"fikoArticleNumber": "1234", "fikoArticleNumber": "1234",
"gboPackageTemplateId": "33630", "gboPackageTemplateId": "33615",
"tapConnectProductCode": null, "tapConnectProductCode": null,
"productName": "HTM Regio Vrij - Reductietarief - HL62", "productName": "HTM Regio Vrij - Reductietarief - HL62",
"productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in gebied HL62", "productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in gebied HL62",
@ -1422,7 +1422,7 @@ paths:
"productId": 116, "productId": 116,
"parentProductId": 115, "parentProductId": 115,
"fikoArticleNumber": "1234", "fikoArticleNumber": "1234",
"gboPackageTemplateId": "33630", "gboPackageTemplateId": "33615",
"tapConnectProductCode": null, "tapConnectProductCode": null,
"productName": "HTM Regio Vrij - Reductietarief - Losse Maand- HL62", "productName": "HTM Regio Vrij - Reductietarief - Losse Maand- HL62",
"productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in gebied HL62", "productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in gebied HL62",
@ -1586,7 +1586,7 @@ paths:
"productId": 117, "productId": 117,
"parentProductId": 115, "parentProductId": 115,
"fikoArticleNumber": "1234", "fikoArticleNumber": "1234",
"gboPackageTemplateId": "33630", "gboPackageTemplateId": "33615",
"tapConnectProductCode": null, "tapConnectProductCode": null,
"productName": "HTM Regio Vrij - Reductietarief - Doorlopend abonnement- HL62", "productName": "HTM Regio Vrij - Reductietarief - Doorlopend abonnement- HL62",
"productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in gebied HL62", "productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in gebied HL62",
@ -1754,7 +1754,7 @@ paths:
"productId": 112, "productId": 112,
"parentProductId": 49, "parentProductId": 49,
"fikoArticleNumber": "1234", "fikoArticleNumber": "1234",
"gboPackageTemplateId": null, "gboPackageTemplateId": "33618",
"tapConnectProductCode": null, "tapConnectProductCode": null,
"productName": "HTM Regio Vrij - HL65", "productName": "HTM Regio Vrij - HL65",
"productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in gebied HL65", "productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in gebied HL65",

View File

@ -23,6 +23,7 @@ paths:
Get a list of all HTM products that refer to a given parentProductId (or without parent, if not specified), without any other filters. \ Get a list of all HTM products that refer to a given parentProductId (or without parent, if not specified), without any other filters. \
Only a few details are returned per product - use the `GET /products/{productId}` endpoint Only a few details are returned per product - use the `GET /products/{productId}` endpoint
to get more details. \ to get more details. \
Two attributes are only returned if no touchpoint HTTP header is present: `isValid` and `isArchived`. \
In the examples, it can be seen that (when a touchpoint HTTP header is present) In the examples, it can be seen that (when a touchpoint HTTP header is present)
only products that have active sellingPeriods for touchpoints within the same only products that have active sellingPeriods for touchpoints within the same
retailer as the calling retailer are returned. \ retailer as the calling retailer are returned. \
@ -52,14 +53,46 @@ paths:
{ {
"Entries": [] "Entries": []
} }
getListOneProductNoSellingPeriodsNoTouchpointId: getListOneValidProductNoSellingPeriodsNoTouchpointId:
summary: List containing one product without any SellingPeriods (no touchpointId in HTTP-headers) summary: List containing one (valid) product without any SellingPeriods (no touchpointId in HTTP-headers)
description: All products are returned, even if they have no activesellingPeriods description: All products are returned, even if they have no active sellingPeriods or are invalid or archived
value: value:
{ {
"Entries": [ "Entries": [
{ {
"productId": 1, "productId": 1,
"isValid": true,
"isArchived": false,
"productName": "HTM pilot 90% korting",
"productDescription": "Reis met 90% korting gedurende de eerste F&F pilot!",
"productCategory": {
"productCategoryId": 1,
"isTravelProduct": true,
"name": "Kortingsabonnement"
},
"tokenTypes": [
{
"tokenTypeId": 1,
"name": "EMV"
}
],
"sellableTouchpointIds": null,
"amountInclTax": null,
"imageReference": "https://www.htm.nl/media/leif2leu/htm-logo-mobile.svg",
"productPageUrl": "https://www.htm.nl/nog-onbekende-product-pagina"
}
]
}
getListOneInvalidProductNoSellingPeriodsNoTouchpointId:
summary: List containing one (invalid) product without any SellingPeriods (no touchpointId in HTTP-headers)
description: All products are returned, even if they have no active sellingPeriods or are invalid or archived
value:
{
"Entries": [
{
"productId": 1,
"isValid": false,
"isArchived": false,
"productName": "HTM pilot 90% korting", "productName": "HTM pilot 90% korting",
"productDescription": "Reis met 90% korting gedurende de eerste F&F pilot!", "productDescription": "Reis met 90% korting gedurende de eerste F&F pilot!",
"productCategory": { "productCategory": {
@ -82,12 +115,14 @@ paths:
} }
getListOneProductNoTouchpointId: getListOneProductNoTouchpointId:
summary: List containing one product with 4 currently active SellingPeriods (no touchpointId in HTTP-headers) summary: List containing one product with 4 currently active SellingPeriods (no touchpointId in HTTP-headers)
description: All products are returned, even if they have no active SellingPeriods description: All products are returned, even if they have no active SellingPeriods or are invalid or archived
value: value:
{ {
"Entries": [ "Entries": [
{ {
"productId": 2, "productId": 2,
"isValid": true,
"isArchived": false,
"productName": "HTM dagkaart", "productName": "HTM dagkaart",
"productDescription": "Reis een dag met het openbaar vervoer bij HTM", "productDescription": "Reis een dag met het openbaar vervoer bij HTM",
"productCategory": { "productCategory": {
@ -136,12 +171,14 @@ paths:
} }
getListMultipleProductsNoTouchpointId: getListMultipleProductsNoTouchpointId:
summary: List containing multiple products (no touchpointId in HTTP-headers) summary: List containing multiple products (no touchpointId in HTTP-headers)
description: All products are returned, even if they have no active SellingPeriods description: All products are returned, even if they have no active SellingPeriods or are invalid or archived
value: value:
{ {
"Entries": [ "Entries": [
{ {
"productId": 1, "productId": 1,
"isValid": true,
"isArchived": false,
"productName": "HTM pilot 90% korting", "productName": "HTM pilot 90% korting",
"productDescription": "Reis met 90% korting gedurende de eerste F&F pilot!", "productDescription": "Reis met 90% korting gedurende de eerste F&F pilot!",
"productCategory": { "productCategory": {
@ -162,6 +199,8 @@ paths:
}, },
{ {
"productId": 2, "productId": 2,
"isValid": true,
"isArchived": false,
"productName": "HTM dagkaart", "productName": "HTM dagkaart",
"productDescription": "Reis een dag met het openbaar vervoer bij HTM", "productDescription": "Reis een dag met het openbaar vervoer bij HTM",
"productCategory": { "productCategory": {
@ -182,6 +221,8 @@ paths:
}, },
{ {
"productId": 3, "productId": 3,
"isValid": true,
"isArchived": false,
"productName": "HTM 20% korting", "productName": "HTM 20% korting",
"productDescription": "Reis een maand lang met 20% korting!", "productDescription": "Reis een maand lang met 20% korting!",
"productCategory": { "productCategory": {
@ -205,6 +246,8 @@ paths:
}, },
{ {
"productId": 4, "productId": 4,
"isValid": true,
"isArchived": false,
"productName": "HTM 40% korting", "productName": "HTM 40% korting",
"productDescription": "Reis een maand lang met 40% korting!", "productDescription": "Reis een maand lang met 40% korting!",
"productCategory": { "productCategory": {
@ -228,7 +271,7 @@ paths:
} }
] ]
} }
getListMultipleProductsTuchpointId1: getListMultipleProductsTouchpointId1:
summary: List containing multiple products (touchpointId 3 in HTTP-headers) summary: List containing multiple products (touchpointId 3 in HTTP-headers)
description: Only products that have active SellingPeriods for touchpoint 3 and/or 4 (part of same retailer) are returned description: Only products that have active SellingPeriods for touchpoint 3 and/or 4 (part of same retailer) are returned
value: value:
@ -325,6 +368,8 @@ paths:
value: value:
{ {
"productOwnerId": 1, "productOwnerId": 1,
"isValid": false,
"isArchived": false,
"isSellableAtHtm": false "isSellableAtHtm": false
} }
postGboProduct: postGboProduct:
@ -332,6 +377,8 @@ paths:
value: value:
{ {
"fikoArticleNumber": "1234", "fikoArticleNumber": "1234",
"isValid": true,
"isArchived": false,
"gboPackageTemplateId": "30901", "gboPackageTemplateId": "30901",
"productName": "HTM pilot 90% korting", "productName": "HTM pilot 90% korting",
"productDescription": "Reis met 90% korting gedurende de eerste F&F pilot!", "productDescription": "Reis met 90% korting gedurende de eerste F&F pilot!",
@ -420,6 +467,8 @@ paths:
value: value:
{ {
"fikoArticleNumber": "1234", "fikoArticleNumber": "1234",
"isValid": true,
"isArchived": false,
"gboPackageTemplateId": "30901", "gboPackageTemplateId": "30901",
"productName": "HTM pilot 90% korting", "productName": "HTM pilot 90% korting",
"productDescription": "Reis met 90% korting gedurende de eerste F&F pilot!", "productDescription": "Reis met 90% korting gedurende de eerste F&F pilot!",
@ -542,6 +591,8 @@ paths:
value: value:
{ {
"fikoArticleNumber": "1234", "fikoArticleNumber": "1234",
"isValid": true,
"isArchived": false,
"gboPackageTemplateId": "35301", "gboPackageTemplateId": "35301",
"productName": "HTM Regio Vrij DH73", "productName": "HTM Regio Vrij DH73",
"productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in het gekozen gebied in de regio Rotterdam Den Haag.", "productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in het gekozen gebied in de regio Rotterdam Den Haag.",
@ -728,6 +779,8 @@ paths:
"productId": 1, "productId": 1,
"parentProductId": null, "parentProductId": null,
"fikoArticleNumber": "1234", "fikoArticleNumber": "1234",
"isValid": true,
"isArchived": false,
"gboPackageTemplateId": "30901", "gboPackageTemplateId": "30901",
"tapConnectProductCode": null, "tapConnectProductCode": null,
"productName": "HTM pilot 90% korting", "productName": "HTM pilot 90% korting",
@ -900,6 +953,8 @@ paths:
"productId": 2, "productId": 2,
"parentProductId": null, "parentProductId": null,
"fikoArticleNumber": "1234", "fikoArticleNumber": "1234",
"isValid": true,
"isArchived": false,
"gboPackageTemplateId": "30901", "gboPackageTemplateId": "30901",
"tapConnectProductCode": null, "tapConnectProductCode": null,
"productName": "HTM pilot 90% korting", "productName": "HTM pilot 90% korting",
@ -1129,6 +1184,8 @@ paths:
"productId": 3, "productId": 3,
"parentProductId": null, "parentProductId": null,
"fikoArticleNumber": "1234", "fikoArticleNumber": "1234",
"isValid": true,
"isArchived": false,
"gboPackageTemplateId": "35301", "gboPackageTemplateId": "35301",
"tapConnectProductCode": null, "tapConnectProductCode": null,
"productName": "HTM Regio Vrij DH73", "productName": "HTM Regio Vrij DH73",
@ -1413,16 +1470,17 @@ paths:
value: value:
{ {
"productOwnerId": 1, "productOwnerId": 1,
"isRenewable": false, "isValid": false,
"isSellableAtHtm": false, "isArchived": false,
"needsSolvencyCheckConsumer": false, "isSellableAtHtm": false
"needsSolvencyCheckBusiness": false
} }
updateGboProduct: updateGboProduct:
summary: Update existing GBO product (non-renewable) summary: Update existing GBO product (non-renewable)
value: value:
{ {
"fikoArticleNumber": "1234", "fikoArticleNumber": "1234",
"isValid": true,
"isArchived": false,
"gboPackageTemplateId": "30901", "gboPackageTemplateId": "30901",
"productName": "HTM pilot 90% korting", "productName": "HTM pilot 90% korting",
"productDescription": "Reis met 90% korting gedurende de eerste F&F pilot!", "productDescription": "Reis met 90% korting gedurende de eerste F&F pilot!",
@ -1515,6 +1573,8 @@ paths:
value: value:
{ {
"fikoArticleNumber": "1234", "fikoArticleNumber": "1234",
"isValid": true,
"isArchived": false,
"gboPackageTemplateId": "30901", "gboPackageTemplateId": "30901",
"productName": "HTM pilot 90% korting", "productName": "HTM pilot 90% korting",
"productDescription": "Reis met 90% korting gedurende de eerste F&F pilot!", "productDescription": "Reis met 90% korting gedurende de eerste F&F pilot!",
@ -1629,6 +1689,8 @@ paths:
value: value:
{ {
"fikoArticleNumber": "1234", "fikoArticleNumber": "1234",
"isValid": true,
"isArchived": false,
"gboPackageTemplateId": "30901", "gboPackageTemplateId": "30901",
"productName": "HTM pilot 90% korting", "productName": "HTM pilot 90% korting",
"productDescription": "Reis met 90% korting gedurende de eerste F&F pilot!", "productDescription": "Reis met 90% korting gedurende de eerste F&F pilot!",
@ -1759,6 +1821,8 @@ paths:
value: value:
{ {
"fikoArticleNumber": "1234", "fikoArticleNumber": "1234",
"isValid": true,
"isArchived": false,
"gboPackageTemplateId": "35301", "gboPackageTemplateId": "35301",
"productName": "HTM Regio Vrij DH73", "productName": "HTM Regio Vrij DH73",
"productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in het gekozen gebied in de regio Rotterdam Den Haag.", "productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in het gekozen gebied in de regio Rotterdam Den Haag.",
@ -2096,10 +2160,26 @@ components:
type: object type: object
required: required:
- productId - productId
- productName
- productDescription
- productCategory
- tokenTypes
- sellableTouchpointIds
- amountInclTax
- imageReference
- productPageUrl
properties: properties:
productId: productId:
type: integer type: integer
example: 1 example: 1
isValid:
type: boolean
description: Not returned for external touchpoints
example: true
isArchived:
type: boolean
description: Not returned for external touchpoints
example: false
productName: productName:
type: string type: string
example: HTM pilot 90% korting example: HTM pilot 90% korting
@ -2156,6 +2236,8 @@ components:
required: required:
- productId - productId
- productOwner - productOwner
- isValid
- isArchived
- isSellableAtHtm - isSellableAtHtm
properties: properties:
productId: productId:
@ -2168,6 +2250,14 @@ components:
type: string type: string
description: The article number of the product in FIKO description: The article number of the product in FIKO
example: 1234 example: 1234
isValid:
type: boolean
description: Indicates if the product is valid - if false, the Service Engine will prevent touchpoints from seeing this product
example: true
isArchived:
type: boolean
description: Indicates if the product is archived - if true, the Service Engine will prevent touchpoints from seeing this product
example: false
gboPackageTemplateId: gboPackageTemplateId:
type: string type: string
example: '30901' example: '30901'
@ -2500,6 +2590,8 @@ components:
CreateProductRequest: CreateProductRequest:
required: required:
- productOwnerId - productOwnerId
- isValid
- isArchived
- isSellableAtHtm - isSellableAtHtm
type: object type: object
properties: properties:
@ -2511,6 +2603,14 @@ components:
type: string type: string
description: The article number of the product in FIKO description: The article number of the product in FIKO
example: 1234 example: 1234
isValid:
type: boolean
description: Indicates if the product is valid - if false, the Service Engine will prevent touchpoints from seeing this product
example: true
isArchived:
type: boolean
description: Indicates if the product is archived - if true, the Service Engine will prevent touchpoints from seeing this product
example: false
gboPackageTemplateId: gboPackageTemplateId:
type: string type: string
description: >- description: >-
@ -2863,6 +2963,8 @@ components:
UpdateProductRequest: UpdateProductRequest:
required: required:
- productOwnerId - productOwnerId
- isValid
- isArchived
- isSellableAtHtm - isSellableAtHtm
type: object type: object
properties: properties:
@ -2874,6 +2976,14 @@ components:
type: string type: string
description: The article number of the product in FIKO description: The article number of the product in FIKO
example: 1234 example: 1234
isValid:
type: boolean
description: Indicates if the product is valid - if false, the Service Engine will prevent touchpoints from seeing this product
example: true
isArchived:
type: boolean
description: Indicates if the product is archived - if true, the Service Engine will prevent touchpoints from seeing this product
example: false
gboPackageTemplateId: gboPackageTemplateId:
type: string type: string
description: >- description: >-