3869 lines
190 KiB
YAML
3869 lines
190 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:
|
|
v2:
|
|
summary: Find orders v2
|
|
description: Find orders v2
|
|
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",
|
|
},
|
|
},
|
|
],
|
|
"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:
|
|
v2.2:
|
|
summary: Order Creation Flow v2.2
|
|
description: Order Creation Flow v2.2
|
|
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:
|
|
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",
|
|
},
|
|
},
|
|
],
|
|
"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:
|
|
v2.2:
|
|
summary: Order details v2.2
|
|
description: Order details v2.2
|
|
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:
|
|
v2.2:
|
|
summary: Order update v2.2
|
|
description: Order update v2.2
|
|
value: { "languageId": 1 }
|
|
responses:
|
|
"200":
|
|
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",
|
|
"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",
|
|
},
|
|
},
|
|
],
|
|
"orderAccountingStatuses": [],
|
|
"validationResult": "preliminary",
|
|
"additionalRemarks":
|
|
[
|
|
{
|
|
"code": "MANDATE_REQUIRED",
|
|
"parameter": "directDebitMandateId",
|
|
},
|
|
],
|
|
"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,
|
|
},
|
|
],
|
|
}
|
|
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:
|
|
v2.2:
|
|
summary: Create order line v2.2
|
|
description: Create order line v2.2
|
|
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:
|
|
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",
|
|
"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",
|
|
},
|
|
},
|
|
],
|
|
"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,
|
|
},
|
|
],
|
|
"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:
|
|
v2.2:
|
|
summary: Update order line v2.2
|
|
description: Update order line v2.2
|
|
value:
|
|
{
|
|
"quantity": 1,
|
|
"validFrom": "2024-03-25T09:00:00",
|
|
"validUntil": null,
|
|
}
|
|
responses:
|
|
"200":
|
|
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": 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,
|
|
}
|
|
v2.1:
|
|
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-25T09:00:00",
|
|
"validUntil": null,
|
|
"orderLineStatus":
|
|
{ "orderLineStatusId": 1, "name": "pending" },
|
|
"customerTokens":
|
|
[
|
|
{
|
|
"customerTokenId": "ca15ccfb-ff5c-4c3b-b7c5-d65fc39f499d",
|
|
"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":
|
|
[
|
|
{
|
|
"code": "MANDATE_REQUIRED",
|
|
"parameter": "directDebitMandateId",
|
|
},
|
|
],
|
|
"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:
|
|
v2.2:
|
|
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:
|
|
v2.2.1:
|
|
summary: Add an existing customer token to an orderline v2.2
|
|
description: Add an existing customer token to an orderline v2.2
|
|
value: { "tokenTypeId": 1, "ovPayTokenId": 12 }
|
|
v2.2.2:
|
|
summary: Add a new customer token (emv) to an orderline v2.2
|
|
description: Add a new customer token (emv) to an orderline v2.2
|
|
value:
|
|
{
|
|
"tokenTypeId": 1,
|
|
"serviceReferenceId": "NLOV485456456445",
|
|
"amount": 100,
|
|
}
|
|
v2.2.3:
|
|
summary: Add a new customer token (ov pas) to an orderline v2.2
|
|
description: Add a new customer token (ov pas) to an orderline v2.2
|
|
value:
|
|
{
|
|
"tokenTypeId": 2,
|
|
"ovpasNumber": "OV34567",
|
|
"verificationCode": "A7H6",
|
|
}
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
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": 12,
|
|
"serviceReferenceId": null,
|
|
"amount": null,
|
|
"ovpasNumber": null,
|
|
"verificationCode": null,
|
|
"personalAccountData": null,
|
|
},
|
|
],
|
|
"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:
|
|
v2.2:
|
|
summary: Update a customer token v2.2
|
|
description: Update a customer tokenv2.2
|
|
value:
|
|
{
|
|
"tokenTypeId": 1,
|
|
"ovPayTokenId": null,
|
|
"serviceReferenceId": "NLOV1234567ABCDEFG",
|
|
"amount": 34,
|
|
}
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
examples:
|
|
v2.2:
|
|
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,
|
|
},
|
|
],
|
|
"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:
|
|
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": [],
|
|
"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:
|
|
v2.2:
|
|
summary: Add personal account data to a customer token v2.2
|
|
description: Add personal account data to a customer token v2.2
|
|
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:
|
|
v2.2:
|
|
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",
|
|
},
|
|
},
|
|
],
|
|
"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. P2
|
|
description: Update personal account data
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
examples:
|
|
v2.2:
|
|
summary: Update personal account data v2.2
|
|
description: Update personal account data v2.2
|
|
value: { "birthdate": "2010-01-01" }
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
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": 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",
|
|
},
|
|
},
|
|
],
|
|
"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. P2
|
|
description: Delete personal account data
|
|
responses:
|
|
"200":
|
|
description: Ok
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
examples:
|
|
v2.2:
|
|
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,
|
|
},
|
|
],
|
|
"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:
|
|
v2.2:
|
|
summary: Add a payment v2.2
|
|
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.
|
|
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:
|
|
v2.2:
|
|
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.
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
examples:
|
|
v2.2:
|
|
summary: Update payment v2.2
|
|
description: Update payment v2.2
|
|
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",
|
|
},
|
|
}
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
examples:
|
|
v2.2:
|
|
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": 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:
|
|
v2.2:
|
|
summary: Add order customer v2.2
|
|
description: Add order customer v2.2
|
|
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:
|
|
v2.2:
|
|
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",
|
|
},
|
|
},
|
|
],
|
|
"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:
|
|
v2.2:
|
|
summary: Update order customer v2.2
|
|
description: Update order customer v2.2
|
|
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:
|
|
v2.2:
|
|
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",
|
|
},
|
|
},
|
|
],
|
|
"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:
|
|
v2.2:
|
|
summary: Add order customer address v2.2
|
|
description: Add order customer address v2.2
|
|
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",
|
|
},
|
|
},
|
|
],
|
|
"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:
|
|
v2.2:
|
|
summary: Update order customer address v2.2
|
|
description: Update order customer address v2.2
|
|
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:
|
|
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": "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",
|
|
},
|
|
},
|
|
],
|
|
"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:
|
|
v2.1:
|
|
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"
|