Compare commits

..

3 Commits

3 changed files with 152 additions and 60 deletions

View File

@ -6,7 +6,7 @@ info:
To be used by touchpoints to get information about HTM products they are allowed to see and/or sell.
version: "1.0"
servers:
- url: https://api.integratielaag.nl/abt/abtserviceengine/2.0
- url: https://api.integratielaag.nl/abt/abtserviceengine/1.0
tags:
- name: ServiceEngine Products
description: |-
@ -70,7 +70,7 @@ paths:
{
"get_details":
{
"href": "https://api.integratielaag.nl/abt/abtserviceengine/2.0/products/99",
"href": "https://api.integratielaag.nl/abt/abtserviceengine/1.0/products/99",
"method": "GET",
},
},
@ -103,7 +103,7 @@ paths:
{
"get_details":
{
"href": "https://api.integratielaag.nl/abt/abtserviceengine/2.0/products/2",
"href": "https://api.integratielaag.nl/abt/abtserviceengine/1.0/products/2",
"method": "GET",
},
},
@ -136,7 +136,7 @@ paths:
{
"get_details":
{
"href": "https://api.integratielaag.nl/abt/abtserviceengine/2.0/products/2",
"href": "https://api.integratielaag.nl/abt/abtserviceengine/1.0/products/2",
"method": "GET",
},
},
@ -169,7 +169,7 @@ paths:
{
"get_details":
{
"href": "https://api.integratielaag.nl/abt/abtserviceengine/2.0/products/49",
"href": "https://api.integratielaag.nl/abt/abtserviceengine/1.0/products/49",
"method": "GET",
},
},
@ -202,7 +202,7 @@ paths:
{
"get_details":
{
"href": "https://api.integratielaag.nl/abt/abtserviceengine/2.0/products/126",
"href": "https://api.integratielaag.nl/abt/abtserviceengine/1.0/products/126",
"method": "GET",
},
},
@ -235,7 +235,7 @@ paths:
{
"get_details":
{
"href": "https://api.integratielaag.nl/abt/abtserviceengine/2.0/products/2",
"href": "https://api.integratielaag.nl/abt/abtserviceengine/1.0/products/2",
"method": "GET",
},
},
@ -259,7 +259,7 @@ paths:
{
"get_details":
{
"href": "https://api.integratielaag.nl/abt/abtserviceengine/2.0/products/4",
"href": "https://api.integratielaag.nl/abt/abtserviceengine/1.0/products/4",
"method": "GET",
},
},
@ -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",
@ -2181,7 +2181,7 @@ components:
properties:
href:
type: string
example: https://api.integratielaag.nl/abt/abtserviceengine/2.0/products/1
example: https://api.integratielaag.nl/abt/abtserviceengine/1.0/products/1
method:
type: string
example: GET
@ -2191,10 +2191,7 @@ components:
required:
- productId
- productOwner
- isRenewable
- isSellableAtHtm
- needsSolvencyCheckConsumer
- needsSolvencyCheckBusiness
properties:
productId:
type: integer

View File

@ -6,7 +6,7 @@ info:
To be used by touchpoints to get information about HTM products they are allowed to see and/or sell.
version: "1.0"
servers:
- url: https://api.integratielaag.nl/abt/touchpoint/2.0
- url: https://api.integratielaag.nl/abt/touchpoint/1.0
tags:
- name: ServiceEngine Products
description: |-
@ -70,7 +70,7 @@ paths:
{
"get_details":
{
"href": "https://api.integratielaag.nl/abt/touchpoint/2.0/products/99",
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/products/99",
"method": "GET",
},
},
@ -103,7 +103,7 @@ paths:
{
"get_details":
{
"href": "https://api.integratielaag.nl/abt/touchpoint/2.0/products/2",
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/products/2",
"method": "GET",
},
},
@ -136,7 +136,7 @@ paths:
{
"get_details":
{
"href": "https://api.integratielaag.nl/abt/touchpoint/2.0/products/2",
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/products/2",
"method": "GET",
},
},
@ -169,7 +169,7 @@ paths:
{
"get_details":
{
"href": "https://api.integratielaag.nl/abt/touchpoint/2.0/products/49",
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/products/49",
"method": "GET",
},
},
@ -202,7 +202,7 @@ paths:
{
"get_details":
{
"href": "https://api.integratielaag.nl/abt/touchpoint/2.0/products/126",
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/products/126",
"method": "GET",
},
},
@ -235,7 +235,7 @@ paths:
{
"get_details":
{
"href": "https://api.integratielaag.nl/abt/touchpoint/2.0/products/2",
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/products/2",
"method": "GET",
},
},
@ -259,7 +259,7 @@ paths:
{
"get_details":
{
"href": "https://api.integratielaag.nl/abt/touchpoint/2.0/products/4",
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/products/4",
"method": "GET",
},
},
@ -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",
@ -2181,7 +2181,7 @@ components:
properties:
href:
type: string
example: https://api.integratielaag.nl/abt/touchpoint/2.0/products/1
example: https://api.integratielaag.nl/abt/touchpoint/1.0/products/1
method:
type: string
example: GET
@ -2191,10 +2191,7 @@ components:
required:
- productId
- productOwner
- isRenewable
- isSellableAtHtm
- needsSolvencyCheckConsumer
- needsSolvencyCheckBusiness
properties:
productId:
type: integer

View File

@ -2,7 +2,7 @@ openapi: 3.0.1
info:
title: ABTProducts
description: >-
CRUD APIs for HTM products (based on the new domainmodel v2.4). Internal use
CRUD APIs for HTM products (based on the new domainmodel v2.5). Internal use
only; external touchpoints can get read-only, filtered access via the HTM
Service Engine, using a different endpoint.
version: '1.0'
@ -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,16 +368,17 @@ paths:
value:
{
"productOwnerId": 1,
"isRenewable": false,
"isSellableAtHtm": false,
"needsSolvencyCheckConsumer": false,
"needsSolvencyCheckBusiness": false
"isValid": false,
"isArchived": false,
"isSellableAtHtm": false
}
postGboProduct:
summary: Add new 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!",
@ -423,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!",
@ -545,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.",
@ -731,6 +779,8 @@ paths:
"productId": 1,
"parentProductId": null,
"fikoArticleNumber": "1234",
"isValid": true,
"isArchived": false,
"gboPackageTemplateId": "30901",
"tapConnectProductCode": null,
"productName": "HTM pilot 90% korting",
@ -903,6 +953,8 @@ paths:
"productId": 2,
"parentProductId": null,
"fikoArticleNumber": "1234",
"isValid": true,
"isArchived": false,
"gboPackageTemplateId": "30901",
"tapConnectProductCode": null,
"productName": "HTM pilot 90% korting",
@ -1132,6 +1184,8 @@ paths:
"productId": 3,
"parentProductId": null,
"fikoArticleNumber": "1234",
"isValid": true,
"isArchived": false,
"gboPackageTemplateId": "35301",
"tapConnectProductCode": null,
"productName": "HTM Regio Vrij DH73",
@ -1416,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!",
@ -1518,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!",
@ -1632,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!",
@ -1762,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.",
@ -2099,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
@ -2159,10 +2236,9 @@ components:
required:
- productId
- productOwner
- isRenewable
- isValid
- isArchived
- isSellableAtHtm
- needsSolvencyCheckConsumer
- needsSolvencyCheckBusiness
properties:
productId:
type: integer
@ -2174,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'
@ -2506,10 +2590,9 @@ components:
CreateProductRequest:
required:
- productOwnerId
- isRenewable
- isValid
- isArchived
- isSellableAtHtm
- needsSolvencyCheckConsumer
- needsSolvencyCheckBusiness
type: object
properties:
parentProductId:
@ -2520,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: >-
@ -2872,10 +2963,9 @@ components:
UpdateProductRequest:
required:
- productOwnerId
- isRenewable
- isValid
- isArchived
- isSellableAtHtm
- needsSolvencyCheckConsumer
- needsSolvencyCheckBusiness
type: object
properties:
parentProductId:
@ -2886,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: >-