OVPAY-754 - Added find on directdebitmandate. #3

Merged
bboterm merged 2 commits from feature/OVPAY-754 into develop 2024-12-02 09:46:29 +00:00

View File

@ -0,0 +1,162 @@
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:
/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
bboterm marked this conversation as resolved
Review

Waarom zit deze hier in? In datamodel zie ik 'm niet en bij OvPayToken (PR #1) zit 'ie ook niet erin. Zuiverste is dus om customerNumber eruit te laten en alleen customerProfileId te laten. Je kan prima zoeken op customerProfileId (GET /abt/abtcustomers/1.0/customers?customerProfileId=12)

Waarom zit deze hier in? In datamodel zie ik 'm niet en bij `OvPayToken` (PR #1) zit 'ie ook niet erin. Zuiverste is dus om `customerNumber` eruit te laten en alleen `customerProfileId` te laten. Je kan prima zoeken op customerProfileId (`GET /abt/abtcustomers/1.0/customers?customerProfileId=12`)
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",
bboterm marked this conversation as resolved
Review

Hier ook weghalen

Hier ook weghalen
"mandateReference": "CORE01",
bboterm marked this conversation as resolved
Review

Voor billingInformationId en mandateAddressId wordt het misschien te groot om het hele object terug te geven, omdat die objecten ook weer nested JSON zijn; dus ik denk wel oké om voor die twee wél alleen het ID terug te geven

Voor `billingInformationId` en `mandateAddressId` wordt het misschien te groot om het hele object terug te geven, omdat die objecten ook weer nested JSON zijn; dus ik denk wel oké om voor die twee wél alleen het ID terug te geven
"mandateState": "SINGED",
bboterm marked this conversation as resolved
Review

Mooier om hier ook het object terug te geven ipv alleen ID, net als in PR #1

Mooier om hier ook het object terug te geven ipv alleen ID, net als in PR #1
"updateTimestamp": "2024-03-22T08:55:00"
bboterm marked this conversation as resolved
Review

Wat is dit eigk? Referentie naar een addressId in Person.Address? Zo ja, moet dan Mandate niet ook als AddressType bestaan? Ik zou dan eigk niet weten hoe je dat in het Nederlands zou noemen, factuuradres is het niet (en hebben we al als "Billing")

Wat is dit eigk? Referentie naar een `addressId` in `Person.Address`? Zo ja, moet dan `Mandate` niet ook als `AddressType` bestaan? Ik zou dan eigk niet weten hoe je dat in het Nederlands zou noemen, factuuradres is het niet (en hebben we al als "Billing")
},
]
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