Compare commits

..

No commits in common. "9d9039d732034720381cda28d11a64a854aaabf2" and "9b8cf65525692f64c57ed7931ed8769628378d37" have entirely different histories.

7 changed files with 48 additions and 1903 deletions

View File

@ -3452,7 +3452,7 @@ paths:
summary: No product-instances found summary: No product-instances found
value: value:
productInstances: { productInstances: {
"ovPayProducts":[], "ovpayProducten":[],
"barcodeTickets": [], "barcodeTickets": [],
"vouchers":[] "vouchers":[]
} }
@ -3461,7 +3461,7 @@ paths:
value: value:
{ {
"productInstances":{ "productInstances":{
"ovPayProducts":[], "ovpayProducten":[],
"barcodeTickets":[ "barcodeTickets":[
{ {
"productInstanceId": "0f0981bf-6d60-4b06-bc55-de1ba325f366", "productInstanceId": "0f0981bf-6d60-4b06-bc55-de1ba325f366",
@ -3506,7 +3506,7 @@ paths:
value: value:
{ {
"productInstances":{ "productInstances":{
"ovPayProducts":[ { "ovpayProducten":[ {
"productInstanceId": "26d41861-f77e-4666-9cde-2c5c66ace0a2", "productInstanceId": "26d41861-f77e-4666-9cde-2c5c66ace0a2",
"productId": 1, "productId": 1,
"name": "HTM 90% Korting", "name": "HTM 90% Korting",
@ -3548,7 +3548,7 @@ paths:
value: value:
{ {
"productInstances":{ "productInstances":{
"ovPayProducts":[ { "ovpayProducten":[ {
"productInstanceId": "26d41861-f77e-4666-9cde-2c5c66ace0a2", "productInstanceId": "26d41861-f77e-4666-9cde-2c5c66ace0a2",
"productId": 1, "productId": 1,
"name": "HTM 90% Korting", "name": "HTM 90% Korting",
@ -3625,7 +3625,7 @@ paths:
value: value:
{ {
"productInstances":{ "productInstances":{
"ovPayProducts":[], "ovpayProducten":[],
"barcodeTickets":[], "barcodeTickets":[],
"vouchers":[ "vouchers":[
{ {
@ -3634,7 +3634,7 @@ paths:
"name": "HTM ooivaarspas voucher ", "name": "HTM ooivaarspas voucher ",
"productCategory": "productCategory":
{ {
"productCategoryId": 9, "productCategoryId": 6,
"name": "Voucher", "name": "Voucher",
}, },
"voucherCode": "HTM45253", "voucherCode": "HTM45253",

File diff suppressed because it is too large Load Diff

View File

@ -417,56 +417,38 @@ paths:
example: example:
Entries: Entries:
phoneTypes: phoneTypes:
- name: Mobiel - name: mobile
id: 1 id: 1
- name: Thuis - name: fixed line
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: Shipping - name: home
id: 1 id: 1
- name: Billing - name: office
id: 2 id: 2
customerStatuses: customerStatuses:
- name: Inactive - name: active
id: 1 id: 1
- name: Active - name: blocked
id: 2 id: 2
- name: Blocked - name: inactive
id: 3 id: 3
- name: Frozen - name: new
id: 4 id: 4
- name: Cleared
id: 5
tokenTypes: tokenTypes:
- name: EMV - name: Debit card
id: 1 id: 1
- name: OVPas physical - name: Credit card
id: 2 id: 2
- name: OVPas digital - name: OVPas physical
id: 3 id: 3
- name: OVPas digital
id: 4
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

View File

@ -257,7 +257,6 @@ 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"
@ -667,10 +666,6 @@ 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:
@ -1393,9 +1388,6 @@ components:
customerProfileId: customerProfileId:
type: integer type: integer
example: 1337 example: 1337
ovPayTokenId:
type: integer
example: 42
subscriptionActivity: subscriptionActivity:
type: object type: object
properties: properties:
@ -1426,9 +1418,14 @@ components:
PatchNotificationSubscriptionRequest: PatchNotificationSubscriptionRequest:
type: object type: object
properties: properties:
ovPayTokenId: notificationCategoryId:
type: integer type: integer
example: 43 example: 1
customerProfileId:
type: integer
example: 1337
required:
- notificationCategoryId
PatchNotificationSubscriptionResponse: PatchNotificationSubscriptionResponse:
type: object type: object
properties: properties:

View File

@ -324,7 +324,7 @@ paths:
{ {
"orderCustomerAddressId": "aa50047c-58ac-4f15-9448-ee000dfc6893", "orderCustomerAddressId": "aa50047c-58ac-4f15-9448-ee000dfc6893",
"addressType": "addressType":
{ "addressTypeId": 2, "name": "Billing" }, { "addressTypeId": 3, "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": 2, "name": "Billing" }, { "addressTypeId": 3, "name": "Billing" },
"street": "Kon. Julianaplein", "street": "Kon. Julianaplein",
"houseNumber": 10, "houseNumber": 10,
"houseNumberSuffix": "a", "houseNumberSuffix": "a",
@ -1046,7 +1046,7 @@ paths:
"orderCustomerAddresses": "orderCustomerAddresses":
[ [
{ {
"addressTypeId": 2, "addressTypeId": 3,
"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": 2, "name": "Billing" }, { "addressTypeId": 3, "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": 2, "addressTypeId": 3,
"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, 2 = Billing. description: Filter on possible types of addresses. 1 = Shipping, 3 = 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": 2, "name": "Billing" }, "addressType": { "addressTypeId": 3, "name": "Billing" },
"street": "Kon. Julianaplein", "street": "Kon. Julianaplein",
"houseNumber": 10, "houseNumber": 10,
"houseNumberSuffix": "a", "houseNumberSuffix": "a",

View File

@ -1314,7 +1314,7 @@ paths:
{ {
"orderCustomerAddressId": "aa50047c-58ac-4f15-9448-ee000dfc6893", "orderCustomerAddressId": "aa50047c-58ac-4f15-9448-ee000dfc6893",
"addressType": "addressType":
{ "addressTypeId": 2, "name": "Billing" }, { "addressTypeId": 3, "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": 2, "name": "Billing" }, { "addressTypeId": 3, "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": 2, "name": "Billing" }, { "addressTypeId": 3, "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": 2, "name": "Billing" }, { "addressTypeId": 3, "name": "Billing" },
"street": "Kon. Julianaplein", "street": "Kon. Julianaplein",
"houseNumber": 10, "houseNumber": 10,
"houseNumberSuffix": "a", "houseNumberSuffix": "a",
@ -4226,7 +4226,7 @@ paths:
"orderCustomerAddresses": "orderCustomerAddresses":
[ [
{ {
"addressTypeId": 2, "addressTypeId": 3,
"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": 2, "name": "Billing" }, { "addressTypeId": 3, "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": 2, "name": "Billing" }, { "addressTypeId": 3, "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": 2, "addressTypeId": 3,
"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": 2, "name": "Billing" }, { "addressTypeId": 3, "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": 2, "addressTypeId": 3,
"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": 2, "name": "Billing" }, { "addressTypeId": 3, "name": "Billing" },
"street": "Kon. Julianaplein", "street": "Kon. Julianaplein",
"houseNumber": 101, "houseNumber": 101,
"houseNumberSuffix": "a", "houseNumberSuffix": "a",

View File

@ -1,211 +0,0 @@
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