Compare commits

..

No commits in common. "e13122a309267e64bfd910950c78de8b22970e06" and "d2176dfdc340832563ec62d89ba08be64dc4042a" have entirely different histories.

11 changed files with 399 additions and 647 deletions

View File

@ -91,26 +91,6 @@ public class ABTProductsPUTGenerator {
private static void checkRewriteNullFields(Map.Entry<String, JsonNode> jsonField, JsonNode newJsonNode) {
switch (jsonField.getKey()) {
case "productOwner" -> {
LOGGER.info("Rewriting null productOwner to productOwnerId...");
((ObjectNode)newJsonNode).putRawValue("productOwnerId", null);
}
case "productCategory" -> {
LOGGER.info("Rewriting null productCategory to productCategoryId...");
((ObjectNode)newJsonNode).putRawValue("productCategoryId", null);
}
case "paymentMoment" -> {
LOGGER.info("Rewriting null paymentMoment to paymentMomentId...");
((ObjectNode)newJsonNode).putRawValue("paymentMomentId", null);
}
case "requiredCustomerLevel" -> {
LOGGER.info("Rewriting null requiredCustomerLevel to requiredCustomerLevelId...");
((ObjectNode)newJsonNode).putRawValue("requiredCustomerLevelId", null);
}
case "layerInfo" -> {
LOGGER.info("Rewriting null layerInfo to layerInfoId...");
((ObjectNode)newJsonNode).putRawValue("layerInfoId", null);
}
case "marketSegments" -> {
LOGGER.info("Rewriting null marketSegments to marketSegmentIds...");
((ObjectNode)newJsonNode).putRawValue("marketSegmentIds", null);
@ -168,11 +148,6 @@ public class ABTProductsPUTGenerator {
Long requiredCustomerLevelId = jsonField.getValue().get("requiredCustomerLevelId").asLong();
((ObjectNode)newJsonNode).put("requiredCustomerLevelId", requiredCustomerLevelId);
}
case "layerInfo" -> {
LOGGER.info("Rewriting layerInfo to layerInfoId...");
Long layerInfoId = jsonField.getValue().get("layerInfoId").asLong();
((ObjectNode)newJsonNode).put("layerInfoId", layerInfoId);
}
}
}

View File

@ -695,7 +695,8 @@ paths:
[
{
"invoiceAccountingStatusId": 1,
"createdOn": "2024-07-02 15:01:00.000",
"createdOn",
"2024-07-02 15:01:00.000",
"description": null,
},
],
@ -1241,7 +1242,7 @@ components:
data:
type: string
format: json
example: "{json}"
example: { json }
isCredit:
type: boolean
example: false

View File

@ -453,123 +453,6 @@ paths:
"refundAmount": 2489,
"refundMethod": "creditInvoice",
}
/contracts/{contractId}/undocancellation:
parameters:
- in: header
name: X-HTM-JWT-AUTH-HEADER
schema:
type: string
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
required: true
description: The JWT of the logged in customer.
- in: path
name: contractId
schema:
type: string
format: uuid
example: 9e224750-3065-471d-af57-85b9cffa7c89
required: true
description: The id of the contract to process.
post:
summary: Undo a pending cancellation of a contract.
description: Undo a pending cancellation of a contract.
tags:
- SE Contract Cancellation v2
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: "#/components/schemas/unavailable"
examples:
Successfully undid cancellation of contract:
summary: Successfully undid pending cancellation
description: |
Successfully undid a pending cancellation of a contract. The contract
is active again.
value:
{
"contractId": "9e224750-3065-471d-af57-85b9cffa7c89",
"contractNumber": "D123456",
"customerProfileId": 42,
"orderId": "eb3d08f7-7feb-4f31-9f5b-daa634e51f48",
"orderLineId": "52efbbfc-8c28-4016-9ece-dc3ef9a70bd8",
"touchpointId": 2,
"contractStatus":
{ "contractStatusId": 2, "name": "active" },
"productId": 1,
"productName": "HTM Maand 20% korting",
"termDuration": "P0Y1M0D",
"billingDay": 15,
"highestInvoiceTerm": 1,
"ovPayTokenId": 1337,
"contractVersions":
[
{
"contractVersionId": 1,
"termsAndConditions": "https://www.htm.nl/reisproducten/productvoorwaarden/htm-maandkorting/",
"termAmountExclTax": 1200,
"taxCode": "V21",
"taxAmount": 108,
"termAmountInclTax": 1308,
"start": "2024-07-04 15:01:00.000",
"end": "2024-12-31 15:01:00.000",
},
{
"contractVersionId": 2,
"termsAndConditions": "https://www.htm.nl/reisproducten/productvoorwaarden/htm-maandkorting/",
"termAmountExclTax": 1300,
"taxCode": "V21",
"taxAmount": 117,
"termAmountInclTax": 1417,
"start": "2025-01-01 15:01:00.000",
},
],
"contractActions":
[
{
"contractActionId": "67687851-59dd-4bbc-aa74-0f7abd26c883",
"actionType":
{ "actionTypeId": 1, "name": "create" },
"user": "subid123456",
"timestamp": "2024-07-02 15:01:00.000",
"details": "Contract created",
"correlationId": "976e7a4c-bf24-43d2-b444-55817556e7ee",
},
{
"contractActionId": "ea9ad287-9cd3-4e76-bcb9-d71db551cf55",
"actionType":
{ "actionTypeId": 2, "name": "change" },
"user": "subid123456",
"timestamp": "2024-07-03 15:01:00.000",
"details": "Contract changed",
"correlationId": "e2462347-6749-4841-b42a-cf8de19ec727",
},
],
"contractInvoices":
[
{
"contractInvoiceId": "8699d72a-cf4d-4e6b-9e9c-549d837ca51f",
"externalReference": "F2024-0001",
"term": 1,
"invoiceDate": "2024-07-02",
"created": "2024-07-02 15:01:00.000",
"updated": "2024-07-02 15:01:00.000",
"state": "invoice_created",
"data": "{json}",
"isCredit": false,
},
],
"_links":
{
"get_token":
{
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/customers/tokens?ovPayTokenId=1337",
"method": "GET",
},
},
}
/contractpayments:
parameters:
- in: header

View File

@ -104,8 +104,8 @@ paths:
transactionItemId: afce35b2-1dff-4ace-98d0-4b9ac405c87d
transactionType: sales
sourceName: HTM-website
transactionId: "1001236"
transactionLineId: "1"
transactionId: 1001236
transactionLineId: 1
name: HTM Maandkorting 20%
quantity: 1
taxCode: V21
@ -114,7 +114,7 @@ paths:
amountTax: 21
occurredOn: 2024-10-04T00:00:00Z
type: debit
articleNumber: "4031"
articleNumber: 4031
status: created
aggregationReference: null
accountingSystemReference: null
@ -123,8 +123,8 @@ paths:
transactionItemId: 1c1fc1c8-57f4-4336-9b43-a974eae5afbf
transactionType: sales
sourceName: HTM-website
transactionId: "1002001"
transactionLineId: "1"
transactionId: 1002001
transactionLineId: 1
name: Reisproduct HTM 3 dag Anoniem
quantity: 1
taxCode: V21
@ -133,7 +133,7 @@ paths:
amountTax: 21
occurredOn: 2024-10-04T00:00:00Z
type: debit
articleNumber: "4051"
articleNumber: 4051
status: failed
aggregationReference: null
accountingSystemReference: null
@ -142,8 +142,8 @@ paths:
transactionItemId: 3f58441e-dc8f-4956-9bc5-c952312476db
transactionType: sales
sourceName: HTM-website
transactionId: "1001871"
transactionLineId: "1"
transactionId: 1001871
transactionLineId: 1
name: Reisproduct HTM 3 dag Anoniem
quantity: 1
taxCode: V21
@ -152,7 +152,7 @@ paths:
amountTax: 21
occurredOn: 2024-10-04T00:00:00Z
type: debit
articleNumber: "4051"
articleNumber: 4051
status: returned to src
aggregationReference: FIKO-171f40609e
accountingSystemReference: null
@ -161,8 +161,8 @@ paths:
transactionItemId: 4418825f-3f9b-45bc-b662-dc3cd4ce6599
transactionType: sales
sourceName: HTM-website
transactionId: "1001131"
transactionLineId: "1"
transactionId: 1001131
transactionLineId: 1
name: Reisproduct HTM 3 dag Anoniem
quantity: 1
taxCode: V21
@ -171,7 +171,7 @@ paths:
amountTax: 21
occurredOn: 2024-10-04T00:00:00Z
type: debit
articleNumber: "4051"
articleNumber: 4051
status: returned to trx-db
aggregationReference: null
accountingSystemReference: null
@ -180,8 +180,8 @@ paths:
transactionItemId: 2ddc1831-cf7b-4a77-8aa1-11aaf8e98d9f
transactionType: sales
sourceName: HTM-website
transactionId: "1001885"
transactionLineId: "1"
transactionId: 1001885
transactionLineId: 1
name: Reisproduct HTM 3 dag Anoniem
quantity: 1
taxCode: V21
@ -190,7 +190,7 @@ paths:
amountTax: 21
occurredOn: 2024-10-04T00:00:00Z
type: debit
articleNumber: "4051"
articleNumber: 4051
status: re-entered
aggregationReference: null
accountingSystemReference: null
@ -199,8 +199,8 @@ paths:
transactionItemId: 5ab2513d-f334-4cf8-8895-4e7269374a4b
transactionType: sales
sourceName: HTM-website
transactionId: "1001679"
transactionLineId: "1"
transactionId: 1001679
transactionLineId: 1
name: Reisproduct HTM 1 dag Anoniem
quantity: 1
taxCode: V21
@ -209,7 +209,7 @@ paths:
amountTax: 21
occurredOn: 2024-10-04T00:00:00Z
type: debit
articleNumber: "1737"
articleNumber: 1737
status: succeeded
aggregationReference: FIKO-6a4fca8cd6
accountingSystemReference: U4F-123456
@ -237,8 +237,8 @@ paths:
transactionItems:
- transactionType: sales
sourceName: HTM-website
transactionId: "1001236"
transactionLineId: "1"
transactionId: 1001236
transactionLineId: 1
name: HTM Maandkorting 20%
quantity: 1
taxCode: V21
@ -247,7 +247,7 @@ paths:
amountTax: 21
occurredOn: 2024-10-04T00:00:00Z
type: debit
articleNumber: "4031"
articleNumber: 4031
Add multiple transaction items:
summary: Add multiple transaction items
description: Add multiple transaction items of type sales.
@ -255,8 +255,8 @@ paths:
transactionItems:
- transactionType: sales
sourceName: HTM-website
transactionId: "1001236"
transactionLineId: "1"
transactionId: 1001236
transactionLineId: 1
name: HTM Maandkorting 20%
quantity: 1
taxCode: V21
@ -265,11 +265,11 @@ paths:
amountTax: 21
occurredOn: 2024-10-04T00:00:00Z
type: debit
articleNumber: "4031"
articleNumber: 4031
- transactionType: sales
sourceName: HTM-website
transactionId: "1001237"
transactionLineId: "1"
transactionId: 1001237
transactionLineId: 1
name: HTM Maandkorting 20%
quantity: 1
taxCode: V21
@ -278,7 +278,7 @@ paths:
amountTax: 21
occurredOn: 2024-10-04T00:00:00Z
type: debit
articleNumber: "4031"
articleNumber: 4031
responses:
"202":
description: Accepted
@ -3022,11 +3022,11 @@ components:
example: HTM-website
transactionId:
type: string
example: "1001236"
example: 1001236
transactionLineId:
type: string
nullable: true
example: "1"
example: 1
name:
type: string
example: HTM Maandkorting 20%
@ -3058,7 +3058,7 @@ components:
articleNumber:
type: string
nullable: true
example: "4031"
example: 4031
status:
type: string
enum:
@ -3109,11 +3109,11 @@ components:
example: HTM-website
transactionId:
type: string
example: "1001236"
example: 1001236
transactionLineId:
type: string
nullable: true
example: "1"
example: 1
name:
type: string
example: HTM Maandkorting 20%
@ -3145,7 +3145,7 @@ components:
articleNumber:
type: string
nullable: true
example: "4031"
example: 4031
required:
- sourceName
- transactionType

View File

@ -192,7 +192,7 @@ paths:
{
"personalAccountDataId": "47db8a40-3238-4bf5-9284-759e3888bd47",
"name": "Jan de Vries",
"birthdate": "1970-01-01",
"birthdate": "01-01-1970",
"photo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAWJLR0Q+SWQA4wAAAAd0SU1FB+YCBAwmK58TFQgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDItMDRUMTI6Mzg6NDMrMDA6MDBAjYOrAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTAyLTA0VDEyOjM4OjQzKzAwOjAwMdA7FwAAAFd6VFh0UmF3IHByb2ZpbGUgdHlwZSBpcHRjAAB4nOPyDAhxVigoyk/LzEnlUgADIwsuYwsTIxNLkxQDEyBEgDTDZAMjs1Qgy9jUyMTMxBzEB8uASKBKLgDqFxF08kI1lQAAAYdpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+DQo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPjx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KPD94cGFja2V0IGVuZD0ndyc/PiyUmAsAAAANSURBVBhXY3grk/YfAAXYAm/HQierAAAAAElFTkSuQmCC" ,
"challengeType":
{
@ -373,7 +373,7 @@ paths:
"personalAccountData":
{
"name": "Jan de Vries",
"birthdate": "1970-01-01",
"birthdate": "01-01-1970",
"photo": "DSC_0502.JPG",
"challengeTypeId": 1,
"oneTimePassword": "H5Iiz3JTaQeIV8p",
@ -555,7 +555,7 @@ paths:
{
"personalAccountDataId": "47db8a40-3238-4bf5-9284-759e3888bd47",
"name": "Jan de Vries",
"birthdate": "1970-01-01",
"birthdate": "01-01-1970",
"photo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAWJLR0Q+SWQA4wAAAAd0SU1FB+YCBAwmK58TFQgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDItMDRUMTI6Mzg6NDMrMDA6MDBAjYOrAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTAyLTA0VDEyOjM4OjQzKzAwOjAwMdA7FwAAAFd6VFh0UmF3IHByb2ZpbGUgdHlwZSBpcHRjAAB4nOPyDAhxVigoyk/LzEnlUgADIwsuYwsTIxNLkxQDEyBEgDTDZAMjs1Qgy9jUyMTMxBzEB8uASKBKLgDqFxF08kI1lQAAAYdpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+DQo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPjx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KPD94cGFja2V0IGVuZD0ndyc/PiyUmAsAAAANSURBVBhXY3grk/YfAAXYAm/HQierAAAAAElFTkSuQmCC" ,
"challengeType":
{ "challengeTypeId": 1, "name": "email" },
@ -779,7 +779,7 @@ paths:
"verificationCode": "A7H6",
"personalAccountData":
{
"birthdate": "1970-01-01"
"birthdate": "01-01-1970"
},
},
],
@ -1136,7 +1136,7 @@ paths:
{
"personalAccountDataId": "47db8a40-3238-4bf5-9284-759e3888bd47",
"name": "Jan de Vries",
"birthdate": "1970-01-01",
"birthdate": "01-01-1970",
"photo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAWJLR0Q+SWQA4wAAAAd0SU1FB+YCBAwmK58TFQgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDItMDRUMTI6Mzg6NDMrMDA6MDBAjYOrAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTAyLTA0VDEyOjM4OjQzKzAwOjAwMdA7FwAAAFd6VFh0UmF3IHByb2ZpbGUgdHlwZSBpcHRjAAB4nOPyDAhxVigoyk/LzEnlUgADIwsuYwsTIxNLkxQDEyBEgDTDZAMjs1Qgy9jUyMTMxBzEB8uASKBKLgDqFxF08kI1lQAAAYdpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+DQo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPjx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KPD94cGFja2V0IGVuZD0ndyc/PiyUmAsAAAANSURBVBhXY3grk/YfAAXYAm/HQierAAAAAElFTkSuQmCC" ,
"challengeType":
{ "challengeTypeId": 1, "name": "email" },
@ -1275,7 +1275,7 @@ paths:
"verificationCode": "A7H6",
"personalAccountData":
{
"birthdate": "1970-01-01",
"birthdate": "01-01-1970",
}
}
responses:
@ -1377,7 +1377,7 @@ paths:
{
"personalAccountDataId": "47db8a40-3238-4bf5-9284-759e3888bd47",
"name": "Jan de Vries",
"birthdate": "1970-01-01",
"birthdate": "01-01-1970",
"photo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAWJLR0Q+SWQA4wAAAAd0SU1FB+YCBAwmK58TFQgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDItMDRUMTI6Mzg6NDMrMDA6MDBAjYOrAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTAyLTA0VDEyOjM4OjQzKzAwOjAwMdA7FwAAAFd6VFh0UmF3IHByb2ZpbGUgdHlwZSBpcHRjAAB4nOPyDAhxVigoyk/LzEnlUgADIwsuYwsTIxNLkxQDEyBEgDTDZAMjs1Qgy9jUyMTMxBzEB8uASKBKLgDqFxF08kI1lQAAAYdpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+DQo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPjx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KPD94cGFja2V0IGVuZD0ndyc/PiyUmAsAAAANSURBVBhXY3grk/YfAAXYAm/HQierAAAAAElFTkSuQmCC" ,
"challengeType":
{ "challengeTypeId": 1, "name": "email" },
@ -1457,7 +1457,7 @@ paths:
description: Only record birthdate PersonalAccountData
value:
{
"birthdate": "1970-01-01"
"birthdate": "01-01-1970"
}
name PersonalAccountData:
summary: PersonalAccountData name
@ -1479,7 +1479,7 @@ paths:
value:
{
"name": "Jan de Vries",
"birthdate": "1970-01-01",
"birthdate": "01-01-1970",
"photo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAWJLR0Q+SWQA4wAAAAd0SU1FB+YCBAwmK58TFQgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDItMDRUMTI6Mzg6NDMrMDA6MDBAjYOrAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTAyLTA0VDEyOjM4OjQzKzAwOjAwMdA7FwAAAFd6VFh0UmF3IHByb2ZpbGUgdHlwZSBpcHRjAAB4nOPyDAhxVigoyk/LzEnlUgADIwsuYwsTIxNLkxQDEyBEgDTDZAMjs1Qgy9jUyMTMxBzEB8uASKBKLgDqFxF08kI1lQAAAYdpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+DQo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPjx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KPD94cGFja2V0IGVuZD0ndyc/PiyUmAsAAAANSURBVBhXY3grk/YfAAXYAm/HQierAAAAAElFTkSuQmCC" ,
"challengeTypeId": 1,
"oneTimePassword": "H5Iiz3JTaQeIV8p",
@ -1490,7 +1490,7 @@ paths:
value:
{
"name": "Jan de Vries",
"birthdate": "1970-01-01",
"birthdate": "01-01-1970",
"photo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAWJLR0Q+SWQA4wAAAAd0SU1FB+YCBAwmK58TFQgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDItMDRUMTI6Mzg6NDMrMDA6MDBAjYOrAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTAyLTA0VDEyOjM4OjQzKzAwOjAwMdA7FwAAAFd6VFh0UmF3IHByb2ZpbGUgdHlwZSBpcHRjAAB4nOPyDAhxVigoyk/LzEnlUgADIwsuYwsTIxNLkxQDEyBEgDTDZAMjs1Qgy9jUyMTMxBzEB8uASKBKLgDqFxF08kI1lQAAAYdpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+DQo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPjx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KPD94cGFja2V0IGVuZD0ndyc/PiyUmAsAAAANSURBVBhXY3grk/YfAAXYAm/HQierAAAAAElFTkSuQmCC" ,
"challengeTypeId": 1,
"oneTimePassword": "H5Iiz3JTaQeIV8p",
@ -1558,7 +1558,7 @@ paths:
format: date
example: 1970-01-01
required: false
description: "The date of birth of the customer (formatted: YYYY-MM-DD)."
description: The date of birth of the customer.
- in: query
name: photo
schema:
@ -1598,7 +1598,7 @@ paths:
"orderLineId": "858e31b9-67f0-46ca-bf88-91a382b9c079",
"orderId": "858e31b9-67f0-46ca-bf88-91a382b9c079",
"name": "Jan de Vries",
"birthdate": "1970-01-01",
"birthdate": "01-01-1970",
"photo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAWJLR0Q+SWQA4wAAAAd0SU1FB+YCBAwmK58TFQgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDItMDRUMTI6Mzg6NDMrMDA6MDBAjYOrAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTAyLTA0VDEyOjM4OjQzKzAwOjAwMdA7FwAAAFd6VFh0UmF3IHByb2ZpbGUgdHlwZSBpcHRjAAB4nOPyDAhxVigoyk/LzEnlUgADIwsuYwsTIxNLkxQDEyBEgDTDZAMjs1Qgy9jUyMTMxBzEB8uASKBKLgDqFxF08kI1lQAAAYdpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+DQo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPjx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KPD94cGFja2V0IGVuZD0ndyc/PiyUmAsAAAANSURBVBhXY3grk/YfAAXYAm/HQierAAAAAElFTkSuQmCC" ,
"challengeType": { "challengeTypeId": 1, "name": "email" },
"oneTimePassword": "H5Iiz3JTaQeIV8p",
@ -2164,7 +2164,7 @@ paths:
format: date
example: 1970-01-01
required: false
description: "The date of birth of the customer (formatted: YYYY-MM-DD)."
description: The date of birth of the customer.
responses:
"200":
description: OK

View File

@ -64,7 +64,7 @@ paths:
"personalAccountData":
{
"name": "Jan de Vries",
"dateOfBirth": "1970-01-01",
"dateOfBirth": "01-01-1970",
"photoReference": "DSC_0502.JPG",
"fileType": "image/jpg",
"challengeTypeId": 1,
@ -205,7 +205,7 @@ paths:
"personalAccountData":
{
"name": "Jan de Vries",
"dateOfBirth": "1970-01-01",
"dateOfBirth": "01-01-1970",
"photoReference": "DSC_0502.JPG",
"fileType": "image/jpg",
"challengeTypeId": 1,
@ -355,7 +355,7 @@ paths:
"personalAccountData":
{
"name": "Jan de Vries",
"dateOfBirth": "1970-01-01",
"dateOfBirth": "01-01-1970",
"photoReference": "DSC_0502.JPG",
"fileType": "image/jpg",
"challengeTypeId": 1,
@ -462,7 +462,7 @@ paths:
"personalAccountData":
{
"name": "Jan de Vries",
"dateOfBirth": "1970-01-01",
"dateOfBirth": "01-01-1970",
"photoReference": "DSC_0502.JPG",
"fileType": "image/jpg",
"challengeTypeId": 1,
@ -529,8 +529,8 @@ paths:
value:
{
"customerProfileID": 123415,
"customerProfileData": { "dateOfBirth": "1989-03-09" },
"personalAccountData": { "birthdate": "1989-03-09" },
"customerProfileData": { "dateOfBirth": "09-03-1989" },
"personalAccountData": { "birthdate": "09-03-1989" },
"directDebitMandate":
{
"consumerName": "J. de Tèster",
@ -624,7 +624,7 @@ paths:
"personalAccountData":
{
"name": "Jan de Vries",
"dateOfBirth": "1970-01-01",
"dateOfBirth": "01-01-1970",
"photoReference": "DSC_0502.JPG",
"fileType": "image/jpg",
"challengeTypeId": 1,
@ -998,7 +998,7 @@ paths:
{
"personalAccountDataId": "47db8a40-3238-4bf5-9284-759e3888bd47",
"name": "Jan de Vries",
"birthdate": "1970-01-01",
"birthdate": "01-01-1970",
"photo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAWJLR0Q+SWQA4wAAAAd0SU1FB+YCBAwmK58TFQgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDItMDRUMTI6Mzg6NDMrMDA6MDBAjYOrAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTAyLTA0VDEyOjM4OjQzKzAwOjAwMdA7FwAAAFd6VFh0UmF3IHByb2ZpbGUgdHlwZSBpcHRjAAB4nOPyDAhxVigoyk/LzEnlUgADIwsuYwsTIxNLkxQDEyBEgDTDZAMjs1Qgy9jUyMTMxBzEB8uASKBKLgDqFxF08kI1lQAAAYdpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+DQo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPjx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KPD94cGFja2V0IGVuZD0ndyc/PiyUmAsAAAANSURBVBhXY3grk/YfAAXYAm/HQierAAAAAElFTkSuQmCC",
"challengeType":
{
@ -1084,7 +1084,7 @@ paths:
"personalAccountData":
{
"name": "Jan de Vries",
"birthdate": "1970-01-01",
"birthdate": "01-01-1970",
"photo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAWJLR0Q+SWQA4wAAAAd0SU1FB+YCBAwmK58TFQgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDItMDRUMTI6Mzg6NDMrMDA6MDBAjYOrAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTAyLTA0VDEyOjM4OjQzKzAwOjAwMdA7FwAAAFd6VFh0UmF3IHByb2ZpbGUgdHlwZSBpcHRjAAB4nOPyDAhxVigoyk/LzEnlUgADIwsuYwsTIxNLkxQDEyBEgDTDZAMjs1Qgy9jUyMTMxBzEB8uASKBKLgDqFxF08kI1lQAAAYdpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+DQo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPjx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KPD94cGFja2V0IGVuZD0ndyc/PiyUmAsAAAANSURBVBhXY3grk/YfAAXYAm/HQierAAAAAElFTkSuQmCC",
"challengeTypeId": 1,
"oneTimePassword": "H5Iiz3JTaQeIV8p",
@ -1134,7 +1134,7 @@ paths:
"personalAccountData":
{
"name": "Jan de Vries",
"dateOfBirth": "1970-01-01",
"dateOfBirth": "01-01-1970",
"photoReference": "DSC_0502.JPG",
"fileType": "image/jpg",
"challengeTypeId": 1,
@ -1255,7 +1255,7 @@ paths:
"personalAccountData":
{
"name": "Jan de Vries",
"dateOfBirth": "1970-01-01",
"dateOfBirth": "01-01-1970",
"photoReference": "DSC_0502.JPG",
"fileType": "image/jpg",
"challengeTypeId": 1,
@ -1414,7 +1414,7 @@ paths:
{
"personalAccountDataId": "47db8a40-3238-4bf5-9284-759e3888bd47",
"name": "Jan de Vries",
"birthdate": "1970-01-01",
"birthdate": "01-01-1970",
"photo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAWJLR0Q+SWQA4wAAAAd0SU1FB+YCBAwmK58TFQgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDItMDRUMTI6Mzg6NDMrMDA6MDBAjYOrAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTAyLTA0VDEyOjM4OjQzKzAwOjAwMdA7FwAAAFd6VFh0UmF3IHByb2ZpbGUgdHlwZSBpcHRjAAB4nOPyDAhxVigoyk/LzEnlUgADIwsuYwsTIxNLkxQDEyBEgDTDZAMjs1Qgy9jUyMTMxBzEB8uASKBKLgDqFxF08kI1lQAAAYdpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+DQo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPjx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KPD94cGFja2V0IGVuZD0ndyc/PiyUmAsAAAANSURBVBhXY3grk/YfAAXYAm/HQierAAAAAElFTkSuQmCC",
"challengeType":
{
@ -1598,7 +1598,7 @@ paths:
{
"personalAccountDataId": "47db8a40-3238-4bf5-9284-759e3888bd47",
"name": "Jan de Vries",
"birthdate": "1970-01-01",
"birthdate": "01-01-1970",
"photo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAWJLR0Q+SWQA4wAAAAd0SU1FB+YCBAwmK58TFQgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDItMDRUMTI6Mzg6NDMrMDA6MDBAjYOrAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTAyLTA0VDEyOjM4OjQzKzAwOjAwMdA7FwAAAFd6VFh0UmF3IHByb2ZpbGUgdHlwZSBpcHRjAAB4nOPyDAhxVigoyk/LzEnlUgADIwsuYwsTIxNLkxQDEyBEgDTDZAMjs1Qgy9jUyMTMxBzEB8uASKBKLgDqFxF08kI1lQAAAYdpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+DQo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPjx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KPD94cGFja2V0IGVuZD0ndyc/PiyUmAsAAAANSURBVBhXY3grk/YfAAXYAm/HQierAAAAAElFTkSuQmCC",
"challengeType":
{
@ -1825,7 +1825,7 @@ paths:
{
"personalAccountDataId": "47db8a40-3238-4bf5-9284-759e3888bd47",
"name": "Jan de Vries",
"birthdate": "1970-01-01",
"birthdate": "01-01-1970",
"photo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAWJLR0Q+SWQA4wAAAAd0SU1FB+YCBAwmK58TFQgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDItMDRUMTI6Mzg6NDMrMDA6MDBAjYOrAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTAyLTA0VDEyOjM4OjQzKzAwOjAwMdA7FwAAAFd6VFh0UmF3IHByb2ZpbGUgdHlwZSBpcHRjAAB4nOPyDAhxVigoyk/LzEnlUgADIwsuYwsTIxNLkxQDEyBEgDTDZAMjs1Qgy9jUyMTMxBzEB8uASKBKLgDqFxF08kI1lQAAAYdpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+DQo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPjx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KPD94cGFja2V0IGVuZD0ndyc/PiyUmAsAAAANSURBVBhXY3grk/YfAAXYAm/HQierAAAAAElFTkSuQmCC",
"challengeType":
{
@ -1999,7 +1999,7 @@ paths:
"personalAccountData":
{
"name": "Jan de Vries",
"dateOfBirth": "1970-01-01",
"dateOfBirth": "01-01-1970",
"photoReference": "DSC_0502.JPG",
"fileType": "image/jpg",
"challengeTypeId": 1,
@ -2104,7 +2104,7 @@ paths:
{
"personalAccountDataId": "47db8a40-3238-4bf5-9284-759e3888bd47",
"name": "Jan de Vries",
"birthdate": "1970-01-01",
"birthdate": "01-01-1970",
"photo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAWJLR0Q+SWQA4wAAAAd0SU1FB+YCBAwmK58TFQgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDItMDRUMTI6Mzg6NDMrMDA6MDBAjYOrAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTAyLTA0VDEyOjM4OjQzKzAwOjAwMdA7FwAAAFd6VFh0UmF3IHByb2ZpbGUgdHlwZSBpcHRjAAB4nOPyDAhxVigoyk/LzEnlUgADIwsuYwsTIxNLkxQDEyBEgDTDZAMjs1Qgy9jUyMTMxBzEB8uASKBKLgDqFxF08kI1lQAAAYdpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+DQo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPjx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KPD94cGFja2V0IGVuZD0ndyc/PiyUmAsAAAANSURBVBhXY3grk/YfAAXYAm/HQierAAAAAElFTkSuQmCC",
"challengeType":
{
@ -2438,7 +2438,7 @@ paths:
{
"personalAccountDataId": "47db8a40-3238-4bf5-9284-759e3888bd47",
"name": "Jan de Vries",
"birthdate": "1970-01-01",
"birthdate": "01-01-1970",
"photo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAWJLR0Q+SWQA4wAAAAd0SU1FB+YCBAwmK58TFQgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDItMDRUMTI6Mzg6NDMrMDA6MDBAjYOrAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTAyLTA0VDEyOjM4OjQzKzAwOjAwMdA7FwAAAFd6VFh0UmF3IHByb2ZpbGUgdHlwZSBpcHRjAAB4nOPyDAhxVigoyk/LzEnlUgADIwsuYwsTIxNLkxQDEyBEgDTDZAMjs1Qgy9jUyMTMxBzEB8uASKBKLgDqFxF08kI1lQAAAYdpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+DQo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPjx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KPD94cGFja2V0IGVuZD0ndyc/PiyUmAsAAAANSURBVBhXY3grk/YfAAXYAm/HQierAAAAAElFTkSuQmCC",
"challengeType":
{
@ -2973,7 +2973,7 @@ paths:
value:
{
"name": "Jan de Vries",
"birthdate": "1970-01-01",
"birthdate": "01-01-1970",
"photo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAWJLR0Q+SWQA4wAAAAd0SU1FB+YCBAwmK58TFQgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDItMDRUMTI6Mzg6NDMrMDA6MDBAjYOrAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTAyLTA0VDEyOjM4OjQzKzAwOjAwMdA7FwAAAFd6VFh0UmF3IHByb2ZpbGUgdHlwZSBpcHRjAAB4nOPyDAhxVigoyk/LzEnlUgADIwsuYwsTIxNLkxQDEyBEgDTDZAMjs1Qgy9jUyMTMxBzEB8uASKBKLgDqFxF08kI1lQAAAYdpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+DQo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPjx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KPD94cGFja2V0IGVuZD0ndyc/PiyUmAsAAAANSURBVBhXY3grk/YfAAXYAm/HQierAAAAAElFTkSuQmCC" ,
"challengeTypeId": 1,
"oneTimePassword": "H5Iiz3JTaQeIV8p",
@ -3066,7 +3066,7 @@ paths:
"personalAccountData":{
"personalAccountDataId": "d9021fdd-6e83-45c0-9aef-71680f0b4e74",
"name": "Jan de Vries",
"birthdate": "1970-01-01",
"birthdate": "01-01-1970",
"photo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAWJLR0Q+SWQA4wAAAAd0SU1FB+YCBAwmK58TFQgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDItMDRUMTI6Mzg6NDMrMDA6MDBAjYOrAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTAyLTA0VDEyOjM4OjQzKzAwOjAwMdA7FwAAAFd6VFh0UmF3IHByb2ZpbGUgdHlwZSBpcHRjAAB4nOPyDAhxVigoyk/LzEnlUgADIwsuYwsTIxNLkxQDEyBEgDTDZAMjs1Qgy9jUyMTMxBzEB8uASKBKLgDqFxF08kI1lQAAAYdpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+DQo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPjx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KPD94cGFja2V0IGVuZD0ndyc/PiyUmAsAAAANSURBVBhXY3grk/YfAAXYAm/HQierAAAAAElFTkSuQmCC" ,
"challengeTypeId": 1,
"oneTimePassword": "H5Iiz3JTaQeIV8p",
@ -3115,7 +3115,7 @@ paths:
description: Update personal account data v2.2
value:
{
"birthdate": "2010-01-01",
"birthdate": "01-01-2010",
}
responses:
"201":
@ -3205,7 +3205,7 @@ paths:
"personalAccountData":{
"personalAccountDataId": "d9021fdd-6e83-45c0-9aef-71680f0b4e74",
"name": "Jan de Vries",
"birthdate": "2010-01-01",
"birthdate": "01-01-2010",
"photo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAWJLR0Q+SWQA4wAAAAd0SU1FB+YCBAwmK58TFQgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDItMDRUMTI6Mzg6NDMrMDA6MDBAjYOrAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTAyLTA0VDEyOjM4OjQzKzAwOjAwMdA7FwAAAFd6VFh0UmF3IHByb2ZpbGUgdHlwZSBpcHRjAAB4nOPyDAhxVigoyk/LzEnlUgADIwsuYwsTIxNLkxQDEyBEgDTDZAMjs1Qgy9jUyMTMxBzEB8uASKBKLgDqFxF08kI1lQAAAYdpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+DQo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPjx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KPD94cGFja2V0IGVuZD0ndyc/PiyUmAsAAAANSURBVBhXY3grk/YfAAXYAm/HQierAAAAAElFTkSuQmCC" ,
"challengeTypeId": 1,
"oneTimePassword": "H5Iiz3JTaQeIV8p",
@ -3497,7 +3497,7 @@ paths:
{
"personalAccountDataId": "47db8a40-3238-4bf5-9284-759e3888bd47",
"name": "Jan de Vries",
"birthdate": "1970-01-01",
"birthdate": "01-01-1970",
"photo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAWJLR0Q+SWQA4wAAAAd0SU1FB+YCBAwmK58TFQgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDItMDRUMTI6Mzg6NDMrMDA6MDBAjYOrAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTAyLTA0VDEyOjM4OjQzKzAwOjAwMdA7FwAAAFd6VFh0UmF3IHByb2ZpbGUgdHlwZSBpcHRjAAB4nOPyDAhxVigoyk/LzEnlUgADIwsuYwsTIxNLkxQDEyBEgDTDZAMjs1Qgy9jUyMTMxBzEB8uASKBKLgDqFxF08kI1lQAAAYdpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+DQo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPjx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KPD94cGFja2V0IGVuZD0ndyc/PiyUmAsAAAANSURBVBhXY3grk/YfAAXYAm/HQierAAAAAElFTkSuQmCC",
"challengeType":
{
@ -3766,7 +3766,7 @@ paths:
{
"personalAccountDataId": "47db8a40-3238-4bf5-9284-759e3888bd47",
"name": "Jan de Vries",
"birthdate": "1970-01-01",
"birthdate": "01-01-1970",
"photo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAWJLR0Q+SWQA4wAAAAd0SU1FB+YCBAwmK58TFQgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDItMDRUMTI6Mzg6NDMrMDA6MDBAjYOrAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTAyLTA0VDEyOjM4OjQzKzAwOjAwMdA7FwAAAFd6VFh0UmF3IHByb2ZpbGUgdHlwZSBpcHRjAAB4nOPyDAhxVigoyk/LzEnlUgADIwsuYwsTIxNLkxQDEyBEgDTDZAMjs1Qgy9jUyMTMxBzEB8uASKBKLgDqFxF08kI1lQAAAYdpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+DQo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPjx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KPD94cGFja2V0IGVuZD0ndyc/PiyUmAsAAAANSURBVBhXY3grk/YfAAXYAm/HQierAAAAAElFTkSuQmCC",
"challengeType":
{
@ -3955,7 +3955,7 @@ paths:
{
"personalAccountDataId": "47db8a40-3238-4bf5-9284-759e3888bd47",
"name": "Jan de Vries",
"birthdate": "1970-01-01",
"birthdate": "01-01-1970",
"photo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAWJLR0Q+SWQA4wAAAAd0SU1FB+YCBAwmK58TFQgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDItMDRUMTI6Mzg6NDMrMDA6MDBAjYOrAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTAyLTA0VDEyOjM4OjQzKzAwOjAwMdA7FwAAAFd6VFh0UmF3IHByb2ZpbGUgdHlwZSBpcHRjAAB4nOPyDAhxVigoyk/LzEnlUgADIwsuYwsTIxNLkxQDEyBEgDTDZAMjs1Qgy9jUyMTMxBzEB8uASKBKLgDqFxF08kI1lQAAAYdpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+DQo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPjx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KPD94cGFja2V0IGVuZD0ndyc/PiyUmAsAAAANSURBVBhXY3grk/YfAAXYAm/HQierAAAAAElFTkSuQmCC",
"challengeType":
{
@ -4245,7 +4245,7 @@ paths:
{
"personalAccountDataId": "47db8a40-3238-4bf5-9284-759e3888bd47",
"name": "Jan de Vries",
"birthdate": "1970-01-01",
"birthdate": "01-01-1970",
"photo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAWJLR0Q+SWQA4wAAAAd0SU1FB+YCBAwmK58TFQgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDItMDRUMTI6Mzg6NDMrMDA6MDBAjYOrAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTAyLTA0VDEyOjM4OjQzKzAwOjAwMdA7FwAAAFd6VFh0UmF3IHByb2ZpbGUgdHlwZSBpcHRjAAB4nOPyDAhxVigoyk/LzEnlUgADIwsuYwsTIxNLkxQDEyBEgDTDZAMjs1Qgy9jUyMTMxBzEB8uASKBKLgDqFxF08kI1lQAAAYdpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+DQo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPjx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KPD94cGFja2V0IGVuZD0ndyc/PiyUmAsAAAANSURBVBhXY3grk/YfAAXYAm/HQierAAAAAElFTkSuQmCC",
"challengeType":
{
@ -4431,7 +4431,7 @@ paths:
{
"personalAccountDataId": "47db8a40-3238-4bf5-9284-759e3888bd47",
"name": "Jan de Vries",
"birthdate": "1970-01-01",
"birthdate": "01-01-1970",
"photo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAWJLR0Q+SWQA4wAAAAd0SU1FB+YCBAwmK58TFQgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDItMDRUMTI6Mzg6NDMrMDA6MDBAjYOrAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTAyLTA0VDEyOjM4OjQzKzAwOjAwMdA7FwAAAFd6VFh0UmF3IHByb2ZpbGUgdHlwZSBpcHRjAAB4nOPyDAhxVigoyk/LzEnlUgADIwsuYwsTIxNLkxQDEyBEgDTDZAMjs1Qgy9jUyMTMxBzEB8uASKBKLgDqFxF08kI1lQAAAYdpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+DQo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPjx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KPD94cGFja2V0IGVuZD0ndyc/PiyUmAsAAAANSURBVBhXY3grk/YfAAXYAm/HQierAAAAAElFTkSuQmCC",
"challengeType":
{
@ -4621,7 +4621,7 @@ paths:
{
"personalAccountDataId": "47db8a40-3238-4bf5-9284-759e3888bd47",
"name": "Jan de Vries",
"birthdate": "1970-01-01",
"birthdate": "01-01-1970",
"photo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAWJLR0Q+SWQA4wAAAAd0SU1FB+YCBAwmK58TFQgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDItMDRUMTI6Mzg6NDMrMDA6MDBAjYOrAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTAyLTA0VDEyOjM4OjQzKzAwOjAwMdA7FwAAAFd6VFh0UmF3IHByb2ZpbGUgdHlwZSBpcHRjAAB4nOPyDAhxVigoyk/LzEnlUgADIwsuYwsTIxNLkxQDEyBEgDTDZAMjs1Qgy9jUyMTMxBzEB8uASKBKLgDqFxF08kI1lQAAAYdpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+DQo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPjx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KPD94cGFja2V0IGVuZD0ndyc/PiyUmAsAAAANSURBVBhXY3grk/YfAAXYAm/HQierAAAAAElFTkSuQmCC",
"challengeType":
{
@ -4799,7 +4799,7 @@ paths:
{
"personalAccountDataId": "47db8a40-3238-4bf5-9284-759e3888bd47",
"name": "Jan de Vries",
"birthdate": "1970-01-01",
"birthdate": "01-01-1970",
"photo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAWJLR0Q+SWQA4wAAAAd0SU1FB+YCBAwmK58TFQgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDItMDRUMTI6Mzg6NDMrMDA6MDBAjYOrAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTAyLTA0VDEyOjM4OjQzKzAwOjAwMdA7FwAAAFd6VFh0UmF3IHByb2ZpbGUgdHlwZSBpcHRjAAB4nOPyDAhxVigoyk/LzEnlUgADIwsuYwsTIxNLkxQDEyBEgDTDZAMjs1Qgy9jUyMTMxBzEB8uASKBKLgDqFxF08kI1lQAAAYdpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+DQo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPjx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KPD94cGFja2V0IGVuZD0ndyc/PiyUmAsAAAANSURBVBhXY3grk/YfAAXYAm/HQierAAAAAElFTkSuQmCC",
"challengeType":
{

View File

@ -401,7 +401,7 @@ paths:
[
{
"sellingPriceId": 78,
"amountExclTax": null,
"amountExclTax": 92,
"amountInclTax": 100,
"fromInclusive": "2024-09-30T23:00:00.000+00:00",
"toInclusive": "2028-11-17T23:00:00.000+00:00",
@ -421,20 +421,12 @@ paths:
All details (that the calling touchpoint is allowed to see) for the 20% Discount product.\
Even though this product has sellingPeriods for multiple touchpoints (3 and 4), only the currently active sellingPeriod and price for touchpointId 4 are returned.
This product has two `productVariants`: a single month variant and a subscription variant.\
The top-level parent contains `LayerInfo` to communicate what differentiates
the underlying product-variants.\
When no `LayerInfo` is present, the touchpoint can conclude that the product is a final fulfillable product.
This product has two `productVariants`: a single month variant and a subscription variant.
value:
{
"productId": 126,
"parentProductId": null,
"layerInfo": {
"layerInfoId": 1,
"choiceKey": "isRenewable",
"choiceLabel": "Kies voor een doorlopend abonnement of een enkele termijn",
"isCustomChoice": false,
},
"layerInfo": null,
"fikoArticleNumber": "1234",
"gboPackageTemplateId": "30001",
"tapConnectProductCode": null,
@ -537,7 +529,12 @@ paths:
{
"productId": 119,
"parentProductId": 126,
"layerInfo": null,
"layerInfo": {
"layerInfoId": 1,
"choiceKey": "isRenewable",
"choiceLabel": "Kies voor een doorlopend abonnement of een enkele termijn",
"isCustomChoice": false,
},
"fikoArticleNumber": "1234",
"gboPackageTemplateId": "30001",
"tapConnectProductCode": null,
@ -635,7 +632,7 @@ paths:
[
{
"sellingPriceId": 149,
"amountExclTax": null,
"amountExclTax": 276,
"amountInclTax": 300,
"fromInclusive": "2025-01-19T23:00:00.000+00:00",
"toInclusive": "2028-11-17T23:00:00.000+00:00",
@ -652,7 +649,12 @@ paths:
{
"productId": 120,
"parentProductId": 126,
"layerInfo": null,
"layerInfo": {
"layerInfoId": 1,
"choiceKey": "isRenewable",
"choiceLabel": "Kies voor een doorlopend abonnement of een enkele termijn",
"isCustomChoice": false,
},
"fikoArticleNumber": "1234",
"gboPackageTemplateId": "30001",
"tapConnectProductCode": null,
@ -750,7 +752,7 @@ paths:
[
{
"sellingPriceId": 148,
"amountExclTax": null,
"amountExclTax": 276,
"amountInclTax": 300,
"fromInclusive": "2025-01-19T23:00:00.000+00:00",
"toInclusive": "2028-11-17T23:00:00.000+00:00",
@ -772,19 +774,12 @@ paths:
All details (that the calling touchpoint is allowed to see) for the parent Regio Vrij product
and (7 out of 84 of) its productVariants; the full tree would be too huge to be useful as an example.
The full depth of the tree is included in the example for the HL62 Reduced Fare Variant.\
Each non-leaf-node product contains `LayerInfo` to communicate what differentiates the underlying product-variants.\
When no `LayerInfo` is present, the touchpoint can conclude that the product is a final fulfillable product.
The full depth of the tree is included in the example for the HL62 Reduced Fare Variant.
value:
{
"productId": 49,
"parentProductId": null,
"layerInfo": {
"layerInfoId": 2,
"choiceKey": "regio",
"choiceLabel": "Kies de gewenste regio",
"isCustomChoice": true,
},
"layerInfo": null,
"fikoArticleNumber": "1234",
"gboPackageTemplateId": null,
"tapConnectProductCode": null,
@ -927,10 +922,10 @@ paths:
"productId": 109,
"parentProductId": 49,
"layerInfo": {
"layerInfoId": 3,
"choiceKey": "allowedGboAgeProfiles",
"choiceLabel": "Wat is uw geboortedatum?",
"isCustomChoice": false,
"layerInfoId": 2,
"choiceKey": "regio",
"choiceLabel": "Kies de gewenste regio",
"isCustomChoice": true,
},
"fikoArticleNumber": "1234",
"gboPackageTemplateId": "33615",
@ -1077,9 +1072,9 @@ paths:
"productId": 114,
"parentProductId": 109,
"layerInfo": {
"layerInfoId": 1,
"choiceKey": "isRenewable",
"choiceLabel": "Kies voor een doorlopend abonnement of een enkele termijn",
"layerInfoId": 3,
"choiceKey": "allowedGboAgeProfiles",
"choiceLabel": "Wat is uw geboortedatum?",
"isCustomChoice": false,
},
"fikoArticleNumber": "1234",
@ -1210,7 +1205,7 @@ paths:
[
{
"sellingPriceId": 139,
"amountExclTax": null,
"amountExclTax": 5412,
"amountInclTax": 5900,
"fromInclusive": "2024-12-31T23:00:00.000+00:00",
"toInclusive": "2025-12-31T23:00:00.000+00:00",
@ -1227,9 +1222,9 @@ paths:
"productId": 115,
"parentProductId": 109,
"layerInfo": {
"layerInfoId": 1,
"choiceKey": "isRenewable",
"choiceLabel": "Kies voor een doorlopend abonnement of een enkele termijn",
"layerInfoId": 3,
"choiceKey": "allowedGboAgeProfiles",
"choiceLabel": "Wat is uw geboortedatum?",
"isCustomChoice": false,
},
"fikoArticleNumber": "1234",
@ -1360,7 +1355,7 @@ paths:
[
{
"sellingPriceId": 140,
"amountExclTax": null,
"amountExclTax": 8899,
"amountInclTax": 9700,
"fromInclusive": "2024-12-31T23:00:00.000+00:00",
"toInclusive": "2025-12-31T23:00:00.000+00:00",
@ -1377,7 +1372,12 @@ paths:
{
"productId": 116,
"parentProductId": 115,
"layerInfo": null,
"layerInfo": {
"layerInfoId": 1,
"choiceKey": "isRenewable",
"choiceLabel": "Kies voor een doorlopend abonnement of een enkele termijn",
"isCustomChoice": false,
},
"fikoArticleNumber": "1234",
"gboPackageTemplateId": "33615",
"tapConnectProductCode": null,
@ -1509,7 +1509,7 @@ paths:
[
{
"sellingPriceId": 141,
"amountExclTax": null,
"amountExclTax": 8899,
"amountInclTax": 9700,
"fromInclusive": "2024-12-31T23:00:00.000+00:00",
"toInclusive": "2025-12-31T23:00:00.000+00:00",
@ -1526,7 +1526,12 @@ paths:
{
"productId": 117,
"parentProductId": 115,
"layerInfo": null,
"layerInfo": {
"layerInfoId": 1,
"choiceKey": "isRenewable",
"choiceLabel": "Kies voor een doorlopend abonnement of een enkele termijn",
"isCustomChoice": false,
},
"fikoArticleNumber": "1234",
"gboPackageTemplateId": "33615",
"tapConnectProductCode": null,
@ -1658,7 +1663,7 @@ paths:
[
{
"sellingPriceId": 142,
"amountExclTax": null,
"amountExclTax": 8899,
"amountInclTax": 9700,
"fromInclusive": "2024-12-31T23:00:00.000+00:00",
"toInclusive": "2025-12-31T23:00:00.000+00:00",
@ -1680,10 +1685,10 @@ paths:
"productId": 112,
"parentProductId": 49,
"layerInfo": {
"layerInfoId": 3,
"choiceKey": "allowedGboAgeProfiles",
"choiceLabel": "Wat is uw geboortedatum?",
"isCustomChoice": false,
"layerInfoId": 2,
"choiceKey": "regio",
"choiceLabel": "Kies de gewenste regio",
"isCustomChoice": true,
},
"fikoArticleNumber": "1234",
"gboPackageTemplateId": "33618",
@ -1853,11 +1858,10 @@ components:
description: >-
Gives information on the choice that the customer has to make, to enable the touchpoint
to proceed further "down the product-tree" by selecting (PATCH-ing) the correct product-variant.
LayerInfo is not a mandatory product-attribute, but it should always be present on all products for which
there are underlying products, i.e. for which `GET /products?parentProductId=...` returns a non-empty list.
When no LayerInfo is present, the touchpoint can conclude that the product is a final fulfillable product. \
LayerInfo is not a mandatory product-attribute, but it should always be present on all product for which
`parentProductId != null`. (LayerInfo makes no sense for top-level parents as there is always a single starting point). \
**PMT should ensure that all non-leaf-node products (i.e. products that have underlying products) have a `layerInfoId`
**PMT should ensure that all products in the same "product-branch" (same `parentProductId`) have the same `layerInfoId`
referenced. If a product is found to be in violation of this rule, its attribtue `isValid` should be set to `false`.**
required:
- layerInfoId
@ -1873,12 +1877,12 @@ components:
type: string
description: >-
Contains the JSON Key of the product-attribute that the customer has to make some
choice on (determined by PMT), so that te correct product-variant (one of the direct child-products) can be
selected by the touchpoint. For some decisions (like region), there is no product attribute, and thus
`isCustomChoice` will be set to `true`, and `choiceKey` can then be set to any string on which touchpoints
can also trigger behaviour if desired (think "region picker tool"). Therefore, reuse of `choiceKeys` should be
choice on (determined by PMT), so that te correct product-variant can be selected by the touchpoint. For some
decisions (like region), there is no product attribute, and thus `isCustomChoice` will be set
to `true`, and `choiceKey` can then be set to any string on which touchpoints can also trigger
behaviour if desired (think "region picker tool"). Therefore, reuse of choiceKeys should be
the goal, so touchoints can keep their triggers simple and prevent duplication of
similar `choiceKeys` to trigger the same behaviour.
similar choiceKeys to trigger the same behaviour.
choiceLabel:
example: Kies voor een doorlopend abonnement of een enkele termijn
type: string
@ -1890,10 +1894,12 @@ components:
example: false
type: boolean
description: >-
Indicates if the choice is a custom choice. If `false`, the PMT should validate that the `choiceKey` is a
differentiating attribute for the underlying product-variants. When the attribute denoted by the `choiceKey` is
the same for all underlying variants, PMT validation will fail and the product will become invalid (`isValid == false`)
until either the underlying products are updated, or a `LayerInfo` with `isCustomChoice == true` is configured.
Indicates if the choice is a custom choice. If `false`, the PMT should fill `choiceKey` with the
"differing attribute for this product-layer" and the user should not be able to override this. When
no single attribute can be pinpointed by PMT, the product will become invalid (`isValid == false`) until either
a situation with a single differing attribute is created, or if `isCustomChoice` is set to `true` - this would,
however, also mean that touchpoints should be notified of this, especially if the configured LayerInfo contains
a new, not previously used, `choiceKey`.
GboAgeProfileResponse:
type: object
required:

View File

@ -401,7 +401,7 @@ paths:
[
{
"sellingPriceId": 78,
"amountExclTax": null,
"amountExclTax": 92,
"amountInclTax": 100,
"fromInclusive": "2024-09-30T23:00:00.000+00:00",
"toInclusive": "2028-11-17T23:00:00.000+00:00",
@ -421,20 +421,12 @@ paths:
All details (that the calling touchpoint is allowed to see) for the 20% Discount product.\
Even though this product has sellingPeriods for multiple touchpoints (3 and 4), only the currently active sellingPeriod and price for touchpointId 4 are returned.
This product has two `productVariants`: a single month variant and a subscription variant.\
The top-level parent contains `LayerInfo` to communicate what differentiates
the underlying product-variants.\
When no `LayerInfo` is present, the touchpoint can conclude that the product is a final fulfillable product.
This product has two `productVariants`: a single month variant and a subscription variant.
value:
{
"productId": 126,
"parentProductId": null,
"layerInfo": {
"layerInfoId": 1,
"choiceKey": "isRenewable",
"choiceLabel": "Kies voor een doorlopend abonnement of een enkele termijn",
"isCustomChoice": false,
},
"layerInfo": null,
"fikoArticleNumber": "1234",
"gboPackageTemplateId": "30001",
"tapConnectProductCode": null,
@ -537,7 +529,12 @@ paths:
{
"productId": 119,
"parentProductId": 126,
"layerInfo": null,
"layerInfo": {
"layerInfoId": 1,
"choiceKey": "isRenewable",
"choiceLabel": "Kies voor een doorlopend abonnement of een enkele termijn",
"isCustomChoice": false,
},
"fikoArticleNumber": "1234",
"gboPackageTemplateId": "30001",
"tapConnectProductCode": null,
@ -635,7 +632,7 @@ paths:
[
{
"sellingPriceId": 149,
"amountExclTax": null,
"amountExclTax": 276,
"amountInclTax": 300,
"fromInclusive": "2025-01-19T23:00:00.000+00:00",
"toInclusive": "2028-11-17T23:00:00.000+00:00",
@ -652,7 +649,12 @@ paths:
{
"productId": 120,
"parentProductId": 126,
"layerInfo": null,
"layerInfo": {
"layerInfoId": 1,
"choiceKey": "isRenewable",
"choiceLabel": "Kies voor een doorlopend abonnement of een enkele termijn",
"isCustomChoice": false,
},
"fikoArticleNumber": "1234",
"gboPackageTemplateId": "30001",
"tapConnectProductCode": null,
@ -750,7 +752,7 @@ paths:
[
{
"sellingPriceId": 148,
"amountExclTax": null,
"amountExclTax": 276,
"amountInclTax": 300,
"fromInclusive": "2025-01-19T23:00:00.000+00:00",
"toInclusive": "2028-11-17T23:00:00.000+00:00",
@ -772,19 +774,12 @@ paths:
All details (that the calling touchpoint is allowed to see) for the parent Regio Vrij product
and (7 out of 84 of) its productVariants; the full tree would be too huge to be useful as an example.
The full depth of the tree is included in the example for the HL62 Reduced Fare Variant.\
Each non-leaf-node product contains `LayerInfo` to communicate what differentiates the underlying product-variants.\
When no `LayerInfo` is present, the touchpoint can conclude that the product is a final fulfillable product.
The full depth of the tree is included in the example for the HL62 Reduced Fare Variant.
value:
{
"productId": 49,
"parentProductId": null,
"layerInfo": {
"layerInfoId": 2,
"choiceKey": "regio",
"choiceLabel": "Kies de gewenste regio",
"isCustomChoice": true,
},
"layerInfo": null,
"fikoArticleNumber": "1234",
"gboPackageTemplateId": null,
"tapConnectProductCode": null,
@ -927,10 +922,10 @@ paths:
"productId": 109,
"parentProductId": 49,
"layerInfo": {
"layerInfoId": 3,
"choiceKey": "allowedGboAgeProfiles",
"choiceLabel": "Wat is uw geboortedatum?",
"isCustomChoice": false,
"layerInfoId": 2,
"choiceKey": "regio",
"choiceLabel": "Kies de gewenste regio",
"isCustomChoice": true,
},
"fikoArticleNumber": "1234",
"gboPackageTemplateId": "33615",
@ -1077,9 +1072,9 @@ paths:
"productId": 114,
"parentProductId": 109,
"layerInfo": {
"layerInfoId": 1,
"choiceKey": "isRenewable",
"choiceLabel": "Kies voor een doorlopend abonnement of een enkele termijn",
"layerInfoId": 3,
"choiceKey": "allowedGboAgeProfiles",
"choiceLabel": "Wat is uw geboortedatum?",
"isCustomChoice": false,
},
"fikoArticleNumber": "1234",
@ -1210,7 +1205,7 @@ paths:
[
{
"sellingPriceId": 139,
"amountExclTax": null,
"amountExclTax": 5412,
"amountInclTax": 5900,
"fromInclusive": "2024-12-31T23:00:00.000+00:00",
"toInclusive": "2025-12-31T23:00:00.000+00:00",
@ -1227,9 +1222,9 @@ paths:
"productId": 115,
"parentProductId": 109,
"layerInfo": {
"layerInfoId": 1,
"choiceKey": "isRenewable",
"choiceLabel": "Kies voor een doorlopend abonnement of een enkele termijn",
"layerInfoId": 3,
"choiceKey": "allowedGboAgeProfiles",
"choiceLabel": "Wat is uw geboortedatum?",
"isCustomChoice": false,
},
"fikoArticleNumber": "1234",
@ -1360,7 +1355,7 @@ paths:
[
{
"sellingPriceId": 140,
"amountExclTax": null,
"amountExclTax": 8899,
"amountInclTax": 9700,
"fromInclusive": "2024-12-31T23:00:00.000+00:00",
"toInclusive": "2025-12-31T23:00:00.000+00:00",
@ -1377,7 +1372,12 @@ paths:
{
"productId": 116,
"parentProductId": 115,
"layerInfo": null,
"layerInfo": {
"layerInfoId": 1,
"choiceKey": "isRenewable",
"choiceLabel": "Kies voor een doorlopend abonnement of een enkele termijn",
"isCustomChoice": false,
},
"fikoArticleNumber": "1234",
"gboPackageTemplateId": "33615",
"tapConnectProductCode": null,
@ -1509,7 +1509,7 @@ paths:
[
{
"sellingPriceId": 141,
"amountExclTax": null,
"amountExclTax": 8899,
"amountInclTax": 9700,
"fromInclusive": "2024-12-31T23:00:00.000+00:00",
"toInclusive": "2025-12-31T23:00:00.000+00:00",
@ -1526,7 +1526,12 @@ paths:
{
"productId": 117,
"parentProductId": 115,
"layerInfo": null,
"layerInfo": {
"layerInfoId": 1,
"choiceKey": "isRenewable",
"choiceLabel": "Kies voor een doorlopend abonnement of een enkele termijn",
"isCustomChoice": false,
},
"fikoArticleNumber": "1234",
"gboPackageTemplateId": "33615",
"tapConnectProductCode": null,
@ -1658,7 +1663,7 @@ paths:
[
{
"sellingPriceId": 142,
"amountExclTax": null,
"amountExclTax": 8899,
"amountInclTax": 9700,
"fromInclusive": "2024-12-31T23:00:00.000+00:00",
"toInclusive": "2025-12-31T23:00:00.000+00:00",
@ -1680,10 +1685,10 @@ paths:
"productId": 112,
"parentProductId": 49,
"layerInfo": {
"layerInfoId": 3,
"choiceKey": "allowedGboAgeProfiles",
"choiceLabel": "Wat is uw geboortedatum?",
"isCustomChoice": false,
"layerInfoId": 2,
"choiceKey": "regio",
"choiceLabel": "Kies de gewenste regio",
"isCustomChoice": true,
},
"fikoArticleNumber": "1234",
"gboPackageTemplateId": "33618",
@ -1853,11 +1858,10 @@ components:
description: >-
Gives information on the choice that the customer has to make, to enable the touchpoint
to proceed further "down the product-tree" by selecting (PATCH-ing) the correct product-variant.
LayerInfo is not a mandatory product-attribute, but it should always be present on all products for which
there are underlying products, i.e. for which `GET /products?parentProductId=...` returns a non-empty list.
When no LayerInfo is present, the touchpoint can conclude that the product is a final fulfillable product. \
LayerInfo is not a mandatory product-attribute, but it should always be present on all product for which
`parentProductId != null`. (LayerInfo makes no sense for top-level parents as there is always a single starting point). \
**PMT should ensure that all non-leaf-node products (i.e. products that have underlying products) have a `layerInfoId`
**PMT should ensure that all products in the same "product-branch" (same `parentProductId`) have the same `layerInfoId`
referenced. If a product is found to be in violation of this rule, its attribtue `isValid` should be set to `false`.**
required:
- layerInfoId
@ -1873,12 +1877,12 @@ components:
type: string
description: >-
Contains the JSON Key of the product-attribute that the customer has to make some
choice on (determined by PMT), so that te correct product-variant (one of the direct child-products) can be
selected by the touchpoint. For some decisions (like region), there is no product attribute, and thus
`isCustomChoice` will be set to `true`, and `choiceKey` can then be set to any string on which touchpoints
can also trigger behaviour if desired (think "region picker tool"). Therefore, reuse of `choiceKeys` should be
choice on (determined by PMT), so that te correct product-variant can be selected by the touchpoint. For some
decisions (like region), there is no product attribute, and thus `isCustomChoice` will be set
to `true`, and `choiceKey` can then be set to any string on which touchpoints can also trigger
behaviour if desired (think "region picker tool"). Therefore, reuse of choiceKeys should be
the goal, so touchoints can keep their triggers simple and prevent duplication of
similar `choiceKeys` to trigger the same behaviour.
similar choiceKeys to trigger the same behaviour.
choiceLabel:
example: Kies voor een doorlopend abonnement of een enkele termijn
type: string
@ -1890,10 +1894,12 @@ components:
example: false
type: boolean
description: >-
Indicates if the choice is a custom choice. If `false`, the PMT should validate that the `choiceKey` is a
differentiating attribute for the underlying product-variants. When the attribute denoted by the `choiceKey` is
the same for all underlying variants, PMT validation will fail and the product will become invalid (`isValid == false`)
until either the underlying products are updated, or a `LayerInfo` with `isCustomChoice == true` is configured.
Indicates if the choice is a custom choice. If `false`, the PMT should fill `choiceKey` with the
"differing attribute for this product-layer" and the user should not be able to override this. When
no single attribute can be pinpointed by PMT, the product will become invalid (`isValid == false`) until either
a situation with a single differing attribute is created, or if `isCustomChoice` is set to `true` - this would,
however, also mean that touchpoints should be notified of this, especially if the configured LayerInfo contains
a new, not previously used, `choiceKey`.
GboAgeProfileResponse:
type: object
required:

View File

@ -1550,9 +1550,6 @@ components:
- productCategoryId: 7
name: Functioneel product
isTravelProduct: false
- productCategoryId: 8
name: Saldo
isTravelProduct: true
type: array
items:
$ref: '#/components/schemas/productCategoryGetEntity'

View File

@ -435,7 +435,7 @@ paths:
"salesTouchpointId": 3,
"sellingPrices": [
{
"amountExclTax": null,
"amountExclTax": 92,
"amountInclTax": 100,
"taxCode": "V09",
"taxPercentage": 9.0000,
@ -448,7 +448,7 @@ paths:
],
"purchasePrices": [
{
"amountExclTax": null,
"amountExclTax": 0,
"amountInclTax": 0,
"taxCode": "V09",
"taxPercentage": 9.0000,
@ -522,7 +522,7 @@ paths:
"salesTouchpointId": 3,
"sellingPrices": [
{
"amountExclTax": null,
"amountExclTax": 92,
"amountInclTax": 100,
"taxCode": "V09",
"taxPercentage": 9.0000,
@ -535,7 +535,7 @@ paths:
],
"purchasePrices": [
{
"amountExclTax": null,
"amountExclTax": 0,
"amountInclTax": 0,
"taxCode": "V09",
"taxPercentage": 9.0000,
@ -608,7 +608,7 @@ paths:
"salesTouchpointId": 3,
"sellingPrices": [
{
"amountExclTax": null,
"amountExclTax": 92,
"amountInclTax": 100,
"taxCode": "V09",
"taxPercentage": 9.0000,
@ -617,7 +617,7 @@ paths:
"internalPrice": 92.0000
},
{
"amountExclTax": null,
"amountExclTax": 101,
"amountInclTax": 110,
"taxCode": "V09",
"taxPercentage": 9.0000,
@ -633,7 +633,7 @@ paths:
"salesTouchpointId": 2,
"sellingPrices": [
{
"amountExclTax": null,
"amountExclTax": 92,
"amountInclTax": 100,
"taxCode": "V09",
"taxPercentage": 9.0000,
@ -642,7 +642,7 @@ paths:
"internalPrice": 92.0000
},
{
"amountExclTax": null,
"amountExclTax": 101,
"amountInclTax": 110,
"taxCode": "V09",
"taxPercentage": 9.0000,
@ -655,7 +655,7 @@ paths:
],
"purchasePrices": [
{
"amountExclTax": null,
"amountExclTax": 0,
"amountInclTax": 0,
"taxCode": "V09",
"taxPercentage": 9.0000,
@ -750,7 +750,7 @@ paths:
],
"sellingPrices": [
{
"amountExclTax": null,
"amountExclTax": 5413,
"amountInclTax": 5900,
"taxCode": "V09",
"taxPercentage": 9.0000,
@ -763,7 +763,7 @@ paths:
],
"purchasePrices": [
{
"amountExclTax": null,
"amountExclTax": 0,
"amountInclTax": 0,
"taxCode": "V09",
"taxPercentage": 9.0000,
@ -973,7 +973,7 @@ paths:
"sellingPrices": [
{
"sellingPriceId": 1,
"amountExclTax": null,
"amountExclTax": 92,
"amountInclTax": 100,
"taxCode": "V09",
"taxPercentage": 9.0000,
@ -987,7 +987,7 @@ paths:
"purchasePrices": [
{
"purchasePriceId": 1,
"amountExclTax": null,
"amountExclTax": 0,
"taxCode": "V09",
"taxPercentage": 9.0000,
"amountInclTax": 0,
@ -1148,7 +1148,7 @@ paths:
"sellingPrices": [
{
"sellingPriceId": 1,
"amountExclTax": null,
"amountExclTax": 92,
"taxCode": "V09",
"taxPercentage": 9.0000,
"amountInclTax": 100,
@ -1158,7 +1158,7 @@ paths:
},
{
"sellingPriceId": 2,
"amountExclTax": null,
"amountExclTax": 101,
"taxCode": "V09",
"taxPercentage": 9.0000,
"amountInclTax": 110,
@ -1195,7 +1195,7 @@ paths:
"sellingPrices": [
{
"sellingPriceId": 3,
"amountExclTax": null,
"amountExclTax": 92,
"amountInclTax": 100,
"taxCode": "V09",
"taxPercentage": 9.0000,
@ -1205,7 +1205,7 @@ paths:
},
{
"sellingPriceId": 4,
"amountExclTax": null,
"amountExclTax": 101,
"amountInclTax": 110,
"taxCode": "V09",
"taxPercentage": 9.0000,
@ -1219,7 +1219,7 @@ paths:
"purchasePrices": [
{
"purchasePriceId": 1,
"amountExclTax": null,
"amountExclTax": 0,
"amountInclTax": 0,
"taxCode": "V09",
"taxPercentage": 9.0000,
@ -1243,22 +1243,12 @@ paths:
]
}
getDetailsGboPadProduct:
summary: GBO product (PAD required, layerInfo, allowedGboAgeProfiles, padBirthDate)
description: >-
This product has `layerInfo` defined, which means that this product is not a final fulfillable product, but that there are underlying variants
that the customer has to choose between. The `layerInfo` defines what distinguishes the underlying variants - in this case the
`allowedGboAgeProfiles` array contains different values for the underlying variants. Based on age information provided by the customer,
the correct underlying variant can be selected.
summary: GBO product (PAD required, renewable, allowedGboAgeProfiles, padBirthDate)
value:
{
"productId": 3,
"parentProductId": null,
"layerInfo": {
"layerInfoId": 1,
"choiceKey": "allowedGboAgeProfiles",
"choiceLabel": "Wat is uw geboortedatum?",
"isCustomChoice": false
},
"layerInfo": null,
"fikoArticleNumber": "1234",
"isValid": true,
"isArchived": false,
@ -1289,7 +1279,16 @@ paths:
"name": "B2C"
}
],
"customerSegments": null,
"customerSegments": [
{
"customerSegmentId": 5,
"name": "Student"
},
{
"customerSegmentId": 6,
"name": "Ooievaarspas-gerechtigde"
}
],
"allowedGboAgeProfiles": [
{
"gboAgeProfileId": 2,
@ -1378,8 +1377,8 @@ paths:
"serviceOptions": [],
"validityDuration": "P1M",
"maxStartInFutureDuration": "P6W",
"isRenewable": null,
"sendInvoice": null,
"isRenewable": true,
"sendInvoice": true,
"imageReference": "https://www.htm.nl/media/leif2leu/htm-logo-mobile.svg",
"productPageUrl": "https://www.htm.nl/nog-onbekende-product-pagina",
"termsUrl": "https://www.htm.nl/nog-onbekende-productvoorwaarden-pagina",
@ -1420,7 +1419,7 @@ paths:
"sellingPrices": [
{
"sellingPriceId": 5,
"amountExclTax": null,
"amountExclTax": 5413,
"amountInclTax": 5900,
"taxCode": "V09",
"taxPercentage": 9.0000,
@ -1434,7 +1433,7 @@ paths:
"purchasePrices": [
{
"purchasePriceId": 1,
"amountExclTax": null,
"amountExclTax": 0,
"taxCode": "V09",
"taxPercentage": 9.0000,
"amountInclTax": 0,
@ -1457,34 +1456,45 @@ paths:
}
]
}
getDetailsFunctionalProductChangeIbanMandate:
summary: Functional product (change IBAN mandate)
getDetailsProductVariantWithParent:
summary: GBO product-variant, meaning that parentProductId and layerInfo are present
description: >-
This product is not a top-level parent, but a product-variant that refers to another product (via `parentProductId`).
This means that the `layerInfo` should be present for this product-variant. The parent product references is `productId 3`,
so the product in this example is an extension of that product-definition. MOre specifically: in this product-variant, we
removed some `allowedGboAgeProfiles` from the definition - this means that the customer has to provide the birthdate of
the token-owner (padBirthdate) in order to be able to buy this product-variant.
value:
{
"productId": 143,
"parentProductId": null,
"layerInfo": null,
"productId": 4,
"parentProductId": 3,
"layerInfoId": {
"layerInfoId": 1,
"choiceKey": "allowedGboAgeProfiles",
"choiceLabel": "Wat is uw geboortedatum?",
"isCustomChoice": false
},
"fikoArticleNumber": "1234",
"isValid": true,
"isArchived": false,
"gboPackageTemplateId": null,
"gboPackageTemplateId": "33610",
"tapConnectProductCode": null,
"productName": "IBAN wijzigen functioneel product",
"productDescription": "IBAN wijzigen functioneel product",
"productName": "HTM Regio Vrij DH73 Reductietarief",
"productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in het gekozen gebied in de regio Rotterdam Den Haag.",
"validityPeriod": {
"validityPeriodId": 254,
"fromInclusive": "2023-12-31T23:00:00.000+00:00",
"toInclusive": "2100-12-08T04:00:00.000+00:00"
"validityPeriodId": 3,
"fromInclusive": "2024-09-01T00:00:00.000+00:00",
"toInclusive": "2024-12-31T23:59:59.999+00:00"
},
"productTranslations": [
{
"language": "en",
"name": "Change IBAN functional product",
"description": "Change IBAN functional product"
"name": "HTM Regio Free DH73",
"description": "For a fixed amount unlimited travel with EBS, HTM and RET in the chosen area in the Rotterdam The Hague region."
}
],
"productOwner": {
"productOwnerId": 17,
"productOwnerId": 1,
"name": "Corneel Verstoep",
"organization": "HTM"
},
@ -1494,259 +1504,105 @@ paths:
"name": "B2C"
}
],
"customerSegments": null,
"allowedGboAgeProfiles": null,
"customerSegments": [
{
"customerSegmentId": 5,
"name": "Student"
},
{
"customerSegmentId": 6,
"name": "Ooievaarspas-gerechtigde"
}
],
"allowedGboAgeProfiles": [
{
"gboAgeProfileId": 2,
"name": "Kind (4 t/m 11 jaar)",
"ageFromInclusive": 4,
"ageUntilInclusive": 11
},
{
"gboAgeProfileId": 3,
"name": "Jongere (12 t/m 18 jaar)",
"ageFromInclusive": 12,
"ageUntilInclusive": 18
}
],
"productCategory": {
"productCategoryId": 7,
"isTravelProduct": false,
"name": "Functioneel product"
"productCategoryId": 2,
"isTravelProduct": true,
"name": "Afgekocht reisrecht"
},
"requiredCustomerLevel": {
"requiredCustomerLevelId": 3,
"name": "profile"
},
"requiredProducts": null,
"incompatibleProducts": null,
"mandatoryCustomerDataItems": null,
"requiredGboPersonalAttributes": null,
"tokenTypes": null,
"paymentMoment": {
"paymentMomentId": 1,
"name": "prepaid"
},
"serviceOptions": [
"incompatibleProducts": [
{
"serviceOptionId": 4,
"action": "cancel_notAllowed",
"description": "Stopzetting is niet toegestaan (doorgaans in combinatie met refund_notAllowed)"
"incompatibleProductId": 4,
"productName": "HTM Regio Vrij DH73 Reductietarief",
"description": "Kan niet combineren met zichzelf"
}
],
"mandatoryCustomerDataItems": [
{
"mandatoryCustomerDataItemId": 4,
"customerDataItem": "emailAddress"
},
{
"serviceOptionId": 10,
"action": "refund_notAllowed",
"description": "Terugbetaling niet toegestaan (doorgaans in combinatie met cancel_notAllowed)"
}
"mandatoryCustomerDataItemId": 8,
"customerDataItem": "padBirthDate"
},
],
"validityDuration": null,
"maxStartInFutureDuration": null,
"isRenewable": null,
"sendInvoice": null,
"imageReference": "https://web.acc.cloud.htm.nl/media/leif2leu/htm-logo-mobile.svg",
"productPageUrl": "https://web.acc.cloud.htm.nl/webshop/onbekend/",
"termsUrl": "https://web.acc.cloud.htm.nl/reisproducten/productvoorwaarden/onbekend/",
"isSellableAtHtm": true,
"needsSolvencyCheckConsumer": false,
"needsSolvencyCheckBusiness": false,
"sellingPeriods": [
"requiredGboPersonalAttributes": [
{
"sellingPeriodId": 204,
"fromInclusive": "2024-09-30T23:00:00.000+00:00",
"toInclusive": "2099-12-30T23:00:00.000+00:00",
"salesTouchpoint": {
"salesTouchpointId": 3,
"name": "Website (Perplex)",
"isActive": true,
"retailer": {
"retailerId": 1001,
"name": "HTM externe touchpoints",
"street": "Koningin Julianaplein",
"number": 10,
"numberAddition": null,
"postalCode": "2595 AA",
"city": "Den Haag",
"country": "Nederland",
"emailAddress": "info@htm.nl",
"phoneNumber": "070 374 9002",
"taxId": 572309345923,
"imageReference": "https://www.htm.nl/media/leif2leu/htm-logo-mobile.svg"
}
},
"forbiddenPaymentMethods": [
{
"forbiddenPaymentMethodId": 1,
"name": "creditcard",
"issuer": "Mastercard"
},
{
"forbiddenPaymentMethodId": 2,
"name": "creditcard",
"issuer": "Visa"
},
{
"forbiddenPaymentMethodId": 3,
"name": "creditcard",
"issuer": "American Express"
}
],
"sellingPrices": [
{
"sellingPriceId": 187,
"taxCode": "V0",
"taxPercentage": 0.0000,
"amountExclTax": null,
"amountInclTax": 1,
"fromInclusive": "2024-09-30T23:00:00.000+00:00",
"toInclusive": "2099-12-30T23:00:00.000+00:00",
"internalPrice": 0.0000
}
]
"requiredGboPersonalAttributeId": 1,
"name": "NAME"
},
{
"sellingPeriodId": 448,
"fromInclusive": "2023-12-31T23:00:00.000+00:00",
"toInclusive": "2099-12-08T04:00:00.000+00:00",
"salesTouchpoint": {
"salesTouchpointId": 6,
"name": "SMP (Service Medewerker Portaal)",
"isActive": true,
"retailer": {
"retailerId": 1000,
"name": "HTM interne touchpoints",
"street": "Koningin Julianaplein",
"number": 10,
"numberAddition": null,
"postalCode": "2595 AA",
"city": "Den Haag",
"country": "Nederland",
"emailAddress": "info@htm.nl",
"phoneNumber": "070 374 9002",
"taxId": 572309345923,
"imageReference": "https://www.htm.nl/media/leif2leu/htm-logo-mobile.svg"
}
},
"forbiddenPaymentMethods": [
{
"forbiddenPaymentMethodId": 1,
"name": "creditcard",
"issuer": "Mastercard"
},
{
"forbiddenPaymentMethodId": 2,
"name": "creditcard",
"issuer": "Visa"
},
{
"forbiddenPaymentMethodId": 3,
"name": "creditcard",
"issuer": "American Express"
}
],
"sellingPrices": [
{
"sellingPriceId": 383,
"taxCode": "V00",
"taxPercentage": 0.0000,
"amountExclTax": null,
"amountInclTax": 1,
"fromInclusive": "2025-01-31T23:00:00.000+00:00",
"toInclusive": "2030-12-08T04:00:00.000+00:00",
"internalPrice": 1.0000
}
]
"requiredGboPersonalAttributeId": 2,
"name": "BIRTHDATE"
},
{
"requiredGboPersonalAttributeId": 3,
"name": "PHOTO"
}
],
"purchasePrices": null,
"auditTrail": [
{
"auditTrailId": 5124,
"action": "update",
"user": "api",
"timestamp": "2025-09-05T16:06:25.823+00:00"
}
]
}
getDetailsSaldoProduct:
summary: Saldo product
value:
{
"productId": 123,
"parentProductId": null,
"layerInfo": null,
"fikoArticleNumber": "1234",
"isValid": true,
"isArchived": false,
"gboPackageTemplateId": null,
"tapConnectProductCode": null,
"productName": "OV-pas saldo (1 euro)",
"productDescription": "1 euro saldo voor de OV-pas ",
"validityPeriod": {
"validityPeriodId": 123,
"fromInclusive": "2023-12-31T23:00:00.000+00:00",
"toInclusive": "2100-12-08T04:00:00.000+00:00"
},
"productTranslations": [
{
"language": "en",
"name": "OV-pas credit (1 euro)",
"description": "1 euro credit for the OV-pas"
}
],
"productOwner": {
"productOwnerId": 17,
"name": "Corneel Verstoep",
"organization": "HTM"
},
"marketSegments": [
{
"marketSegmentId": 1,
"name": "B2C"
}
],
"customerSegments": null,
"allowedGboAgeProfiles": null,
"productCategory": {
"productCategoryId": 8,
"isTravelProduct": true,
"name": "Saldo"
},
"requiredCustomerLevel": {
"requiredCustomerLevelId": 1,
"name": "guest"
},
"requiredProducts": null,
"incompatibleProducts": null,
"mandatoryCustomerDataItems": null,
"requiredGboPersonalAttributes": null,
"tokenTypes": [
{
"tokenTypeId": 1,
"name": "EMV"
},
{
"tokenTypeId": 2,
"name": "OVPas physical"
"name": "OVpas physical"
},
{
"tokenTypeId": 3,
"name": "OVPas digital"
"name": "OVpas digital"
}
],
"paymentMoment": {
"paymentMomentId": 1,
"name": "prepaid"
},
"serviceOptions": [
{
"serviceOptionId": 4,
"action": "cancel_notAllowed",
"description": "Stopzetting is niet toegestaan (doorgaans in combinatie met refund_notAllowed)"
},
{
"serviceOptionId": 10,
"action": "refund_notAllowed",
"description": "Terugbetaling niet toegestaan (doorgaans in combinatie met cancel_notAllowed)"
}
],
"validityDuration": null,
"maxStartInFutureDuration": null,
"isRenewable": false,
"sendInvoice": false,
"imageReference": "https://web.acc.cloud.htm.nl/media/leif2leu/htm-logo-mobile.svg",
"productPageUrl": "https://web.acc.cloud.htm.nl/webshop/onbekend/",
"termsUrl": "https://web.acc.cloud.htm.nl/reisproducten/productvoorwaarden/onbekend/",
"serviceOptions": null,
"validityDuration": "P1M",
"maxStartInFutureDuration": "P6W",
"isRenewable": true,
"sendInvoice": true,
"imageReference": "https://www.htm.nl/media/leif2leu/htm-logo-mobile.svg",
"productPageUrl": "https://www.htm.nl/nog-onbekende-product-pagina",
"termsUrl": "https://www.htm.nl/nog-onbekende-productvoorwaarden-pagina",
"isSellableAtHtm": true,
"needsSolvencyCheckConsumer": false,
"needsSolvencyCheckBusiness": false,
"sellingPeriods": [
{
"sellingPeriodId": 123,
"fromInclusive": "2024-09-30T23:00:00.000+00:00",
"toInclusive": "2099-12-30T23:00:00.000+00:00",
"sellingPeriodId": 5,
"fromInclusive": "2024-09-01T00:00:00.000+00:00",
"toInclusive": "2024-12-31T23:59:59.999+00:00",
"salesTouchpoint": {
"salesTouchpointId": 3,
"name": "Website (Perplex)",
@ -1755,39 +1611,61 @@ paths:
"retailerId": 1001,
"name": "HTM externe touchpoints",
"street": "Koningin Julianaplein",
"number": 10,
"number": "10",
"numberAddition": null,
"postalCode": "2595 AA",
"city": "Den Haag",
"country": "Nederland",
"emailAddress": "info@htm.nl",
"phoneNumber": "070 374 9002",
"taxId": 572309345923,
"taxId": "572309345923",
"imageReference": "https://www.htm.nl/media/leif2leu/htm-logo-mobile.svg"
}
},
"forbiddenPaymentMethods": null,
"forbiddenPaymentMethods": [
{
"forbiddenPaymentMethodId": 3,
"name": "creditcard",
"issuer": "American Express"
}
],
"sellingPrices": [
{
"sellingPriceId": 123,
"taxCode": null,
"taxPercentage": null,
"amountExclTax": null,
"amountInclTax": 100,
"fromInclusive": "2024-09-30T23:00:00.000+00:00",
"toInclusive": "2099-12-30T23:00:00.000+00:00",
"internalPrice": 0.0000
"sellingPriceId": 5,
"amountExclTax": 5413,
"amountInclTax": 5900,
"taxCode": "V09",
"taxPercentage": 9.0000,
"fromInclusive": "2024-09-01T00:00:00.000+00:00",
"toInclusive": "2024-12-31T23:59:59.999+00:00",
"internalPrice": 5413.0000
}
]
}
],
"purchasePrices": null,
"purchasePrices": [
{
"purchasePriceId": 1,
"amountExclTax": 0,
"taxCode": "V09",
"taxPercentage": 9.0000,
"amountInclTax": 0,
"fromInclusive": "2024-09-01T00:00:00.000+00:00",
"toInclusive": "2024-12-31T23:59:59.999+00:00"
}
],
"auditTrail": [
{
"auditTrailId": 5124,
"auditTrailId": 2,
"action": "update",
"user": "api",
"timestamp": "2025-09-05T16:06:25.823+00:00"
"timestamp": "2024-09-03T08:39:38.000+00:00"
},
{
"auditTrailId": 1,
"action": "insert",
"user": "api",
"timestamp": "2024-09-03T08:38:24.000+00:00"
}
]
}
@ -1803,7 +1681,12 @@ paths:
{
"productName": "TODO"
}
getDetailsIbanMandate:
summary: TODO - IBAN mandate (functional product)
value:
{
"productName": "TODO"
}
'400':
description: '400'
content:
@ -1929,7 +1812,7 @@ paths:
"sellingPrices": [
{
"sellingPriceId": 1,
"amountExclTax": null,
"amountExclTax": 92,
"amountInclTax": 100,
"taxCode": "V09",
"taxPercentage": 9.0000,
@ -1943,7 +1826,7 @@ paths:
"purchasePrices": [
{
"purchasePriceId": 1,
"amountExclTax": null,
"amountExclTax": 0,
"amountInclTax": 0,
"taxCode": "V09",
"taxPercentage": 9.0000,
@ -2020,7 +1903,7 @@ paths:
"sellingPrices": [
{
"sellingPriceId": 1,
"amountExclTax": null,
"amountExclTax": 92,
"amountInclTax": 100,
"taxCode": "V09",
"taxPercentage": 9.0000,
@ -2034,7 +1917,7 @@ paths:
"purchasePrices": [
{
"purchasePriceId": 1,
"amountExclTax": null,
"amountExclTax": 0,
"amountInclTax": 0,
"taxCode": "V09",
"taxPercentage": 9.0000,
@ -2107,7 +1990,7 @@ paths:
"sellingPrices": [
{
"sellingPriceId": 1,
"amountExclTax": null,
"amountExclTax": 92,
"taxCode": "V09",
"taxPercentage": 9.0000,
"amountInclTax": 100,
@ -2123,7 +2006,7 @@ paths:
"salesTouchpointId": 2,
"sellingPrices": [
{
"amountExclTax": null,
"amountExclTax": 92,
"amountInclTax": 100,
"taxCode": "V09",
"taxPercentage": 9.0000,
@ -2132,7 +2015,7 @@ paths:
"internalPrice": 92.0000
},
{
"amountExclTax": null,
"amountExclTax": 101,
"amountInclTax": 110,
"taxCode": "V09",
"taxPercentage": 9.0000,
@ -2146,7 +2029,7 @@ paths:
"purchasePrices": [
{
"purchasePriceId": 1,
"amountExclTax": null,
"amountExclTax": 0,
"amountInclTax": 0,
"taxCode": "V09",
"taxPercentage": 9.0000,
@ -2222,7 +2105,7 @@ paths:
"sellingPrices": [
{
"sellingPriceId": 1,
"amountExclTax": null,
"amountExclTax": 92,
"amountInclTax": 100,
"taxCode": "V09",
"taxPercentage": 9.0000,
@ -2232,7 +2115,7 @@ paths:
},
{
"sellingPriceId": 2,
"amountExclTax": null,
"amountExclTax": 101,
"amountInclTax": 110,
"taxCode": "V09",
"taxPercentage": 9.0000,
@ -2250,7 +2133,7 @@ paths:
"sellingPrices": [
{
"sellingPriceId": 3,
"amountExclTax": null,
"amountExclTax": 92,
"amountInclTax": 100,
"taxCode": "V09",
"taxPercentage": 9.0000,
@ -2260,7 +2143,7 @@ paths:
},
{
"sellingPriceId": 4,
"amountExclTax": null,
"amountExclTax": 101,
"amountInclTax": 110,
"taxCode": "V09",
"taxPercentage": 9.0000,
@ -2274,7 +2157,7 @@ paths:
"purchasePrices": [
{
"purchasePriceId": 1,
"amountExclTax": null,
"amountExclTax": 0,
"amountInclTax": 0,
"taxCode": "V09",
"taxPercentage": 9.0000,
@ -2372,7 +2255,7 @@ paths:
"sellingPrices": [
{
"sellingPriceId": 1,
"amountExclTax": null,
"amountExclTax": 5413,
"amountInclTax": 5900,
"taxCode": "V09",
"taxPercentage": 9.0000,
@ -2386,7 +2269,7 @@ paths:
"purchasePrices": [
{
"purchasePriceId": 1,
"amountExclTax": null,
"amountExclTax": 0,
"amountInclTax": 0,
"taxCode": "V09",
"taxPercentage": 9.0000,
@ -2451,11 +2334,10 @@ components:
description: >-
Gives information on the choice that the customer has to make, to enable the touchpoint
to proceed further "down the product-tree" by selecting (PATCH-ing) the correct product-variant.
LayerInfo is not a mandatory product-attribute, but it should always be present on all products for which
there are underlying products, i.e. for which `GET /products?parentProductId=...` returns a non-empty list.
When no LayerInfo is present, the touchpoint can conclude that the product is a final fulfillable product. \
LayerInfo is not a mandatory product-attribute, but it should always be present on all product for which
`parentProductId != null`. (LayerInfo makes no sense for top-level parents as there is always a single starting point). \
**PMT should ensure that all non-leaf-node products (i.e. products that have underlying products) have a `layerInfoId`
**PMT should ensure that all products in the same "product-branch" (same `parentProductId`) have the same `layerInfoId`
referenced. If a product is found to be in violation of this rule, its attribtue `isValid` should be set to `false`.**
required:
- layerInfoId
@ -2471,12 +2353,12 @@ components:
type: string
description: >-
Contains the JSON Key of the product-attribute that the customer has to make some
choice on (determined by PMT), so that te correct product-variant (one of the direct child-products) can be
selected by the touchpoint. For some decisions (like region), there is no product attribute, and thus
`isCustomChoice` will be set to `true`, and `choiceKey` can then be set to any string on which touchpoints
can also trigger behaviour if desired (think "region picker tool"). Therefore, reuse of `choiceKeys` should be
choice on (determined by PMT), so that te correct product-variant can be selected by the touchpoint. For some
decisions (like region), there is no product attribute, and thus `isCustomChoice` will be set
to `true`, and `choiceKey` can then be set to any string on which touchpoints can also trigger
behaviour if desired (think "region picker tool"). Therefore, reuse of choiceKeys should be
the goal, so touchoints can keep their triggers simple and prevent duplication of
similar `choiceKeys` to trigger the same behaviour.
similar choiceKeys to trigger the same behaviour.
choiceLabel:
example: Kies voor een doorlopend abonnement of een enkele termijn
type: string
@ -2488,10 +2370,12 @@ components:
example: false
type: boolean
description: >-
Indicates if the choice is a custom choice. If `false`, the PMT should validate that the `choiceKey` is a
differentiating attribute for the underlying product-variants. When the attribute denoted by the `choiceKey` is
the same for all underlying variants, PMT validation will fail and the product will become invalid (`isValid == false`)
until either the underlying products are updated, or a `LayerInfo` with `isCustomChoice == true` is configured.
Indicates if the choice is a custom choice. If `false`, the PMT should fill `choiceKey` with the
"differing attribute for this product-layer" and the user should not be able to override this. When
no single attribute can be pinpointed by PMT, the product will become invalid (`isValid == false`) until either
a situation with a single differing attribute is created, or if `isCustomChoice` is set to `true` - this would,
however, also mean that touchpoints should be notified of this, especially if the configured LayerInfo contains
a new, not previously used, `choiceKey`.
GboAgeProfileResponse:
type: object
required: