Merge branch 'develop' of https://git.integratielaag.nl/HTM/ovpay into features/OVPAY2313-V2-swaggers-infoplaza
This commit is contained in:
commit
93efb6b8f7
File diff suppressed because it is too large
Load Diff
@ -417,38 +417,56 @@ paths:
|
|||||||
example:
|
example:
|
||||||
Entries:
|
Entries:
|
||||||
phoneTypes:
|
phoneTypes:
|
||||||
- name: mobile
|
- name: Mobiel
|
||||||
id: 1
|
id: 1
|
||||||
- name: fixed line
|
- name: Thuis
|
||||||
id: 2
|
id: 2
|
||||||
|
- name: Ouders
|
||||||
|
id: 3
|
||||||
|
- name: Bewindvoerder
|
||||||
|
id: 4
|
||||||
|
- name: Home
|
||||||
|
id: 5
|
||||||
|
- name: Mobile
|
||||||
|
id: 6
|
||||||
|
- name: Work
|
||||||
|
id: 7
|
||||||
|
- name: Noodtelefoon
|
||||||
|
id: 8
|
||||||
addressTypes:
|
addressTypes:
|
||||||
- name: home
|
- name: Shipping
|
||||||
id: 1
|
id: 1
|
||||||
- name: office
|
- name: Billing
|
||||||
id: 2
|
id: 2
|
||||||
customerStatuses:
|
customerStatuses:
|
||||||
- name: active
|
- name: Inactive
|
||||||
id: 1
|
id: 1
|
||||||
- name: blocked
|
- name: Active
|
||||||
id: 2
|
id: 2
|
||||||
- name: inactive
|
- name: Blocked
|
||||||
id: 3
|
id: 3
|
||||||
- name: new
|
- name: Frozen
|
||||||
id: 4
|
id: 4
|
||||||
|
- name: Cleared
|
||||||
|
id: 5
|
||||||
tokenTypes:
|
tokenTypes:
|
||||||
- name: Debit card
|
- name: EMV
|
||||||
id: 1
|
id: 1
|
||||||
- name: Credit card
|
|
||||||
id: 2
|
|
||||||
- name: OVPas physical
|
- name: OVPas physical
|
||||||
id: 3
|
id: 2
|
||||||
- name: OVPas digital
|
- name: OVPas digital
|
||||||
id: 4
|
id: 3
|
||||||
directDebitMandateTypes:
|
directDebitMandateTypes:
|
||||||
- name: Paper Contract
|
- name: Paper Contract
|
||||||
id: 1
|
id: 1
|
||||||
- name: PIN transaction
|
- name: PIN transaction
|
||||||
id: 2
|
id: 2
|
||||||
|
- name: SEPA eMandate
|
||||||
|
id: 3
|
||||||
|
- name: Digital signature
|
||||||
|
id: 4
|
||||||
|
- name: IDEAL transaction
|
||||||
|
id: 5
|
||||||
tokenStatuses:
|
tokenStatuses:
|
||||||
- name: Expired
|
- name: Expired
|
||||||
id: 1
|
id: 1
|
||||||
|
|||||||
@ -257,6 +257,7 @@ paths:
|
|||||||
value:
|
value:
|
||||||
notificationCategoryId: 1
|
notificationCategoryId: 1
|
||||||
customerProfileId: 1337
|
customerProfileId: 1337
|
||||||
|
ovPayTokenId: 42
|
||||||
subscriptionActivity:
|
subscriptionActivity:
|
||||||
user: "1001337"
|
user: "1001337"
|
||||||
timestamp: "2025-10-02T14:00:00Z"
|
timestamp: "2025-10-02T14:00:00Z"
|
||||||
@ -666,6 +667,10 @@ paths:
|
|||||||
schema:
|
schema:
|
||||||
$ref: "#/components/schemas/GetNotificationCategoriesResponse"
|
$ref: "#/components/schemas/GetNotificationCategoriesResponse"
|
||||||
examples:
|
examples:
|
||||||
|
emptyNotificationCategoriesResponse:
|
||||||
|
summary: No notification categories found
|
||||||
|
value:
|
||||||
|
notificationCategories: []
|
||||||
getNotifactionCategories?expand=none:
|
getNotifactionCategories?expand=none:
|
||||||
summary: Return all the notification categories without nested attributes (expand=none)
|
summary: Return all the notification categories without nested attributes (expand=none)
|
||||||
value:
|
value:
|
||||||
@ -1388,6 +1393,9 @@ components:
|
|||||||
customerProfileId:
|
customerProfileId:
|
||||||
type: integer
|
type: integer
|
||||||
example: 1337
|
example: 1337
|
||||||
|
ovPayTokenId:
|
||||||
|
type: integer
|
||||||
|
example: 42
|
||||||
subscriptionActivity:
|
subscriptionActivity:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
@ -1418,14 +1426,9 @@ components:
|
|||||||
PatchNotificationSubscriptionRequest:
|
PatchNotificationSubscriptionRequest:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
notificationCategoryId:
|
ovPayTokenId:
|
||||||
type: integer
|
type: integer
|
||||||
example: 1
|
example: 43
|
||||||
customerProfileId:
|
|
||||||
type: integer
|
|
||||||
example: 1337
|
|
||||||
required:
|
|
||||||
- notificationCategoryId
|
|
||||||
PatchNotificationSubscriptionResponse:
|
PatchNotificationSubscriptionResponse:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
|
|||||||
@ -324,7 +324,7 @@ paths:
|
|||||||
{
|
{
|
||||||
"orderCustomerAddressId": "aa50047c-58ac-4f15-9448-ee000dfc6893",
|
"orderCustomerAddressId": "aa50047c-58ac-4f15-9448-ee000dfc6893",
|
||||||
"addressType":
|
"addressType":
|
||||||
{ "addressTypeId": 3, "name": "Billing" },
|
{ "addressTypeId": 2, "name": "Billing" },
|
||||||
"street": "Kon. Julianaplein",
|
"street": "Kon. Julianaplein",
|
||||||
"houseNumber": 10,
|
"houseNumber": 10,
|
||||||
"houseNumberSuffix": "a",
|
"houseNumberSuffix": "a",
|
||||||
@ -635,7 +635,7 @@ paths:
|
|||||||
{
|
{
|
||||||
"orderCustomerAddressId": "aa50047c-58ac-4f15-9448-ee000dfc6893",
|
"orderCustomerAddressId": "aa50047c-58ac-4f15-9448-ee000dfc6893",
|
||||||
"addressType":
|
"addressType":
|
||||||
{ "addressTypeId": 3, "name": "Billing" },
|
{ "addressTypeId": 2, "name": "Billing" },
|
||||||
"street": "Kon. Julianaplein",
|
"street": "Kon. Julianaplein",
|
||||||
"houseNumber": 10,
|
"houseNumber": 10,
|
||||||
"houseNumberSuffix": "a",
|
"houseNumberSuffix": "a",
|
||||||
@ -1046,7 +1046,7 @@ paths:
|
|||||||
"orderCustomerAddresses":
|
"orderCustomerAddresses":
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
"addressTypeId": 3,
|
"addressTypeId": 2,
|
||||||
"street": "Kon. Julianaplein",
|
"street": "Kon. Julianaplein",
|
||||||
"houseNumber": 10,
|
"houseNumber": 10,
|
||||||
"houseNumberSuffix": "a",
|
"houseNumberSuffix": "a",
|
||||||
@ -2328,7 +2328,7 @@ paths:
|
|||||||
{
|
{
|
||||||
"orderCustomerAddressId": "aa50047c-58ac-4f15-9448-ee000dfc6893",
|
"orderCustomerAddressId": "aa50047c-58ac-4f15-9448-ee000dfc6893",
|
||||||
"addressType":
|
"addressType":
|
||||||
{ "addressTypeId": 3, "name": "Billing" },
|
{ "addressTypeId": 2, "name": "Billing" },
|
||||||
"street": "Kon. Julianaplein",
|
"street": "Kon. Julianaplein",
|
||||||
"houseNumber": 10,
|
"houseNumber": 10,
|
||||||
"houseNumberSuffix": "a",
|
"houseNumberSuffix": "a",
|
||||||
@ -2398,7 +2398,7 @@ paths:
|
|||||||
$ref: "#/components/schemas/unavailable"
|
$ref: "#/components/schemas/unavailable"
|
||||||
example:
|
example:
|
||||||
{
|
{
|
||||||
"addressTypeId": 3,
|
"addressTypeId": 2,
|
||||||
"street": "Kon. Julianaplein",
|
"street": "Kon. Julianaplein",
|
||||||
"houseNumber": 10,
|
"houseNumber": 10,
|
||||||
"houseNumberSuffix": "a",
|
"houseNumberSuffix": "a",
|
||||||
@ -2448,7 +2448,7 @@ paths:
|
|||||||
type: integer
|
type: integer
|
||||||
explode: false
|
explode: false
|
||||||
required: false
|
required: false
|
||||||
description: Filter on possible types of addresses. 1 = Shipping, 3 = Billing.
|
description: Filter on possible types of addresses. 1 = Shipping, 2 = Billing.
|
||||||
- in: query
|
- in: query
|
||||||
name: street
|
name: street
|
||||||
schema:
|
schema:
|
||||||
@ -2504,7 +2504,7 @@ paths:
|
|||||||
"orderCustomerAddressId": "aa50047c-58ac-4f15-9448-ee000dfc6893",
|
"orderCustomerAddressId": "aa50047c-58ac-4f15-9448-ee000dfc6893",
|
||||||
"orderCustomerId": "540d8b7a-d626-443f-8f99-c24398604d7a",
|
"orderCustomerId": "540d8b7a-d626-443f-8f99-c24398604d7a",
|
||||||
"orderId": "73cca95a-81d1-468f-a8bf-99b36367001a",
|
"orderId": "73cca95a-81d1-468f-a8bf-99b36367001a",
|
||||||
"addressType": { "addressTypeId": 3, "name": "Billing" },
|
"addressType": { "addressTypeId": 2, "name": "Billing" },
|
||||||
"street": "Kon. Julianaplein",
|
"street": "Kon. Julianaplein",
|
||||||
"houseNumber": 10,
|
"houseNumber": 10,
|
||||||
"houseNumberSuffix": "a",
|
"houseNumberSuffix": "a",
|
||||||
|
|||||||
@ -1314,7 +1314,7 @@ paths:
|
|||||||
{
|
{
|
||||||
"orderCustomerAddressId": "aa50047c-58ac-4f15-9448-ee000dfc6893",
|
"orderCustomerAddressId": "aa50047c-58ac-4f15-9448-ee000dfc6893",
|
||||||
"addressType":
|
"addressType":
|
||||||
{ "addressTypeId": 3, "name": "Billing" },
|
{ "addressTypeId": 2, "name": "Billing" },
|
||||||
"street": "Kon. Julianaplein",
|
"street": "Kon. Julianaplein",
|
||||||
"houseNumber": 10,
|
"houseNumber": 10,
|
||||||
"houseNumberSuffix": "a",
|
"houseNumberSuffix": "a",
|
||||||
@ -3688,7 +3688,7 @@ paths:
|
|||||||
{
|
{
|
||||||
"orderCustomerAddressId": "94270188-4cf6-447e-bd49-e8186bcec073",
|
"orderCustomerAddressId": "94270188-4cf6-447e-bd49-e8186bcec073",
|
||||||
"addressType":
|
"addressType":
|
||||||
{ "addressTypeId": 3, "name": "Billing" },
|
{ "addressTypeId": 2, "name": "Billing" },
|
||||||
"street": "Kon. Julianaplein",
|
"street": "Kon. Julianaplein",
|
||||||
"houseNumber": 10,
|
"houseNumber": 10,
|
||||||
"houseNumberSuffix": "a",
|
"houseNumberSuffix": "a",
|
||||||
@ -3965,7 +3965,7 @@ paths:
|
|||||||
{
|
{
|
||||||
"orderCustomerAddressId": "94270188-4cf6-447e-bd49-e8186bcec073",
|
"orderCustomerAddressId": "94270188-4cf6-447e-bd49-e8186bcec073",
|
||||||
"addressTypeId":
|
"addressTypeId":
|
||||||
{ "addressTypeId": 3, "name": "Billing" },
|
{ "addressTypeId": 2, "name": "Billing" },
|
||||||
"street": "Kon. Julianaplein",
|
"street": "Kon. Julianaplein",
|
||||||
"houseNumber": 10,
|
"houseNumber": 10,
|
||||||
"houseNumberSuffix": "a",
|
"houseNumberSuffix": "a",
|
||||||
@ -4174,7 +4174,7 @@ paths:
|
|||||||
{
|
{
|
||||||
"orderCustomerAddressId": "94270188-4cf6-447e-bd49-e8186bcec073",
|
"orderCustomerAddressId": "94270188-4cf6-447e-bd49-e8186bcec073",
|
||||||
"addressTypeId":
|
"addressTypeId":
|
||||||
{ "addressTypeId": 3, "name": "Billing" },
|
{ "addressTypeId": 2, "name": "Billing" },
|
||||||
"street": "Kon. Julianaplein",
|
"street": "Kon. Julianaplein",
|
||||||
"houseNumber": 10,
|
"houseNumber": 10,
|
||||||
"houseNumberSuffix": "a",
|
"houseNumberSuffix": "a",
|
||||||
@ -4226,7 +4226,7 @@ paths:
|
|||||||
"orderCustomerAddresses":
|
"orderCustomerAddresses":
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
"addressTypeId": 3,
|
"addressTypeId": 2,
|
||||||
"street": "Kon. Julianaplein",
|
"street": "Kon. Julianaplein",
|
||||||
"houseNumber": 10,
|
"houseNumber": 10,
|
||||||
"houseNumberSuffix": "a",
|
"houseNumberSuffix": "a",
|
||||||
@ -4433,7 +4433,7 @@ paths:
|
|||||||
{
|
{
|
||||||
"orderCustomerAddressId": "94270188-4cf6-447e-bd49-e8186bcec073",
|
"orderCustomerAddressId": "94270188-4cf6-447e-bd49-e8186bcec073",
|
||||||
"addressType":
|
"addressType":
|
||||||
{ "addressTypeId": 3, "name": "Billing" },
|
{ "addressTypeId": 2, "name": "Billing" },
|
||||||
"street": "Kon. Julianaplein",
|
"street": "Kon. Julianaplein",
|
||||||
"houseNumber": 10,
|
"houseNumber": 10,
|
||||||
"houseNumberSuffix": "a",
|
"houseNumberSuffix": "a",
|
||||||
@ -4680,7 +4680,7 @@ paths:
|
|||||||
{
|
{
|
||||||
"orderCustomerAddressId": "94270188-4cf6-447e-bd49-e8186bcec073",
|
"orderCustomerAddressId": "94270188-4cf6-447e-bd49-e8186bcec073",
|
||||||
"addressType":
|
"addressType":
|
||||||
{ "addressTypeId": 3, "name": "Billing" },
|
{ "addressTypeId": 2, "name": "Billing" },
|
||||||
"street": "Kon. Julianaplein",
|
"street": "Kon. Julianaplein",
|
||||||
"houseNumber": 10,
|
"houseNumber": 10,
|
||||||
"houseNumberSuffix": "a",
|
"houseNumberSuffix": "a",
|
||||||
@ -4724,7 +4724,7 @@ paths:
|
|||||||
description: Add an address to a customer on an order
|
description: Add an address to a customer on an order
|
||||||
value:
|
value:
|
||||||
{
|
{
|
||||||
"addressTypeId": 3,
|
"addressTypeId": 2,
|
||||||
"street": "Kon. Julianaplein",
|
"street": "Kon. Julianaplein",
|
||||||
"houseNumber": 10,
|
"houseNumber": 10,
|
||||||
"houseNumberSuffix": "a",
|
"houseNumberSuffix": "a",
|
||||||
@ -4935,7 +4935,7 @@ paths:
|
|||||||
{
|
{
|
||||||
"orderCustomerAddressId": "a0ef57fa-395c-4a03-96e9-234c26dccea9",
|
"orderCustomerAddressId": "a0ef57fa-395c-4a03-96e9-234c26dccea9",
|
||||||
"addressType":
|
"addressType":
|
||||||
{ "addressTypeId": 3, "name": "Billing" },
|
{ "addressTypeId": 2, "name": "Billing" },
|
||||||
"street": "Kon. Julianaplein",
|
"street": "Kon. Julianaplein",
|
||||||
"houseNumber": 10,
|
"houseNumber": 10,
|
||||||
"houseNumberSuffix": "a",
|
"houseNumberSuffix": "a",
|
||||||
@ -4979,7 +4979,7 @@ paths:
|
|||||||
description: Update order customer address
|
description: Update order customer address
|
||||||
value:
|
value:
|
||||||
{
|
{
|
||||||
"addressTypeId": 3,
|
"addressTypeId": 2,
|
||||||
"street": "Kon. Julianaplein",
|
"street": "Kon. Julianaplein",
|
||||||
"houseNumber": 101,
|
"houseNumber": 101,
|
||||||
"houseNumberSuffix": "a",
|
"houseNumberSuffix": "a",
|
||||||
@ -5190,7 +5190,7 @@ paths:
|
|||||||
{
|
{
|
||||||
"orderCustomerAddressId": "94270188-4cf6-447e-bd49-e8186bcec073",
|
"orderCustomerAddressId": "94270188-4cf6-447e-bd49-e8186bcec073",
|
||||||
"addressType":
|
"addressType":
|
||||||
{ "addressTypeId": 3, "name": "Billing" },
|
{ "addressTypeId": 2, "name": "Billing" },
|
||||||
"street": "Kon. Julianaplein",
|
"street": "Kon. Julianaplein",
|
||||||
"houseNumber": 101,
|
"houseNumber": 101,
|
||||||
"houseNumberSuffix": "a",
|
"houseNumberSuffix": "a",
|
||||||
|
|||||||
211
src/openapi/products/vouchers-se.yaml
Normal file
211
src/openapi/products/vouchers-se.yaml
Normal file
@ -0,0 +1,211 @@
|
|||||||
|
openapi: 3.0.1
|
||||||
|
info:
|
||||||
|
title: Service Engine APIs for HTM vouchers
|
||||||
|
description: Service Engine APIs for HTM vouchers. These are NOT the CRUD APIs to the data hub.
|
||||||
|
version: "1.0"
|
||||||
|
servers:
|
||||||
|
- url: https://services.acc.api.htm.nl/abt/abtvouchers/1.0
|
||||||
|
paths:
|
||||||
|
/issuedvouchers/{voucherCode}:
|
||||||
|
get:
|
||||||
|
summary: Get voucher details by voucher code
|
||||||
|
description: Retrieve voucher details using its unique voucher code.
|
||||||
|
parameters:
|
||||||
|
- name: voucherCode
|
||||||
|
in: path
|
||||||
|
required: true
|
||||||
|
description: The unique code of the voucher details to retrieve.
|
||||||
|
schema:
|
||||||
|
type: string
|
||||||
|
tags:
|
||||||
|
- Vouchers
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: Successful retrieval of voucher instance
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: "#/components/schemas/unavailable"
|
||||||
|
examples:
|
||||||
|
Voucher for a product with required attributes:
|
||||||
|
summary: Voucher for a single product with required attributes
|
||||||
|
value:
|
||||||
|
{
|
||||||
|
"issuedVoucher":
|
||||||
|
{
|
||||||
|
"issuedVoucherId": "d4e5f6a7-b8c9-0d1e-2f3a-4b5c6d7e8f90",
|
||||||
|
"voucherCode": "VOUCHER123",
|
||||||
|
"fromInclusive": "2024-10-04T00:00:00.000",
|
||||||
|
"untilInclusive": "2024-11-04T00:00:00.000",
|
||||||
|
"voucherStatus":
|
||||||
|
{ "voucherStatusId": 1, "name": "New" },
|
||||||
|
"product":
|
||||||
|
{
|
||||||
|
"productId": 263,
|
||||||
|
"productName": "HTM-80001",
|
||||||
|
"productDescription": "10 euro korting op Regiovrij maand.",
|
||||||
|
"productCategory":
|
||||||
|
{
|
||||||
|
"productCategoryId": 9,
|
||||||
|
"isTravelProduct": false,
|
||||||
|
"name": "Voucher",
|
||||||
|
},
|
||||||
|
"amountInclTax": -1000,
|
||||||
|
"requiredProducts":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"productId": 126,
|
||||||
|
"productName": "HTM-30001",
|
||||||
|
"productDescription": "Reis met 20% korting op je betaalpas bij HTM.",
|
||||||
|
"_links":
|
||||||
|
{
|
||||||
|
"get_details":
|
||||||
|
{
|
||||||
|
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/products/126",
|
||||||
|
"method": "GET",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
"_links":
|
||||||
|
{
|
||||||
|
"get_details":
|
||||||
|
{
|
||||||
|
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/products/263",
|
||||||
|
"method": "GET",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"mandatoryCustomerDataItems":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"mandatoryCustomerDataItemId": 8,
|
||||||
|
"customerDataItem": "padBirthDate",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"mandatoryCustomerDataItemId": 4,
|
||||||
|
"customerDataItem": "emailAddress",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
}
|
||||||
|
Voucher for a whole order:
|
||||||
|
summary: Voucher for a whole order
|
||||||
|
value:
|
||||||
|
{
|
||||||
|
"issuedVoucher":
|
||||||
|
{
|
||||||
|
"issuedVoucherId": "d4e5f6a7-b8c9-0d1e-2f3a-4b5c6d7e8f90",
|
||||||
|
"voucherCode": "VOUCHER123",
|
||||||
|
"fromInclusive": "2024-10-04T00:00:00.000",
|
||||||
|
"untilInclusive": "2024-11-04T00:00:00.000",
|
||||||
|
"voucherStatus":
|
||||||
|
{ "voucherStatusId": 1, "name": "New" },
|
||||||
|
"product":
|
||||||
|
{
|
||||||
|
"productId": 263,
|
||||||
|
"productName": "HTM-80002",
|
||||||
|
"productDescription": "10 euro korting op je gehele winkelmand.",
|
||||||
|
"productCategory":
|
||||||
|
{
|
||||||
|
"productCategoryId": 9,
|
||||||
|
"isTravelProduct": false,
|
||||||
|
"name": "Voucher",
|
||||||
|
},
|
||||||
|
"amountInclTax": -1000,
|
||||||
|
"requiredProducts": [],
|
||||||
|
"_links":
|
||||||
|
{
|
||||||
|
"get_details":
|
||||||
|
{
|
||||||
|
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/products/263",
|
||||||
|
"method": "GET",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"mandatoryCustomerDataItems": [],
|
||||||
|
}
|
||||||
|
"403":
|
||||||
|
description: Forbidden
|
||||||
|
content:
|
||||||
|
application/problem+json:
|
||||||
|
schema:
|
||||||
|
$ref: "#/components/schemas/rfc9457"
|
||||||
|
examples:
|
||||||
|
Access denied due to insufficient permissions:
|
||||||
|
summary: Access denied due to insufficient permissions
|
||||||
|
value:
|
||||||
|
{
|
||||||
|
"type": "https://example.com/probs/forbidden",
|
||||||
|
"title": "Access denied",
|
||||||
|
"detail": "You do not have permission to access this resource.",
|
||||||
|
"instance": "/issuedvouchers/VOUCHER123",
|
||||||
|
}
|
||||||
|
"404":
|
||||||
|
description: Not found
|
||||||
|
content:
|
||||||
|
application/problem+json:
|
||||||
|
schema:
|
||||||
|
$ref: "#/components/schemas/rfc9457"
|
||||||
|
examples:
|
||||||
|
Voucher not found:
|
||||||
|
summary: Voucher not found
|
||||||
|
value:
|
||||||
|
{
|
||||||
|
"type": "https://example.com/probs/not-found",
|
||||||
|
"title": "Voucher not found",
|
||||||
|
"detail": "The voucher with code VOUCHER123 does not exist.",
|
||||||
|
"instance": "/issuedvouchers/VOUCHER123",
|
||||||
|
}
|
||||||
|
"500":
|
||||||
|
description: Internal server error
|
||||||
|
content:
|
||||||
|
application/problem+json:
|
||||||
|
schema:
|
||||||
|
$ref: "#/components/schemas/rfc9457"
|
||||||
|
examples:
|
||||||
|
Unexpected server error:
|
||||||
|
summary: Unexpected server error
|
||||||
|
value:
|
||||||
|
{
|
||||||
|
"type": "https://example.com/probs/internal-server-error",
|
||||||
|
"title": "Internal Server Error",
|
||||||
|
"detail": "An unexpected error occurred while processing your request.",
|
||||||
|
"instance": "/issuedvouchers/VOUCHER123",
|
||||||
|
}
|
||||||
|
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
|
||||||
Loading…
Reference in New Issue
Block a user