OVPAY-1564 - Improvements in validation objects, part 1.

This commit is contained in:
Bas Boterman 2025-03-20 17:12:01 +01:00
parent 79dbbe14ff
commit a6005c6f2f

View File

@ -731,7 +731,7 @@ paths:
description: The JWT of the logged in customer (in case of a web shop).
get:
tags:
- Order Retrieval v2.1
- Order Retrieval v1 & v2
summary: Get all orders for a specific customer.
description: Get all orders for a specific customer.
responses:
@ -741,7 +741,11 @@ paths:
application/json:
schema:
$ref: "#/components/schemas/unavailable"
example:
examples:
v2:
summary: Order list for customer v2
description: Order list for customer v2
value:
{
"orders":
[
@ -777,9 +781,11 @@ paths:
"createdOn": "2024-03-22T09:00:00",
"description": "Order succesvol betaald",
},
"orderLines": [],
"payments":
[
{
"paymentId": "c772868c-5cce-46a3-8821-be6811332252",
"createdOn": "2024-03-22T09:00:00",
"amountDebit": 121,
"paymentMethodId": 1,
@ -790,6 +796,7 @@ paths:
"paymentStatuses":
[
{
"paymentStatusId": "ff9f2365-efc8-4f97-a6c1-e01fcddad917",
"createdOn": "2024-03-22T09:00:00",
"statusCode": "190",
"statusDescription": "Success",
@ -799,6 +806,7 @@ paths:
],
"mandateInput":
{
"mandateInputId": "1d6626cd-b93b-4ea6-85d5-a8e3a24a2725",
"directDebitMandateTypeId": 1,
"createdOn": "2024-03-22T09:00:00",
"bic": "RABONL2U",
@ -808,6 +816,7 @@ paths:
},
},
],
"orderCustomer": null,
"_links":
{
"self":
@ -872,7 +881,7 @@ paths:
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.1
- Order Retrieval v1 & v2
summary: Find orders.
description: Find orders.
responses:
@ -882,7 +891,11 @@ paths:
application/json:
schema:
$ref: "#/components/schemas/unavailable"
example:
examples:
v2:
summary: Find orders v2
description: Find orders v2
value:
{
"orders":
[
@ -918,9 +931,11 @@ paths:
"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,
"paymentMethodId": 1,
@ -931,6 +946,7 @@ paths:
"paymentStatuses":
[
{
"paymentStatusId": "42eee610-1a17-4f02-be14-7e25d69d35f3",
"createdOn": "2024-03-22T09:00:00",
"statusCode": "190",
"statusDescription": "Success",
@ -940,6 +956,7 @@ paths:
],
"mandateInput":
{
"mandateInputId": "5397f2d7-eefa-4e82-a086-1e0e3ad38bdb",
"directDebitMandateTypeId": 1,
"createdOn": "2024-03-22T09:00:00",
"bic": "RABONL2U",
@ -949,6 +966,7 @@ paths:
},
},
],
"orderCustomer": null,
"_links":
{
"self":
@ -973,10 +991,10 @@ paths:
}
post:
tags:
- Order Creation v2.0
summary: Create a new order v2.0.
- Order Creation v2
summary: Create a new order
description: |
Create a new order v2.0. This order can only contain the order itself,
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".
@ -1352,17 +1370,27 @@ paths:
},
},
],
"orderAccountingStatuses": [],
"validationResult": false,
"additionalRemarks":
[
{
"code": "MANDATE_REQUIRED",
"parameter": "directDebitMandateId",
},
],
"validationErrors":
[
{
"detail": "Startdate of this product should be at most 60 days in the future.",
"pointer": "#/0/startDate",
},
],
},
"orderValidation":
{
"validationResult": true,
"additionalRemarks":
[{ "code": "string", "parameter": "string" }],
"validationErrors":
[{ "detail": "string", "pointer": "string" }],
],
},
"payments": [],
"orderCustomer": null,
}
v1.2:
value:
@ -1417,7 +1445,7 @@ paths:
description: The JWT of the logged in customer (in case of a web shop).
get:
tags:
- Order Retrieval v1.1
- Order Retrieval v1 & v2
summary: Get a single order.
description: Get a single order.
responses:
@ -1427,7 +1455,11 @@ paths:
application/json:
schema:
$ref: "#/components/schemas/unavailable"
example:
examples:
v2:
summary: Order details v2
description: Order details v2
value:
{
"orderId": "afce35b2-1dff-4ace-98d0-4b9ac405c87d",
"externalOrderId": "bac3958b-804a-43e3-b5f7-0b0fffaae5b7",
@ -1456,7 +1488,8 @@ paths:
[
{
"order_orderStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f",
"orderStatus": { "orderStatusId": 4, "name": "paid" },
"orderStatus":
{ "orderStatusId": 4, "name": "paid" },
"createdOn": "2024-03-22T09:00:00",
"description": "Order succesvol betaald",
},
@ -1505,7 +1538,8 @@ paths:
[
{
"customerTokenId": "878ad7c1-cd8f-4bcf-a983-1bd8c6e6975e",
"tokenType": { "tokenTypeId": 1, "name": "EMV" },
"tokenType":
{ "tokenTypeId": 1, "name": "EMV" },
"ovPayTokenId": 1,
"serviceReferenceId": "NLOV1234567ABCDEFG",
@ -1520,7 +1554,10 @@ paths:
"photoReference": "DSC_0502.JPG",
"fileType": "image/jpg",
"challengeType":
{ "challengeTypeId": 1, "name": "email" },
{
"challengeTypeId": 1,
"name": "email",
},
"oneTimePassword": "H5Iiz3JTaQeIV8p",
},
},
@ -1535,6 +1572,21 @@ paths:
"description": "Financiele transactie voor de FIKO.",
},
],
"validationResult": false,
"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":
@ -1603,10 +1655,19 @@ paths:
},
],
},
"_links":
{
"self":
{
"href": "https://api.example.com/items/1",
"method": "GET",
"templated": true,
},
},
}
patch:
tags:
- Order Creation v2.0
- Order Creation v2
summary: Update an existing order.
description: Update an existing order.
requestBody:
@ -1705,9 +1766,10 @@ paths:
"validUntil": null,
"orderLineStatus":
{ "orderLineStatusId": 1, "name": "pending" },
"tokens":
"customerTokens":
[
{
"customerTokenId": "878ad7c1-cd8f-4bcf-a983-1bd8c6e6975e",
"tokenTypeId": 1,
"ovPayTokenId": 1,
"serviceReferenceId": "NLOV1234567ABCDEFG",
@ -1716,6 +1778,7 @@ paths:
"verificationCode": "A7H6",
"personalAccountData":
{
"personalAccountDataId": "47db8a40-3238-4bf5-9284-759e3888bd47",
"name": "Jan de Vries",
"dateOfBirth": "01-01-1970",
"photoReference": "DSC_0502.JPG",
@ -1725,6 +1788,7 @@ paths:
},
},
],
"validationResult": true,
"additionalRemarks":
[
{
@ -1732,11 +1796,13 @@ paths:
"parameter": "directDebitMandateId",
},
],
"validationErrors": [],
},
],
"payments":
[
{
"paymentId": "94270188-4cf6-447e-bd49-e8186bcec073",
"createdOn": "2024-03-22T09:00:00",
"amountDebit": 121,
"paymentMethodId": 1,
@ -1747,6 +1813,7 @@ paths:
"paymentStatuses":
[
{
"paymentStatusId": "42eee610-1a17-4f02-be14-7e25d69d35f3",
"createdOn": "2024-03-22T09:00:00",
"statusCode": "190",
"statusDescription": "Success",
@ -1754,26 +1821,30 @@ paths:
"statusSubDescription": "PaymentSuccessFul",
},
],
"payPush":
"mandateInput":
{
"consumerIssuer": "ABN AMRO",
"transactionId": "0000000000000001",
"consumerName": "J. de Vries",
"consumerIBAN": "NL44RABO0123456789",
"consumerBIC": "RABONL2U",
"mandateInputId": "1d6626cd-b93b-4ea6-85d5-a8e3a24a2725",
"directDebitMandateTypeId": 1,
"createdOn": "2024-03-22T09:00:00",
"bic": "RABONL2U",
"iban": "NL44RABO0123456789",
"ascription": "J. de Vries",
"place": "Den Haag",
},
},
],
"customer":
"orderCustomer":
{
"orderCustomerId": "94270188-4cf6-447e-bd49-e8186bcec073",
"birthname": "Jan",
"surname": "Vries",
"prefix": "de",
"emailAddress": "jandevries@outlook.com",
"dateOfBirth": "1970-01-01",
"addresses":
"orderCustomerAddresses":
[
{
"orderCustomerAddressId": "94270188-4cf6-447e-bd49-e8186bcec073",
"addressTypeId": 1,
"street": "Kon. Julianaplein",
"houseNumber": 10,
@ -1821,7 +1892,7 @@ paths:
}
delete:
tags:
- Order Creation v2.0
- Order Creation v2
summary: Delete an existing order.
description: Delete an existing order.
responses:
@ -1867,7 +1938,7 @@ paths:
description: The JWT of the logged in customer (in case of a web shop).
post:
tags:
- Order Creation v2.0
- Order Creation v2
summary: Add a new order line to an existing order.
description: Add a new order line to an existing order.
requestBody:
@ -1886,9 +1957,8 @@ paths:
"quantity": 1,
"validFrom": "2024-03-22T09:00:00",
"validUntil": null,
"orderLineStatusId": 1,
"createdOn": "2024-03-22T09:00:00",
"customerTokens":
"tokens":
[
{
"tokenTypeId": 1,
@ -1922,7 +1992,7 @@ paths:
"validUntil": "2025-03-22T09:00:00",
"orderLineStatusId": 4,
"createdOn": "2024-03-22T09:00:00",
"customerTokens":
"tokens":
[
{
"tokenTypeId": 1,
@ -1961,6 +2031,8 @@ paths:
examples:
v2.0:
value:
{
"order":
{
"orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df",
"externalOrderId": null,
@ -2084,36 +2156,7 @@ paths:
"additionalRemarks": [],
},
],
"payments":
[
{
"createdOn": "2024-03-22T09:00:00",
"amountDebit": 121,
"paymentMethodId": 1,
"touchPointId": 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",
},
},
],
"payments": [],
"customer":
{
"birthname": "Jan",
@ -2134,6 +2177,7 @@ paths:
},
],
},
},
}
v1.2:
value:
@ -2185,7 +2229,7 @@ paths:
description: The JWT of the logged in customer (in case of a web shop).
patch:
tags:
- Order Creation v2.0
- Order Creation v2
summary: Update an existing order line.
description: Update an existing order line.
requestBody:
@ -2392,7 +2436,7 @@ paths:
}
delete:
tags:
- Order Creation v2.0
- Order Creation v2
summary: Delete an existing order line.
description: Delete an existing order line.
responses:
@ -2503,7 +2547,7 @@ paths:
description: The JWT of the logged in customer (in case of a web shop).
post:
tags:
- Order Creation v2.0
- Order Creation v2
summary: Add a payment to an existing order.
description: Add a payment to an existing order.
requestBody:
@ -2513,8 +2557,8 @@ paths:
$ref: "#/components/schemas/unavailable"
examples:
v2.0:
summary: Order creation v2.0
description: Order creation v2.0
summary: Order Creation v2
description: Order Creation v2
value:
{
"createdOn": "2024-03-22T09:00:00",
@ -2772,7 +2816,7 @@ paths:
description: The JWT of the logged in customer (in case of a web shop).
patch:
tags:
- Order Creation v2.0
- Order Creation v2
summary: Update a payment on an existing order.
description: Update a payment on an existing order.
requestBody:
@ -2979,7 +3023,7 @@ paths:
description: The JWT of the logged in customer (in case of a web shop).
post:
tags:
- Order Creation v2.0
- Order Creation v2
summary: Add a customer to an existing order.
description: Add a customer to an existing order.
requestBody:
@ -3170,7 +3214,7 @@ paths:
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
description: The JWT of the logged in customer (in case of a web shop).
tags:
- Order Creation v2.0
- Order Creation v2
summary: Update a customer on an existing order.
description: Update a customer on an existing order.
requestBody:
@ -3338,7 +3382,7 @@ paths:
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
description: The JWT of the logged in customer (in case of a web shop).
tags:
- Order Creation v2.0
- Order Creation v2
summary: Create a customer address for an existing order.
description: Create a customer address for an existing order.
requestBody:
@ -3498,7 +3542,7 @@ paths:
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
description: The JWT of the logged in customer (in case of a web shop).
tags:
- Order Creation v2.0
- Order Creation v2
summary: Update a customer address for an existing order.
description: Update a customer address for an existing order.
requestBody:
@ -3641,7 +3685,7 @@ paths:
}
delete:
tags:
- Order Creation v2.0
- Order Creation v2
summary: Delete an existing order address
description: Delete an existing order address
parameters: