286 lines
8.6 KiB
YAML
286 lines
8.6 KiB
YAML
openapi: "3.0.3"
|
|
info:
|
|
title: ABT Customers CRUD APIs v2
|
|
version: "1.0"
|
|
description: CRUD APIs for ABT Customer database. These are NOT the functional APIs from Service Engine.
|
|
servers:
|
|
- url: https://api.integratielaag.nl/v1
|
|
paths:
|
|
/ovpaytokens:
|
|
get:
|
|
tags:
|
|
- Token
|
|
summary: Find OVpay tokens.
|
|
description: Find OVpay tokens.
|
|
parameters:
|
|
- in: query
|
|
name: ovPayTokenId
|
|
schema:
|
|
type: integer
|
|
example: 71
|
|
required: false
|
|
description: The id of the token.
|
|
- in: query
|
|
name: customerProfileId
|
|
schema:
|
|
type: integer
|
|
example: 12
|
|
required: false
|
|
description: The id of the customer profile.
|
|
- in: query
|
|
name: tokenTypeId
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
example: [1, 2]
|
|
explode: false
|
|
required: false
|
|
description: Filter on possible token types. 1 = EMV, 2 = OV-pas physical, 3 = OV-pas digital.
|
|
- in: query
|
|
name: xTat
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
example: 700b0516-bf8b-4e6e-bf16-13bfeb078e23
|
|
explode: false
|
|
required: false
|
|
description: The XTAT of the token.
|
|
- in: query
|
|
name: xBot
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
example: de1a9a7a-a777-4473-889c-44a3bb07daae
|
|
explode: false
|
|
required: false
|
|
description: The XBOT of the token.
|
|
- in: query
|
|
name: alias
|
|
schema:
|
|
type: string
|
|
example: Mijn OV-pas
|
|
required: false
|
|
description: The alias of the token.
|
|
- in: query
|
|
name: lastDigits
|
|
schema:
|
|
type: integer
|
|
example: 3301
|
|
required: false
|
|
description: The last digits of the token.
|
|
- in: query
|
|
name: ovpasNumber
|
|
schema:
|
|
type: string
|
|
example: 63AW974
|
|
required: false
|
|
description: Number of the OVpas.
|
|
- in: query
|
|
name: tokenStatusId
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
example: [1, 2]
|
|
explode: false
|
|
required: false
|
|
description: Filter on possible token statuses. 1 = expired, 2 = active, 3 = replaced, 4 = inactive, 5 = suspended, 6 = removed by customer.
|
|
- in: query
|
|
name: expirationDate
|
|
schema:
|
|
type: string
|
|
format: date-time
|
|
example: 2029-03-22T09:00:00
|
|
required: false
|
|
description: The expiration date of the token.
|
|
- in: query
|
|
name: replacedByTokenId
|
|
schema:
|
|
type: integer
|
|
example: 12
|
|
required: false
|
|
description: The id of the token that replaced this token.
|
|
responses:
|
|
200:
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
example:
|
|
{
|
|
"ovPayTokens":
|
|
[
|
|
{
|
|
"ovPayTokenId": 71,
|
|
"customerProfileId": 12,
|
|
"tokenType":
|
|
{ "tokenTypeId": 2, "name": "OV-pas physical" },
|
|
"xTat": "700b0516-bf8b-4e6e-bf16-13bfeb078e23",
|
|
"xBot": "de1a9a7a-a777-4473-889c-44a3bb07daae",
|
|
"alias": "Mijn OV-pas",
|
|
"lastDigits": 3301,
|
|
"ovpasNumber": "63AW974",
|
|
"tokenStatus": { "tokenStatusId": 2, "name": "Active" },
|
|
"expirationDate": "2029-03-22T09:00:00",
|
|
"replacedByTokenId": 12,
|
|
},
|
|
],
|
|
"href": null,
|
|
}
|
|
/directdebitmandates:
|
|
get:
|
|
tags:
|
|
- Mandates
|
|
summary: Find direct debit mandates.
|
|
description: Find direct debit mandates.
|
|
parameters:
|
|
- in: query
|
|
name: directDebitMandateId
|
|
schema:
|
|
type: integer
|
|
example: 71
|
|
required: false
|
|
description: The id of the direct debit mandate.
|
|
- in: query
|
|
name: customerProfileId
|
|
schema:
|
|
type: integer
|
|
example: 12
|
|
required: false
|
|
description: The id of the customer related to the mandate.
|
|
- in: query
|
|
name: billingInformationId
|
|
schema:
|
|
type: integer
|
|
example: 51
|
|
required: false
|
|
description: The id of the billing information related to the mandate.
|
|
- in: query
|
|
name: directDebitMandateTypeId
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
example: [1, 2]
|
|
explode: false
|
|
required: false
|
|
description: The id of the direct debit mandate type. 1 = Paper contract, 2 = PIN transaction, 3 = SEPA eMandate, 4 = Digital signature, 5 = iDEAL transaction.
|
|
- in: query
|
|
name: mandateAddressId
|
|
schema:
|
|
type: integer
|
|
example: 21
|
|
required: false
|
|
description: The id of the address related to the mandate.
|
|
- in: query
|
|
name: createdBefore
|
|
schema:
|
|
type: string
|
|
format: date-time
|
|
example: 2020-12-31T23:59:59
|
|
required: false
|
|
description: Filter on created before.
|
|
- in: query
|
|
name: createdAfter
|
|
schema:
|
|
type: string
|
|
format: date-time
|
|
example: 2020-01-01T00:00:00
|
|
required: false
|
|
description: Filter on created after.
|
|
- in: query
|
|
name: mandateReference
|
|
schema:
|
|
type: string
|
|
example: CORE01
|
|
required: false
|
|
description: Filter on mandate reference.
|
|
- in: query
|
|
name: mandateState
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
example: [SIGNED, PREPARED]
|
|
explode: false
|
|
required: false
|
|
description: Filter on possible states of the mandate. SIGNED = signed, PREPARED = prepared, CANCELLED = cancelled.
|
|
- in: query
|
|
name: updatedBefore
|
|
schema:
|
|
type: string
|
|
format: date-time
|
|
example: 2020-12-31T23:59:59
|
|
required: false
|
|
description: Filter on updated before.
|
|
- in: query
|
|
name: updatedAfter
|
|
schema:
|
|
type: string
|
|
format: date-time
|
|
example: 2020-01-01T00:00:00
|
|
required: false
|
|
description: Filter on updated after.
|
|
responses:
|
|
200:
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/unavailable"
|
|
example:
|
|
[
|
|
{
|
|
"directDebitMandateId": 71,
|
|
"customerProfileId": 12,
|
|
"billingInformationId": 51,
|
|
"directDebitMandateType": {
|
|
"directDebitMandateTypeId": 1,
|
|
"name": "import",
|
|
"description": "import"
|
|
},
|
|
"mandateAddressId": 21,
|
|
"created": "2024-03-22T08:55:00",
|
|
"mandateReference": "CORE01",
|
|
"mandateState": "SINGED",
|
|
"updateTimestamp": "2024-03-22T08:55:00"
|
|
},
|
|
]
|
|
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
|