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,
"parentProductId": 49,
"fikoArticleNumber": "1234",
"gboPackageTemplateId": null,
"gboPackageTemplateId": "33615",
"tapConnectProductCode": null,
"productName": "HTM Regio Vrij - HL62",
"productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in gebied HL62",
@ -1095,7 +1095,7 @@ paths:
"productId": 114,
"parentProductId": 109,
"fikoArticleNumber": "1234",
"gboPackageTemplateId": "33629",
"gboPackageTemplateId": "33615",
"tapConnectProductCode": null,
"productName": "HTM Regio Vrij - Voltarief - HL62",
"productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in gebied HL62",
@ -1261,7 +1261,7 @@ paths:
"productId": 115,
"parentProductId": 109,
"fikoArticleNumber": "1234",
"gboPackageTemplateId": "33630",
"gboPackageTemplateId": "33615",
"tapConnectProductCode": null,
"productName": "HTM Regio Vrij - Reductietarief - HL62",
"productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in gebied HL62",
@ -1422,7 +1422,7 @@ paths:
"productId": 116,
"parentProductId": 115,
"fikoArticleNumber": "1234",
"gboPackageTemplateId": "33630",
"gboPackageTemplateId": "33615",
"tapConnectProductCode": null,
"productName": "HTM Regio Vrij - Reductietarief - Losse Maand- HL62",
"productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in gebied HL62",
@ -1586,7 +1586,7 @@ paths:
"productId": 117,
"parentProductId": 115,
"fikoArticleNumber": "1234",
"gboPackageTemplateId": "33630",
"gboPackageTemplateId": "33615",
"tapConnectProductCode": null,
"productName": "HTM Regio Vrij - Reductietarief - Doorlopend abonnement- HL62",
"productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in gebied HL62",
@ -1754,7 +1754,7 @@ paths:
"productId": 112,
"parentProductId": 49,
"fikoArticleNumber": "1234",
"gboPackageTemplateId": null,
"gboPackageTemplateId": "33618",
"tapConnectProductCode": null,
"productName": "HTM Regio Vrij - 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,
"parentProductId": 49,
"fikoArticleNumber": "1234",
"gboPackageTemplateId": null,
"gboPackageTemplateId": "33615",
"tapConnectProductCode": null,
"productName": "HTM Regio Vrij - HL62",
"productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in gebied HL62",
@ -1095,7 +1095,7 @@ paths:
"productId": 114,
"parentProductId": 109,
"fikoArticleNumber": "1234",
"gboPackageTemplateId": "33629",
"gboPackageTemplateId": "33615",
"tapConnectProductCode": null,
"productName": "HTM Regio Vrij - Voltarief - HL62",
"productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in gebied HL62",
@ -1261,7 +1261,7 @@ paths:
"productId": 115,
"parentProductId": 109,
"fikoArticleNumber": "1234",
"gboPackageTemplateId": "33630",
"gboPackageTemplateId": "33615",
"tapConnectProductCode": null,
"productName": "HTM Regio Vrij - Reductietarief - HL62",
"productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in gebied HL62",
@ -1422,7 +1422,7 @@ paths:
"productId": 116,
"parentProductId": 115,
"fikoArticleNumber": "1234",
"gboPackageTemplateId": "33630",
"gboPackageTemplateId": "33615",
"tapConnectProductCode": null,
"productName": "HTM Regio Vrij - Reductietarief - Losse Maand- HL62",
"productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in gebied HL62",
@ -1586,7 +1586,7 @@ paths:
"productId": 117,
"parentProductId": 115,
"fikoArticleNumber": "1234",
"gboPackageTemplateId": "33630",
"gboPackageTemplateId": "33615",
"tapConnectProductCode": null,
"productName": "HTM Regio Vrij - Reductietarief - Doorlopend abonnement- HL62",
"productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in gebied HL62",
@ -1754,7 +1754,7 @@ paths:
"productId": 112,
"parentProductId": 49,
"fikoArticleNumber": "1234",
"gboPackageTemplateId": null,
"gboPackageTemplateId": "33618",
"tapConnectProductCode": null,
"productName": "HTM Regio Vrij - 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. \
Only a few details are returned per product - use the `GET /products/{productId}` endpoint
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)
only products that have active sellingPeriods for touchpoints within the same
retailer as the calling retailer are returned. \
@ -52,14 +53,46 @@ paths:
{
"Entries": []
}
getListOneProductNoSellingPeriodsNoTouchpointId:
summary: List containing one product without any SellingPeriods (no touchpointId in HTTP-headers)
description: All products are returned, even if they have no activesellingPeriods
getListOneValidProductNoSellingPeriodsNoTouchpointId:
summary: List containing one (valid) 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": 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",
"productDescription": "Reis met 90% korting gedurende de eerste F&F pilot!",
"productCategory": {
@ -82,12 +115,14 @@ paths:
}
getListOneProductNoTouchpointId:
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:
{
"Entries": [
{
"productId": 2,
"isValid": true,
"isArchived": false,
"productName": "HTM dagkaart",
"productDescription": "Reis een dag met het openbaar vervoer bij HTM",
"productCategory": {
@ -136,12 +171,14 @@ paths:
}
getListMultipleProductsNoTouchpointId:
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:
{
"Entries": [
{
"productId": 1,
"isValid": true,
"isArchived": false,
"productName": "HTM pilot 90% korting",
"productDescription": "Reis met 90% korting gedurende de eerste F&F pilot!",
"productCategory": {
@ -162,6 +199,8 @@ paths:
},
{
"productId": 2,
"isValid": true,
"isArchived": false,
"productName": "HTM dagkaart",
"productDescription": "Reis een dag met het openbaar vervoer bij HTM",
"productCategory": {
@ -182,6 +221,8 @@ paths:
},
{
"productId": 3,
"isValid": true,
"isArchived": false,
"productName": "HTM 20% korting",
"productDescription": "Reis een maand lang met 20% korting!",
"productCategory": {
@ -205,6 +246,8 @@ paths:
},
{
"productId": 4,
"isValid": true,
"isArchived": false,
"productName": "HTM 40% korting",
"productDescription": "Reis een maand lang met 40% korting!",
"productCategory": {
@ -228,7 +271,7 @@ paths:
}
]
}
getListMultipleProductsTuchpointId1:
getListMultipleProductsTouchpointId1:
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
value:
@ -325,6 +368,8 @@ paths:
value:
{
"productOwnerId": 1,
"isValid": false,
"isArchived": false,
"isSellableAtHtm": false
}
postGboProduct:
@ -332,6 +377,8 @@ paths:
value:
{
"fikoArticleNumber": "1234",
"isValid": true,
"isArchived": false,
"gboPackageTemplateId": "30901",
"productName": "HTM pilot 90% korting",
"productDescription": "Reis met 90% korting gedurende de eerste F&F pilot!",
@ -420,6 +467,8 @@ paths:
value:
{
"fikoArticleNumber": "1234",
"isValid": true,
"isArchived": false,
"gboPackageTemplateId": "30901",
"productName": "HTM pilot 90% korting",
"productDescription": "Reis met 90% korting gedurende de eerste F&F pilot!",
@ -542,6 +591,8 @@ paths:
value:
{
"fikoArticleNumber": "1234",
"isValid": true,
"isArchived": false,
"gboPackageTemplateId": "35301",
"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.",
@ -728,6 +779,8 @@ paths:
"productId": 1,
"parentProductId": null,
"fikoArticleNumber": "1234",
"isValid": true,
"isArchived": false,
"gboPackageTemplateId": "30901",
"tapConnectProductCode": null,
"productName": "HTM pilot 90% korting",
@ -900,6 +953,8 @@ paths:
"productId": 2,
"parentProductId": null,
"fikoArticleNumber": "1234",
"isValid": true,
"isArchived": false,
"gboPackageTemplateId": "30901",
"tapConnectProductCode": null,
"productName": "HTM pilot 90% korting",
@ -1129,6 +1184,8 @@ paths:
"productId": 3,
"parentProductId": null,
"fikoArticleNumber": "1234",
"isValid": true,
"isArchived": false,
"gboPackageTemplateId": "35301",
"tapConnectProductCode": null,
"productName": "HTM Regio Vrij DH73",
@ -1413,16 +1470,17 @@ paths:
value:
{
"productOwnerId": 1,
"isRenewable": false,
"isSellableAtHtm": false,
"needsSolvencyCheckConsumer": false,
"needsSolvencyCheckBusiness": false
"isValid": false,
"isArchived": false,
"isSellableAtHtm": false
}
updateGboProduct:
summary: Update existing GBO product (non-renewable)
value:
{
"fikoArticleNumber": "1234",
"isValid": true,
"isArchived": false,
"gboPackageTemplateId": "30901",
"productName": "HTM pilot 90% korting",
"productDescription": "Reis met 90% korting gedurende de eerste F&F pilot!",
@ -1515,6 +1573,8 @@ paths:
value:
{
"fikoArticleNumber": "1234",
"isValid": true,
"isArchived": false,
"gboPackageTemplateId": "30901",
"productName": "HTM pilot 90% korting",
"productDescription": "Reis met 90% korting gedurende de eerste F&F pilot!",
@ -1629,6 +1689,8 @@ paths:
value:
{
"fikoArticleNumber": "1234",
"isValid": true,
"isArchived": false,
"gboPackageTemplateId": "30901",
"productName": "HTM pilot 90% korting",
"productDescription": "Reis met 90% korting gedurende de eerste F&F pilot!",
@ -1759,6 +1821,8 @@ paths:
value:
{
"fikoArticleNumber": "1234",
"isValid": true,
"isArchived": false,
"gboPackageTemplateId": "35301",
"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.",
@ -2096,10 +2160,26 @@ components:
type: object
required:
- productId
- productName
- productDescription
- productCategory
- tokenTypes
- sellableTouchpointIds
- amountInclTax
- imageReference
- productPageUrl
properties:
productId:
type: integer
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:
type: string
example: HTM pilot 90% korting
@ -2156,6 +2236,8 @@ components:
required:
- productId
- productOwner
- isValid
- isArchived
- isSellableAtHtm
properties:
productId:
@ -2168,6 +2250,14 @@ components:
type: string
description: The article number of the product in FIKO
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:
type: string
example: '30901'
@ -2500,6 +2590,8 @@ components:
CreateProductRequest:
required:
- productOwnerId
- isValid
- isArchived
- isSellableAtHtm
type: object
properties:
@ -2511,6 +2603,14 @@ components:
type: string
description: The article number of the product in FIKO
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:
type: string
description: >-
@ -2863,6 +2963,8 @@ components:
UpdateProductRequest:
required:
- productOwnerId
- isValid
- isArchived
- isSellableAtHtm
type: object
properties:
@ -2874,6 +2976,14 @@ components:
type: string
description: The article number of the product in FIKO
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:
type: string
description: >-