5541 lines
287 KiB
YAML
5541 lines
287 KiB
YAML
openapi: 3.0.1
|
|
info:
|
|
title: ABT Service Engine Order APIs
|
|
version: "1.0"
|
|
description: Order APIs available in the Service Engine for order validation and fulfillment.
|
|
servers:
|
|
- url: https://services.acc.api.htm.nl/abt/touchpoint/2.0
|
|
paths:
|
|
/orders:
|
|
parameters:
|
|
- in: header
|
|
name: X-HTM-JWT-AUTH-HEADER
|
|
schema:
|
|
type: string
|
|
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
|
|
description: The JWT of the logged in customer (in case of a web shop).
|
|
get:
|
|
parameters:
|
|
- in: query
|
|
name: orderId
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
example: afce35b2-1dff-4ace-98d0-4b9ac405c87d
|
|
description: The order id.
|
|
- in: query
|
|
name: orderNumber
|
|
schema:
|
|
type: string
|
|
example: "ORD123456"
|
|
description: The order number.
|
|
- in: query
|
|
name: externalOrderId
|
|
schema:
|
|
type: string
|
|
example: 7bef22f6-70a3-4655-bc2a-c40c61581b32
|
|
description: The external order id.
|
|
- in: query
|
|
name: createdBefore
|
|
schema:
|
|
type: string
|
|
format: date-time
|
|
example: 2024-03-22T09:00:00
|
|
required: false
|
|
description: Timestamp before which the order should have been created.
|
|
- in: query
|
|
name: createdAfter
|
|
schema:
|
|
type: string
|
|
format: date-time
|
|
example: 2024-03-22T09:00:00
|
|
required: false
|
|
description: Timestamp after which the order should have been created.
|
|
- in: query
|
|
name: updatedBefore
|
|
schema:
|
|
type: string
|
|
format: date-time
|
|
example: 2024-03-22T09:00:00
|
|
required: false
|
|
description: Timestamp before which the order should have been updated.
|
|
- in: query
|
|
name: updatedAfter
|
|
schema:
|
|
type: string
|
|
format: date-time
|
|
example: 2024-03-22T09:00:00
|
|
required: false
|
|
description: Timestamp after which the order should have been updated.
|
|
- in: query
|
|
name: orderStatusId
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
explode: false
|
|
required: false
|
|
description: Filter on most recent order status. 1 = concept, 2 = awaitingPayment, 3 = pendingPayment, 4 = paid, 5 = delivered, 6 = cancelled.
|
|
- in: query
|
|
name: customerProfileId
|
|
schema:
|
|
type: integer
|
|
example: 42
|
|
description: The customer profile id.
|
|
- in: query
|
|
name: xTat
|
|
schema:
|
|
type: string
|
|
example: 7208e73e-87a6-46d9-bb6d-867ffc460c9b
|
|
description: xTat used in order fulfillment. Note that this is a joined parameter via PurchasedProduct.
|
|
tags:
|
|
- Order Retrieval
|
|
summary: Find orders.
|
|
description: Find orders.
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
examples:
|
|
Empty order list:
|
|
summary: Empty order list
|
|
description: Empty order list
|
|
value:
|
|
{
|
|
"orders": [],
|
|
"_links":
|
|
{
|
|
"self":
|
|
{
|
|
"href": "https://api.example.com/items",
|
|
"method": "GET",
|
|
"templated": true,
|
|
},
|
|
},
|
|
"href": "string",
|
|
}
|
|
List with multiple orders:
|
|
summary: List with two orders
|
|
description: |
|
|
List with two orders. Note how the second order is a concept order and therefore has
|
|
more token information than the first order which is already paid.
|
|
value:
|
|
{
|
|
"orders":
|
|
[
|
|
{
|
|
"validContents": null,
|
|
"orderId": "afce35b2-1dff-4ace-98d0-4b9ac405c87d",
|
|
"externalOrderId": "bac3958b-804a-43e3-b5f7-0b0fffaae5b7",
|
|
"orderNumber": "123456",
|
|
"customerProfileId": 42,
|
|
"totalAmount": 121,
|
|
"touchPoint":
|
|
{
|
|
"salesTouchpointId": 3,
|
|
"name": "Website (Perplex)",
|
|
"isActive": true,
|
|
"retailerId": 1001,
|
|
},
|
|
"language":
|
|
{
|
|
"languageId": 1,
|
|
"name": "Nederlands",
|
|
"iso639Code": "nl-NL",
|
|
"ietfCode": "nl",
|
|
},
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"lastUpdatedOn": "2024-03-22T09:00:00",
|
|
"order_OrderStatuses":
|
|
{
|
|
"order_orderStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f",
|
|
"orderStatus":
|
|
{ "orderStatusId": 4, "name": "paid" },
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"description": "Order succesvol betaald",
|
|
},
|
|
"orderLines":
|
|
[
|
|
{
|
|
"orderLineId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
"externalOrderLineId": null,
|
|
"productId": 1,
|
|
"productName": "HTM Maandkorting 20%",
|
|
"fikoArticleNumber": "6609",
|
|
"productDescription": "HTM Maandkorting 20%",
|
|
"taxCode": "V21",
|
|
"taxPercentage": 21.0000,
|
|
"taxAmount": null,
|
|
"amountExclTax": null,
|
|
"amountInclTax": 121,
|
|
"quantity": 1,
|
|
"orderLineTerms":
|
|
[
|
|
{
|
|
"orderLineTermsId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
"termsUrl": "generalTermsAndConditions.pdf",
|
|
},
|
|
{
|
|
"orderLineTermsId": "bd76f723-9308-4629-a291-4c4fafd7ed87",
|
|
"termsUrl": "productTermsAndConditions.pdf",
|
|
},
|
|
],
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"validFrom": "2024-03-22T09:00:00",
|
|
"validUntil": null,
|
|
"orderLineStatus":
|
|
{
|
|
"orderLineStatusId": 1,
|
|
"name": "pending",
|
|
},
|
|
"customerTokens": null,
|
|
},
|
|
],
|
|
"payments":
|
|
[
|
|
{
|
|
"paymentId": "1a973c85-7a96-41b5-bbf2-7919d6a6db15",
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"amountDebit": 121,
|
|
"paymentMethod":
|
|
{
|
|
"paymentMethodId": 1,
|
|
"name": "ideal",
|
|
"provider": "Buckaroo",
|
|
},
|
|
"touchPoint":
|
|
{
|
|
"salesTouchpointId": 3,
|
|
"name": "Website (Perplex)",
|
|
"isActive": true,
|
|
"retailerId": 1001,
|
|
},
|
|
"isRefund": false,
|
|
"htmPaymentReference": "HTM-1234",
|
|
"pspPaymentReference": "Buckaroo-1234",
|
|
"paymentStatuses":
|
|
[
|
|
{
|
|
"paymentStatusId": "42eee610-1a17-4f02-be14-7e25d69d35f3",
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"statusCode": "190",
|
|
"statusDescription": "Success",
|
|
"statusSubCode": "S001",
|
|
"statusSubDescription": "PaymentSuccessful",
|
|
},
|
|
],
|
|
"mandateInput":
|
|
{
|
|
"mandateInputId": "5397f2d7-eefa-4e82-a086-1e0e3ad38bdb",
|
|
"directDebitMandateType":
|
|
{
|
|
"directDebitMandateTypeId": 1,
|
|
"name": "import",
|
|
},
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"bic": "RABONL2U",
|
|
"iban": "NL44RABO0123456789",
|
|
"ascription": "J. de Vries",
|
|
"place": "Den Haag",
|
|
},
|
|
},
|
|
],
|
|
"orderCustomer": null,
|
|
"_links":
|
|
{
|
|
"self":
|
|
{
|
|
"href": "https://api.example.com/items/1",
|
|
"method": "GET",
|
|
"templated": true,
|
|
},
|
|
},
|
|
},
|
|
{
|
|
"validContents": false,
|
|
"orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df",
|
|
"externalOrderId": null,
|
|
"orderNumber": "ORD-123456",
|
|
"customerProfileId": 1337,
|
|
"totalAmount": 121,
|
|
"touchPoint":
|
|
{
|
|
"salesTouchpointId": 3,
|
|
"name": "Website (Perplex)",
|
|
"isActive": true,
|
|
"retailerId": 1001,
|
|
},
|
|
"language":
|
|
{
|
|
"languageId": 1,
|
|
"name": "Nederlands",
|
|
"iso639Code": "nl-NL",
|
|
"ietfCode": "nl",
|
|
},
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"lastUpdatedOn": "2024-03-22T09:00:00",
|
|
"order_OrderStatuses":
|
|
[
|
|
{
|
|
"order_orderStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f",
|
|
"orderStatus":
|
|
{ "orderStatusId": 1, "name": "concept" },
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"description": "Order is aangemaakt",
|
|
},
|
|
],
|
|
"orderLines":
|
|
[
|
|
{
|
|
"orderLineId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
"externalOrderLineId": null,
|
|
"productId": 1,
|
|
"productName": "HTM Maandkorting 20%",
|
|
"fikoArticleNumber": "6609",
|
|
"productDescription": "HTM Maandkorting 20%",
|
|
"taxCode": "V21",
|
|
"taxPercentage": 21.0000,
|
|
"taxAmount": null,
|
|
"amountExclTax": null,
|
|
"amountInclTax": 121,
|
|
"quantity": 1,
|
|
"orderLineTerms":
|
|
[
|
|
{
|
|
"orderLineTermsId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
"termsUrl": "generalTermsAndConditions.pdf",
|
|
},
|
|
{
|
|
"orderLineTermsId": "bd76f723-9308-4629-a291-4c4fafd7ed87",
|
|
"termsUrl": "productTermsAndConditions.pdf",
|
|
},
|
|
],
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"validFrom": "2024-03-22T09:00:00",
|
|
"validUntil": null,
|
|
"orderLineStatus":
|
|
{
|
|
"orderLineStatusId": 1,
|
|
"name": "pending",
|
|
},
|
|
"customerTokens":
|
|
[
|
|
{
|
|
"customerTokenId": "878ad7c1-cd8f-4bcf-a983-1bd8c6e6975e",
|
|
"tokenType":
|
|
{ "tokenTypeId": 1, "name": "EMV" },
|
|
"ovPayTokenId": 1,
|
|
"serviceReferenceId": "NLOV1234567ABCDEFG",
|
|
"amount": 34,
|
|
"ovpasNumber": "OV34567",
|
|
"verificationCode": "A7H6",
|
|
"personalAccountData":
|
|
{
|
|
"personalAccountDataId": "47db8a40-3238-4bf5-9284-759e3888bd47",
|
|
"name": "Jan de Vries",
|
|
"birthdate": "1970-01-01",
|
|
"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",
|
|
},
|
|
"ovPayToken":
|
|
{
|
|
"customerProfileId": 1337,
|
|
"ovPayTokenId": 1,
|
|
"xTat": "32089cc8-d187-47ff-a3a9-5c2558def811",
|
|
"tokenType":
|
|
{
|
|
"tokenTypeId": 2,
|
|
"name": "OV-pas physical",
|
|
},
|
|
"alias": "MyToken",
|
|
"tokenStatus":
|
|
{
|
|
"tokenStatusId": 2,
|
|
"name": "Active",
|
|
},
|
|
"expirationDate": "2028-02-01",
|
|
"replacedByTokenId": null,
|
|
"autoReloadRegistration":
|
|
{
|
|
"autoReloadAmount": 500,
|
|
"retailerReferenceId": "abc",
|
|
"arrit": "425f7fc2-1103-4822-9c79-7c4aaa2fb6aa",
|
|
"autoReloadRegistrationStatus": "ACTIVE",
|
|
"autoReloadRegistrationStartDateTime": "2024-06-02T15:03:46Z",
|
|
},
|
|
"ePurse":
|
|
{
|
|
"e-PurseBalance":
|
|
{
|
|
"currency": "EUR",
|
|
"amount": 350,
|
|
},
|
|
"status": "ACTIVE",
|
|
"originDate": "2019-07-16T11:00:00+02:00",
|
|
},
|
|
"personalAccountData":
|
|
{
|
|
"name":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
"birthdate":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
"photo":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
},
|
|
"gboAgeProfile":
|
|
{
|
|
"gboAgeProfileId": 1,
|
|
"name": "Kind (4 t/m 11 jaar)",
|
|
"ageFromInclusive": 4,
|
|
"ageToInclusive": 11,
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"orderAccountingStatuses": [],
|
|
"validationResult": "invalid",
|
|
"validations":
|
|
[
|
|
{
|
|
"code": "MANDATE_REQUIRED",
|
|
"detail": "A valid mandate is required before purchasing this product.",
|
|
"path": null,
|
|
"parameter": "directDebitMandateId",
|
|
"type": "REMARK",
|
|
},
|
|
{
|
|
"code": "STARTDATE_TOO_FAR_IN_FUTURE",
|
|
"detail": "Startdate of this product should be at most 60 days in the future.",
|
|
"path": "$.orders[?(@.orderId=='1e441d7d-50d6-4006-aca7-5e87e2f218df')].orderLines[?(@.orderLineId=='cccada2c-d5ea-48ab-b4be-f590e16b5468')].validFrom",
|
|
"parameter": null,
|
|
"type": "ERROR",
|
|
},
|
|
],
|
|
},
|
|
],
|
|
"payments": [],
|
|
"orderCustomer": null,
|
|
},
|
|
],
|
|
"_links":
|
|
{
|
|
"self":
|
|
{
|
|
"href": "https://api.example.com/items",
|
|
"method": "GET",
|
|
"templated": true,
|
|
},
|
|
},
|
|
"href": "string",
|
|
}
|
|
post:
|
|
tags:
|
|
- Order Creation Flow
|
|
summary: Create a new order.
|
|
description: |
|
|
Create a new order. This order can only contain the order itself,
|
|
one ore more order lines and optionally a customer token per order line.
|
|
All orders created via this endpoint are created with the status "concept".
|
|
Order lines are created with status "pending".
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
examples:
|
|
Create order with OVpas and PAD:
|
|
summary: Create order with OVpas and PAD
|
|
description: Create order with OVpas and PAD
|
|
value:
|
|
{
|
|
"externalOrderId": null,
|
|
"languageId": 1,
|
|
"orderLines":
|
|
[
|
|
{
|
|
"externalOrderLineId": null,
|
|
"productId": 1,
|
|
"quantity": 1,
|
|
"validFrom": "2024-03-22T09:00:00",
|
|
"validUntil": null,
|
|
"customerTokens":
|
|
[
|
|
{
|
|
"tokenTypeId": 1,
|
|
"ovPayTokenId": 1,
|
|
"serviceReferenceId": "NLOV1234567ABCDEFG",
|
|
"amount": 34,
|
|
"ovpasNumber": "OV34567",
|
|
"verificationCode": "A7H6",
|
|
"personalAccountData":
|
|
{
|
|
"name": "Jan de Vries",
|
|
"birthdate": "1970-01-01",
|
|
"photo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAWJLR0Q+SWQA4wAAAAd0SU1FB+YCBAwmK58TFQgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDItMDRUMTI6Mzg6NDMrMDA6MDBAjYOrAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTAyLTA0VDEyOjM4OjQzKzAwOjAwMdA7FwAAAFd6VFh0UmF3IHByb2ZpbGUgdHlwZSBpcHRjAAB4nOPyDAhxVigoyk/LzEnlUgADIwsuYwsTIxNLkxQDEyBEgDTDZAMjs1Qgy9jUyMTMxBzEB8uASKBKLgDqFxF08kI1lQAAAYdpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+DQo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPjx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KPD94cGFja2V0IGVuZD0ndyc/PiyUmAsAAAANSURBVBhXY3grk/YfAAXYAm/HQierAAAAAElFTkSuQmCC",
|
|
"challengeTypeId": 1,
|
|
"oneTimePassword": "H5Iiz3JTaQeIV8p",
|
|
},
|
|
},
|
|
],
|
|
},
|
|
],
|
|
}
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
examples:
|
|
Concept order with OVpas and PAD:
|
|
value:
|
|
{
|
|
"validContents": false,
|
|
"orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df",
|
|
"externalOrderId": null,
|
|
"orderNumber": "ORD-123456",
|
|
"customerProfileId": 1337,
|
|
"totalAmount": 121,
|
|
"touchPoint":
|
|
{
|
|
"salesTouchpointId": 3,
|
|
"name": "Website (Perplex)",
|
|
"isActive": true,
|
|
"retailerId": 1001,
|
|
},
|
|
"language":
|
|
{
|
|
"languageId": 1,
|
|
"name": "Nederlands",
|
|
"iso639Code": "nl-NL",
|
|
"ietfCode": "nl",
|
|
},
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"lastUpdatedOn": "2024-03-22T09:00:00",
|
|
"order_OrderStatuses":
|
|
[
|
|
{
|
|
"order_orderStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f",
|
|
"orderStatus":
|
|
{ "orderStatusId": 1, "name": "concept" },
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"description": "Order is aangemaakt",
|
|
},
|
|
],
|
|
"orderLines":
|
|
[
|
|
{
|
|
"orderLineId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
"externalOrderLineId": null,
|
|
"productId": 1,
|
|
"productName": "HTM Maandkorting 20%",
|
|
"fikoArticleNumber": "6609",
|
|
"productDescription": "HTM Maandkorting 20%",
|
|
"taxCode": "V21",
|
|
"taxPercentage": 21.0000,
|
|
"taxAmount": null,
|
|
"amountExclTax": null,
|
|
"amountInclTax": 121,
|
|
"quantity": 1,
|
|
"orderLineTerms":
|
|
[
|
|
{
|
|
"orderLineTermsId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
"termsUrl": "generalTermsAndConditions.pdf",
|
|
},
|
|
{
|
|
"orderLineTermsId": "bd76f723-9308-4629-a291-4c4fafd7ed87",
|
|
"termsUrl": "productTermsAndConditions.pdf",
|
|
},
|
|
],
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"validFrom": "2024-03-22T09:00:00",
|
|
"validUntil": null,
|
|
"orderLineStatus":
|
|
{ "orderLineStatusId": 1, "name": "pending" },
|
|
"customerTokens":
|
|
[
|
|
{
|
|
"customerTokenId": "878ad7c1-cd8f-4bcf-a983-1bd8c6e6975e",
|
|
"tokenType":
|
|
{ "tokenTypeId": 1, "name": "EMV" },
|
|
"ovPayTokenId": 1,
|
|
"serviceReferenceId": "NLOV1234567ABCDEFG",
|
|
"amount": 34,
|
|
"ovpasNumber": "OV34567",
|
|
"verificationCode": "A7H6",
|
|
"personalAccountData":
|
|
{
|
|
"personalAccountDataId": "47db8a40-3238-4bf5-9284-759e3888bd47",
|
|
"name": "Jan de Vries",
|
|
"birthdate": "1970-01-01",
|
|
"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",
|
|
},
|
|
"ovPayToken":
|
|
{
|
|
"customerProfileId": 1,
|
|
"ovPayTokenId": 1,
|
|
"xTat": "32089cc8-d187-47ff-a3a9-5c2558def811",
|
|
"tokenType":
|
|
{
|
|
"tokenTypeId": 2,
|
|
"name": "OV-pas physical",
|
|
},
|
|
"alias": "MyToken",
|
|
"tokenStatus":
|
|
{
|
|
"tokenStatusId": 2,
|
|
"name": "Active",
|
|
},
|
|
"expirationDate": "2028-02-01",
|
|
"replacedByTokenId": null,
|
|
"autoReloadRegistration":
|
|
{
|
|
"autoReloadAmount": 500,
|
|
"retailerReferenceId": "abc",
|
|
"arrit": "425f7fc2-1103-4822-9c79-7c4aaa2fb6aa",
|
|
"autoReloadRegistrationStatus": "ACTIVE",
|
|
"autoReloadRegistrationStartDateTime": "2024-06-02T15:03:46Z",
|
|
},
|
|
"ePurse":
|
|
{
|
|
"e-PurseBalance":
|
|
{
|
|
"currency": "EUR",
|
|
"amount": 350,
|
|
},
|
|
"status": "ACTIVE",
|
|
"originDate": "2019-07-16T11:00:00+02:00",
|
|
},
|
|
"personalAccountData":
|
|
{
|
|
"name":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
"birthdate":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
"photo":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
},
|
|
"gboAgeProfile":
|
|
{
|
|
"gboAgeProfileId": 1,
|
|
"name": "Kind (4 t/m 11 jaar)",
|
|
"ageFromInclusive": 4,
|
|
"ageToInclusive": 11,
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"orderAccountingStatuses": [],
|
|
"validationResult": "invalid",
|
|
"validations":
|
|
[
|
|
{
|
|
"code": "MANDATE_REQUIRED",
|
|
"detail": "A valid mandate is required before purchasing this product.",
|
|
"path": null,
|
|
"parameter": "directDebitMandateId",
|
|
"type": "REMARK",
|
|
},
|
|
{
|
|
"code": "STARTDATE_TOO_FAR_IN_FUTURE",
|
|
"detail": "Startdate of this product should be at most 60 days in the future.",
|
|
"path": "$.orders[?(@.orderId=='1e441d7d-50d6-4006-aca7-5e87e2f218df')].orderLines[?(@.orderLineId=='cccada2c-d5ea-48ab-b4be-f590e16b5468')].validFrom",
|
|
"parameter": null,
|
|
"type": "ERROR",
|
|
},
|
|
],
|
|
},
|
|
],
|
|
"payments": [],
|
|
"orderCustomer": null,
|
|
}
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
example:
|
|
{
|
|
"type": "https://htm.nl/api/v1/probs/400/badrequest",
|
|
"title": "Your request is not valid.",
|
|
"detail": "One or more required attributes are missing or invalid.",
|
|
"instance": "urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b",
|
|
"errors":
|
|
[
|
|
{
|
|
"code": "REQUIRED_ATTRIBUTE_MISSING",
|
|
"detail": "One ore more required attributes are missing.",
|
|
"pointer": "$.orderLines[0].productId",
|
|
"parameter": null,
|
|
},
|
|
],
|
|
}
|
|
/orders/{orderId}:
|
|
parameters:
|
|
- in: path
|
|
name: orderId
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
example: a0ef57fa-395c-4a03-96e9-234c26dccea9
|
|
- in: header
|
|
name: X-HTM-JWT-AUTH-HEADER
|
|
schema:
|
|
type: string
|
|
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
|
|
description: The JWT of the logged in customer (in case of a web shop).
|
|
get:
|
|
tags:
|
|
- Order Retrieval
|
|
summary: Get a single order.
|
|
description: Get a single order.
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
examples:
|
|
Order with status concept (and existing token):
|
|
summary: Order with status concept (and existing token)
|
|
description: Order with status concept (and existing token)
|
|
value:
|
|
{
|
|
"validContents": false,
|
|
"orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df",
|
|
"externalOrderId": null,
|
|
"orderNumber": "ORD-123456",
|
|
"customerProfileId": 1337,
|
|
"totalAmount": 121,
|
|
"touchPoint":
|
|
{
|
|
"salesTouchpointId": 3,
|
|
"name": "Website (Perplex)",
|
|
"isActive": true,
|
|
"retailerId": 1001,
|
|
},
|
|
"language":
|
|
{
|
|
"languageId": 1,
|
|
"name": "Nederlands",
|
|
"iso639Code": "nl-NL",
|
|
"ietfCode": "nl",
|
|
},
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"lastUpdatedOn": "2024-03-22T09:00:00",
|
|
"order_OrderStatuses":
|
|
[
|
|
{
|
|
"order_orderStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f",
|
|
"orderStatus":
|
|
{ "orderStatusId": 1, "name": "concept" },
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"description": "Order is aangemaakt",
|
|
},
|
|
],
|
|
"orderLines":
|
|
[
|
|
{
|
|
"orderLineId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
"externalOrderLineId": null,
|
|
"productId": 1,
|
|
"productName": "HTM Maandkorting 20%",
|
|
"fikoArticleNumber": "6609",
|
|
"productDescription": "HTM Maandkorting 20%",
|
|
"taxCode": "V21",
|
|
"taxPercentage": 21.0000,
|
|
"taxAmount": null,
|
|
"amountExclTax": null,
|
|
"amountInclTax": 121,
|
|
"quantity": 1,
|
|
"orderLineTerms":
|
|
[
|
|
{
|
|
"orderLineTermsId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
"termsUrl": "generalTermsAndConditions.pdf",
|
|
},
|
|
{
|
|
"orderLineTermsId": "bd76f723-9308-4629-a291-4c4fafd7ed87",
|
|
"termsUrl": "productTermsAndConditions.pdf",
|
|
},
|
|
],
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"validFrom": "2024-03-22T09:00:00",
|
|
"validUntil": null,
|
|
"orderLineStatus":
|
|
{ "orderLineStatusId": 1, "name": "pending" },
|
|
"customerTokens":
|
|
[
|
|
{
|
|
"customerTokenId": "878ad7c1-cd8f-4bcf-a983-1bd8c6e6975e",
|
|
"tokenType":
|
|
{ "tokenTypeId": 1, "name": "EMV" },
|
|
"ovPayTokenId": 1,
|
|
"serviceReferenceId": null,
|
|
"amount": null,
|
|
"ovpasNumber": null,
|
|
"verificationCode": null,
|
|
"personalAccountData": null,
|
|
"ovPayToken":
|
|
{
|
|
"customerProfileId": 1,
|
|
"ovPayTokenId": 1,
|
|
"xTat": "32089cc8-d187-47ff-a3a9-5c2558def811",
|
|
"tokenType":
|
|
{
|
|
"tokenTypeId": 2,
|
|
"name": "OV-pas physical",
|
|
},
|
|
"alias": "MyToken",
|
|
"tokenStatus":
|
|
{
|
|
"tokenStatusId": 2,
|
|
"name": "Active",
|
|
},
|
|
"expirationDate": "2028-02-01",
|
|
"replacedByTokenId": null,
|
|
"autoReloadRegistration":
|
|
{
|
|
"autoReloadAmount": 500,
|
|
"retailerReferenceId": "abc",
|
|
"arrit": "425f7fc2-1103-4822-9c79-7c4aaa2fb6aa",
|
|
"autoReloadRegistrationStatus": "ACTIVE",
|
|
"autoReloadRegistrationStartDateTime": "2024-06-02T15:03:46Z",
|
|
},
|
|
"ePurse":
|
|
{
|
|
"e-PurseBalance":
|
|
{
|
|
"currency": "EUR",
|
|
"amount": 350,
|
|
},
|
|
"status": "ACTIVE",
|
|
"originDate": "2019-07-16T11:00:00+02:00",
|
|
},
|
|
"personalAccountData":
|
|
{
|
|
"name":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
"birthdate":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
"photo":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
},
|
|
"gboAgeProfile":
|
|
{
|
|
"gboAgeProfileId": 1,
|
|
"name": "Kind (4 t/m 11 jaar)",
|
|
"ageFromInclusive": 4,
|
|
"ageToInclusive": 11,
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"orderAccountingStatuses": [],
|
|
"validationResult": "invalid",
|
|
"validations":
|
|
[
|
|
{
|
|
"code": "MANDATE_REQUIRED",
|
|
"detail": "A valid mandate is required before purchasing this product.",
|
|
"path": null,
|
|
"parameter": "directDebitMandateId",
|
|
"type": "REMARK",
|
|
},
|
|
{
|
|
"code": "STARTDATE_TOO_FAR_IN_FUTURE",
|
|
"detail": "Startdate of this product should be at most 60 days in the future.",
|
|
"path": "$.orders[?(@.orderId=='1e441d7d-50d6-4006-aca7-5e87e2f218df')].orderLines[?(@.orderLineId=='cccada2c-d5ea-48ab-b4be-f590e16b5468')].validFrom",
|
|
"parameter": null,
|
|
"type": "ERROR",
|
|
},
|
|
],
|
|
},
|
|
],
|
|
"payments": [],
|
|
"orderCustomer": null,
|
|
}
|
|
Order with status concept (and anonymous token):
|
|
summary: Order with status concept (and anonymous token)
|
|
description: Order with status concept (and anonymous token)
|
|
value:
|
|
{
|
|
"validContents": false,
|
|
"orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df",
|
|
"externalOrderId": null,
|
|
"orderNumber": "ORD-123456",
|
|
"customerProfileId": 1337,
|
|
"totalAmount": 121,
|
|
"touchPoint":
|
|
{
|
|
"salesTouchpointId": 3,
|
|
"name": "Website (Perplex)",
|
|
"isActive": true,
|
|
"retailerId": 1001,
|
|
},
|
|
"language":
|
|
{
|
|
"languageId": 1,
|
|
"name": "Nederlands",
|
|
"iso639Code": "nl-NL",
|
|
"ietfCode": "nl",
|
|
},
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"lastUpdatedOn": "2024-03-22T09:00:00",
|
|
"order_OrderStatuses":
|
|
[
|
|
{
|
|
"order_orderStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f",
|
|
"orderStatus":
|
|
{ "orderStatusId": 1, "name": "concept" },
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"description": "Order is aangemaakt",
|
|
},
|
|
],
|
|
"orderLines":
|
|
[
|
|
{
|
|
"orderLineId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
"externalOrderLineId": null,
|
|
"productId": 1,
|
|
"productName": "HTM Maandkorting 20%",
|
|
"fikoArticleNumber": "6609",
|
|
"productDescription": "HTM Maandkorting 20%",
|
|
"taxCode": "V21",
|
|
"taxPercentage": 21.0000,
|
|
"taxAmount": null,
|
|
"amountExclTax": null,
|
|
"amountInclTax": 121,
|
|
"quantity": 1,
|
|
"orderLineTerms":
|
|
[
|
|
{
|
|
"orderLineTermsId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
"termsUrl": "generalTermsAndConditions.pdf",
|
|
},
|
|
{
|
|
"orderLineTermsId": "bd76f723-9308-4629-a291-4c4fafd7ed87",
|
|
"termsUrl": "productTermsAndConditions.pdf",
|
|
},
|
|
],
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"validFrom": "2024-03-22T09:00:00",
|
|
"validUntil": null,
|
|
"orderLineStatus":
|
|
{ "orderLineStatusId": 1, "name": "pending" },
|
|
"customerTokens":
|
|
[
|
|
{
|
|
"customerTokenId": "878ad7c1-cd8f-4bcf-a983-1bd8c6e6975e",
|
|
"tokenType":
|
|
{ "tokenTypeId": 1, "name": "EMV" },
|
|
"ovPayTokenId": null,
|
|
"serviceReferenceId": "NLOV1234567ABCDEFG",
|
|
"amount": 34,
|
|
"ovpasNumber": "OV34567",
|
|
"verificationCode": "A7H6",
|
|
"personalAccountData":
|
|
{
|
|
"personalAccountDataId": "47db8a40-3238-4bf5-9284-759e3888bd47",
|
|
"name": "Jan de Vries",
|
|
"birthdate": "1970-01-01",
|
|
"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",
|
|
},
|
|
"ovPayToken":
|
|
{
|
|
"customerProfileId": null,
|
|
"ovPayTokenId": null,
|
|
"xTat": "32089cc8-d187-47ff-a3a9-5c2558def811",
|
|
"tokenType":
|
|
{
|
|
"tokenTypeId": 2,
|
|
"name": "OV-pas physical",
|
|
},
|
|
"alias": null,
|
|
"tokenStatus":
|
|
{
|
|
"tokenStatusId": 2,
|
|
"name": "Active",
|
|
},
|
|
"expirationDate": "2028-02-01",
|
|
"replacedByTokenId": null,
|
|
"autoReloadRegistration":
|
|
{
|
|
"autoReloadAmount": 500,
|
|
"retailerReferenceId": "abc",
|
|
"arrit": "425f7fc2-1103-4822-9c79-7c4aaa2fb6aa",
|
|
"autoReloadRegistrationStatus": "ACTIVE",
|
|
"autoReloadRegistrationStartDateTime": "2024-06-02T15:03:46Z",
|
|
},
|
|
"ePurse":
|
|
{
|
|
"e-PurseBalance":
|
|
{
|
|
"currency": "EUR",
|
|
"amount": 350,
|
|
},
|
|
"status": "ACTIVE",
|
|
"originDate": "2019-07-16T11:00:00+02:00",
|
|
},
|
|
"personalAccountData":
|
|
{
|
|
"name":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
"birthdate":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
"photo":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
},
|
|
"gboAgeProfile":
|
|
{
|
|
"gboAgeProfileId": 1,
|
|
"name": "Kind (4 t/m 11 jaar)",
|
|
"ageFromInclusive": 4,
|
|
"ageToInclusive": 11,
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"orderAccountingStatuses": [],
|
|
"validationResult": "invalid",
|
|
"validations":
|
|
[
|
|
{
|
|
"code": "MANDATE_REQUIRED",
|
|
"detail": "A valid mandate is required before purchasing this product.",
|
|
"path": null,
|
|
"parameter": "directDebitMandateId",
|
|
"type": "REMARK",
|
|
},
|
|
{
|
|
"code": "STARTDATE_TOO_FAR_IN_FUTURE",
|
|
"detail": "Startdate of this product should be at most 60 days in the future.",
|
|
"path": "$.orders[?(@.orderId=='1e441d7d-50d6-4006-aca7-5e87e2f218df')].orderLines[?(@.orderLineId=='cccada2c-d5ea-48ab-b4be-f590e16b5468')].validFrom",
|
|
"parameter": null,
|
|
"type": "ERROR",
|
|
},
|
|
],
|
|
},
|
|
],
|
|
"payments": [],
|
|
"orderCustomer": null,
|
|
}
|
|
Order with status paid:
|
|
summary: Order with status paid
|
|
description: Order with status paid
|
|
value:
|
|
{
|
|
"validContents": null,
|
|
"orderId": "afce35b2-1dff-4ace-98d0-4b9ac405c87d",
|
|
"externalOrderId": "bac3958b-804a-43e3-b5f7-0b0fffaae5b7",
|
|
"orderNumber": "123456",
|
|
"customerProfileId": 42,
|
|
"totalAmount": 121,
|
|
"touchPoint":
|
|
{
|
|
"salesTouchpointId": 3,
|
|
"name": "Website (Perplex)",
|
|
"isActive": true,
|
|
"retailerId": 1001,
|
|
},
|
|
"language":
|
|
{
|
|
"languageId": 1,
|
|
"name": "Nederlands",
|
|
"iso639Code": "nl-NL",
|
|
"ietfCode": "nl",
|
|
},
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"lastUpdatedOn": "2024-03-22T09:00:00",
|
|
"order_OrderStatuses":
|
|
[
|
|
{
|
|
"order_orderStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f",
|
|
"orderStatus":
|
|
{ "orderStatusId": 4, "name": "paid" },
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"description": "Order succesvol betaald",
|
|
},
|
|
{
|
|
"order_orderStatusId": "2b9b7943-3a74-4f2e-ad65-012b62c80821",
|
|
"orderStatus":
|
|
{ "orderStatusId": 3, "name": "pendingPayment" },
|
|
"createdOn": "2024-03-22T08:55:00",
|
|
"description": "Betaling in behandeling",
|
|
},
|
|
],
|
|
"orderLines":
|
|
[
|
|
{
|
|
"orderLineId": "7a7a9d1a-3fc8-4058-a28b-082860aaa311",
|
|
"externalOrderLineId": "f5fddff0-7fbd-4285-bccb-e584f431ea69",
|
|
"productId": 1,
|
|
"productName": "HTM Maandkorting 20%",
|
|
"fikoArticleNumber": "6609",
|
|
"productDescription": "HTM Maandkorting 20%",
|
|
"taxCode": "V21",
|
|
"taxPercentage": 21.0000,
|
|
"taxAmount": null,
|
|
"amountExclTax": null,
|
|
"amountInclTax": 121,
|
|
"quantity": 1,
|
|
"orderLineTerms":
|
|
[
|
|
{
|
|
"orderLineTermsId": "fe354db7-12ad-4fc1-bc63-a704c4e0d91e",
|
|
"termsUrl": "generalTermsAndConditions.pdf",
|
|
},
|
|
],
|
|
"validFrom": "2024-03-22T09:00:00",
|
|
"validUntil": "2025-03-22T09:00:00",
|
|
"orderLineStatus":
|
|
{ "orderLineStatusId": 4, "name": "delivered" },
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"lastUpdatedOn": "2024-03-22T09:00:00",
|
|
"customerTokens":
|
|
[
|
|
{
|
|
"customerTokenId": "878ad7c1-cd8f-4bcf-a983-1bd8c6e6975e",
|
|
"tokenType":
|
|
{ "tokenTypeId": 1, "name": "EMV" },
|
|
|
|
"ovPayTokenId": 1,
|
|
"serviceReferenceId": "NLOV1234567ABCDEFG",
|
|
"amount": 34,
|
|
"ovpasNumber": "OV34567",
|
|
"verificationCode": "A7H6",
|
|
"personalAccountData":
|
|
{
|
|
"personalAccountDataId": "47db8a40-3238-4bf5-9284-759e3888bd47",
|
|
"name": "Jan de Vries",
|
|
"birthdate": "1970-01-01",
|
|
"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",
|
|
},
|
|
"ovPayToken": null,
|
|
},
|
|
],
|
|
"orderAccountingStatuses":
|
|
[
|
|
{
|
|
"orderAccountingStatusId": "7c5118d0-8535-4464-9239-83a7ba8fd2db",
|
|
"accountingStatus":
|
|
{ "accountingStatusId": 1, "name": "open" },
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"description": "Financiele transactie voor de FIKO.",
|
|
},
|
|
],
|
|
"validationResult": null,
|
|
"validations": [],
|
|
},
|
|
],
|
|
"payments":
|
|
[
|
|
{
|
|
"paymentId": "3ba4a3c7-0803-4214-800b-365851b8903d",
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"amountDebit": 121,
|
|
"paymentMethod":
|
|
{
|
|
"paymentMethodId": 1,
|
|
"name": "ideal",
|
|
"provider": "Buckaroo",
|
|
},
|
|
"touchPoint":
|
|
{
|
|
"salesTouchpointId": 3,
|
|
"name": "Website (Perplex)",
|
|
"isActive": true,
|
|
"retailerId": 1001,
|
|
},
|
|
"isRefund": false,
|
|
"htmPaymentReference": "HTM-1234",
|
|
"pspPaymentReference": "Buckaroo-1234",
|
|
"paymentStatuses":
|
|
[
|
|
{
|
|
"paymentStatusId": 1,
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"statusCode": "190",
|
|
"statusDescription": "Success",
|
|
"statusSubCode": "S001",
|
|
"statusSubDescription": "PaymentSuccessful",
|
|
},
|
|
],
|
|
"mandateInput":
|
|
{
|
|
"mandateInputId": "0a875e67-dc9f-4825-a030-d732a2adbfbc",
|
|
"directDebitMandateType":
|
|
{
|
|
"directDebitMandateTypeId": 1,
|
|
"name": "import",
|
|
},
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"bic": "RABONL2U",
|
|
"iban": "NL44RABO0123456789",
|
|
"ascription": "J. de Vries",
|
|
"place": "Den Haag",
|
|
},
|
|
},
|
|
],
|
|
"orderCustomer":
|
|
{
|
|
"orderCustomerId": "19ef6882-8eda-43bf-b48e-9b4ff8745a50",
|
|
"birthname": "Jan",
|
|
"surname": "Vries",
|
|
"prefix": "de",
|
|
"emailAddress": "jandevries@outlook.com",
|
|
"dateOfBirth": "1970-01-01",
|
|
"orderCustomerAddresses":
|
|
[
|
|
{
|
|
"orderCustomerAddressId": "aa50047c-58ac-4f15-9448-ee000dfc6893",
|
|
"addressType":
|
|
{ "addressTypeId": 3, "name": "Billing" },
|
|
"street": "Kon. Julianaplein",
|
|
"houseNumber": 10,
|
|
"houseNumberSuffix": "a",
|
|
"postalCode": "2595 AA",
|
|
"city": "Den Haag",
|
|
"country": "NL",
|
|
},
|
|
],
|
|
},
|
|
"_links":
|
|
{
|
|
"self":
|
|
{
|
|
"href": "https://api.example.com/items/1",
|
|
"method": "GET",
|
|
"templated": true,
|
|
},
|
|
},
|
|
}
|
|
patch:
|
|
tags:
|
|
- Order Creation Flow
|
|
summary: Update an existing order.
|
|
description: Update an existing order.
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
examples:
|
|
Update order languageId":
|
|
summary: Update order languageId
|
|
description: Update order languageId
|
|
value: { "languageId": 1 }
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
examples:
|
|
Concept order with OVpas and PAD:
|
|
value:
|
|
{
|
|
"validContents": false,
|
|
"orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df",
|
|
"externalOrderId": null,
|
|
"orderNumber": "ORD-123456",
|
|
"customerProfileId": 1337,
|
|
"totalAmount": 121,
|
|
"touchPoint":
|
|
{
|
|
"salesTouchpointId": 3,
|
|
"name": "Website (Perplex)",
|
|
"isActive": true,
|
|
"retailerId": 1001,
|
|
},
|
|
"language":
|
|
{
|
|
"languageId": 1,
|
|
"name": "Nederlands",
|
|
"iso639Code": "nl-NL",
|
|
"ietfCode": "nl",
|
|
},
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"lastUpdatedOn": "2024-03-22T09:00:00",
|
|
"order_OrderStatuses":
|
|
[
|
|
{
|
|
"order_orderStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f",
|
|
"orderStatus":
|
|
{ "orderStatusId": 1, "name": "concept" },
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"description": "Order is aangemaakt",
|
|
},
|
|
],
|
|
"orderLines":
|
|
[
|
|
{
|
|
"orderLineId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
"externalOrderLineId": null,
|
|
"productId": 1,
|
|
"productName": "HTM Maandkorting 20%",
|
|
"fikoArticleNumber": "6609",
|
|
"productDescription": "HTM Maandkorting 20%",
|
|
"taxCode": "V21",
|
|
"taxPercentage": 21.0000,
|
|
"taxAmount": null,
|
|
"amountExclTax": null,
|
|
"amountInclTax": 121,
|
|
"quantity": 1,
|
|
"orderLineTerms":
|
|
[
|
|
{
|
|
"orderLineTermsId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
"termsUrl": "generalTermsAndConditions.pdf",
|
|
},
|
|
{
|
|
"orderLineTermsId": "bd76f723-9308-4629-a291-4c4fafd7ed87",
|
|
"termsUrl": "productTermsAndConditions.pdf",
|
|
},
|
|
],
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"validFrom": "2024-03-22T09:00:00",
|
|
"validUntil": null,
|
|
"orderLineStatus":
|
|
{ "orderLineStatusId": 1, "name": "pending" },
|
|
"customerTokens":
|
|
[
|
|
{
|
|
"customerTokenId": "878ad7c1-cd8f-4bcf-a983-1bd8c6e6975e",
|
|
"tokenType":
|
|
{ "tokenTypeId": 1, "name": "EMV" },
|
|
"ovPayTokenId": 1,
|
|
"serviceReferenceId": "NLOV1234567ABCDEFG",
|
|
"amount": 34,
|
|
"ovpasNumber": "OV34567",
|
|
"verificationCode": "A7H6",
|
|
"personalAccountData":
|
|
{
|
|
"personalAccountDataId": "47db8a40-3238-4bf5-9284-759e3888bd47",
|
|
"name": "Jan de Vries",
|
|
"birthdate": "1970-01-01",
|
|
"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",
|
|
},
|
|
"ovPayToken":
|
|
{
|
|
"customerProfileId": 1,
|
|
"ovPayTokenId": 1,
|
|
"xTat": "32089cc8-d187-47ff-a3a9-5c2558def811",
|
|
"tokenType":
|
|
{
|
|
"tokenTypeId": 2,
|
|
"name": "OV-pas physical",
|
|
},
|
|
"alias": "MyToken",
|
|
"tokenStatus":
|
|
{
|
|
"tokenStatusId": 2,
|
|
"name": "Active",
|
|
},
|
|
"expirationDate": "2028-02-01",
|
|
"replacedByTokenId": null,
|
|
"autoReloadRegistration":
|
|
{
|
|
"autoReloadAmount": 500,
|
|
"retailerReferenceId": "abc",
|
|
"arrit": "425f7fc2-1103-4822-9c79-7c4aaa2fb6aa",
|
|
"autoReloadRegistrationStatus": "ACTIVE",
|
|
"autoReloadRegistrationStartDateTime": "2024-06-02T15:03:46Z",
|
|
},
|
|
"ePurse":
|
|
{
|
|
"e-PurseBalance":
|
|
{
|
|
"currency": "EUR",
|
|
"amount": 350,
|
|
},
|
|
"status": "ACTIVE",
|
|
"originDate": "2019-07-16T11:00:00+02:00",
|
|
},
|
|
"personalAccountData":
|
|
{
|
|
"name":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
"birthdate":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
"photo":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
},
|
|
"gboAgeProfile":
|
|
{
|
|
"gboAgeProfileId": 1,
|
|
"name": "Kind (4 t/m 11 jaar)",
|
|
"ageFromInclusive": 4,
|
|
"ageToInclusive": 11,
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"orderAccountingStatuses": [],
|
|
"validationResult": "invalid",
|
|
"validations":
|
|
[
|
|
{
|
|
"code": "MANDATE_REQUIRED",
|
|
"detail": "A valid mandate is required before purchasing this product.",
|
|
"path": null,
|
|
"parameter": "directDebitMandateId",
|
|
"type": "REMARK",
|
|
},
|
|
{
|
|
"code": "STARTDATE_TOO_FAR_IN_FUTURE",
|
|
"detail": "Startdate of this product should be at most 60 days in the future.",
|
|
"path": "$.orders[?(@.orderId=='1e441d7d-50d6-4006-aca7-5e87e2f218df')].orderLines[?(@.orderLineId=='cccada2c-d5ea-48ab-b4be-f590e16b5468')].validFrom",
|
|
"parameter": null,
|
|
"type": "ERROR",
|
|
},
|
|
],
|
|
},
|
|
],
|
|
"payments": [],
|
|
"orderCustomer": null,
|
|
}
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
example:
|
|
{
|
|
"type": "https://htm.nl/api/v1/probs/400/badrequest",
|
|
"title": "Your request is not valid.",
|
|
"detail": "One or more required attributes are missing or invalid.",
|
|
"instance": "urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b",
|
|
"errors":
|
|
[
|
|
{
|
|
"code": "REQUIRED_ATTRIBUTE_MISSING",
|
|
"detail": "One ore more required attributes are missing.",
|
|
"pointer": "$.orderLines[0].productId",
|
|
"parameter": null,
|
|
},
|
|
],
|
|
}
|
|
delete:
|
|
tags:
|
|
- Order Creation Flow
|
|
summary: Delete an existing order.
|
|
description: Delete an existing order.
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
example:
|
|
{
|
|
"type": "https://htm.nl/api/v1/probs/400/badrequest",
|
|
"title": "Your request is not valid.",
|
|
"detail": "The order can not be deleted.",
|
|
"instance": "urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b",
|
|
"errors":
|
|
[
|
|
{
|
|
"detail": "Order status is paid",
|
|
"pointer": "#/order_OrderStatus/1/orderStatus/orderStatusId",
|
|
"orderStatusId": 4,
|
|
},
|
|
],
|
|
}
|
|
/orders/{orderId}/orderlines:
|
|
parameters:
|
|
- in: path
|
|
name: orderId
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
example: a0ef57fa-395c-4a03-96e9-234c26dccea9
|
|
- in: header
|
|
name: X-HTM-JWT-AUTH-HEADER
|
|
schema:
|
|
type: string
|
|
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
|
|
description: The JWT of the logged in customer (in case of a web shop).
|
|
post:
|
|
tags:
|
|
- Order Creation Flow
|
|
summary: Add a new order line to an existing order.
|
|
description: Add a new order line to an existing order.
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
examples:
|
|
Add order line to concept order:
|
|
summary: Add order line to concept order product with children
|
|
description: Add order line to concept order product with children
|
|
value:
|
|
{
|
|
"externalOrderLineId": null,
|
|
"productId": 2,
|
|
"quantity": 1,
|
|
"validFrom": "2024-03-22T09:00:00",
|
|
"validUntil": null,
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"customerTokens":
|
|
[
|
|
{
|
|
"tokenTypeId": 1,
|
|
"ovPayTokenId": 4,
|
|
"serviceReferenceId": null,
|
|
"amount": null,
|
|
"ovpasNumber": null,
|
|
"verificationCode": null,
|
|
"personalAccountData": null,
|
|
},
|
|
],
|
|
}
|
|
Order line with minimum requirements:
|
|
summary: Create order line with minimum requirements
|
|
description: Create order line with minimum requirements
|
|
value:
|
|
{
|
|
"productId": 2,
|
|
"quantity": 1,
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
}
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
examples:
|
|
AddRemark chosen product is not a leaf node product:
|
|
summary: AddRemark chosen product is not a leaf node product
|
|
description: AddRemark for case where chosen product is not a leaf node product
|
|
value:
|
|
{
|
|
"validContents": false,
|
|
"orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df",
|
|
"externalOrderId": null,
|
|
"orderNumber": "ORD-123456",
|
|
"customerProfileId": 1337,
|
|
"totalAmount": 121,
|
|
"touchPoint":
|
|
{
|
|
"salesTouchpointId": 3,
|
|
"name": "Website (Perplex)",
|
|
"isActive": true,
|
|
"retailerId": 1001,
|
|
},
|
|
"language":
|
|
{
|
|
"languageId": 1,
|
|
"name": "Nederlands",
|
|
"iso639Code": "nl-NL",
|
|
"ietfCode": "nl",
|
|
},
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"lastUpdatedOn": "2024-03-22T09:00:00",
|
|
"order_OrderStatuses":
|
|
[
|
|
{
|
|
"order_orderStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f",
|
|
"orderStatus":
|
|
{ "orderStatusId": 1, "name": "concept" },
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"description": "Order is aangemaakt",
|
|
},
|
|
],
|
|
"orderLines":
|
|
[
|
|
{
|
|
"orderLineId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
"externalOrderLineId": null,
|
|
"productId": 1,
|
|
"productName": "HTM Maandkorting 20%",
|
|
"fikoArticleNumber": "6609",
|
|
"productDescription": "HTM Maandkorting 20%",
|
|
"taxCode": "V21",
|
|
"taxPercentage": 21.0000,
|
|
"taxAmount": null,
|
|
"amountExclTax": null,
|
|
"amountInclTax": 121,
|
|
"quantity": 1,
|
|
"orderLineTerms":
|
|
[
|
|
{
|
|
"orderLineTermsId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
"termsUrl": "generalTermsAndConditions.pdf",
|
|
},
|
|
{
|
|
"orderLineTermsId": "bd76f723-9308-4629-a291-4c4fafd7ed87",
|
|
"termsUrl": "productTermsAndConditions.pdf",
|
|
},
|
|
],
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"validFrom": "2024-03-22T09:00:00",
|
|
"validUntil": null,
|
|
"orderLineStatus":
|
|
{ "orderLineStatusId": 1, "name": "pending" },
|
|
"customerTokens":
|
|
[
|
|
{
|
|
"customerTokenId": "878ad7c1-cd8f-4bcf-a983-1bd8c6e6975e",
|
|
"tokenType":
|
|
{ "tokenTypeId": 1, "name": "EMV" },
|
|
"ovPayTokenId": 12,
|
|
"serviceReferenceId": null,
|
|
"amount": null,
|
|
"ovpasNumber": null,
|
|
"verificationCode": null,
|
|
"personalAccountData": null,
|
|
"ovPayToken":
|
|
{
|
|
"customerProfileId": 1,
|
|
"ovPayTokenId": 1,
|
|
"xTat": "32089cc8-d187-47ff-a3a9-5c2558def811",
|
|
"tokenType":
|
|
{
|
|
"tokenTypeId": 2,
|
|
"name": "OV-pas physical",
|
|
},
|
|
"alias": "MyToken",
|
|
"tokenStatus":
|
|
{
|
|
"tokenStatusId": 2,
|
|
"name": "Active",
|
|
},
|
|
"expirationDate": "2028-02-01",
|
|
"replacedByTokenId": null,
|
|
"autoReloadRegistration":
|
|
{
|
|
"autoReloadAmount": 500,
|
|
"retailerReferenceId": "abc",
|
|
"arrit": "425f7fc2-1103-4822-9c79-7c4aaa2fb6aa",
|
|
"autoReloadRegistrationStatus": "ACTIVE",
|
|
"autoReloadRegistrationStartDateTime": "2024-06-02T15:03:46Z",
|
|
},
|
|
"ePurse":
|
|
{
|
|
"e-PurseBalance":
|
|
{
|
|
"currency": "EUR",
|
|
"amount": 350,
|
|
},
|
|
"status": "ACTIVE",
|
|
"originDate": "2019-07-16T11:00:00+02:00",
|
|
},
|
|
"personalAccountData":
|
|
{
|
|
"name":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
"birthdate":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
"photo":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
},
|
|
"gboAgeProfile":
|
|
{
|
|
"gboAgeProfileId": 1,
|
|
"name": "Kind (4 t/m 11 jaar)",
|
|
"ageFromInclusive": 4,
|
|
"ageToInclusive": 11,
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"orderAccountingStatuses": [],
|
|
"validationResult": "preliminary",
|
|
"validations":
|
|
[
|
|
{
|
|
"code": "PRODUCT_CHOICE_REQUIRED",
|
|
"detail": "The chosen product is not a leaf node product. Please choose one of its child products.",
|
|
"path": "$.orders[?(@.orderId=='1e441d7d-50d6-4006-aca7-5e87e2f218df')].orderLines[?(@.orderLineId=='cccada2c-d5ea-48ab-b4be-f590e16b5468')].productId",
|
|
"parameter": null,
|
|
"type": "REMARK",
|
|
},
|
|
],
|
|
},
|
|
],
|
|
"payments": [],
|
|
"orderCustomer": null,
|
|
}
|
|
Create order line with minimum requirements:
|
|
summary: Create order line with minimum requirements
|
|
description: AddRemark for case where chosen product requires personal account data birthdate
|
|
value:
|
|
{
|
|
"validContents": false,
|
|
"orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df",
|
|
"externalOrderId": null,
|
|
"orderNumber": "ORD-123456",
|
|
"customerProfileId": 1337,
|
|
"totalAmount": 121,
|
|
"touchPoint":
|
|
{
|
|
"salesTouchpointId": 3,
|
|
"name": "Website (Perplex)",
|
|
"isActive": true,
|
|
"retailerId": 1001,
|
|
},
|
|
"language":
|
|
{
|
|
"languageId": 1,
|
|
"name": "Nederlands",
|
|
"iso639Code": "nl-NL",
|
|
"ietfCode": "nl",
|
|
},
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"lastUpdatedOn": "2024-03-22T09:00:00",
|
|
"order_OrderStatuses":
|
|
[
|
|
{
|
|
"order_orderStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f",
|
|
"orderStatus":
|
|
{ "orderStatusId": 1, "name": "concept" },
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"description": "Order is aangemaakt",
|
|
},
|
|
],
|
|
"orderLines":
|
|
[
|
|
{
|
|
"orderLineId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
"externalOrderLineId": null,
|
|
"productId": 1,
|
|
"productName": "HTM Maandkorting 20%",
|
|
"fikoArticleNumber": "6609",
|
|
"productDescription": "HTM Maandkorting 20%",
|
|
"taxCode": "V21",
|
|
"taxPercentage": 21.0000,
|
|
"taxAmount": null,
|
|
"amountExclTax": null,
|
|
"amountInclTax": 121,
|
|
"quantity": 1,
|
|
"orderLineTerms":
|
|
[
|
|
{
|
|
"orderLineTermsId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
"termsUrl": "generalTermsAndConditions.pdf",
|
|
},
|
|
{
|
|
"orderLineTermsId": "bd76f723-9308-4629-a291-4c4fafd7ed87",
|
|
"termsUrl": "productTermsAndConditions.pdf",
|
|
},
|
|
],
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"validFrom": "2024-03-22T09:00:00",
|
|
"validUntil": null,
|
|
"orderLineStatus":
|
|
{ "orderLineStatusId": 1, "name": "pending" },
|
|
"customerTokens":
|
|
[
|
|
{
|
|
"customerTokenId": "878ad7c1-cd8f-4bcf-a983-1bd8c6e6975e",
|
|
"tokenType":
|
|
{ "tokenTypeId": 1, "name": "EMV" },
|
|
"ovPayTokenId": 12,
|
|
"serviceReferenceId": null,
|
|
"amount": null,
|
|
"ovpasNumber": null,
|
|
"verificationCode": null,
|
|
"personalAccountData": null,
|
|
"ovPayToken":
|
|
{
|
|
"customerProfileId": 1,
|
|
"ovPayTokenId": 4,
|
|
"xTat": "32089cc8-d187-47ff-a3a9-5c2558def811",
|
|
"tokenType":
|
|
{
|
|
"tokenTypeId": 2,
|
|
"name": "OV-pas physical",
|
|
},
|
|
"alias": "MyToken",
|
|
"tokenStatus":
|
|
{
|
|
"tokenStatusId": 2,
|
|
"name": "Active",
|
|
},
|
|
"expirationDate": "2028-02-01",
|
|
"replacedByTokenId": null,
|
|
"autoReloadRegistration":
|
|
{
|
|
"autoReloadAmount": 500,
|
|
"retailerReferenceId": "abc",
|
|
"arrit": "425f7fc2-1103-4822-9c79-7c4aaa2fb6aa",
|
|
"autoReloadRegistrationStatus": "ACTIVE",
|
|
"autoReloadRegistrationStartDateTime": "2024-06-02T15:03:46Z",
|
|
},
|
|
"ePurse":
|
|
{
|
|
"e-PurseBalance":
|
|
{
|
|
"currency": "EUR",
|
|
"amount": 350,
|
|
},
|
|
"status": "ACTIVE",
|
|
"originDate": "2019-07-16T11:00:00+02:00",
|
|
},
|
|
"personalAccountData":
|
|
{
|
|
"name":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
"birthdate":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
"photo":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
},
|
|
"gboAgeProfile":
|
|
{
|
|
"gboAgeProfileId": 1,
|
|
"name": "Kind (4 t/m 11 jaar)",
|
|
"ageFromInclusive": 4,
|
|
"ageToInclusive": 11,
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"orderAccountingStatuses": [],
|
|
"validationResult": "preliminary",
|
|
"validations":
|
|
[
|
|
{
|
|
"code": "PERSONALACCOUNTDATA_BIRTHDATE_REQUIRED",
|
|
"detail": "Personal account data birthdate is required for this product.",
|
|
"path": "$.orders[?(@.orderId=='1e441d7d-50d6-4006-aca7-5e87e2f218df')].orderLines[?(@.orderLineId=='cccada2c-d5ea-48ab-b4be-f590e16b5468')].customerTokens[0].personalAccountData.birthdate",
|
|
"parameter": null,
|
|
"type": "REMARK",
|
|
},
|
|
{
|
|
"code": "TOKEN_REQUIRED",
|
|
"detail": "A valid customer token is required before purchasing this product.",
|
|
"path": null,
|
|
"parameter": "customerToken",
|
|
"type": "REMARK",
|
|
},
|
|
{
|
|
"code": "VALIDFROM_REQUIRED",
|
|
"detail": "A valid 'valid from' date is required for this product.",
|
|
"path": "$.orders[?(@.orderId=='1e441d7d-50d6-4006-aca7-5e87e2f218df')].orderLines[?(@.orderLineId=='cccada2c-d5ea-48ab-b4be-f590e16b5468')].validFrom",
|
|
"parameter": null,
|
|
"type": "REMARK",
|
|
},
|
|
],
|
|
},
|
|
],
|
|
"payments": [],
|
|
"orderCustomer": null,
|
|
}
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
example:
|
|
{
|
|
"type": "https://htm.nl/api/v1/probs/400/badrequest",
|
|
"title": "Your request is not valid.",
|
|
"detail": "One or more required attributes are missing or invalid.",
|
|
"instance": "urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b",
|
|
"errors":
|
|
[
|
|
{
|
|
"code": "REQUIRED_ATTRIBUTE_MISSING",
|
|
"detail": "One ore more required attributes are missing.",
|
|
"pointer": "$.orderLines[0].productId",
|
|
"parameter": null,
|
|
},
|
|
],
|
|
}
|
|
/orderlines/{orderLineId}:
|
|
parameters:
|
|
- in: path
|
|
name: orderLineId
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
example: a0ef57fa-395c-4a03-96e9-234c26dccea9
|
|
- in: header
|
|
name: X-HTM-JWT-AUTH-HEADER
|
|
schema:
|
|
type: string
|
|
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
|
|
description: The JWT of the logged in customer (in case of a web shop).
|
|
patch:
|
|
tags:
|
|
- Order Creation Flow
|
|
summary: Update an existing order line.
|
|
description: Update an existing order line.
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
examples:
|
|
Update order line:
|
|
summary: Update order line
|
|
description: Update order line
|
|
value:
|
|
{
|
|
"productId": 21,
|
|
"quantity": 1,
|
|
"validFrom": "2024-03-25T09:00:00",
|
|
"validUntil": null,
|
|
}
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
examples:
|
|
Order with updated order line:
|
|
value:
|
|
{
|
|
"validContents": false,
|
|
"orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df",
|
|
"externalOrderId": null,
|
|
"orderNumber": "ORD-123456",
|
|
"customerProfileId": 1337,
|
|
"totalAmount": 121,
|
|
"touchPoint":
|
|
{
|
|
"salesTouchpointId": 3,
|
|
"name": "Website (Perplex)",
|
|
"isActive": true,
|
|
"retailerId": 1001,
|
|
},
|
|
"language":
|
|
{
|
|
"languageId": 1,
|
|
"name": "Nederlands",
|
|
"iso639Code": "nl-NL",
|
|
"ietfCode": "nl",
|
|
},
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"lastUpdatedOn": "2024-03-22T09:00:00",
|
|
"order_OrderStatuses":
|
|
[
|
|
{
|
|
"order_orderStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f",
|
|
"orderStatus":
|
|
{ "orderStatusId": 1, "name": "concept" },
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"description": "Order is aangemaakt",
|
|
},
|
|
],
|
|
"orderLines":
|
|
[
|
|
{
|
|
"orderLineId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
"externalOrderLineId": null,
|
|
"productId": 21,
|
|
"productName": "HTM Regio Vrij - HL65 - Voltarief",
|
|
"fikoArticleNumber": "6609",
|
|
"productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in gebied HL65",
|
|
"taxCode": "V09",
|
|
"taxPercentage": 9.0000,
|
|
"taxAmount": null,
|
|
"amountExclTax": null,
|
|
"amountInclTax": 5900,
|
|
"quantity": 1,
|
|
"orderLineTerms":
|
|
[
|
|
{
|
|
"orderLineTermsId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
"termsUrl": "generalTermsAndConditions.pdf",
|
|
},
|
|
{
|
|
"orderLineTermsId": "bd76f723-9308-4629-a291-4c4fafd7ed87",
|
|
"termsUrl": "productTermsAndConditions.pdf",
|
|
},
|
|
{
|
|
"orderLineTermsId": "cac42e50-b1d3-4745-9a5d-a793bd27aad1",
|
|
"termsUrl": "RegiovrijTermsAndConditions.pdf",
|
|
},
|
|
],
|
|
"createdOn": "2025-05-22T09:00:00",
|
|
"validFrom": "2025-05-25T04:00:00",
|
|
"validUntil": "2025-06-25T04:00:00",
|
|
"orderLineStatus":
|
|
{ "orderLineStatusId": 1, "name": "pending" },
|
|
"customerTokens": [],
|
|
"orderAccountingStatuses": [],
|
|
"validationResult": "preliminary",
|
|
"validations":
|
|
[
|
|
{
|
|
"code": "MANDATE_REQUIRED",
|
|
"detail": "A valid mandate is required before purchasing this product.",
|
|
"path": null,
|
|
"parameter": "directDebitMandateId",
|
|
"type": "REMARK",
|
|
},
|
|
{
|
|
"code": "CUSTOMERTOKEN_REQUIRED",
|
|
"detail": "A valid customer token is required before purchasing this product.",
|
|
"path": null,
|
|
"parameter": "customerTokenId",
|
|
"type": "REMARK",
|
|
},
|
|
],
|
|
},
|
|
],
|
|
"payments": [],
|
|
"orderCustomer": null,
|
|
}
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
example:
|
|
{
|
|
"type": "https://htm.nl/api/v1/probs/400/badrequest",
|
|
"title": "Your request is not valid.",
|
|
"detail": "One or more required attributes are missing or invalid.",
|
|
"instance": "urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b",
|
|
"errors":
|
|
[
|
|
{
|
|
"code": "REQUIRED_ATTRIBUTE_MISSING",
|
|
"detail": "One ore more required attributes are missing.",
|
|
"pointer": "$.orderLines[0].productId",
|
|
"parameter": null,
|
|
},
|
|
],
|
|
}
|
|
delete:
|
|
tags:
|
|
- Order Creation Flow
|
|
summary: Delete an existing order line.
|
|
description: Delete an existing order line.
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
examples:
|
|
Order with removed order line:
|
|
value:
|
|
{
|
|
"validContents": true,
|
|
"orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df",
|
|
"externalOrderId": null,
|
|
"orderNumber": "ORD-123456",
|
|
"customerProfileId": 1337,
|
|
"totalAmount": 0,
|
|
"touchPoint":
|
|
{
|
|
"salesTouchpointId": 3,
|
|
"name": "Website (Perplex)",
|
|
"isActive": true,
|
|
"retailerId": 1001,
|
|
},
|
|
"language":
|
|
{
|
|
"languageId": 1,
|
|
"name": "Nederlands",
|
|
"iso639Code": "nl-NL",
|
|
"ietfCode": "nl",
|
|
},
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"lastUpdatedOn": "2024-03-22T09:00:00",
|
|
"order_OrderStatuses":
|
|
[
|
|
{
|
|
"order_orderStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f",
|
|
"orderStatus":
|
|
{ "orderStatusId": 1, "name": "concept" },
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"description": "Order is aangemaakt",
|
|
},
|
|
],
|
|
"orderLines": [],
|
|
"payments": [],
|
|
"orderCustomer": null,
|
|
}
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
example:
|
|
{
|
|
"type": "https://htm.nl/api/v1/probs/400/badrequest",
|
|
"title": "Your request is not valid.",
|
|
"detail": "One or more required attributes are missing or invalid.",
|
|
"instance": "urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b",
|
|
"errors":
|
|
[
|
|
{
|
|
"code": "REQUIRED_ATTRIBUTE_MISSING",
|
|
"detail": "One ore more required attributes are missing.",
|
|
"pointer": "$.orderLines[0].productId",
|
|
"parameter": null,
|
|
},
|
|
],
|
|
}
|
|
/orderlines/{orderLineId}/customertokens:
|
|
parameters:
|
|
- in: path
|
|
name: orderLineId
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
example: a0ef57fa-395c-4a03-96e9-234c26dccea9
|
|
- in: header
|
|
name: X-HTM-JWT-AUTH-HEADER
|
|
schema:
|
|
type: string
|
|
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
|
|
description: The JWT of the logged in customer (in case of a web shop).
|
|
post:
|
|
tags:
|
|
- Order Creation Flow
|
|
summary: Add a customer token to an orderLine.
|
|
description: Add a customer token to an orderLine.
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
examples:
|
|
Add an existing customer token to an order line:
|
|
summary: Add an existing customer token to an order line
|
|
description: Add an existing customer token to an order line
|
|
value: { "tokenTypeId": 1, "ovPayTokenId": 12 }
|
|
Add a new customer token (EMV) to an order line:
|
|
summary: Add a new customer token (EMV) to an order line
|
|
description: Add a new customer token (EMV) to an order line
|
|
value:
|
|
{
|
|
"tokenTypeId": 1,
|
|
"serviceReferenceId": "NLOV485456456445",
|
|
"amount": 100,
|
|
}
|
|
Add a new customer token (OVpas) to an order line:
|
|
summary: Add a new customer token (OVpas) to an order line
|
|
description: Add a new customer token (OVpas) to an order line
|
|
value:
|
|
{
|
|
"tokenTypeId": 2,
|
|
"ovpasNumber": "OV34567",
|
|
"verificationCode": "A7H6",
|
|
}
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
examples:
|
|
Order with updated order line:
|
|
value:
|
|
{
|
|
"validContents": false,
|
|
"orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df",
|
|
"externalOrderId": null,
|
|
"orderNumber": "ORD-123456",
|
|
"customerProfileId": 1337,
|
|
"totalAmount": 121,
|
|
"touchPoint":
|
|
{
|
|
"salesTouchpointId": 3,
|
|
"name": "Website (Perplex)",
|
|
"isActive": true,
|
|
"retailerId": 1001,
|
|
},
|
|
"language":
|
|
{
|
|
"languageId": 1,
|
|
"name": "Nederlands",
|
|
"iso639Code": "nl-NL",
|
|
"ietfCode": "nl",
|
|
},
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"lastUpdatedOn": "2024-03-22T09:00:00",
|
|
"order_OrderStatuses":
|
|
[
|
|
{
|
|
"order_orderStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f",
|
|
"orderStatus":
|
|
{ "orderStatusId": 1, "name": "concept" },
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"description": "Order is aangemaakt",
|
|
},
|
|
],
|
|
"orderLines":
|
|
[
|
|
{
|
|
"orderLineId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
"externalOrderLineId": null,
|
|
"productId": 1,
|
|
"productName": "HTM Maandkorting 20%",
|
|
"fikoArticleNumber": "6609",
|
|
"productDescription": "HTM Maandkorting 20%",
|
|
"taxCode": "V21",
|
|
"taxPercentage": 21.0000,
|
|
"taxAmount": null,
|
|
"amountExclTax": null,
|
|
"amountInclTax": 121,
|
|
"quantity": 1,
|
|
"orderLineTerms":
|
|
[
|
|
{
|
|
"orderLineTermsId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
"termsUrl": "generalTermsAndConditions.pdf",
|
|
},
|
|
{
|
|
"orderLineTermsId": "bd76f723-9308-4629-a291-4c4fafd7ed87",
|
|
"termsUrl": "productTermsAndConditions.pdf",
|
|
},
|
|
],
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"validFrom": "2024-03-22T09:00:00",
|
|
"validUntil": null,
|
|
"orderLineStatus":
|
|
{ "orderLineStatusId": 1, "name": "pending" },
|
|
"customerTokens":
|
|
[
|
|
{
|
|
"customerTokenId": "878ad7c1-cd8f-4bcf-a983-1bd8c6e6975e",
|
|
"tokenType":
|
|
{ "tokenTypeId": 1, "name": "EMV" },
|
|
"ovPayTokenId": 12,
|
|
"serviceReferenceId": null,
|
|
"amount": null,
|
|
"ovpasNumber": null,
|
|
"verificationCode": null,
|
|
"personalAccountData": null,
|
|
"ovPayToken":
|
|
{
|
|
"customerProfileId": 1,
|
|
"ovPayTokenId": 1,
|
|
"xTat": "32089cc8-d187-47ff-a3a9-5c2558def811",
|
|
"tokenType":
|
|
{
|
|
"tokenTypeId": 2,
|
|
"name": "OV-pas physical",
|
|
},
|
|
"alias": "MyToken",
|
|
"tokenStatus":
|
|
{
|
|
"tokenStatusId": 2,
|
|
"name": "Active",
|
|
},
|
|
"expirationDate": "2028-02-01",
|
|
"replacedByTokenId": null,
|
|
"autoReloadRegistration":
|
|
{
|
|
"autoReloadAmount": 500,
|
|
"retailerReferenceId": "abc",
|
|
"arrit": "425f7fc2-1103-4822-9c79-7c4aaa2fb6aa",
|
|
"autoReloadRegistrationStatus": "ACTIVE",
|
|
"autoReloadRegistrationStartDateTime": "2024-06-02T15:03:46Z",
|
|
},
|
|
"ePurse":
|
|
{
|
|
"e-PurseBalance":
|
|
{
|
|
"currency": "EUR",
|
|
"amount": 350,
|
|
},
|
|
"status": "ACTIVE",
|
|
"originDate": "2019-07-16T11:00:00+02:00",
|
|
},
|
|
"personalAccountData":
|
|
{
|
|
"name":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
"birthdate":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
"photo":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
},
|
|
"gboAgeProfile":
|
|
{
|
|
"gboAgeProfileId": 1,
|
|
"name": "Kind (4 t/m 11 jaar)",
|
|
"ageFromInclusive": 4,
|
|
"ageToInclusive": 11,
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"orderAccountingStatuses": [],
|
|
"validationResult": "preliminary",
|
|
"validations":
|
|
[
|
|
{
|
|
"code": "PERSONALACCOUNTDATA_BIRTHDATE_REQUIRED",
|
|
"detail": "Personal account data birthdate is required for this product.",
|
|
"path": "$.orders[?(@.orderId=='1e441d7d-50d6-4006-aca7-5e87e2f218df')].orderLines[?(@.orderLineId=='cccada2c-d5ea-48ab-b4be-f590e16b5468')].customerTokens[0].personalAccountData.birthdate",
|
|
"parameter": null,
|
|
"type": "REMARK",
|
|
},
|
|
],
|
|
},
|
|
],
|
|
"payments": [],
|
|
"orderCustomer": null,
|
|
}
|
|
/customertokens/{customerTokenId}:
|
|
parameters:
|
|
- in: path
|
|
name: customerTokenId
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
example: a0ef57fa-395c-4a03-96e9-234c26dccea9
|
|
- in: header
|
|
name: X-HTM-JWT-AUTH-HEADER
|
|
schema:
|
|
type: string
|
|
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
|
|
description: The JWT of the logged in customer (in case of a web shop).
|
|
patch:
|
|
tags:
|
|
- Order Creation Flow
|
|
summary: Update a customer token.
|
|
description: Update a customer token.
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
examples:
|
|
Update a customer token:
|
|
summary: Update a customer token
|
|
description: Update a customer token
|
|
value:
|
|
{
|
|
"tokenTypeId": 1,
|
|
"ovPayTokenId": null,
|
|
"serviceReferenceId": "NLOV1234567ABCDEFG",
|
|
"amount": 34,
|
|
}
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
examples:
|
|
Order with updated customer token:
|
|
value:
|
|
{
|
|
"validContents": true,
|
|
"orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df",
|
|
"externalOrderId": null,
|
|
"orderNumber": "ORD-123456",
|
|
"customerProfileId": 1337,
|
|
"totalAmount": 121,
|
|
"touchPoint":
|
|
{
|
|
"salesTouchpointId": 3,
|
|
"name": "Website (Perplex)",
|
|
"isActive": true,
|
|
"retailerId": 1001,
|
|
},
|
|
"language":
|
|
{
|
|
"languageId": 1,
|
|
"name": "Nederlands",
|
|
"iso639Code": "nl-NL",
|
|
"ietfCode": "nl",
|
|
},
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"lastUpdatedOn": "2024-03-22T09:00:00",
|
|
"order_OrderStatuses":
|
|
[
|
|
{
|
|
"order_orderStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f",
|
|
"orderStatus":
|
|
{ "orderStatusId": 1, "name": "concept" },
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"description": "Order is aangemaakt",
|
|
},
|
|
],
|
|
"orderLines":
|
|
[
|
|
{
|
|
"orderLineId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
"externalOrderLineId": null,
|
|
"productId": 1,
|
|
"productName": "HTM Maandkorting 20%",
|
|
"fikoArticleNumber": "6609",
|
|
"productDescription": "HTM Maandkorting 20%",
|
|
"taxCode": "V21",
|
|
"taxPercentage": 21.0000,
|
|
"taxAmount": null,
|
|
"amountExclTax": null,
|
|
"amountInclTax": 121,
|
|
"quantity": 1,
|
|
"orderLineTerms":
|
|
[
|
|
{
|
|
"orderLineTermsId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
"termsUrl": "generalTermsAndConditions.pdf",
|
|
},
|
|
{
|
|
"orderLineTermsId": "bd76f723-9308-4629-a291-4c4fafd7ed87",
|
|
"termsUrl": "productTermsAndConditions.pdf",
|
|
},
|
|
],
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"validFrom": "2024-03-22T09:00:00",
|
|
"validUntil": null,
|
|
"orderLineStatus":
|
|
{ "orderLineStatusId": 1, "name": "pending" },
|
|
"customerTokens":
|
|
[
|
|
{
|
|
"customerTokenId": "a0ef57fa-395c-4a03-96e9-234c26dccea9",
|
|
"tokenTypeId": 1,
|
|
"ovPayTokenId": null,
|
|
"serviceReferenceId": "NLOV1234567ABCDEFG",
|
|
"amount": 34,
|
|
"personalAccountData": null,
|
|
"ovPayToken":
|
|
{
|
|
"customerProfileId": 1,
|
|
"ovPayTokenId": 1,
|
|
"xTat": "32089cc8-d187-47ff-a3a9-5c2558def811",
|
|
"tokenType":
|
|
{
|
|
"tokenTypeId": 2,
|
|
"name": "OV-pas physical",
|
|
},
|
|
"alias": "MyToken",
|
|
"tokenStatus":
|
|
{
|
|
"tokenStatusId": 2,
|
|
"name": "Active",
|
|
},
|
|
"expirationDate": "2028-02-01",
|
|
"replacedByTokenId": null,
|
|
"autoReloadRegistration":
|
|
{
|
|
"autoReloadAmount": 500,
|
|
"retailerReferenceId": "abc",
|
|
"arrit": "425f7fc2-1103-4822-9c79-7c4aaa2fb6aa",
|
|
"autoReloadRegistrationStatus": "ACTIVE",
|
|
"autoReloadRegistrationStartDateTime": "2024-06-02T15:03:46Z",
|
|
},
|
|
"ePurse":
|
|
{
|
|
"e-PurseBalance":
|
|
{
|
|
"currency": "EUR",
|
|
"amount": 350,
|
|
},
|
|
"status": "ACTIVE",
|
|
"originDate": "2019-07-16T11:00:00+02:00",
|
|
},
|
|
"personalAccountData":
|
|
{
|
|
"name":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
"birthdate":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
"photo":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
},
|
|
"gboAgeProfile":
|
|
{
|
|
"gboAgeProfileId": 1,
|
|
"name": "Kind (4 t/m 11 jaar)",
|
|
"ageFromInclusive": 4,
|
|
"ageToInclusive": 11,
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"orderAccountingStatuses": [],
|
|
"validationResult": "valid",
|
|
"validations": [],
|
|
},
|
|
],
|
|
"payments": [],
|
|
"orderCustomer": null,
|
|
}
|
|
delete:
|
|
tags:
|
|
- Order Creation Flow
|
|
summary: Delete a customer token from an orderline.
|
|
description: Delete a customer token from an orderline.
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
examples:
|
|
Order with deleted customer token:
|
|
value:
|
|
{
|
|
"validContents": false,
|
|
"orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df",
|
|
"externalOrderId": null,
|
|
"orderNumber": "ORD-123456",
|
|
"customerProfileId": 1337,
|
|
"totalAmount": 121,
|
|
"touchPoint":
|
|
{
|
|
"salesTouchpointId": 3,
|
|
"name": "Website (Perplex)",
|
|
"isActive": true,
|
|
"retailerId": 1001,
|
|
},
|
|
"language":
|
|
{
|
|
"languageId": 1,
|
|
"name": "Nederlands",
|
|
"iso639Code": "nl-NL",
|
|
"ietfCode": "nl",
|
|
},
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"lastUpdatedOn": "2024-03-22T09:00:00",
|
|
"order_OrderStatuses":
|
|
[
|
|
{
|
|
"order_orderStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f",
|
|
"orderStatus":
|
|
{ "orderStatusId": 1, "name": "concept" },
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"description": "Order is aangemaakt",
|
|
},
|
|
],
|
|
"orderLines":
|
|
[
|
|
{
|
|
"orderLineId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
"externalOrderLineId": null,
|
|
"productId": 1,
|
|
"productName": "HTM Maandkorting 20%",
|
|
"fikoArticleNumber": "6609",
|
|
"productDescription": "HTM Maandkorting 20%",
|
|
"taxCode": "V21",
|
|
"taxPercentage": 21.0000,
|
|
"taxAmount": null,
|
|
"amountExclTax": null,
|
|
"amountInclTax": 121,
|
|
"quantity": 1,
|
|
"orderLineTerms":
|
|
[
|
|
{
|
|
"orderLineTermsId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
"termsUrl": "generalTermsAndConditions.pdf",
|
|
},
|
|
{
|
|
"orderLineTermsId": "bd76f723-9308-4629-a291-4c4fafd7ed87",
|
|
"termsUrl": "productTermsAndConditions.pdf",
|
|
},
|
|
],
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"validFrom": "2024-03-22T09:00:00",
|
|
"validUntil": null,
|
|
"orderLineStatus":
|
|
{ "orderLineStatusId": 1, "name": "pending" },
|
|
"customerTokens": [],
|
|
"orderAccountingStatuses": [],
|
|
"validationResult": "preliminary",
|
|
"validations":
|
|
[
|
|
{
|
|
"code": "CUSTOMERTOKEN_REQUIRED",
|
|
"detail": "A valid customer token is required before purchasing this product.",
|
|
"path": null,
|
|
"parameter": "customerTokenId",
|
|
"type": "REMARK",
|
|
},
|
|
],
|
|
},
|
|
],
|
|
"payments": [],
|
|
"orderCustomer": null,
|
|
}
|
|
/customertokens/{customerTokenId}/personalaccountdata:
|
|
parameters:
|
|
- in: path
|
|
name: customerTokenId
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
example: a0ef57fa-395c-4a03-96e9-234c26dccea9
|
|
- in: header
|
|
name: X-HTM-JWT-AUTH-HEADER
|
|
schema:
|
|
type: string
|
|
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
|
|
description: The JWT of the logged in customer (in case of a web shop).
|
|
post:
|
|
tags:
|
|
- Order Creation Flow
|
|
summary: Add personal account data to a customer token.
|
|
description: Add personal account data to a customer token.
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
examples:
|
|
Add personal account data to a customer token:
|
|
summary: Add personal account data to a customer token
|
|
description: Add personal account data to a customer token
|
|
value:
|
|
{
|
|
"name": "Jan de Vries",
|
|
"birthdate": "1970-01-01",
|
|
"photo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAWJLR0Q+SWQA4wAAAAd0SU1FB+YCBAwmK58TFQgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDItMDRUMTI6Mzg6NDMrMDA6MDBAjYOrAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTAyLTA0VDEyOjM4OjQzKzAwOjAwMdA7FwAAAFd6VFh0UmF3IHByb2ZpbGUgdHlwZSBpcHRjAAB4nOPyDAhxVigoyk/LzEnlUgADIwsuYwsTIxNLkxQDEyBEgDTDZAMjs1Qgy9jUyMTMxBzEB8uASKBKLgDqFxF08kI1lQAAAYdpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+DQo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPjx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KPD94cGFja2V0IGVuZD0ndyc/PiyUmAsAAAANSURBVBhXY3grk/YfAAXYAm/HQierAAAAAElFTkSuQmCC",
|
|
"challengeTypeId": 1,
|
|
"oneTimePassword": "H5Iiz3JTaQeIV8p",
|
|
}
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
examples:
|
|
Order with added personal account data to customer token:
|
|
value:
|
|
{
|
|
"validContents": true,
|
|
"orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df",
|
|
"externalOrderId": null,
|
|
"orderNumber": "ORD-123456",
|
|
"customerProfileId": 1337,
|
|
"totalAmount": 121,
|
|
"touchPoint":
|
|
{
|
|
"salesTouchpointId": 3,
|
|
"name": "Website (Perplex)",
|
|
"isActive": true,
|
|
"retailerId": 1001,
|
|
},
|
|
"language":
|
|
{
|
|
"languageId": 1,
|
|
"name": "Nederlands",
|
|
"iso639Code": "nl-NL",
|
|
"ietfCode": "nl",
|
|
},
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"lastUpdatedOn": "2024-03-22T09:00:00",
|
|
"order_OrderStatuses":
|
|
[
|
|
{
|
|
"order_orderStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f",
|
|
"orderStatus":
|
|
{ "orderStatusId": 1, "name": "concept" },
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"description": "Order is aangemaakt",
|
|
},
|
|
],
|
|
"orderLines":
|
|
[
|
|
{
|
|
"orderLineId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
"externalOrderLineId": null,
|
|
"productId": 1,
|
|
"productName": "HTM Maandkorting 20%",
|
|
"fikoArticleNumber": "6609",
|
|
"productDescription": "HTM Maandkorting 20%",
|
|
"taxCode": "V21",
|
|
"taxPercentage": 21.0000,
|
|
"taxAmount": null,
|
|
"amountExclTax": null,
|
|
"amountInclTax": 121,
|
|
"quantity": 1,
|
|
"orderLineTerms":
|
|
[
|
|
{
|
|
"orderLineTermsId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
"termsUrl": "generalTermsAndConditions.pdf",
|
|
},
|
|
{
|
|
"orderLineTermsId": "bd76f723-9308-4629-a291-4c4fafd7ed87",
|
|
"termsUrl": "productTermsAndConditions.pdf",
|
|
},
|
|
],
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"validFrom": "2024-03-22T09:00:00",
|
|
"validUntil": null,
|
|
"orderLineStatus":
|
|
{ "orderLineStatusId": 1, "name": "pending" },
|
|
"customerTokens":
|
|
[
|
|
{
|
|
"customerTokenId": "878ad7c1-cd8f-4bcf-a983-1bd8c6e6975e",
|
|
"tokenType":
|
|
{ "tokenTypeId": 1, "name": "EMV" },
|
|
"ovPayTokenId": 12,
|
|
"serviceReferenceId": null,
|
|
"amount": null,
|
|
"ovpasNumber": null,
|
|
"verificationCode": null,
|
|
"personalAccountData":
|
|
{
|
|
"personalAccountDataId": "d9021fdd-6e83-45c0-9aef-71680f0b4e74",
|
|
"name": "Jan de Vries",
|
|
"birthdate": "1970-01-01",
|
|
"photo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAWJLR0Q+SWQA4wAAAAd0SU1FB+YCBAwmK58TFQgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDItMDRUMTI6Mzg6NDMrMDA6MDBAjYOrAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTAyLTA0VDEyOjM4OjQzKzAwOjAwMdA7FwAAAFd6VFh0UmF3IHByb2ZpbGUgdHlwZSBpcHRjAAB4nOPyDAhxVigoyk/LzEnlUgADIwsuYwsTIxNLkxQDEyBEgDTDZAMjs1Qgy9jUyMTMxBzEB8uASKBKLgDqFxF08kI1lQAAAYdpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+DQo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPjx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KPD94cGFja2V0IGVuZD0ndyc/PiyUmAsAAAANSURBVBhXY3grk/YfAAXYAm/HQierAAAAAElFTkSuQmCC",
|
|
"challengeTypeId": 1,
|
|
"oneTimePassword": "H5Iiz3JTaQeIV8p",
|
|
},
|
|
"ovPayToken":
|
|
{
|
|
"customerProfileId": 1,
|
|
"ovPayTokenId": 12,
|
|
"xTat": "32089cc8-d187-47ff-a3a9-5c2558def811",
|
|
"tokenType":
|
|
{
|
|
"tokenTypeId": 2,
|
|
"name": "OV-pas physical",
|
|
},
|
|
"alias": "MyToken",
|
|
"tokenStatus":
|
|
{
|
|
"tokenStatusId": 2,
|
|
"name": "Active",
|
|
},
|
|
"expirationDate": "2028-02-01",
|
|
"replacedByTokenId": null,
|
|
"autoReloadRegistration":
|
|
{
|
|
"autoReloadAmount": 500,
|
|
"retailerReferenceId": "abc",
|
|
"arrit": "425f7fc2-1103-4822-9c79-7c4aaa2fb6aa",
|
|
"autoReloadRegistrationStatus": "ACTIVE",
|
|
"autoReloadRegistrationStartDateTime": "2024-06-02T15:03:46Z",
|
|
},
|
|
"ePurse":
|
|
{
|
|
"e-PurseBalance":
|
|
{
|
|
"currency": "EUR",
|
|
"amount": 350,
|
|
},
|
|
"status": "ACTIVE",
|
|
"originDate": "2019-07-16T11:00:00+02:00",
|
|
},
|
|
"personalAccountData":
|
|
{
|
|
"name":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
"birthdate":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
"photo":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
},
|
|
"gboAgeProfile":
|
|
{
|
|
"gboAgeProfileId": 1,
|
|
"name": "Kind (4 t/m 11 jaar)",
|
|
"ageFromInclusive": 4,
|
|
"ageToInclusive": 11,
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"orderAccountingStatuses": [],
|
|
"validationResult": "valid",
|
|
"validations": [],
|
|
},
|
|
],
|
|
"payments": [],
|
|
"orderCustomer": null,
|
|
}
|
|
/personalaccountdata/{personalAccountDataId}:
|
|
parameters:
|
|
- in: path
|
|
name: personalAccountDataId
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
example: d9021fdd-6e83-45c0-9aef-71680f0b4e74
|
|
- in: header
|
|
name: X-HTM-JWT-AUTH-HEADER
|
|
schema:
|
|
type: string
|
|
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
|
|
description: The JWT of the logged in customer (in case of a web shop).
|
|
patch:
|
|
tags:
|
|
- Order Creation Flow
|
|
summary: Update personal account data.
|
|
description: Update personal account data.
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
examples:
|
|
Update personal account data:
|
|
summary: Update personal account data
|
|
description: Update personal account data
|
|
value: { "birthdate": "2010-01-01" }
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
examples:
|
|
Order with updated personal account data:
|
|
value:
|
|
{
|
|
"validContents": false,
|
|
"orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df",
|
|
"externalOrderId": null,
|
|
"orderNumber": "ORD-123456",
|
|
"customerProfileId": 1337,
|
|
"totalAmount": 121,
|
|
"touchPoint":
|
|
{
|
|
"salesTouchpointId": 3,
|
|
"name": "Website (Perplex)",
|
|
"isActive": true,
|
|
"retailerId": 1001,
|
|
},
|
|
"language":
|
|
{
|
|
"languageId": 1,
|
|
"name": "Nederlands",
|
|
"iso639Code": "nl-NL",
|
|
"ietfCode": "nl",
|
|
},
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"lastUpdatedOn": "2024-03-22T09:00:00",
|
|
"order_OrderStatuses":
|
|
[
|
|
{
|
|
"order_orderStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f",
|
|
"orderStatus":
|
|
{ "orderStatusId": 1, "name": "concept" },
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"description": "Order is aangemaakt",
|
|
},
|
|
],
|
|
"orderLines":
|
|
[
|
|
{
|
|
"orderLineId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
"externalOrderLineId": null,
|
|
"productId": 1,
|
|
"productName": "HTM Maandkorting 20%",
|
|
"fikoArticleNumber": "6609",
|
|
"productDescription": "HTM Maandkorting 20%",
|
|
"taxCode": "V21",
|
|
"taxPercentage": 21.0000,
|
|
"taxAmount": null,
|
|
"amountExclTax": null,
|
|
"amountInclTax": 121,
|
|
"quantity": 1,
|
|
"orderLineTerms":
|
|
[
|
|
{
|
|
"orderLineTermsId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
"termsUrl": "generalTermsAndConditions.pdf",
|
|
},
|
|
{
|
|
"orderLineTermsId": "bd76f723-9308-4629-a291-4c4fafd7ed87",
|
|
"termsUrl": "productTermsAndConditions.pdf",
|
|
},
|
|
],
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"validFrom": "2024-03-22T09:00:00",
|
|
"validUntil": null,
|
|
"orderLineStatus":
|
|
{ "orderLineStatusId": 1, "name": "pending" },
|
|
"customerTokens":
|
|
[
|
|
{
|
|
"customerTokenId": "878ad7c1-cd8f-4bcf-a983-1bd8c6e6975e",
|
|
"tokenType":
|
|
{ "tokenTypeId": 1, "name": "EMV" },
|
|
"ovPayTokenId": 12,
|
|
"serviceReferenceId": null,
|
|
"amount": null,
|
|
"ovpasNumber": null,
|
|
"verificationCode": null,
|
|
"personalAccountData":
|
|
{
|
|
"personalAccountDataId": "d9021fdd-6e83-45c0-9aef-71680f0b4e74",
|
|
"name": "Jan de Vries",
|
|
"birthdate": "2010-01-01",
|
|
"photo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAWJLR0Q+SWQA4wAAAAd0SU1FB+YCBAwmK58TFQgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDItMDRUMTI6Mzg6NDMrMDA6MDBAjYOrAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTAyLTA0VDEyOjM4OjQzKzAwOjAwMdA7FwAAAFd6VFh0UmF3IHByb2ZpbGUgdHlwZSBpcHRjAAB4nOPyDAhxVigoyk/LzEnlUgADIwsuYwsTIxNLkxQDEyBEgDTDZAMjs1Qgy9jUyMTMxBzEB8uASKBKLgDqFxF08kI1lQAAAYdpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+DQo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPjx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KPD94cGFja2V0IGVuZD0ndyc/PiyUmAsAAAANSURBVBhXY3grk/YfAAXYAm/HQierAAAAAElFTkSuQmCC",
|
|
"challengeTypeId": 1,
|
|
"oneTimePassword": "H5Iiz3JTaQeIV8p",
|
|
},
|
|
"ovPayToken":
|
|
{
|
|
"customerProfileId": 1,
|
|
"ovPayTokenId": 1,
|
|
"xTat": "32089cc8-d187-47ff-a3a9-5c2558def811",
|
|
"tokenType":
|
|
{
|
|
"tokenTypeId": 2,
|
|
"name": "OV-pas physical",
|
|
},
|
|
"alias": "MyToken",
|
|
"tokenStatus":
|
|
{
|
|
"tokenStatusId": 2,
|
|
"name": "Active",
|
|
},
|
|
"expirationDate": "2028-02-01",
|
|
"replacedByTokenId": null,
|
|
"autoReloadRegistration":
|
|
{
|
|
"autoReloadAmount": 500,
|
|
"retailerReferenceId": "abc",
|
|
"arrit": "425f7fc2-1103-4822-9c79-7c4aaa2fb6aa",
|
|
"autoReloadRegistrationStatus": "ACTIVE",
|
|
"autoReloadRegistrationStartDateTime": "2024-06-02T15:03:46Z",
|
|
},
|
|
"ePurse":
|
|
{
|
|
"e-PurseBalance":
|
|
{
|
|
"currency": "EUR",
|
|
"amount": 350,
|
|
},
|
|
"status": "ACTIVE",
|
|
"originDate": "2019-07-16T11:00:00+02:00",
|
|
},
|
|
"personalAccountData":
|
|
{
|
|
"name":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
"birthdate":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
"photo":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
},
|
|
"gboAgeProfile":
|
|
{
|
|
"gboAgeProfileId": 1,
|
|
"name": "Kind (4 t/m 11 jaar)",
|
|
"ageFromInclusive": 4,
|
|
"ageToInclusive": 11,
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"orderAccountingStatuses": [],
|
|
"validationResult": "invalid",
|
|
"validations":
|
|
[
|
|
{
|
|
"code": "PERSONAL_ACCOUNT_DATA_AGE_PROFILE_MISMATCH",
|
|
"detail": "Product is for gboAgeProfile 19-65, given gboAgeProfile is 12-19",
|
|
"path": "$.orders[?(@.orderId=='1e441d7d-50d6-4006-aca7-5e87e2f218df')].orderLines[?(@.orderLineId=='cccada2c-d5ea-48ab-b4be-f590e16b5468')].customerTokens[?(@.customerTokenId=='878ad7c1-cd8f-4bcf-a983-1bd8c6e6975e')].ovPayToken.personalAccountData.birthdate",
|
|
"parameter": null,
|
|
"type": "ERROR",
|
|
},
|
|
],
|
|
},
|
|
],
|
|
"payments": [],
|
|
"orderCustomer": null,
|
|
}
|
|
delete:
|
|
tags:
|
|
- Order Creation Flow
|
|
summary: Delete personal account data.
|
|
description: Delete personal account data.
|
|
responses:
|
|
"200":
|
|
description: Ok
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
examples:
|
|
Order with deleted personal account data:
|
|
value:
|
|
{
|
|
"validContents": true,
|
|
"orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df",
|
|
"externalOrderId": null,
|
|
"orderNumber": "ORD-123456",
|
|
"customerProfileId": 1337,
|
|
"totalAmount": 121,
|
|
"touchPoint":
|
|
{
|
|
"salesTouchpointId": 3,
|
|
"name": "Website (Perplex)",
|
|
"isActive": true,
|
|
"retailerId": 1001,
|
|
},
|
|
"language":
|
|
{
|
|
"languageId": 1,
|
|
"name": "Nederlands",
|
|
"iso639Code": "nl-NL",
|
|
"ietfCode": "nl",
|
|
},
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"lastUpdatedOn": "2024-03-22T09:00:00",
|
|
"order_OrderStatuses":
|
|
[
|
|
{
|
|
"order_orderStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f",
|
|
"orderStatus":
|
|
{ "orderStatusId": 1, "name": "concept" },
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"description": "Order is aangemaakt",
|
|
},
|
|
],
|
|
"orderLines":
|
|
[
|
|
{
|
|
"orderLineId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
"externalOrderLineId": null,
|
|
"productId": 1,
|
|
"productName": "HTM Maandkorting 20%",
|
|
"fikoArticleNumber": "6609",
|
|
"productDescription": "HTM Maandkorting 20%",
|
|
"taxCode": "V21",
|
|
"taxPercentage": 21.0000,
|
|
"taxAmount": null,
|
|
"amountExclTax": null,
|
|
"amountInclTax": 121,
|
|
"quantity": 1,
|
|
"orderLineTerms":
|
|
[
|
|
{
|
|
"orderLineTermsId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
"termsUrl": "generalTermsAndConditions.pdf",
|
|
},
|
|
{
|
|
"orderLineTermsId": "bd76f723-9308-4629-a291-4c4fafd7ed87",
|
|
"termsUrl": "productTermsAndConditions.pdf",
|
|
},
|
|
],
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"validFrom": "2024-03-22T09:00:00",
|
|
"validUntil": null,
|
|
"orderLineStatus":
|
|
{ "orderLineStatusId": 1, "name": "pending" },
|
|
"customerTokens":
|
|
[
|
|
{
|
|
"customerTokenId": "878ad7c1-cd8f-4bcf-a983-1bd8c6e6975e",
|
|
"tokenType":
|
|
{ "tokenTypeId": 1, "name": "EMV" },
|
|
"ovPayTokenId": 12,
|
|
"serviceReferenceId": null,
|
|
"amount": null,
|
|
"ovpasNumber": null,
|
|
"verificationCode": null,
|
|
"personalAccountData": null,
|
|
"ovPayToken":
|
|
{
|
|
"customerProfileId": 1,
|
|
"ovPayTokenId": 1,
|
|
"xTat": "32089cc8-d187-47ff-a3a9-5c2558def811",
|
|
"tokenType":
|
|
{
|
|
"tokenTypeId": 2,
|
|
"name": "OV-pas physical",
|
|
},
|
|
"alias": "MyToken",
|
|
"tokenStatus":
|
|
{
|
|
"tokenStatusId": 2,
|
|
"name": "Active",
|
|
},
|
|
"expirationDate": "2028-02-01",
|
|
"replacedByTokenId": null,
|
|
"autoReloadRegistration":
|
|
{
|
|
"autoReloadAmount": 500,
|
|
"retailerReferenceId": "abc",
|
|
"arrit": "425f7fc2-1103-4822-9c79-7c4aaa2fb6aa",
|
|
"autoReloadRegistrationStatus": "ACTIVE",
|
|
"autoReloadRegistrationStartDateTime": "2024-06-02T15:03:46Z",
|
|
},
|
|
"ePurse":
|
|
{
|
|
"e-PurseBalance":
|
|
{
|
|
"currency": "EUR",
|
|
"amount": 350,
|
|
},
|
|
"status": "ACTIVE",
|
|
"originDate": "2019-07-16T11:00:00+02:00",
|
|
},
|
|
"personalAccountData":
|
|
{
|
|
"name":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
"birthdate":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
"photo":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
},
|
|
"gboAgeProfile":
|
|
{
|
|
"gboAgeProfileId": 1,
|
|
"name": "Kind (4 t/m 11 jaar)",
|
|
"ageFromInclusive": 4,
|
|
"ageToInclusive": 11,
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"orderAccountingStatuses": [],
|
|
"validationResult": "valid",
|
|
"validations": [],
|
|
},
|
|
],
|
|
"payments": [],
|
|
"orderCustomer": null,
|
|
}
|
|
/orders/{orderId}/payments:
|
|
parameters:
|
|
- in: path
|
|
name: orderId
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
example: a0ef57fa-395c-4a03-96e9-234c26dccea9
|
|
- in: header
|
|
name: X-HTM-JWT-AUTH-HEADER
|
|
schema:
|
|
type: string
|
|
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
|
|
description: The JWT of the logged in customer (in case of a web shop).
|
|
post:
|
|
tags:
|
|
- Order Creation Flow
|
|
summary: Add a payment to an existing order.
|
|
description: Add a payment to an existing order.
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
examples:
|
|
Add a payment to an order:
|
|
summary: Add a payment to an order
|
|
description: |
|
|
Add a payment for a concept order. Note how it is not allowed to add a payment status or an external
|
|
payment reference when adding a payment to a concept order. Also note how the order status changes to
|
|
'awaitingPayment' after adding the payment. Finally, the customerToken information is less detailed
|
|
since the order status is not concept anymore.
|
|
value:
|
|
{
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"amountDebit": 121,
|
|
"paymentMethodId": 1,
|
|
"isRefund": false,
|
|
"htmPaymentReference": "HTM-1234",
|
|
}
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
examples:
|
|
Order in status 'awaitingPayment':
|
|
value:
|
|
{
|
|
"validContents": true,
|
|
"orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df",
|
|
"externalOrderId": null,
|
|
"orderNumber": "ORD-123456",
|
|
"customerProfileId": 1337,
|
|
"totalAmount": 121,
|
|
"touchPoint":
|
|
{
|
|
"salesTouchpointId": 3,
|
|
"name": "Website (Perplex)",
|
|
"isActive": true,
|
|
"retailerId": 1001,
|
|
},
|
|
"language":
|
|
{
|
|
"languageId": 1,
|
|
"name": "Nederlands",
|
|
"iso639Code": "nl-NL",
|
|
"ietfCode": "nl",
|
|
},
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"lastUpdatedOn": "2024-03-22T09:00:00",
|
|
"order_OrderStatuses":
|
|
[
|
|
{
|
|
"order_orderStatusId": "99137e30-2bf5-4c9b-95f0-ca432adcae5f",
|
|
"orderStatus":
|
|
{ "orderStatusId": 2, "name": "awaitingPayment" },
|
|
"createdOn": "2024-03-22T09:05:00",
|
|
"description": "Betaling is geinitieerd",
|
|
},
|
|
{
|
|
"order_orderStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f",
|
|
"orderStatus":
|
|
{ "orderStatusId": 1, "name": "concept" },
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"description": "Order is aangemaakt",
|
|
},
|
|
],
|
|
"orderLines":
|
|
[
|
|
{
|
|
"orderLineId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
"externalOrderLineId": null,
|
|
"productId": 1,
|
|
"productName": "HTM Maandkorting 20%",
|
|
"fikoArticleNumber": "6609",
|
|
"productDescription": "HTM Maandkorting 20%",
|
|
"taxCode": "V21",
|
|
"taxPercentage": 21.0000,
|
|
"taxAmount": null,
|
|
"amountExclTax": null,
|
|
"amountInclTax": 121,
|
|
"quantity": 1,
|
|
"orderLineTerms":
|
|
[
|
|
{
|
|
"orderLineTermsId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
"termsUrl": "generalTermsAndConditions.pdf",
|
|
},
|
|
{
|
|
"orderLineTermsId": "bd76f723-9308-4629-a291-4c4fafd7ed87",
|
|
"termsUrl": "productTermsAndConditions.pdf",
|
|
},
|
|
],
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"validFrom": "2024-03-22T09:00:00",
|
|
"validUntil": null,
|
|
"orderLineStatus":
|
|
{ "orderLineStatusId": 1, "name": "pending" },
|
|
"customerTokens":
|
|
[
|
|
{
|
|
"customerTokenId": "878ad7c1-cd8f-4bcf-a983-1bd8c6e6975e",
|
|
"tokenType":
|
|
{ "tokenTypeId": 1, "name": "EMV" },
|
|
"ovPayTokenId": 1,
|
|
"serviceReferenceId": "NLOV1234567ABCDEFG",
|
|
"amount": 34,
|
|
"ovpasNumber": "OV34567",
|
|
"verificationCode": "A7H6",
|
|
"personalAccountData":
|
|
{
|
|
"personalAccountDataId": "47db8a40-3238-4bf5-9284-759e3888bd47",
|
|
"name": "Jan de Vries",
|
|
"birthdate": "1970-01-01",
|
|
"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",
|
|
},
|
|
"ovPayToken": null,
|
|
},
|
|
],
|
|
"orderAccountingStatuses": [],
|
|
"validationResult": "valid",
|
|
"validations": [],
|
|
},
|
|
{
|
|
"orderLineId": "2cb04b38-e9a8-465a-a273-261c55a21b71",
|
|
"externalOrderLineId": null,
|
|
"productId": 2,
|
|
"productName": "HTM Maandkorting 40%",
|
|
"fikoArticleNumber": "6610",
|
|
"productDescription": "HTM Maandkorting 40%",
|
|
"taxCode": "V21",
|
|
"taxPercentage": 21.0000,
|
|
"taxAmount": null,
|
|
"amountExclTax": null,
|
|
"amountInclTax": 242,
|
|
"quantity": 1,
|
|
"orderLineTerms":
|
|
[
|
|
{
|
|
"orderLineTermsId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
"termsUrl": "generalTermsAndConditions.pdf",
|
|
},
|
|
{
|
|
"orderLineTermsId": "bd76f723-9308-4629-a291-4c4fafd7ed87",
|
|
"termsUrl": "productTermsAndConditions.pdf",
|
|
},
|
|
],
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"validFrom": "2024-03-22T09:00:00",
|
|
"validUntil": null,
|
|
"orderLineStatus":
|
|
{ "orderLineStatusId": 1, "name": "pending" },
|
|
"customerTokens":
|
|
[
|
|
{
|
|
"customerTokenId": "878ad7c1-cd8f-4bcf-a983-1bd8c6e6975e",
|
|
"tokenType":
|
|
{ "tokenTypeId": 1, "name": "EMV" },
|
|
"ovPayTokenId": 4,
|
|
"serviceReferenceId": null,
|
|
"amount": null,
|
|
"ovpasNumber": null,
|
|
"verificationCode": null,
|
|
"personalAccountData": null,
|
|
"ovPayToken": null,
|
|
},
|
|
],
|
|
"orderAccountingStatuses": [],
|
|
"validationResult": "valid",
|
|
"validations": [],
|
|
},
|
|
],
|
|
"payments":
|
|
[
|
|
{
|
|
"paymentId": "1a973c85-7a96-41b5-bbf2-7919d6a6db15",
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"amountDebit": 121,
|
|
"paymentMethod":
|
|
{
|
|
"paymentMethodId": 1,
|
|
"name": "ideal",
|
|
"provider": "Buckaroo",
|
|
},
|
|
"touchPoint":
|
|
{
|
|
"salesTouchpointId": 3,
|
|
"name": "Website (Perplex)",
|
|
"isActive": true,
|
|
"retailerId": 1001,
|
|
},
|
|
"isRefund": false,
|
|
"htmPaymentReference": "HTM-1234",
|
|
"pspPaymentReference": null,
|
|
"paymentStatuses": [],
|
|
"mandateInput": null,
|
|
},
|
|
],
|
|
"orderCustomer":
|
|
{
|
|
"orderCustomerId": "94270188-4cf6-447e-bd49-e8186bcec073",
|
|
"birthname": "Jan",
|
|
"surname": "Vries",
|
|
"prefix": "de",
|
|
"emailAddress": "jandevries@outlook.com",
|
|
"dateOfBirth": "1970-01-01",
|
|
"orderCustomerAddresses":
|
|
[
|
|
{
|
|
"orderCustomerAddressId": "94270188-4cf6-447e-bd49-e8186bcec073",
|
|
"addressType":
|
|
{ "addressTypeId": 3, "name": "Billing" },
|
|
"street": "Kon. Julianaplein",
|
|
"houseNumber": 10,
|
|
"houseNumberSuffix": "a",
|
|
"postalCode": "2595 AA",
|
|
"city": "Den Haag",
|
|
"country": "NL",
|
|
},
|
|
],
|
|
},
|
|
}
|
|
/payments/{paymentId}:
|
|
parameters:
|
|
- in: path
|
|
name: paymentId
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
example: a0ef57fa-395c-4a03-96e9-234c26dccea9
|
|
- in: header
|
|
name: X-HTM-JWT-AUTH-HEADER
|
|
schema:
|
|
type: string
|
|
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
|
|
description: The JWT of the logged in customer (in case of a web shop).
|
|
patch:
|
|
tags:
|
|
- Order Creation Flow
|
|
summary: Update a payment on an existing orders.
|
|
description: Update a payment on an existing order.
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
examples:
|
|
Update payment (pending payment):
|
|
summary: Update payment (pending payment)
|
|
description: Update payment (pending payment)
|
|
value: { "todo": "todo" }
|
|
Update payment (payment successful):
|
|
summary: Update payment (payment successful)
|
|
description: Update payment (payment successful)
|
|
value:
|
|
{
|
|
"htmPaymentReference": "HTM-1234",
|
|
"pspPaymentReference": "Buckaroo-1234",
|
|
"paymentStatuses":
|
|
[
|
|
{
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"statusCode": "190",
|
|
"statusDescription": "Success",
|
|
"statusSubCode": null,
|
|
"statusSubDescription": null,
|
|
},
|
|
],
|
|
"mandateInput":
|
|
{
|
|
"directDebitMandateTypeId": 1,
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"bic": "RABONL2U",
|
|
"iban": "NL44RABO0123456789",
|
|
"ascription": "J. de Vries",
|
|
"place": "Den Haag",
|
|
},
|
|
}
|
|
Update payment (payment failed):
|
|
summary: Update payment (payment failed)
|
|
description: Update payment (payment failed)
|
|
value: { "todo": "todo" }
|
|
Update payment (payment cancelled):
|
|
summary: Update payment (payment cancelled)
|
|
description: Update payment (payment cancelled)
|
|
value: { "todo": "todo" }
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
examples:
|
|
Order updated to payment successful:
|
|
value:
|
|
{
|
|
"validContents": true,
|
|
"orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df",
|
|
"externalOrderId": null,
|
|
"orderNumber": "ORD-123456",
|
|
"customerProfileId": 1337,
|
|
"totalAmount": 121,
|
|
"touchPoint":
|
|
{
|
|
"salesTouchpointId": 3,
|
|
"name": "Website (Perplex)",
|
|
"isActive": true,
|
|
"retailerId": 1001,
|
|
},
|
|
"language":
|
|
{
|
|
"languageId": 1,
|
|
"name": "Nederlands",
|
|
"iso639Code": "nl-NL",
|
|
"ietfCode": "nl",
|
|
},
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"lastUpdatedOn": "2024-03-22T09:00:00",
|
|
"order_OrderStatuses":
|
|
[
|
|
{
|
|
"order_orderStatusId": "5b6f4e2e-3c4b-4f5d-9e2a-8f4e2b6c7d8e",
|
|
"orderStatus":
|
|
{ "orderStatusId": 3, "name": "paid" },
|
|
"createdOn": "2024-03-22T09:10:00",
|
|
"description": "Betaling is succesvol afgerond",
|
|
},
|
|
{
|
|
"order_orderStatusId": "99137e30-2bf5-4c9b-95f0-ca432adcae5f",
|
|
"orderStatus":
|
|
{ "orderStatusId": 2, "name": "awaitingPayment" },
|
|
"createdOn": "2024-03-22T09:05:00",
|
|
"description": "Betaling is geinitieerd",
|
|
},
|
|
{
|
|
"order_orderStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f",
|
|
"orderStatus":
|
|
{ "orderStatusId": 1, "name": "concept" },
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"description": "Order is aangemaakt",
|
|
},
|
|
],
|
|
"orderLines":
|
|
[
|
|
{
|
|
"orderLineId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
"externalOrderLineId": null,
|
|
"productId": 1,
|
|
"productName": "HTM Maandkorting 20%",
|
|
"fikoArticleNumber": "6609",
|
|
"productDescription": "HTM Maandkorting 20%",
|
|
"taxCode": "V21",
|
|
"taxPercentage": 21.0000,
|
|
"taxAmount": null,
|
|
"amountExclTax": null,
|
|
"amountInclTax": 121,
|
|
"quantity": 1,
|
|
"orderLineTerms":
|
|
[
|
|
{
|
|
"orderLineTermsId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
"termsUrl": "generalTermsAndConditions.pdf",
|
|
},
|
|
{
|
|
"orderLineTermsId": "bd76f723-9308-4629-a291-4c4fafd7ed87",
|
|
"termsUrl": "productTermsAndConditions.pdf",
|
|
},
|
|
],
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"validFrom": "2024-03-22T09:00:00",
|
|
"validUntil": null,
|
|
"orderLineStatus":
|
|
{ "orderLineStatusId": 1, "name": "pending" },
|
|
"customerTokens":
|
|
[
|
|
{
|
|
"customerTokenId": "878ad7c1-cd8f-4bcf-a983-1bd8c6e6975e",
|
|
"tokenType":
|
|
{ "tokenTypeId": 1, "name": "EMV" },
|
|
"ovPayTokenId": 1,
|
|
"serviceReferenceId": "NLOV1234567ABCDEFG",
|
|
"amount": 34,
|
|
"ovpasNumber": "OV34567",
|
|
"verificationCode": "A7H6",
|
|
"personalAccountData":
|
|
{
|
|
"personalAccountDataId": "47db8a40-3238-4bf5-9284-759e3888bd47",
|
|
"name": "Jan de Vries",
|
|
"birthdate": "1970-01-01",
|
|
"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",
|
|
},
|
|
"ovPayToken": null,
|
|
},
|
|
],
|
|
"orderAccountingStatuses": [],
|
|
"validationResult": "valid",
|
|
"validations": [],
|
|
},
|
|
],
|
|
"payments":
|
|
[
|
|
{
|
|
"paymentId": "1a973c85-7a96-41b5-bbf2-7919d6a6db15",
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"amountDebit": 121,
|
|
"paymentMethod":
|
|
{
|
|
"paymentMethodId": 1,
|
|
"name": "ideal",
|
|
"provider": "Buckaroo",
|
|
},
|
|
"touchPoint":
|
|
{
|
|
"salesTouchpointId": 3,
|
|
"name": "Website (Perplex)",
|
|
"isActive": true,
|
|
"retailerId": 1001,
|
|
},
|
|
"isRefund": false,
|
|
"htmPaymentReference": "HTM-1234",
|
|
"pspPaymentReference": "Buckaroo-1234",
|
|
"paymentStatuses":
|
|
[
|
|
{
|
|
"paymentStatusId": "42eee610-1a17-4f02-be14-7e25d69d35f3",
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"statusCode": "?",
|
|
"statusDescription": "Initiated",
|
|
"statusSubCode": "?",
|
|
"statusSubDescription": "PaymentInitiated",
|
|
},
|
|
{
|
|
"paymentStatusId": "b9893367-0cab-45a8-89f9-03a14d6cd138",
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"statusCode": "791",
|
|
"statusDescription": "Pending processing",
|
|
"statusSubCode": "S001",
|
|
"statusSubDescription": "PendingProcessing",
|
|
},
|
|
{
|
|
"paymentStatusId": "9edfb9ad-f5b3-4edc-8216-7cd0070b03f3",
|
|
"createdOn": "2024-03-22T09:01:00",
|
|
"statusCode": "190",
|
|
"statusDescription": "Success",
|
|
"statusSubCode": "S001",
|
|
"statusSubDescription": "PaymentSuccessful",
|
|
},
|
|
],
|
|
"mandateInput":
|
|
{
|
|
"mandateInputId": "7e3c7b4e-2b4d-4e0b-8f8b-0e8d9f0a2c3b",
|
|
"directDebitMandateType":
|
|
{
|
|
"directDebitMandateTypeId": 1,
|
|
"name": "import",
|
|
},
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"bic": "RABONL2U",
|
|
"iban": "NL44RABO0123456789",
|
|
"ascription": "J. de Vries",
|
|
"place": "Den Haag",
|
|
},
|
|
},
|
|
],
|
|
"orderCustomer":
|
|
{
|
|
"orderCustomerId": "94270188-4cf6-447e-bd49-e8186bcec073",
|
|
"birthname": "Jan",
|
|
"surname": "Vries",
|
|
"prefix": "de",
|
|
"emailAddress": "jandevries@outlook.com",
|
|
"dateOfBirth": "1970-01-01",
|
|
"orderCustomerAddresses":
|
|
[
|
|
{
|
|
"orderCustomerAddressId": "94270188-4cf6-447e-bd49-e8186bcec073",
|
|
"addressTypeId":
|
|
{ "addressTypeId": 3, "name": "Billing" },
|
|
"street": "Kon. Julianaplein",
|
|
"houseNumber": 10,
|
|
"houseNumberSuffix": "a",
|
|
"postalCode": "2595 AA",
|
|
"city": "Den Haag",
|
|
"country": "NL",
|
|
},
|
|
],
|
|
},
|
|
}
|
|
v9.9 (Nick Pows):
|
|
value:
|
|
{
|
|
"validContents": false,
|
|
"orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df",
|
|
"externalOrderId": "be8160b3-a7f7-4a63-ad63-09503b2fc4a3",
|
|
"orderNumber": "ORD-123456",
|
|
"customerProfileId": 1337,
|
|
"totalAmount": 121,
|
|
"touchPoint":
|
|
{
|
|
"salesTouchpointId": 3,
|
|
"name": "Website (Perplex)",
|
|
"isActive": true,
|
|
"retailerId": 1001,
|
|
},
|
|
"language":
|
|
{
|
|
"languageId": 1,
|
|
"name": "Nederlands",
|
|
"iso639Code": "nl-NL",
|
|
"ietfCode": "nl",
|
|
},
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"lastUpdatedOn": "2024-03-22T09:00:00",
|
|
"order_OrderStatuses":
|
|
[
|
|
{
|
|
"order_orderStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f",
|
|
"orderStatus":
|
|
{ "orderStatusId": 1, "name": "concept" },
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"description": "Order is aangemaakt",
|
|
},
|
|
],
|
|
"orderLines":
|
|
[
|
|
{
|
|
"orderLineId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
"externalOrderLineId": "0211f11b-270e-43f2-8ecc-3fe85773a0a2",
|
|
"productId": 1,
|
|
"productName": "HTM Maandkorting 20%",
|
|
"fikoArticleNumber": "6609",
|
|
"productDescription": "HTM Maandkorting 20%",
|
|
"taxCode": "V21",
|
|
"taxPercentage": 21.0000,
|
|
"taxAmount": null,
|
|
"amountExclTax": null,
|
|
"amountInclTax": 121,
|
|
"quantity": 1,
|
|
"orderLineTerms":
|
|
[
|
|
{
|
|
"orderLineTermsId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
"termsUrl": "generalTermsAndConditions.pdf",
|
|
},
|
|
{
|
|
"orderLineTermsId": "bd76f723-9308-4629-a291-4c4fafd7ed87",
|
|
"termsUrl": "productTermsAndConditions.pdf",
|
|
},
|
|
],
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"validFrom": "2024-03-22T09:00:00",
|
|
"validUntil": "2024-03-22T09:00:00",
|
|
"orderLineStatus":
|
|
{ "orderLineStatusId": 1, "name": "pending" },
|
|
"customerTokens":
|
|
[
|
|
{
|
|
"customerTokenId": "878ad7c1-cd8f-4bcf-a983-1bd8c6e6975e",
|
|
"tokenType":
|
|
{ "tokenTypeId": 1, "name": "EMV" },
|
|
"ovPayTokenId": 1,
|
|
"serviceReferenceId": "NLOV1234567ABCDEFG",
|
|
"amount": 34,
|
|
"ovpasNumber": "OV34567",
|
|
"verificationCode": "A7H6",
|
|
"personalAccountData":
|
|
{
|
|
"personalAccountDataId": "47db8a40-3238-4bf5-9284-759e3888bd47",
|
|
"name": "Jan de Vries",
|
|
"birthdate": "1970-01-01",
|
|
"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",
|
|
},
|
|
"ovPayToken": null,
|
|
},
|
|
],
|
|
"orderAccountingStatuses":
|
|
[
|
|
{
|
|
"orderAccountingStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f",
|
|
"accountingStatus":
|
|
{ "accountingStatusId": 1, "name": "open" },
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"description": "Order is aangemaakt",
|
|
},
|
|
],
|
|
"validationResult": "invalid",
|
|
"validations":
|
|
[
|
|
{
|
|
"code": "MANDATE_REQUIRED",
|
|
"detail": "A valid mandate is required before purchasing this product.",
|
|
"path": null,
|
|
"parameter": "directDebitMandateId",
|
|
"type": "REMARK",
|
|
},
|
|
{
|
|
"code": "STARTDATE_TOO_FAR_IN_FUTURE",
|
|
"detail": "Startdate of this product should be at most 60 days in the future.",
|
|
"path": "$.orders[?(@.orderId=='1e441d7d-50d6-4006-aca7-5e87e2f218df')].orderLines[?(@.orderLineId=='cccada2c-d5ea-48ab-b4be-f590e16b5468')].validFrom",
|
|
"parameter": null,
|
|
"type": "ERROR",
|
|
},
|
|
],
|
|
},
|
|
],
|
|
"payments":
|
|
[
|
|
{
|
|
"paymentId": "1a973c85-7a96-41b5-bbf2-7919d6a6db15",
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"amountDebit": 121,
|
|
"paymentMethod":
|
|
{
|
|
"paymentMethodId": 1,
|
|
"name": "ideal",
|
|
"provider": "Buckaroo",
|
|
},
|
|
"touchPoint":
|
|
{
|
|
"salesTouchpointId": 3,
|
|
"name": "Website (Perplex)",
|
|
"isActive": true,
|
|
"retailerId": 1001,
|
|
},
|
|
"isRefund": false,
|
|
"htmPaymentReference": "HTM-1234",
|
|
"pspPaymentReference": "Buckaroo-1234",
|
|
"paymentStatuses":
|
|
[
|
|
{
|
|
"paymentStatusId": "42eee610-1a17-4f02-be14-7e25d69d35f3",
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"statusCode": "?",
|
|
"statusDescription": "Initiated",
|
|
"statusSubCode": "?",
|
|
"statusSubDescription": "PaymentInitiated",
|
|
},
|
|
{
|
|
"paymentStatusId": "b9893367-0cab-45a8-89f9-03a14d6cd138",
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"statusCode": "791",
|
|
"statusDescription": "Pending processing",
|
|
"statusSubCode": "S001",
|
|
"statusSubDescription": "PendingProcessing",
|
|
},
|
|
{
|
|
"paymentStatusId": "9edfb9ad-f5b3-4edc-8216-7cd0070b03f3",
|
|
"createdOn": "2024-03-22T09:01:00",
|
|
"statusCode": "190",
|
|
"statusDescription": "Success",
|
|
"statusSubCode": "S001",
|
|
"statusSubDescription": "PaymentSuccessful",
|
|
},
|
|
],
|
|
"mandateInput":
|
|
{
|
|
"mandateInputId": "1d6626cd-b93b-4ea6-85d5-a8e3a24a2725",
|
|
"directDebitMandateType":
|
|
{
|
|
"directDebitMandateTypeId": 1,
|
|
"name": "import",
|
|
},
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"bic": "RABONL2U",
|
|
"iban": "NL44RABO0123456789",
|
|
"ascription": "J. de Vries",
|
|
"place": "Den Haag",
|
|
},
|
|
},
|
|
],
|
|
"orderCustomer":
|
|
{
|
|
"orderCustomerId": "94270188-4cf6-447e-bd49-e8186bcec073",
|
|
"birthname": "Jan",
|
|
"surname": "Vries",
|
|
"prefix": "de",
|
|
"emailAddress": "jandevries@outlook.com",
|
|
"dateOfBirth": "1970-01-01",
|
|
"orderCustomerAddresses":
|
|
[
|
|
{
|
|
"orderCustomerAddressId": "94270188-4cf6-447e-bd49-e8186bcec073",
|
|
"addressTypeId":
|
|
{ "addressTypeId": 3, "name": "Billing" },
|
|
"street": "Kon. Julianaplein",
|
|
"houseNumber": 10,
|
|
"houseNumberSuffix": "a",
|
|
"postalCode": "2595 AA",
|
|
"city": "Den Haag",
|
|
"country": "NL",
|
|
},
|
|
],
|
|
},
|
|
}
|
|
/orders/{orderId}/ordercustomers:
|
|
parameters:
|
|
- in: path
|
|
name: orderId
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
example: a0ef57fa-395c-4a03-96e9-234c26dccea9
|
|
- in: header
|
|
name: X-HTM-JWT-AUTH-HEADER
|
|
schema:
|
|
type: string
|
|
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
|
|
description: The JWT of the logged in customer (in case of a web shop).
|
|
post:
|
|
tags:
|
|
- Order Creation Flow
|
|
summary: Add a customer to an existing orders.
|
|
description: Add a customer to an existing order.
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
examples:
|
|
Add a customer to an existing order:
|
|
summary: Add a customer to an existing order
|
|
description: Add a customer to an existing order
|
|
value:
|
|
{
|
|
"birthname": "Jan",
|
|
"surname": "Vries",
|
|
"prefix": "de",
|
|
"emailAddress": "jandevries@outlook.com",
|
|
"dateOfBirth": "1970-01-01",
|
|
"orderCustomerAddresses":
|
|
[
|
|
{
|
|
"addressTypeId": 3,
|
|
"street": "Kon. Julianaplein",
|
|
"houseNumber": 10,
|
|
"houseNumberSuffix": "a",
|
|
"postalCode": "2595 AA",
|
|
"city": "Den Haag",
|
|
"country": "NL",
|
|
},
|
|
],
|
|
}
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
examples:
|
|
Oder with added customer:
|
|
value:
|
|
{
|
|
"validContents": true,
|
|
"orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df",
|
|
"externalOrderId": null,
|
|
"orderNumber": "ORD-123456",
|
|
"customerProfileId": 1337,
|
|
"totalAmount": 121,
|
|
"touchPoint":
|
|
{
|
|
"salesTouchpointId": 3,
|
|
"name": "Website (Perplex)",
|
|
"isActive": true,
|
|
"retailerId": 1001,
|
|
},
|
|
"language":
|
|
{
|
|
"languageId": 1,
|
|
"name": "Nederlands",
|
|
"iso639Code": "nl-NL",
|
|
"ietfCode": "nl",
|
|
},
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"lastUpdatedOn": "2024-03-22T09:00:00",
|
|
"order_OrderStatuses":
|
|
[
|
|
{
|
|
"order_orderStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f",
|
|
"orderStatus":
|
|
{ "orderStatusId": 1, "name": "concept" },
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"description": "Order is aangemaakt",
|
|
},
|
|
],
|
|
"orderLines":
|
|
[
|
|
{
|
|
"orderLineId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
"externalOrderLineId": null,
|
|
"productId": 1,
|
|
"productName": "HTM Maandkorting 20%",
|
|
"fikoArticleNumber": "6609",
|
|
"productDescription": "HTM Maandkorting 20%",
|
|
"taxCode": "V21",
|
|
"taxPercentage": 21.0000,
|
|
"taxAmount": null,
|
|
"amountExclTax": null,
|
|
"amountInclTax": 121,
|
|
"quantity": 1,
|
|
"orderLineTerms":
|
|
[
|
|
{
|
|
"orderLineTermsId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
"termsUrl": "generalTermsAndConditions.pdf",
|
|
},
|
|
{
|
|
"orderLineTermsId": "bd76f723-9308-4629-a291-4c4fafd7ed87",
|
|
"termsUrl": "productTermsAndConditions.pdf",
|
|
},
|
|
],
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"validFrom": "2024-03-22T09:00:00",
|
|
"validUntil": null,
|
|
"orderLineStatus":
|
|
{ "orderLineStatusId": 1, "name": "pending" },
|
|
"customerTokens":
|
|
[
|
|
{
|
|
"customerTokenId": "878ad7c1-cd8f-4bcf-a983-1bd8c6e6975e",
|
|
"tokenType":
|
|
{ "tokenTypeId": 1, "name": "EMV" },
|
|
"ovPayTokenId": 1,
|
|
"serviceReferenceId": "NLOV1234567ABCDEFG",
|
|
"amount": 34,
|
|
"ovpasNumber": "OV34567",
|
|
"verificationCode": "A7H6",
|
|
"personalAccountData":
|
|
{
|
|
"personalAccountDataId": "47db8a40-3238-4bf5-9284-759e3888bd47",
|
|
"name": "Jan de Vries",
|
|
"birthdate": "1970-01-01",
|
|
"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",
|
|
},
|
|
"ovPayToken":
|
|
{
|
|
"customerProfileId": 1,
|
|
"ovPayTokenId": 1,
|
|
"xTat": "32089cc8-d187-47ff-a3a9-5c2558def811",
|
|
"tokenType":
|
|
{
|
|
"tokenTypeId": 2,
|
|
"name": "OV-pas physical",
|
|
},
|
|
"alias": "MyToken",
|
|
"tokenStatus":
|
|
{
|
|
"tokenStatusId": 2,
|
|
"name": "Active",
|
|
},
|
|
"expirationDate": "2028-02-01",
|
|
"replacedByTokenId": null,
|
|
"autoReloadRegistration":
|
|
{
|
|
"autoReloadAmount": 500,
|
|
"retailerReferenceId": "abc",
|
|
"arrit": "425f7fc2-1103-4822-9c79-7c4aaa2fb6aa",
|
|
"autoReloadRegistrationStatus": "ACTIVE",
|
|
"autoReloadRegistrationStartDateTime": "2024-06-02T15:03:46Z",
|
|
},
|
|
"ePurse":
|
|
{
|
|
"e-PurseBalance":
|
|
{
|
|
"currency": "EUR",
|
|
"amount": 350,
|
|
},
|
|
"status": "ACTIVE",
|
|
"originDate": "2019-07-16T11:00:00+02:00",
|
|
},
|
|
"personalAccountData":
|
|
{
|
|
"name":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
"birthdate":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
"photo":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
},
|
|
"gboAgeProfile":
|
|
{
|
|
"gboAgeProfileId": 1,
|
|
"name": "Kind (4 t/m 11 jaar)",
|
|
"ageFromInclusive": 4,
|
|
"ageToInclusive": 11,
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"orderAccountingStatuses": [],
|
|
"validationResult": "valid",
|
|
"validations": [],
|
|
},
|
|
],
|
|
"payments": [],
|
|
"orderCustomer":
|
|
{
|
|
"orderCustomerId": "94270188-4cf6-447e-bd49-e8186bcec073",
|
|
"birthname": "Jan",
|
|
"surname": "Vries",
|
|
"prefix": "de",
|
|
"emailAddress": "jandevries@outlook.com",
|
|
"dateOfBirth": "1970-01-01",
|
|
"orderCustomerAddresses":
|
|
[
|
|
{
|
|
"orderCustomerAddressId": "94270188-4cf6-447e-bd49-e8186bcec073",
|
|
"addressType":
|
|
{ "addressTypeId": 3, "name": "Billing" },
|
|
"street": "Kon. Julianaplein",
|
|
"houseNumber": 10,
|
|
"houseNumberSuffix": "a",
|
|
"postalCode": "2595 AA",
|
|
"city": "Den Haag",
|
|
"country": "NL",
|
|
},
|
|
],
|
|
},
|
|
}
|
|
/ordercustomers/{orderCustomerId}:
|
|
patch:
|
|
parameters:
|
|
- in: path
|
|
name: orderCustomerId
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
example: a0ef57fa-395c-4a03-96e9-234c26dccea9
|
|
- in: header
|
|
name: X-HTM-JWT-AUTH-HEADER
|
|
schema:
|
|
type: string
|
|
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
|
|
description: The JWT of the logged in customer (in case of a web shop).
|
|
tags:
|
|
- Order Creation Flow
|
|
summary: Update a customer on an existing order.
|
|
description: Update a customer on an existing order.
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
examples:
|
|
Update a customer on an existing order:
|
|
summary: Update a customer on an existing order
|
|
description: Update a customer on an existing order
|
|
value:
|
|
{
|
|
"birthname": "Jan",
|
|
"surname": "Vries",
|
|
"prefix": "de",
|
|
"emailAddress": "jandevries@outlook.com",
|
|
"dateOfBirth": "1970-01-01",
|
|
}
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
examples:
|
|
Order with updated customer:
|
|
value:
|
|
{
|
|
"validContents": true,
|
|
"orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df",
|
|
"externalOrderId": null,
|
|
"orderNumber": "ORD-123456",
|
|
"customerProfileId": 1337,
|
|
"totalAmount": 121,
|
|
"touchPoint":
|
|
{
|
|
"salesTouchpointId": 3,
|
|
"name": "Website (Perplex)",
|
|
"isActive": true,
|
|
"retailerId": 1001,
|
|
},
|
|
"language":
|
|
{
|
|
"languageId": 1,
|
|
"name": "Nederlands",
|
|
"iso639Code": "nl-NL",
|
|
"ietfCode": "nl",
|
|
},
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"lastUpdatedOn": "2024-03-22T09:00:00",
|
|
"order_OrderStatuses":
|
|
[
|
|
{
|
|
"order_orderStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f",
|
|
"orderStatus":
|
|
{ "orderStatusId": 1, "name": "concept" },
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"description": "Order is aangemaakt",
|
|
},
|
|
],
|
|
"orderLines":
|
|
[
|
|
{
|
|
"orderLineId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
"externalOrderLineId": null,
|
|
"productId": 1,
|
|
"productName": "HTM Maandkorting 20%",
|
|
"fikoArticleNumber": "6609",
|
|
"productDescription": "HTM Maandkorting 20%",
|
|
"taxCode": "V21",
|
|
"taxPercentage": 21.0000,
|
|
"taxAmount": null,
|
|
"amountExclTax": null,
|
|
"amountInclTax": 121,
|
|
"quantity": 1,
|
|
"orderLineTerms":
|
|
[
|
|
{
|
|
"orderLineTermsId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
"termsUrl": "generalTermsAndConditions.pdf",
|
|
},
|
|
{
|
|
"orderLineTermsId": "bd76f723-9308-4629-a291-4c4fafd7ed87",
|
|
"termsUrl": "productTermsAndConditions.pdf",
|
|
},
|
|
],
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"validFrom": "2024-03-22T09:00:00",
|
|
"validUntil": null,
|
|
"orderLineStatus":
|
|
{ "orderLineStatusId": 1, "name": "pending" },
|
|
"customerTokens":
|
|
[
|
|
{
|
|
"customerTokenId": "878ad7c1-cd8f-4bcf-a983-1bd8c6e6975e",
|
|
"tokenType":
|
|
{ "tokenTypeId": 1, "name": "EMV" },
|
|
"ovPayTokenId": 1,
|
|
"serviceReferenceId": "NLOV1234567ABCDEFG",
|
|
"amount": 34,
|
|
"ovpasNumber": "OV34567",
|
|
"verificationCode": "A7H6",
|
|
"personalAccountData":
|
|
{
|
|
"personalAccountDataId": "47db8a40-3238-4bf5-9284-759e3888bd47",
|
|
"name": "Jan de Vries",
|
|
"birthdate": "1970-01-01",
|
|
"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",
|
|
},
|
|
"ovPayToken":
|
|
{
|
|
"customerProfileId": 1,
|
|
"ovPayTokenId": 1,
|
|
"xTat": "32089cc8-d187-47ff-a3a9-5c2558def811",
|
|
"tokenType":
|
|
{
|
|
"tokenTypeId": 2,
|
|
"name": "OV-pas physical",
|
|
},
|
|
"alias": "MyToken",
|
|
"tokenStatus":
|
|
{
|
|
"tokenStatusId": 2,
|
|
"name": "Active",
|
|
},
|
|
"expirationDate": "2028-02-01",
|
|
"replacedByTokenId": null,
|
|
"autoReloadRegistration":
|
|
{
|
|
"autoReloadAmount": 500,
|
|
"retailerReferenceId": "abc",
|
|
"arrit": "425f7fc2-1103-4822-9c79-7c4aaa2fb6aa",
|
|
"autoReloadRegistrationStatus": "ACTIVE",
|
|
"autoReloadRegistrationStartDateTime": "2024-06-02T15:03:46Z",
|
|
},
|
|
"ePurse":
|
|
{
|
|
"e-PurseBalance":
|
|
{
|
|
"currency": "EUR",
|
|
"amount": 350,
|
|
},
|
|
"status": "ACTIVE",
|
|
"originDate": "2019-07-16T11:00:00+02:00",
|
|
},
|
|
"personalAccountData":
|
|
{
|
|
"name":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
"birthdate":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
"photo":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
},
|
|
"gboAgeProfile":
|
|
{
|
|
"gboAgeProfileId": 1,
|
|
"name": "Kind (4 t/m 11 jaar)",
|
|
"ageFromInclusive": 4,
|
|
"ageToInclusive": 11,
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"orderAccountingStatuses": [],
|
|
"validationResult": "valid",
|
|
"validations": [],
|
|
},
|
|
],
|
|
"payments": [],
|
|
"orderCustomer":
|
|
{
|
|
"orderCustomerId": "94270188-4cf6-447e-bd49-e8186bcec073",
|
|
"birthname": "Jan",
|
|
"surname": "Vries",
|
|
"prefix": "de",
|
|
"emailAddress": "jandevries@outlook.com",
|
|
"dateOfBirth": "1970-01-01",
|
|
"orderCustomerAddresses":
|
|
[
|
|
{
|
|
"orderCustomerAddressId": "94270188-4cf6-447e-bd49-e8186bcec073",
|
|
"addressType":
|
|
{ "addressTypeId": 3, "name": "Billing" },
|
|
"street": "Kon. Julianaplein",
|
|
"houseNumber": 10,
|
|
"houseNumberSuffix": "a",
|
|
"postalCode": "2595 AA",
|
|
"city": "Den Haag",
|
|
"country": "NL",
|
|
},
|
|
],
|
|
},
|
|
}
|
|
/ordercustomers/{orderCustomerId}/orderCustomerAddress:
|
|
post:
|
|
parameters:
|
|
- in: path
|
|
name: orderCustomerId
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
example: a0ef57fa-395c-4a03-96e9-234c26dccea9
|
|
- in: header
|
|
name: X-HTM-JWT-AUTH-HEADER
|
|
schema:
|
|
type: string
|
|
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
|
|
description: The JWT of the logged in customer (in case of a web shop).
|
|
tags:
|
|
- Order Creation Flow
|
|
summary: Create a customer address for an existing order.
|
|
description: Create a customer address for an existing order.
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
examples:
|
|
Add an address to a customer on an order:
|
|
summary: Add an address to a customer on an order
|
|
description: Add an address to a customer on an order
|
|
value:
|
|
{
|
|
"addressTypeId": 3,
|
|
"street": "Kon. Julianaplein",
|
|
"houseNumber": 10,
|
|
"houseNumberSuffix": "a",
|
|
"postalCode": "2595 AA",
|
|
"city": "Den Haag",
|
|
"country": "NL",
|
|
}
|
|
responses:
|
|
"201":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
examples:
|
|
Order with added customer address:
|
|
value:
|
|
{
|
|
"validContents": false,
|
|
"orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df",
|
|
"externalOrderId": null,
|
|
"orderNumber": "ORD-123456",
|
|
"customerProfileId": 1337,
|
|
"totalAmount": 121,
|
|
"touchPoint":
|
|
{
|
|
"salesTouchpointId": 3,
|
|
"name": "Website (Perplex)",
|
|
"isActive": true,
|
|
"retailerId": 1001,
|
|
},
|
|
"language":
|
|
{
|
|
"languageId": 1,
|
|
"name": "Nederlands",
|
|
"iso639Code": "nl-NL",
|
|
"ietfCode": "nl",
|
|
},
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"lastUpdatedOn": "2024-03-22T09:00:00",
|
|
"order_OrderStatuses":
|
|
[
|
|
{
|
|
"order_orderStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f",
|
|
"orderStatus":
|
|
{ "orderStatusId": 1, "name": "concept" },
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"description": "Order is aangemaakt",
|
|
},
|
|
],
|
|
"orderLines":
|
|
[
|
|
{
|
|
"orderLineId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
"externalOrderLineId": null,
|
|
"productId": 1,
|
|
"productName": "HTM Maandkorting 20%",
|
|
"fikoArticleNumber": "6609",
|
|
"productDescription": "HTM Maandkorting 20%",
|
|
"taxCode": "V21",
|
|
"taxPercentage": 21.0000,
|
|
"taxAmount": null,
|
|
"amountExclTax": null,
|
|
"amountInclTax": 121,
|
|
"quantity": 1,
|
|
"orderLineTerms":
|
|
[
|
|
{
|
|
"orderLineTermsId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
"termsUrl": "generalTermsAndConditions.pdf",
|
|
},
|
|
{
|
|
"orderLineTermsId": "bd76f723-9308-4629-a291-4c4fafd7ed87",
|
|
"termsUrl": "productTermsAndConditions.pdf",
|
|
},
|
|
],
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"validFrom": "2024-03-22T09:00:00",
|
|
"validUntil": null,
|
|
"orderLineStatus":
|
|
{ "orderLineStatusId": 1, "name": "pending" },
|
|
"customerTokens":
|
|
[
|
|
{
|
|
"customerTokenId": "878ad7c1-cd8f-4bcf-a983-1bd8c6e6975e",
|
|
"tokenType":
|
|
{ "tokenTypeId": 1, "name": "EMV" },
|
|
"ovPayTokenId": 1,
|
|
"serviceReferenceId": "NLOV1234567ABCDEFG",
|
|
"amount": 34,
|
|
"ovpasNumber": "OV34567",
|
|
"verificationCode": "A7H6",
|
|
"personalAccountData":
|
|
{
|
|
"personalAccountDataId": "47db8a40-3238-4bf5-9284-759e3888bd47",
|
|
"name": "Jan de Vries",
|
|
"birthdate": "1970-01-01",
|
|
"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",
|
|
},
|
|
"ovPayToken":
|
|
{
|
|
"customerProfileId": 1,
|
|
"ovPayTokenId": 1,
|
|
"xTat": "32089cc8-d187-47ff-a3a9-5c2558def811",
|
|
"tokenType":
|
|
{
|
|
"tokenTypeId": 2,
|
|
"name": "OV-pas physical",
|
|
},
|
|
"alias": "MyToken",
|
|
"tokenStatus":
|
|
{
|
|
"tokenStatusId": 2,
|
|
"name": "Active",
|
|
},
|
|
"expirationDate": "2028-02-01",
|
|
"replacedByTokenId": null,
|
|
"autoReloadRegistration":
|
|
{
|
|
"autoReloadAmount": 500,
|
|
"retailerReferenceId": "abc",
|
|
"arrit": "425f7fc2-1103-4822-9c79-7c4aaa2fb6aa",
|
|
"autoReloadRegistrationStatus": "ACTIVE",
|
|
"autoReloadRegistrationStartDateTime": "2024-06-02T15:03:46Z",
|
|
},
|
|
"ePurse":
|
|
{
|
|
"e-PurseBalance":
|
|
{
|
|
"currency": "EUR",
|
|
"amount": 350,
|
|
},
|
|
"status": "ACTIVE",
|
|
"originDate": "2019-07-16T11:00:00+02:00",
|
|
},
|
|
"gboPersonalAccountData":
|
|
{
|
|
"name":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
"birthdate":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
"photo":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
},
|
|
"gboAgeProfile":
|
|
{
|
|
"gboAgeProfileId": 1,
|
|
"name": "Kind (4 t/m 11 jaar)",
|
|
"ageFromInclusive": 4,
|
|
"ageToInclusive": 11,
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"orderAccountingStatuses": [],
|
|
"validationResult": "preliminary",
|
|
"validations":
|
|
[
|
|
{
|
|
"code": "MANDATE_REQUIRED",
|
|
"detail": "Direct debit mandate is required for this order.",
|
|
"path": null,
|
|
"parameter": "directDebitMandateId",
|
|
"type": "REMARK",
|
|
},
|
|
],
|
|
},
|
|
],
|
|
"payments": [],
|
|
"orderCustomer":
|
|
{
|
|
"orderCustomerId": "94270188-4cf6-447e-bd49-e8186bcec073",
|
|
"birthname": "Jan",
|
|
"surname": "Vries",
|
|
"prefix": "de",
|
|
"emailAddress": "jandevries@outlook.com",
|
|
"dateOfBirth": "1970-01-01",
|
|
"orderCustomerAddresses":
|
|
[
|
|
{
|
|
"orderCustomerAddressId": "a0ef57fa-395c-4a03-96e9-234c26dccea9",
|
|
"addressType":
|
|
{ "addressTypeId": 3, "name": "Billing" },
|
|
"street": "Kon. Julianaplein",
|
|
"houseNumber": 10,
|
|
"houseNumberSuffix": "a",
|
|
"postalCode": "2595 AA",
|
|
"city": "Den Haag",
|
|
"country": "NL",
|
|
},
|
|
],
|
|
},
|
|
}
|
|
/orderCustomerAddress/{orderCustomerAddressId}:
|
|
patch:
|
|
parameters:
|
|
- in: path
|
|
name: orderCustomerAddressId
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
example: a0ef57fa-395c-4a03-96e9-234c26dccea9
|
|
- in: header
|
|
name: X-HTM-JWT-AUTH-HEADER
|
|
schema:
|
|
type: string
|
|
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
|
|
description: The JWT of the logged in customer (in case of a web shop).
|
|
tags:
|
|
- Order Creation Flow
|
|
summary: Update a customer address for an existing order.
|
|
description: Update a customer address for an existing order.
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
examples:
|
|
Update order customer address:
|
|
summary: Update order customer address
|
|
description: Update order customer address
|
|
value:
|
|
{
|
|
"addressTypeId": 3,
|
|
"street": "Kon. Julianaplein",
|
|
"houseNumber": 101,
|
|
"houseNumberSuffix": "a",
|
|
"postalCode": "2595 AA",
|
|
"city": "Den Haag",
|
|
"country": "NL",
|
|
}
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
examples:
|
|
Order with updated customer address:
|
|
value:
|
|
{
|
|
"validContents": false,
|
|
"orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df",
|
|
"externalOrderId": null,
|
|
"orderNumber": "ORD-123456",
|
|
"customerProfileId": 1337,
|
|
"totalAmount": 121,
|
|
"touchPoint":
|
|
{
|
|
"salesTouchpointId": 3,
|
|
"name": "Website (Perplex)",
|
|
"isActive": true,
|
|
"retailerId": 1001,
|
|
},
|
|
"language":
|
|
{
|
|
"languageId": 1,
|
|
"name": "Nederlands",
|
|
"iso639Code": "nl-NL",
|
|
"ietfCode": "nl",
|
|
},
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"lastUpdatedOn": "2024-03-22T09:00:00",
|
|
"order_OrderStatuses":
|
|
[
|
|
{
|
|
"order_orderStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f",
|
|
"orderStatus":
|
|
{ "orderStatusId": 1, "name": "concept" },
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"description": "Order is aangemaakt",
|
|
},
|
|
],
|
|
"orderLines":
|
|
[
|
|
{
|
|
"orderLineId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
"externalOrderLineId": null,
|
|
"productId": 1,
|
|
"productName": "HTM Maandkorting 20%",
|
|
"fikoArticleNumber": "6609",
|
|
"productDescription": "HTM Maandkorting 20%",
|
|
"taxCode": "V21",
|
|
"taxPercentage": 21.0000,
|
|
"taxAmount": null,
|
|
"amountExclTax": null,
|
|
"amountInclTax": 121,
|
|
"quantity": 1,
|
|
"orderLineTerms":
|
|
[
|
|
{
|
|
"orderLineTermsId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
|
|
"termsUrl": "generalTermsAndConditions.pdf",
|
|
},
|
|
{
|
|
"orderLineTermsId": "bd76f723-9308-4629-a291-4c4fafd7ed87",
|
|
"termsUrl": "productTermsAndConditions.pdf",
|
|
},
|
|
],
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"validFrom": "2024-03-22T09:00:00",
|
|
"validUntil": null,
|
|
"orderLineStatus":
|
|
{ "orderLineStatusId": 1, "name": "pending" },
|
|
"customerTokens":
|
|
[
|
|
{
|
|
"customerTokenId": "53a23772-0631-4eb8-b06a-8b4b74d120d5",
|
|
"tokenType":
|
|
{ "tokenTypeId": 1, "name": "EMV" },
|
|
"ovPayTokenId": 1,
|
|
"serviceReferenceId": "NLOV1234567ABCDEFG",
|
|
"amount": 34,
|
|
"ovpasNumber": "OV34567",
|
|
"verificationCode": "A7H6",
|
|
"personalAccountData":
|
|
{
|
|
"personalAccountDataId": "47db8a40-3238-4bf5-9284-759e3888bd47",
|
|
"name": "Jan de Vries",
|
|
"birthdate": "1970-01-01",
|
|
"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",
|
|
},
|
|
"ovPayToken":
|
|
{
|
|
"customerProfileId": 1,
|
|
"ovPayTokenId": 1,
|
|
"xTat": "32089cc8-d187-47ff-a3a9-5c2558def811",
|
|
"tokenType":
|
|
{
|
|
"tokenTypeId": 2,
|
|
"name": "OV-pas physical",
|
|
},
|
|
"alias": "MyToken",
|
|
"tokenStatus":
|
|
{
|
|
"tokenStatusId": 2,
|
|
"name": "Active",
|
|
},
|
|
"expirationDate": "2028-02-01",
|
|
"replacedByTokenId": null,
|
|
"autoReloadRegistration":
|
|
{
|
|
"autoReloadAmount": 500,
|
|
"retailerReferenceId": "abc",
|
|
"arrit": "425f7fc2-1103-4822-9c79-7c4aaa2fb6aa",
|
|
"autoReloadRegistrationStatus": "ACTIVE",
|
|
"autoReloadRegistrationStartDateTime": "2024-06-02T15:03:46Z",
|
|
},
|
|
"ePurse":
|
|
{
|
|
"e-PurseBalance":
|
|
{
|
|
"currency": "EUR",
|
|
"amount": 350,
|
|
},
|
|
"status": "ACTIVE",
|
|
"originDate": "2019-07-16T11:00:00+02:00",
|
|
},
|
|
"gboPersonalAccountData":
|
|
{
|
|
"name":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
"birthdate":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
"photo":
|
|
{
|
|
"inaccuracyFlag": false,
|
|
"inaccuracyFlagReason": null,
|
|
"inaccuracyFlagSetCounter": 0,
|
|
"isValidated": false,
|
|
"changeCounter": 0,
|
|
"maxUpdatesVerificationCount": 0,
|
|
"lastChangeDate": "2024-08-24T14:15:22Z",
|
|
},
|
|
},
|
|
"gboAgeProfile":
|
|
{
|
|
"gboAgeProfileId": 1,
|
|
"name": "Kind (4 t/m 11 jaar)",
|
|
"ageFromInclusive": 4,
|
|
"ageToInclusive": 11,
|
|
},
|
|
},
|
|
},
|
|
],
|
|
"orderAccountingStatuses": [],
|
|
"validationResult": "preliminary",
|
|
"validations":
|
|
[
|
|
{
|
|
"code": "MANDATE_REQUIRED",
|
|
"detail": "A valid mandate is required before purchasing this product.",
|
|
"path": null,
|
|
"parameter": "directDebitMandateId",
|
|
"type": "REMARK",
|
|
},
|
|
],
|
|
},
|
|
],
|
|
"payments": [],
|
|
"orderCustomer":
|
|
{
|
|
"orderCustomerId": "94270188-4cf6-447e-bd49-e8186bcec073",
|
|
"birthname": "Jan",
|
|
"surname": "Vries",
|
|
"prefix": "de",
|
|
"emailAddress": "jandevries@outlook.com",
|
|
"dateOfBirth": "1970-01-01",
|
|
"orderCustomerAddresses":
|
|
[
|
|
{
|
|
"orderCustomerAddressId": "94270188-4cf6-447e-bd49-e8186bcec073",
|
|
"addressType":
|
|
{ "addressTypeId": 3, "name": "Billing" },
|
|
"street": "Kon. Julianaplein",
|
|
"houseNumber": 101,
|
|
"houseNumberSuffix": "a",
|
|
"postalCode": "2595 AA",
|
|
"city": "Den Haag",
|
|
"country": "NL",
|
|
},
|
|
],
|
|
},
|
|
}
|
|
delete:
|
|
tags:
|
|
- Order Creation Flow
|
|
summary: Delete an existing order address.
|
|
description: Delete an existing order address.
|
|
parameters:
|
|
- in: path
|
|
name: orderCustomerAddressId
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
example: a0ef57fa-395c-4a03-96e9-234c26dccea9
|
|
- in: header
|
|
name: X-HTM-JWT-AUTH-HEADER
|
|
schema:
|
|
type: string
|
|
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
|
|
description: The JWT of the logged in customer (in case of a web shop).
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
examples:
|
|
Order after deleting customer address:
|
|
value:
|
|
{
|
|
"validContents": true,
|
|
"orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df",
|
|
"externalOrderId": null,
|
|
"orderNumber": "ORD-123456",
|
|
"customerProfileId": 1337,
|
|
"totalAmount": 0,
|
|
"touchPoint":
|
|
{
|
|
"salesTouchpointId": 3,
|
|
"name": "Website (Perplex)",
|
|
"isActive": true,
|
|
"retailerId": 1001,
|
|
},
|
|
"language":
|
|
{
|
|
"languageId": 1,
|
|
"name": "Nederlands",
|
|
"iso639Code": "nl-NL",
|
|
"ietfCode": "nl",
|
|
},
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"lastUpdatedOn": "2024-03-22T09:00:00",
|
|
"order_OrderStatuses":
|
|
[
|
|
{
|
|
"order_orderStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f",
|
|
"orderStatus":
|
|
{ "orderStatusId": 1, "name": "concept" },
|
|
"createdOn": "2024-03-22T09:00:00",
|
|
"description": "Order is aangemaakt",
|
|
},
|
|
],
|
|
"orderLines": [],
|
|
"payments": [],
|
|
"orderCustomer":
|
|
{
|
|
"orderCustomerId": "94270188-4cf6-447e-bd49-e8186bcec073",
|
|
"birthname": "Jan",
|
|
"surname": "Vries",
|
|
"prefix": "de",
|
|
"emailAddress": "jandevries@outlook.com",
|
|
"dateOfBirth": "1970-01-01",
|
|
"addresses": null,
|
|
},
|
|
}
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
example:
|
|
{
|
|
"type": "https://htm.nl/api/v1/probs/400/badrequest",
|
|
"title": "Your request is not valid.",
|
|
"detail": "One or more required attributes are missing or invalid.",
|
|
"instance": "urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b",
|
|
"errors":
|
|
[
|
|
{
|
|
"code": "REQUIRED_ATTRIBUTE_MISSING",
|
|
"detail": "One ore more required attributes are missing.",
|
|
"pointer": "$.orderLines[0].productId",
|
|
"parameter": null,
|
|
},
|
|
],
|
|
}
|
|
/orders/{orderId}/fulfill:
|
|
parameters:
|
|
- in: path
|
|
name: orderId
|
|
required: true
|
|
style: simple
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
example: a0ef57fa-395c-4a03-96e9-234c26dccea9
|
|
- in: header
|
|
name: X-HTM-JWT-AUTH-HEADER
|
|
schema:
|
|
type: string
|
|
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
|
|
description: The JWT of the logged in customer (in case of a web shop).
|
|
post:
|
|
tags:
|
|
- Order Fulfillment
|
|
summary: Fulfill an order without creating or updating the order as a resource.
|
|
description: Fulfill an order without creating or updating the order as a resource.
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
/orders/validation/gboAgeProfile:
|
|
get:
|
|
tags:
|
|
- Order Validation
|
|
summary: Get GBO age profile that is valid for the given input.
|
|
description: |-
|
|
Only one age profile can be valid at any one time, so only one profile is returned.
|
|
parameters:
|
|
- name: productStartDate
|
|
in: query
|
|
required: true
|
|
description: Start date of product validity
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2025-03-20
|
|
- name: birthDate
|
|
in: query
|
|
required: false
|
|
description: Birthdate of the OVpay-token holder
|
|
schema:
|
|
type: string
|
|
format: date
|
|
example: 2000-01-01
|
|
- name: ovPayTokenId
|
|
in: query
|
|
required: false
|
|
description: ovPayTokenId of the customer's selected token
|
|
schema:
|
|
type: integer
|
|
example: 1
|
|
- name: customerTokenId
|
|
in: query
|
|
required: false
|
|
description: customerTokenId of the customer's selected token
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
example: "4a2d2c9c-1e5d-4d8a-9c0a-6c0a6c0a6c0a"
|
|
- name: serviceReferenceId
|
|
in: query
|
|
required: false
|
|
description: serviceReferenceId of the customer's selected token
|
|
schema:
|
|
type: string
|
|
example: "NLOV1234567ABCDEFG"
|
|
- name: amount
|
|
in: query
|
|
required: false
|
|
description: amount belonging to the serviceReferenceId
|
|
schema:
|
|
type: integer
|
|
example: 100
|
|
- name: ovpasNumber
|
|
in: query
|
|
required: false
|
|
description: OVpas number of the customer's selected token
|
|
schema:
|
|
type: string
|
|
example: "63AW974"
|
|
- name: verificationCode
|
|
in: query
|
|
required: false
|
|
description: verification code belonging to the OVpas number
|
|
schema:
|
|
type: string
|
|
example: 1A3C7D
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/GboAgeProfileResponse"
|
|
"400":
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/rfc9457"
|
|
examples:
|
|
Missing parameter(s):
|
|
summary: Missing parameter(s)
|
|
value:
|
|
{
|
|
"type": "https://htm.nl/api/v1/probs/400/badrequest",
|
|
"title": "Your request is not valid.",
|
|
"detail": "One or more required parameters are missing or invalid.",
|
|
"instance": "urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b",
|
|
"errors":
|
|
[
|
|
{
|
|
"code": "REQUIRED_PARAMETER_MISSING",
|
|
"detail": "One ore more required parameters are missing.",
|
|
"pointer": null,
|
|
"parameter": "birthdate, ovPayTokenId, customerTokenId",
|
|
},
|
|
],
|
|
}
|
|
Invalid date format:
|
|
summary: Invalid date format
|
|
value:
|
|
{
|
|
"type": "https://htm.nl/api/v1/probs/400/badrequest",
|
|
"title": "Your request is not valid.",
|
|
"detail": "One or more parameters have an invalid format.",
|
|
"instance": "urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b",
|
|
"errors":
|
|
[
|
|
{
|
|
"code": "INVALID_PARAMETER_FORMAT",
|
|
"detail": "The given birthdate is not a valid Date format.",
|
|
"pointer": null,
|
|
"parameter": "birthdate",
|
|
},
|
|
],
|
|
}
|
|
"404":
|
|
description: Not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/rfc9457"
|
|
examples:
|
|
No birthdate present in PAD of OVpay token:
|
|
summary: No birthdate present in PAD of OVpay token
|
|
value:
|
|
{
|
|
"type": "https://htm.nl/api/v1/probs/404/notfound",
|
|
"title": "Missing birthdate in PAD.",
|
|
"detail": "There is no birthdate present in the PAD of the OVpay token, or there is no PAD present at all.",
|
|
"instance": "urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b",
|
|
"errors":
|
|
[
|
|
{
|
|
"code": "MISSING_BIRTHDATE_IN_PAD",
|
|
"detail": "Missing birthdate in PAD.",
|
|
"pointer": null,
|
|
"parameter": "birthdate",
|
|
},
|
|
],
|
|
}
|
|
components:
|
|
securitySchemes:
|
|
bearerToken:
|
|
type: http
|
|
scheme: bearer
|
|
bearerFormat: JWT
|
|
schemas:
|
|
unavailable:
|
|
type: object
|
|
rfc9457:
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
format: url
|
|
example: "https://example.com/probs/out-of-credit"
|
|
title:
|
|
type: string
|
|
example: "You do not have enough credit."
|
|
detail:
|
|
type: string
|
|
example: "Your current balance is 30, but that costs 50."
|
|
instance:
|
|
type: string
|
|
example: "/account/12345/msgs/abc"
|
|
balance:
|
|
type: string
|
|
example: "30"
|
|
accounts:
|
|
type: array
|
|
items:
|
|
type: string
|
|
example:
|
|
- "/account/12345"
|
|
- "/account/67890"
|
|
GboAgeProfileResponse:
|
|
type: object
|
|
required:
|
|
- gboAgeProfileId
|
|
- name
|
|
- ageFromInclusive
|
|
- ageToInclusive
|
|
properties:
|
|
gboAgeProfileId:
|
|
type: integer
|
|
example: 1
|
|
name:
|
|
type: string
|
|
example: Kind (4 t/m 11 jaar)
|
|
ageFromInclusive:
|
|
type: integer
|
|
example: 4
|
|
ageToInclusive:
|
|
type: integer
|
|
example: 11
|