ovpay/src/openapi/orders/service_engine_orders.yaml

5041 lines
259 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 v2
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",
},
"billingAddressId": 1,
"shippingAddressId": 1,
"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": [],
"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": 21,
"amountExclTax": 100,
"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": "invalid",
"additionalRemarks":
[
{
"code": "MANDATE_REQUIRED",
"parameter": "directDebitMandateId",
},
],
"validationErrors":
[
{
"detail": "Startdate of this product should be at most 60 days in the future.",
"pointer": "#/0/startDate",
},
],
},
],
"payments": [],
"orderCustomer": null,
},
],
"_links":
{
"self":
{
"href": "https://api.example.com/items",
"method": "GET",
"templated": true,
},
},
"href": "string",
}
post:
tags:
- Order Creation Flow v2
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": 21,
"amountExclTax": 100,
"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": "invalid",
"additionalRemarks":
[
{
"code": "MANDATE_REQUIRED",
"parameter": "directDebitMandateId",
},
],
"validationErrors":
[
{
"detail": "Startdate of this product should be at most 60 days in the future.",
"pointer": "#/0/startDate",
},
],
},
],
"payments": [],
"orderCustomer": null,
}
"400":
description: Bad request
content:
application/json:
schema:
$ref: "#/components/schemas/unavailable"
example:
{
"type": "https://htm.nl/api/v1/probs/validationerror",
"title": "Your request is not valid.",
"detail": "The combination of tokens and/or products chosen is not valid. See errors for more details.",
"instance": "urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b",
"errors":
[
{
"detail": "Startdate of this product should be at most 60 days in the future.",
"pointer": "#/0/startDate",
"ovPayTokenId": 123,
"productId": 2,
},
{
"detail": "Combination of product and token type is not valid.",
"pointer": "#/1/ovPayTokenId",
"ovPayTokenId": 123,
"productId": 3,
},
],
}
/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 v2
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:
summary: Order with status concept
description: Order with status concept
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": 21,
"amountExclTax": 100,
"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": "invalid",
"additionalRemarks":
[
{
"code": "MANDATE_REQUIRED",
"parameter": "directDebitMandateId",
},
],
"validationErrors":
[
{
"detail": "Startdate of this product should be at most 60 days in the future.",
"pointer": "#/0/startDate",
},
],
},
],
"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": 21,
"amountExclTax": 100,
"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",
},
},
],
"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,
"additionalRemarks": [],
"validationErrors": [],
},
],
"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 v2
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": 21,
"amountExclTax": 100,
"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": "invalid",
"additionalRemarks":
[
{
"code": "MANDATE_REQUIRED",
"parameter": "directDebitMandateId",
},
],
"validationErrors":
[
{
"detail": "Startdate of this product should be at most 60 days in the future.",
"pointer": "#/0/startDate",
},
],
},
],
"payments": [],
"orderCustomer": null,
}
"400":
description: Bad request
content:
application/json:
schema:
$ref: "#/components/schemas/unavailable"
example:
{
"type": "https://htm.nl/api/v1/probs/validationerror",
"title": "Your request is not valid.",
"detail": "The combination of tokens and/or products chosen is not valid. See errors for more details.",
"instance": "urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b",
"errors":
[
{
"detail": "Startdate of this product should be at most 60 days in the future.",
"pointer": "#/0/startDate",
"ovPayTokenId": 123,
"productId": 2,
},
{
"detail": "Combination of product and token type is not valid.",
"pointer": "#/1/ovPayTokenId",
"ovPayTokenId": 123,
"productId": 3,
},
],
}
delete:
tags:
- Order Creation Flow v2
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/validationerror",
"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 v2
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
description: Add order line to concept order
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,
},
],
}
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: "#/components/schemas/unavailable"
examples:
Order with two order lines:
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": 21,
"amountExclTax": 100,
"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",
"tokenTypeId": 1,
"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",
"additionalRemarks":
[
{
"code": "MANDATE_REQUIRED",
"parameter": "directDebitMandateId",
},
],
"validationErrors": [],
},
{
"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": 42,
"amountExclTax": 200,
"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",
"tokenTypeId": 1,
"ovPayTokenId": 4,
"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",
},
"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": "valid",
"additionalRemarks": [],
"validationErrors": [],
},
],
"payments": [],
"orderCustomer": null,
}
"400":
description: Bad request
content:
application/json:
schema:
$ref: "#/components/schemas/unavailable"
example:
{
"type": "https://htm.nl/api/v1/probs/validationerror",
"title": "Your request is not valid.",
"detail": "The combination of tokens and/or products chosen is not valid. See errors for more details.",
"instance": "urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b",
"errors":
[
{
"detail": "Startdate of this product should be at most 60 days in the future.",
"pointer": "#/0/startDate",
"ovPayTokenId": 123,
"productId": 2,
},
{
"detail": "Combination of product and token type is not valid.",
"pointer": "#/1/ovPayTokenId",
"ovPayTokenId": 123,
"productId": 3,
},
],
}
/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 v2
summary: Update an existing order line.
description: Update an existing order line.
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/unavailable"
examples:
Update quantity and validity:
summary: Update quantity and validity
description: Update quantity and validity
value:
{
"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": 112,
"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": 488,
"amountExclTax": 5412,
"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",
"additionalRemarks":
[
{
"code": "MANDATE_REQUIRED",
"parameter": "directDebitMandateId",
},
{
"code": "CUSTOMERTOKEN_REQUIRED",
"parameter": "customerTokenId",
},
],
"validationErrors": [],
},
],
"payments": [],
"orderCustomer": null,
}
"400":
description: Bad request
content:
application/json:
schema:
$ref: "#/components/schemas/unavailable"
example:
{
"type": "https://htm.nl/api/v1/probs/validationerror",
"title": "Your request is not valid.",
"detail": "The start date of the product is not allowed. See errors for more details.",
"instance": "urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b",
"errors":
[
{
"detail": "Startdate of this product should be at most 60 days in the future.",
"pointer": "#/0/startDate",
"ovPayTokenId": 123,
"productId": 2,
},
],
}
delete:
tags:
- Order Creation Flow v2
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/validationerror",
"title": "Your request is not valid.",
"detail": "The combination of tokens and/or products chosen is not valid. See errors for more details.",
"instance": "urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b",
"errors":
[
{
"detail": "Product requires product with productId=2",
"pointer": "#/1/orderLine",
"orderLineId": "0574440e-7fa0-401f-b907-539c91633a5d",
"productId": 3,
},
],
}
/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 v2
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": 21,
"amountExclTax": 100,
"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",
},
"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",
"additionalRemarks":
[
{
"code": "PERSONALACCOUNTDATA_BIRTHDATE_REQUIRED",
"parameter": "personalaccountdata.birthdate",
},
],
"validationErrors": [],
},
],
"payments": [],
"orderCustomers": 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 v2
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": 21,
"amountExclTax": 100,
"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",
},
"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": "valid",
"additionalRemarks": [],
"validationErrors": [],
},
],
"payments": [],
"orderCustomers": null,
}
delete:
tags:
- Order Creation Flow v2
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": 21,
"amountExclTax": 100,
"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",
"additionalRemarks":
[
{
"code": "CUSTOMERTOKEN_REQUIRED",
"parameter": "customerTokenId",
},
],
"validationErrors": [],
},
],
"payments": [],
"orderCustomers": 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 v2
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": 21,
"amountExclTax": 100,
"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",
},
"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": "valid",
"additionalRemarks": [],
"validationErrors": [],
},
],
"payments": [],
"orderCustomers": 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 v2
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": 21,
"amountExclTax": 100,
"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",
},
"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": "invalid",
"additionalRemarks": [],
"validationErrors":
[
{
"detail": "Product is for gboAgeProfile 19-65, given gboAgeProfile is 12-19",
"pointer": "#/customerTokens/878ad7c1-cd8f-4bcf-a983-1bd8c6e6975e/personalAccountData/birthdate",
},
],
},
],
"payments": [],
"orderCustomers": null,
}
delete:
tags:
- Order Creation Flow v2
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": 21,
"amountExclTax": 100,
"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",
},
"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": "valid",
"additionalRemarks": [],
"validationErrors": [],
},
],
"payments": [],
"orderCustomers": 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 v2
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": 21,
"amountExclTax": 100,
"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",
},
},
],
"orderAccountingStatuses": [],
"validationResult": "valid",
"additionalRemarks": [],
"validationErrors": [],
},
{
"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": 42,
"amountExclTax": 200,
"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,
},
],
"orderAccountingStatuses": [],
"validationResult": "valid",
"additionalRemarks": [],
"validationErrors": [],
},
],
"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 v2
summary: Update a payment on an existing order.
description: |
Update a payment on an existing order. Depending on the payment status, the order status also changes accordingly.
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": "S001",
"statusSubDescription": "PaymentSuccessful",
},
],
"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": 21,
"amountExclTax": 100,
"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",
},
},
],
"orderAccountingStatuses": [],
"validationResult": "valid",
"additionalRemarks": [],
"validationErrors": [],
},
],
"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",
},
},
],
"orderCustomers":
{
"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": 21,
"amountExclTax": 100,
"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",
},
},
],
"orderAccountingStatuses":
[
{
"orderAccountingStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f",
"accountingStatus":
{ "accountingStatusId": 1, "name": "open" },
"createdOn": "2024-03-22T09:00:00",
"description": "Order is aangemaakt",
},
],
"validationResult": "invalid",
"additionalRemarks":
[
{
"code": "MANDATE_REQUIRED",
"parameter": "directDebitMandateId",
},
],
"validationErrors":
[
{
"detail": "Startdate of this product should be at most 60 days in the future.",
"pointer": "#/0/startDate",
},
],
},
],
"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",
},
},
],
"orderCustomers":
{
"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 v2
summary: Add a customer to an existing order.
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": 21,
"amountExclTax": 100,
"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",
"tokenTypeId":
{ "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": "valid",
"additionalRemarks": [],
"validationErrors": [],
},
],
"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 v2
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": 21,
"amountExclTax": 100,
"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",
"tokenTypeId":
{ "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": "valid",
"additionalRemarks": [],
"validationErrors": [],
},
],
"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 v2
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:
v2.2:
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": 21,
"amountExclTax": 100,
"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",
"additionalRemarks":
[
{
"code": "MANDATE_REQUIRED",
"parameter": "directDebitMandateId",
},
],
"validationErrors": [],
},
],
"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 v2
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": 21,
"amountExclTax": 100,
"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",
"additionalRemarks":
[
{
"code": "MANDATE_REQUIRED",
"parameter": "directDebitMandateId",
},
],
"validationErrors": [],
},
],
"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 v2
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/validationerror",
"title": "Your request is not valid.",
"detail": "The combination of tokens and/or products chosen is not valid. See errors for more details.",
"instance": "urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b",
"errors":
[
{
"detail": "Product requires product with productId=2",
"pointer": "#/1/orderLine",
"orderLineId": "0574440e-7fa0-401f-b907-539c91633a5d",
"productId": 3,
},
],
}
/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 v2
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
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"