ovpay/src/openapi/customers/customers-crud-v2.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