feature/OVPAY-2103 #39

Merged
bboterm merged 16 commits from feature/OVPAY-2103 into develop 2025-11-28 14:33:01 +00:00
Showing only changes of commit 6e3aa3a04b - Show all commits

View File

@ -6,431 +6,6 @@ info:
servers: servers:
- url: https://services.acc.api.htm.nl/abt/touchpoint/2.0 - url: https://services.acc.api.htm.nl/abt/touchpoint/2.0
paths: paths:
/orders/validation:
post:
tags:
- Order Validation v2
summary: Validate order.
description: Validate order.
parameters:
- in: header
name: X-HTM-JWT-AUTH-HEADER
required: false
style: simple
explode: false
schema:
type: string
- in: header
name: Accept-version
required: false
style: simple
explode: false
schema:
type: string
example: "2.0"
description: The version of the API.
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/unavailable"
examples:
v2:
summary: Order validation v2
description: Order validation v2
value:
{
"purchaseDate": "2024-03-22",
"customerProfileId": 1337,
"languageId": 1,
"billingAddressId": 1,
"shippingAddressId": 1,
"contents":
[
{
"productId": 1,
"quantity": 5,
"validFrom": "2024-03-22T09:00:00",
"validUntil": null,
"tokens":
[
{
"tokenTypeId": 1,
"ovPayTokenId": 1,
"serviceReferenceId": "NLOV1234567ABCDEFG",
"amount": 34,
"ovpasNumber": "OV34567",
"verificationCode": "A7H6",
"personalAccountData":
{
"name": "Jan de Vries",
"dateOfBirth": "1970-01-01",
"photoReference": "DSC_0502.JPG",
"fileType": "image/jpg",
"challengeTypeId": 1,
"oneTimePassword": "H5Iiz3JTaQeIV8p",
},
},
],
},
{
"productId": 2,
"quantity": 3,
"validFrom": "2024-03-22T09:00:00",
"validUntil": null,
},
],
"customer":
{
"birthname": "Jan",
"surname": "Vries",
"prefix": "de",
"emailAddress": "jandevries@outlook.com",
"dateOfBirth": "1970-01-01",
"addresses":
[
{
"addressTypeId": 1,
"street": "Kon. Julianaplein",
"houseNumber": 10,
"houseNumberSuffix": "a",
"postalCode": "2595 AA",
"city": "Den Haag",
"country": "NL",
},
],
},
}
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: "#/components/schemas/unavailable"
examples:
v2:
summary: Order validation v2
description: Order validation v2
value:
{
"validContents": true,
"amountExclTax": 0,
"taxPercentage": 0,
"amountInclTax": 0,
"contents":
[
{
"ovPayTokenId": 0,
"serviceReferenceId": "string",
"ovpasNumber": "string",
"productId": 0,
"quantity": 0,
"amountExclTax": 0,
"taxPercentage": 0,
"amountInclTax": 0,
"startDate": "string",
"endDate": "string",
"isRenewable": true,
"nextDebitDate": "string",
"termAmountExclTax": 0,
"termAmountInclTax": 0,
"additionalRemarks":
[{ "code": "string", "parameter": "string" }],
"validationErrors":
[{ "detail": "string", "pointer": "string" }],
},
],
}
/orders/{orderId}/fulfillment:
post:
tags:
- Order Fulfillment v2
summary: Fulfill an order.
description: Fulfill an order.
parameters:
- in: header
name: X-HTM-JWT-AUTH-HEADER
required: false
style: simple
explode: false
schema:
type: string
- in: path
name: orderId
required: true
style: simple
explode: false
schema:
type: string
format: uuid
example: a0ef57fa-395c-4a03-96e9-234c26dccea9
- in: header
name: Accept-version
required: false
style: simple
explode: false
schema:
type: string
example: "2.0"
description: The version of the API.
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/unavailable"
examples:
v2.2:
summary: Order fulfillment v2.2
description: Order fulfillment v2.2
value:
{
"externalOrderId": "a0ef57fa-395c-4a03-96e9-234c26dccea9",
"languageId": 1,
"billingAddressId": 1,
"shippingAddressId": 1,
"createdOn": "2024-03-22T09:00:00",
"orderStatusId": 4,
"orderLines":
[
{
"externalOrderLineId": "2ba39cae-c401-446b-ae5c-2d6d85b3df1f",
"productId": 1,
"quantity": 1,
"createdOn": "2024-03-22T09:00:00",
"validFrom": "2024-03-22T09:00:00",
"validUntil": null,
"orderLineStatusId": 4,
"tokens":
[
{
"tokenTypeId": 1,
"ovPayTokenId": 1,
"serviceReferenceId": "NLOV1234567ABCDEFG",
"amount": 34,
"ovpasNumber": "OV34567",
"verificationCode": "A7H6",
"personalAccountData":
{
"name": "Jan de Vries",
"dateOfBirth": "1970-01-01",
"photoReference": "DSC_0502.JPG",
"fileType": "image/jpg",
"challengeTypeId": 1,
"oneTimePassword": "H5Iiz3JTaQeIV8p",
},
},
],
},
],
"payments":
[
{
"createdOn": "2024-03-22T09:00:00",
"amountDebit": 121,
"paymentMethodId": 1,
"isRefund": false,
"htmPaymentReference": "HTM-1234",
"pspPaymentReference": "Buckaroo-1234",
"paymentStatuses":
[
{
"createdOn": "2024-03-22T09:00:00",
"statusCode": "190",
"statusDescription": "Success",
"statusSubCode": "S001",
"statusSubDescription": "PaymentSuccessful",
},
],
"payPush":
{
"consumerIssuer": "ABN AMRO",
"transactionId": "0000000000000001",
"consumerName": "J. de Vries",
"consumerIBAN": "NL44RABO0123456789",
"consumerBIC": "RABONL2U",
},
},
],
"customer":
{
"birthname": "Jan",
"surname": "Vries",
"prefix": "de",
"emailAddress": "jandevries@outlook.com",
"dateOfBirth": "1970-01-01",
"addresses":
[
{
"addressTypeId": 1,
"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:
summary: Order fulfillment v2
description: Order fulfillment v2
value:
{
"orderId": "c73ff153-72e0-403f-a276-e86f544406f9",
"externalOrderId": "a0ef57fa-395c-4a03-96e9-234c26dccea9",
"orderNumber": "123456",
"customerProfileId": 1337,
"totalAmount": 121,
"languageId": 1,
"billingAddressId": 1,
"shippingAddressId": 1,
"createdOn": "2024-03-22T09:00:00",
"orderStatusId": 4,
"orderLines":
[
{
"orderLineId": "cccada2c-d5ea-48ab-b4be-f590e16b5468",
"externalOrderLineId": "2ba39cae-c401-446b-ae5c-2d6d85b3df1f",
"productId": 1,
"productName": "HTM Maandkorting 20%",
"productCode": "HTM-MND-20",
"productDescription": "HTM Maandkorting 20%",
"taxAmount": 21,
"taxCode": "V21",
"amountExclTax": 100,
"amountInclTax": 121,
"quantity": 1,
"terms":
[
"generalTermsAndConditions.pdf",
"productTermsAndConditions.pdf",
],
"createdOn": "2024-03-22T09:00:00",
"validFrom": "2024-03-22T09:00:00",
"validUntil": null,
"orderLineStatusId": 4,
"tokens":
[
{
"tokenTypeId": 1,
"ovPayTokenId": 1,
"serviceReferenceId": "NLOV1234567ABCDEFG",
"amount": 34,
"ovpasNumber": "OV34567",
"verificationCode": "A7H6",
"personalAccountData":
{
"name": "Jan de Vries",
"dateOfBirth": "1970-01-01",
"photoReference": "DSC_0502.JPG",
"fileType": "image/jpg",
"challengeTypeId": 1,
"oneTimePassword": "H5Iiz3JTaQeIV8p",
},
},
],
},
],
"payments":
[
{
"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":
[
{
"createdOn": "2024-03-22T09:00:00",
"statusCode": "190",
"statusDescription": "Success",
"statusSubCode": "S001",
"statusSubDescription": "PaymentSuccessful",
},
],
"payPush":
{
"consumerIssuer": "ABN AMRO",
"transactionId": "0000000000000001",
"consumerName": "J. de Vries",
"consumerIBAN": "NL44RABO0123456789",
"consumerBIC": "RABONL2U",
},
},
],
"customer":
{
"birthname": "Jan",
"surname": "Vries",
"prefix": "de",
"emailAddress": "jandevries@outlook.com",
"dateOfBirth": "1970-01-01",
"addresses":
[
{
"addressTypeId": 1,
"street": "Kon. Julianaplein",
"houseNumber": 10,
"houseNumberSuffix": "a",
"postalCode": "2595 AA",
"city": "Den Haag",
"country": "NL",
},
],
},
}
"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: /orders:
parameters: parameters:
- in: header - in: header
@ -689,7 +264,10 @@ paths:
"validFrom": "2024-03-22T09:00:00", "validFrom": "2024-03-22T09:00:00",
"validUntil": null, "validUntil": null,
"orderLineStatus": "orderLineStatus":
{ "orderLineStatusId": 1, "name": "pending" }, {
"orderLineStatusId": 1,
"name": "pending",
},
"customerTokens": "customerTokens":
[ [
{ {
@ -736,22 +314,22 @@ paths:
], ],
"payments": [], "payments": [],
"orderCustomer": null, "orderCustomer": null,
} },
], ],
"_links": "_links":
{
"self":
{ {
"self": "href": "https://api.example.com/items",
{ "method": "GET",
"href": "https://api.example.com/items", "templated": true,
"method": "GET",
"templated": true,
},
}, },
"href": "string", },
} "href": "string",
}
post: post:
tags: tags:
- Order Creation v2 - Order Creation Flow v2
summary: Create a new order summary: Create a new order
description: | description: |
Create a new order. This order can only contain the order itself, Create a new order. This order can only contain the order itself,
@ -765,8 +343,8 @@ paths:
$ref: "#/components/schemas/unavailable" $ref: "#/components/schemas/unavailable"
examples: examples:
v2.2: v2.2:
summary: Order creation v2.2 summary: Order Creation Flow v2.2
description: Order creation v2.2 description: Order Creation Flow v2.2
value: value:
{ {
"externalOrderId": null, "externalOrderId": null,
@ -1178,7 +756,7 @@ paths:
} }
patch: patch:
tags: tags:
- Order Creation v2 - Order Creation Flow v2
summary: Update an existing order. summary: Update an existing order.
description: Update an existing order. description: Update an existing order.
requestBody: requestBody:
@ -1190,10 +768,7 @@ paths:
v2.2: v2.2:
summary: Order update v2.2 summary: Order update v2.2
description: Order update v2.2 description: Order update v2.2
value: value: { "languageId": 1 }
{
"languageId": 1,
}
responses: responses:
"200": "200":
description: OK description: OK
@ -1339,7 +914,7 @@ paths:
} }
delete: delete:
tags: tags:
- Order Creation v2 - Order Creation Flow v2
summary: Delete an existing order. summary: Delete an existing order.
description: Delete an existing order. description: Delete an existing order.
responses: responses:
@ -1385,7 +960,7 @@ paths:
description: The JWT of the logged in customer (in case of a web shop). description: The JWT of the logged in customer (in case of a web shop).
post: post:
tags: tags:
- Order Creation v2 - Order Creation Flow v2
summary: Add a new order line to an existing order. summary: Add a new order line to an existing order.
description: Add a new order line to an existing order. description: Add a new order line to an existing order.
requestBody: requestBody:
@ -1626,7 +1201,7 @@ paths:
description: The JWT of the logged in customer (in case of a web shop). description: The JWT of the logged in customer (in case of a web shop).
patch: patch:
tags: tags:
- Order Creation v2 - Order Creation Flow v2
summary: Update an existing order line. summary: Update an existing order line.
description: Update an existing order line. description: Update an existing order line.
requestBody: requestBody:
@ -1873,7 +1448,7 @@ paths:
} }
delete: delete:
tags: tags:
- Order Creation v2 - Order Creation Flow v2
summary: Delete an existing order line. summary: Delete an existing order line.
description: Delete an existing order line. description: Delete an existing order line.
responses: responses:
@ -1947,24 +1522,24 @@ paths:
} }
/orderlines/{orderLineId}/customertokens: /orderlines/{orderLineId}/customertokens:
parameters: parameters:
- in: path - in: path
name: orderLineId name: orderLineId
required: true required: true
style: simple style: simple
explode: false explode: false
schema: schema:
type: string type: string
format: uuid format: uuid
example: a0ef57fa-395c-4a03-96e9-234c26dccea9 example: a0ef57fa-395c-4a03-96e9-234c26dccea9
- in: header - in: header
name: X-HTM-JWT-AUTH-HEADER name: X-HTM-JWT-AUTH-HEADER
schema: schema:
type: string type: string
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
description: The JWT of the logged in customer (in case of a web shop). description: The JWT of the logged in customer (in case of a web shop).
post: post:
tags: tags:
- Order Creation v2 - Order Creation Flow v2
summary: Add a customer token to an orderLine summary: Add a customer token to an orderLine
description: Add a customer token to an orderLine description: Add a customer token to an orderLine
requestBody: requestBody:
@ -1976,10 +1551,7 @@ paths:
v2.2.1: v2.2.1:
summary: Add an existing customer token to an orderline v2.2 summary: Add an existing customer token to an orderline v2.2
description: Add an existing customer token to an orderline v2.2 description: Add an existing customer token to an orderline v2.2
value: value: { "tokenTypeId": 1, "ovPayTokenId": 12 }
{
"tokenTypeId": 1,
"ovPayTokenId": 12}
v2.2.2: v2.2.2:
summary: Add a new customer token (emv) to an orderline v2.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 description: Add a new customer token (emv) to an orderline v2.2
@ -1987,15 +1559,17 @@ paths:
{ {
"tokenTypeId": 1, "tokenTypeId": 1,
"serviceReferenceId": "NLOV485456456445", "serviceReferenceId": "NLOV485456456445",
"amount": 100} "amount": 100,
}
v2.2.3: v2.2.3:
summary: Add a new customer token (ov pas) to an orderline v2.2 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 description: Add a new customer token (ov pas) to an orderline v2.2
value: value:
{ {
"tokenTypeId": 2, "tokenTypeId": 2,
"ovpasNumber": "OV34567", "ovpasNumber": "OV34567",
"verificationCode": "A7H6",} "verificationCode": "A7H6",
}
responses: responses:
"201": "201":
description: Created description: Created
@ -2081,43 +1655,44 @@ paths:
"amount": null, "amount": null,
"ovpasNumber": null, "ovpasNumber": null,
"verificationCode": null, "verificationCode": null,
"personalAccountData": null "personalAccountData": null,
}, },
], ],
"orderAccountingStatuses": [], "orderAccountingStatuses": [],
"validationResult": "preliminary", "validationResult": "preliminary",
"additionalRemarks": [ "additionalRemarks":
[
{ {
"code": "PERSONALACCOUNTDATA_BIRTHDATE_REQUIRED", "code": "PERSONALACCOUNTDATA_BIRTHDATE_REQUIRED",
"parameter": "personalaccountdata.birthdate", "parameter": "personalaccountdata.birthdate",
} },
], ],
"validationErrors": [], "validationErrors": [],
}, },
], ],
"payments": [], "payments": [],
"orderCustomers": null "orderCustomers": null,
} }
/customertokens/{customerTokenId}: /customertokens/{customerTokenId}:
parameters: parameters:
- in: path - in: path
name: customerTokenId name: customerTokenId
required: true required: true
style: simple style: simple
explode: false explode: false
schema: schema:
type: string type: string
format: uuid format: uuid
example: a0ef57fa-395c-4a03-96e9-234c26dccea9 example: a0ef57fa-395c-4a03-96e9-234c26dccea9
- in: header - in: header
name: X-HTM-JWT-AUTH-HEADER name: X-HTM-JWT-AUTH-HEADER
schema: schema:
type: string type: string
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
description: The JWT of the logged in customer (in case of a web shop). description: The JWT of the logged in customer (in case of a web shop).
patch: patch:
tags: tags:
- Order Creation v2 - Order Creation Flow v2
summary: Update a customer token summary: Update a customer token
description: Update a customer token description: Update a customer token
requestBody: requestBody:
@ -2134,7 +1709,8 @@ paths:
"tokenTypeId": 1, "tokenTypeId": 1,
"ovPayTokenId": null, "ovPayTokenId": null,
"serviceReferenceId": "NLOV1234567ABCDEFG", "serviceReferenceId": "NLOV1234567ABCDEFG",
"amount": 34} "amount": 34,
}
responses: responses:
"200": "200":
description: OK description: OK
@ -2209,14 +1785,16 @@ paths:
"validUntil": null, "validUntil": null,
"orderLineStatus": "orderLineStatus":
{ "orderLineStatusId": 1, "name": "pending" }, { "orderLineStatusId": 1, "name": "pending" },
"customerTokens": [ "customerTokens":
{ [
"customerTokenId":"a0ef57fa-395c-4a03-96e9-234c26dccea9", {
"tokenTypeId": 1, "customerTokenId": "a0ef57fa-395c-4a03-96e9-234c26dccea9",
"ovPayTokenId": null, "tokenTypeId": 1,
"serviceReferenceId": "NLOV1234567ABCDEFG", "ovPayTokenId": null,
"amount": 34, "serviceReferenceId": "NLOV1234567ABCDEFG",
"personalAccountData": null} "amount": 34,
"personalAccountData": null,
},
], ],
"orderAccountingStatuses": [], "orderAccountingStatuses": [],
"validationResult": "valid", "validationResult": "valid",
@ -2225,13 +1803,13 @@ paths:
}, },
], ],
"payments": [], "payments": [],
"orderCustomers": null "orderCustomers": null,
} }
delete: delete:
tags: tags:
- Order Creation v2 - Order Creation Flow v2
summary: Delete a customer token from an orderline summary: Delete a customer token from an orderline
description: Delete a customer token from an orderline description: Delete a customer token from an orderline
responses: responses:
"200": "200":
description: OK description: OK
@ -2309,7 +1887,8 @@ paths:
"customerTokens": [], "customerTokens": [],
"orderAccountingStatuses": [], "orderAccountingStatuses": [],
"validationResult": "preliminary", "validationResult": "preliminary",
"additionalRemarks": [ "additionalRemarks":
[
{ {
"code": "CUSTOMERTOKEN_REQUIRED", "code": "CUSTOMERTOKEN_REQUIRED",
"parameter": "customerTokenId", "parameter": "customerTokenId",
@ -2319,28 +1898,28 @@ paths:
}, },
], ],
"payments": [], "payments": [],
"orderCustomers": null "orderCustomers": null,
} }
/customertokens/{customerTokenId}/personalaccountdata: /customertokens/{customerTokenId}/personalaccountdata:
parameters: parameters:
- in: path - in: path
name: customerTokenId name: customerTokenId
required: true required: true
style: simple style: simple
explode: false explode: false
schema: schema:
type: string type: string
format: uuid format: uuid
example: a0ef57fa-395c-4a03-96e9-234c26dccea9 example: a0ef57fa-395c-4a03-96e9-234c26dccea9
- in: header - in: header
name: X-HTM-JWT-AUTH-HEADER name: X-HTM-JWT-AUTH-HEADER
schema: schema:
type: string type: string
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
description: The JWT of the logged in customer (in case of a web shop). description: The JWT of the logged in customer (in case of a web shop).
post: post:
tags: tags:
- Order Creation v2 - Order Creation Flow v2
summary: Add personal account data to a customer token summary: Add personal account data to a customer token
description: Add personal account data to a customer token description: Add personal account data to a customer token
requestBody: requestBody:
@ -2356,7 +1935,7 @@ paths:
{ {
"name": "Jan de Vries", "name": "Jan de Vries",
"birthdate": "1970-01-01", "birthdate": "1970-01-01",
"photo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAWJLR0Q+SWQA4wAAAAd0SU1FB+YCBAwmK58TFQgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDItMDRUMTI6Mzg6NDMrMDA6MDBAjYOrAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTAyLTA0VDEyOjM4OjQzKzAwOjAwMdA7FwAAAFd6VFh0UmF3IHByb2ZpbGUgdHlwZSBpcHRjAAB4nOPyDAhxVigoyk/LzEnlUgADIwsuYwsTIxNLkxQDEyBEgDTDZAMjs1Qgy9jUyMTMxBzEB8uASKBKLgDqFxF08kI1lQAAAYdpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+DQo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPjx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KPD94cGFja2V0IGVuZD0ndyc/PiyUmAsAAAANSURBVBhXY3grk/YfAAXYAm/HQierAAAAAElFTkSuQmCC" , "photo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAWJLR0Q+SWQA4wAAAAd0SU1FB+YCBAwmK58TFQgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDItMDRUMTI6Mzg6NDMrMDA6MDBAjYOrAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTAyLTA0VDEyOjM4OjQzKzAwOjAwMdA7FwAAAFd6VFh0UmF3IHByb2ZpbGUgdHlwZSBpcHRjAAB4nOPyDAhxVigoyk/LzEnlUgADIwsuYwsTIxNLkxQDEyBEgDTDZAMjs1Qgy9jUyMTMxBzEB8uASKBKLgDqFxF08kI1lQAAAYdpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+DQo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPjx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KPD94cGFja2V0IGVuZD0ndyc/PiyUmAsAAAANSURBVBhXY3grk/YfAAXYAm/HQierAAAAAElFTkSuQmCC",
"challengeTypeId": 1, "challengeTypeId": 1,
"oneTimePassword": "H5Iiz3JTaQeIV8p", "oneTimePassword": "H5Iiz3JTaQeIV8p",
} }
@ -2445,14 +2024,15 @@ paths:
"amount": null, "amount": null,
"ovpasNumber": null, "ovpasNumber": null,
"verificationCode": null, "verificationCode": null,
"personalAccountData":{ "personalAccountData":
"personalAccountDataId": "d9021fdd-6e83-45c0-9aef-71680f0b4e74", {
"name": "Jan de Vries", "personalAccountDataId": "d9021fdd-6e83-45c0-9aef-71680f0b4e74",
"birthdate": "1970-01-01", "name": "Jan de Vries",
"photo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAWJLR0Q+SWQA4wAAAAd0SU1FB+YCBAwmK58TFQgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDItMDRUMTI6Mzg6NDMrMDA6MDBAjYOrAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTAyLTA0VDEyOjM4OjQzKzAwOjAwMdA7FwAAAFd6VFh0UmF3IHByb2ZpbGUgdHlwZSBpcHRjAAB4nOPyDAhxVigoyk/LzEnlUgADIwsuYwsTIxNLkxQDEyBEgDTDZAMjs1Qgy9jUyMTMxBzEB8uASKBKLgDqFxF08kI1lQAAAYdpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+DQo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPjx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KPD94cGFja2V0IGVuZD0ndyc/PiyUmAsAAAANSURBVBhXY3grk/YfAAXYAm/HQierAAAAAElFTkSuQmCC" , "birthdate": "1970-01-01",
"challengeTypeId": 1, "photo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAWJLR0Q+SWQA4wAAAAd0SU1FB+YCBAwmK58TFQgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDItMDRUMTI6Mzg6NDMrMDA6MDBAjYOrAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTAyLTA0VDEyOjM4OjQzKzAwOjAwMdA7FwAAAFd6VFh0UmF3IHByb2ZpbGUgdHlwZSBpcHRjAAB4nOPyDAhxVigoyk/LzEnlUgADIwsuYwsTIxNLkxQDEyBEgDTDZAMjs1Qgy9jUyMTMxBzEB8uASKBKLgDqFxF08kI1lQAAAYdpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+DQo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPjx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KPD94cGFja2V0IGVuZD0ndyc/PiyUmAsAAAANSURBVBhXY3grk/YfAAXYAm/HQierAAAAAElFTkSuQmCC",
"oneTimePassword": "H5Iiz3JTaQeIV8p", "challengeTypeId": 1,
} "oneTimePassword": "H5Iiz3JTaQeIV8p",
},
}, },
], ],
"orderAccountingStatuses": [], "orderAccountingStatuses": [],
@ -2462,28 +2042,28 @@ paths:
}, },
], ],
"payments": [], "payments": [],
"orderCustomers": null "orderCustomers": null,
} }
/personalaccountdata/{personalAccountDataId}: /personalaccountdata/{personalAccountDataId}:
parameters: parameters:
- in: path - in: path
name: personalAccountDataId name: personalAccountDataId
required: true required: true
style: simple style: simple
explode: false explode: false
schema: schema:
type: string type: string
format: uuid format: uuid
example: d9021fdd-6e83-45c0-9aef-71680f0b4e74 example: d9021fdd-6e83-45c0-9aef-71680f0b4e74
- in: header - in: header
name: X-HTM-JWT-AUTH-HEADER name: X-HTM-JWT-AUTH-HEADER
schema: schema:
type: string type: string
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
description: The JWT of the logged in customer (in case of a web shop). description: The JWT of the logged in customer (in case of a web shop).
patch: patch:
tags: tags:
- Order Creation v2 - Order Creation Flow v2
summary: Update personal account data. P2 summary: Update personal account data. P2
description: Update personal account data description: Update personal account data
requestBody: requestBody:
@ -2495,10 +2075,7 @@ paths:
v2.2: v2.2:
summary: Update personal account data v2.2 summary: Update personal account data v2.2
description: Update personal account data v2.2 description: Update personal account data v2.2
value: value: { "birthdate": "2010-01-01" }
{
"birthdate": "2010-01-01",
}
responses: responses:
"201": "201":
description: Created description: Created
@ -2584,33 +2161,35 @@ paths:
"amount": null, "amount": null,
"ovpasNumber": null, "ovpasNumber": null,
"verificationCode": null, "verificationCode": null,
"personalAccountData":{ "personalAccountData":
"personalAccountDataId": "d9021fdd-6e83-45c0-9aef-71680f0b4e74", {
"name": "Jan de Vries", "personalAccountDataId": "d9021fdd-6e83-45c0-9aef-71680f0b4e74",
"birthdate": "2010-01-01", "name": "Jan de Vries",
"photo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAWJLR0Q+SWQA4wAAAAd0SU1FB+YCBAwmK58TFQgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDItMDRUMTI6Mzg6NDMrMDA6MDBAjYOrAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTAyLTA0VDEyOjM4OjQzKzAwOjAwMdA7FwAAAFd6VFh0UmF3IHByb2ZpbGUgdHlwZSBpcHRjAAB4nOPyDAhxVigoyk/LzEnlUgADIwsuYwsTIxNLkxQDEyBEgDTDZAMjs1Qgy9jUyMTMxBzEB8uASKBKLgDqFxF08kI1lQAAAYdpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+DQo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPjx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KPD94cGFja2V0IGVuZD0ndyc/PiyUmAsAAAANSURBVBhXY3grk/YfAAXYAm/HQierAAAAAElFTkSuQmCC" , "birthdate": "2010-01-01",
"challengeTypeId": 1, "photo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAWJLR0Q+SWQA4wAAAAd0SU1FB+YCBAwmK58TFQgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDItMDRUMTI6Mzg6NDMrMDA6MDBAjYOrAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTAyLTA0VDEyOjM4OjQzKzAwOjAwMdA7FwAAAFd6VFh0UmF3IHByb2ZpbGUgdHlwZSBpcHRjAAB4nOPyDAhxVigoyk/LzEnlUgADIwsuYwsTIxNLkxQDEyBEgDTDZAMjs1Qgy9jUyMTMxBzEB8uASKBKLgDqFxF08kI1lQAAAYdpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+DQo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPjx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KPD94cGFja2V0IGVuZD0ndyc/PiyUmAsAAAANSURBVBhXY3grk/YfAAXYAm/HQierAAAAAElFTkSuQmCC",
"oneTimePassword": "H5Iiz3JTaQeIV8p", "challengeTypeId": 1,
} "oneTimePassword": "H5Iiz3JTaQeIV8p",
},
}, },
], ],
"orderAccountingStatuses": [], "orderAccountingStatuses": [],
"validationResult": "invalid", "validationResult": "invalid",
"additionalRemarks": [], "additionalRemarks": [],
"validationErrors": [ "validationErrors":
[
{ {
"detail": "Product is for gboAgeProfile 19-65, given gboAgeProfile is 12-19", "detail": "Product is for gboAgeProfile 19-65, given gboAgeProfile is 12-19",
"pointer": "#/customerTokens/878ad7c1-cd8f-4bcf-a983-1bd8c6e6975e/personalAccountData/birthdate", "pointer": "#/customerTokens/878ad7c1-cd8f-4bcf-a983-1bd8c6e6975e/personalAccountData/birthdate",
}, },
], ],
}, },
], ],
"payments": [], "payments": [],
"orderCustomers": null "orderCustomers": null,
} }
delete: delete:
tags: tags:
- Order Creation v2 - Order Creation Flow v2
summary: Delete personal account data. P2 summary: Delete personal account data. P2
description: Delete personal account data description: Delete personal account data
responses: responses:
@ -2698,7 +2277,7 @@ paths:
"amount": null, "amount": null,
"ovpasNumber": null, "ovpasNumber": null,
"verificationCode": null, "verificationCode": null,
"personalAccountData": null "personalAccountData": null,
}, },
], ],
"orderAccountingStatuses": [], "orderAccountingStatuses": [],
@ -2708,7 +2287,7 @@ paths:
}, },
], ],
"payments": [], "payments": [],
"orderCustomers": null "orderCustomers": null,
} }
/orders/{orderId}/payments: /orders/{orderId}/payments:
parameters: parameters:
@ -2729,7 +2308,7 @@ paths:
description: The JWT of the logged in customer (in case of a web shop). description: The JWT of the logged in customer (in case of a web shop).
post: post:
tags: tags:
- Order Creation v2 - Order Creation Flow v2
summary: Add a payment to an existing order. summary: Add a payment to an existing order.
description: Add a payment to an existing order. description: Add a payment to an existing order.
requestBody: requestBody:
@ -2981,7 +2560,7 @@ paths:
description: The JWT of the logged in customer (in case of a web shop). description: The JWT of the logged in customer (in case of a web shop).
patch: patch:
tags: tags:
- Order Creation v2 - Order Creation Flow v2
summary: Update a payment on an existing order. summary: Update a payment on an existing order.
description: Update a payment on an existing order. description: Update a payment on an existing order.
requestBody: requestBody:
@ -3439,7 +3018,7 @@ paths:
description: The JWT of the logged in customer (in case of a web shop). description: The JWT of the logged in customer (in case of a web shop).
post: post:
tags: tags:
- Order Creation v2 - Order Creation Flow v2
summary: Add a customer to an existing order. summary: Add a customer to an existing order.
description: Add a customer to an existing order. description: Add a customer to an existing order.
requestBody: requestBody:
@ -3621,7 +3200,7 @@ paths:
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
description: The JWT of the logged in customer (in case of a web shop). description: The JWT of the logged in customer (in case of a web shop).
tags: tags:
- Order Creation v2 - Order Creation Flow v2
summary: Update a customer on an existing order. summary: Update a customer on an existing order.
description: Update a customer on an existing order. description: Update a customer on an existing order.
requestBody: requestBody:
@ -3791,7 +3370,7 @@ paths:
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
description: The JWT of the logged in customer (in case of a web shop). description: The JWT of the logged in customer (in case of a web shop).
tags: tags:
- Order Creation v2 - Order Creation Flow v2
summary: Create a customer address for an existing order. summary: Create a customer address for an existing order.
description: Create a customer address for an existing order. description: Create a customer address for an existing order.
requestBody: requestBody:
@ -3969,7 +3548,7 @@ paths:
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
description: The JWT of the logged in customer (in case of a web shop). description: The JWT of the logged in customer (in case of a web shop).
tags: tags:
- Order Creation v2 - Order Creation Flow v2
summary: Update a customer address for an existing order. summary: Update a customer address for an existing order.
description: Update a customer address for an existing order. description: Update a customer address for an existing order.
requestBody: requestBody:
@ -4130,7 +3709,7 @@ paths:
} }
delete: delete:
tags: tags:
- Order Creation v2 - Order Creation Flow v2
summary: Delete an existing order address. summary: Delete an existing order address.
description: Delete an existing order address. description: Delete an existing order address.
parameters: parameters:
@ -4246,7 +3825,7 @@ paths:
description: The JWT of the logged in customer (in case of a web shop). description: The JWT of the logged in customer (in case of a web shop).
post: post:
tags: tags:
- Order Fulfill v2 - Order Fulfillment v2
summary: Fulfill an order without creating or updating the order as a resource. 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. description: Fulfill an order without creating or updating the order as a resource.
responses: responses: