Compare commits

...

20 Commits

Author SHA1 Message Date
Max Martens
6a0f11a7fe Merge branch 'develop' into version/1 2024-12-02 11:09:59 +01:00
013553fba2 Merge pull request 'feature/OVPAY-1145 - add tokenTypes array to ABTProducts list response model' (#7) from feature/OVPAY-1145 into develop
Reviewed-on: #7
2024-12-02 10:02:29 +00:00
9cde41bfc3 Update customer YAMLs on develop. 2024-12-02 10:58:46 +01:00
98babaeb91 Merge pull request 'OVPAY-754 - Added find on directdebitmandate.' (#3) from feature/OVPAY-754 into develop
Reviewed-on: #3
2024-12-02 09:46:28 +00:00
bfea9a5967 OVPAY-754 - Fixed PR remarks. Thanks maks. 2024-12-02 10:46:08 +01:00
9e5e782192 Merge pull request 'OVPAY-1201 - Minor delta on data model.' (#6) from feature/OVPAY-1201 into develop
Reviewed-on: #6
Reviewed-by: Max Martens <m.martens@htm.nl>
2024-12-02 09:36:19 +00:00
2e0df0f57c Merge pull request 'feature/OVPAY-1147' (#1) from feature/OVPAY-1147 into develop
Reviewed-on: #1
Reviewed-by: Max Martens <m.martens@htm.nl>
2024-12-02 09:35:47 +00:00
8e2ad79b53 OVPAY-1147 - Added pagination. 2024-11-26 15:34:55 +01:00
f065cb8072 OVPAY-108 - Fixed JSON error. 2024-11-21 11:10:48 +01:00
3b390e0c6e OVPAY-108 - Added info for SMP. 2024-11-19 15:53:30 +01:00
889eeeb130 OVPAY-1136 - Added API versioning in HTTP headers. 2024-11-19 14:46:13 +01:00
Max Martens
6d9712cdeb Merge branch 'develop' into feature/OVPAY-1145 2024-11-18 13:15:03 +01:00
5306f34daf OVPAY-1201 - Minor delta on data model. 2024-11-13 14:40:03 +01:00
1f9e9c83ac OVPAY-108 - Simplified list orders operation. 2024-11-13 14:24:33 +01:00
0dabe48807 OVPAY-1180 - Added role and user to crud apis. 2024-11-07 14:16:25 +01:00
f7a56f3e62 OVPAY-754 - Added find on directdebitmandate. 2024-10-25 13:27:47 +02:00
330c7d1e2b OVPAY-1147 - Typo. 2024-10-24 15:23:48 +02:00
3b12204566 OVPAY-1147 - MediaType should be TokenType. 2024-10-24 15:23:09 +02:00
e534d7161b OVPAY-1147 - Init. 2024-10-21 09:57:47 +02:00
Max Martens
b020a02c82 OVPAY-1145 - add tokenTypes array to products list respnse model schema and examples 2024-10-17 19:24:28 +02:00
8 changed files with 7376 additions and 551 deletions

View File

@ -27,7 +27,7 @@ paths:
type: integer
example: 1
required: false
description: Filter on possible contract status. 1 = new, 2 = active, 3 = suspended, 4 = cancelled, 5 = terminated.
description: Filter on possible contract status. 1 = new, 2 = active, 3 = suspended, 4 = cancelled, 5 = terminated, 6 = pending cancellation, 7 = pending termination.
responses:
"200":
description: OK
@ -53,7 +53,6 @@ paths:
"termDuration": "P0Y1M0D",
"billingDay": 15,
"highestInvoiceTerm": 1,
"xSpit": "1c345237-4d84-47f0-93c2-7b94338e3355",
"created": "2024-08-01 15:01:00.000",
},
{
@ -70,7 +69,6 @@ paths:
"termDuration": "P0Y1M0D",
"billingDay": 15,
"highestInvoiceTerm": 1,
"xSpit": "1c345237-4d84-47f0-93c2-7b94338e3355",
"created": "2024-08-01 15:01:00.000",
},
],
@ -98,7 +96,6 @@ paths:
"termDuration": "P0Y1M0D",
"billingDay": 15,
"highestInvoiceTerm": 0,
"xSpit": "1c345237-4d84-47f0-93c2-7b94338e3355",
"contractVersions":
[
{
@ -152,7 +149,7 @@ paths:
type: integer
explode: false
required: false
description: Filter on possible contract status. 1 = new, 2 = active, 3 = suspended, 4 = cancelled, 5 = terminated.
description: Filter on possible contract status. 1 = new, 2 = active, 3 = suspended, 4 = cancelled, 5 = terminated, 6 = pending cancellation, 7 = pending termination.
- in: query
name: billingDay
schema:
@ -206,7 +203,6 @@ paths:
"termDuration": "P0Y1M0D",
"billingDay": 15,
"highestInvoiceTerm": 1,
"xSpit": "1c345237-4d84-47f0-93c2-7b94338e3355",
"contractInvoices":
[
{
@ -265,7 +261,6 @@ paths:
"termDuration": "P0Y1M0D",
"billingDay": 15,
"highestInvoiceTerm": 1,
"xSpit": "1c345237-4d84-47f0-93c2-7b94338e3355",
"contractInvoices":
[
{
@ -351,7 +346,6 @@ paths:
"termDuration": "P0Y1M0D",
"billingDay": 15,
"highestInvoiceTerm": 1,
"xSpit": "1c345237-4d84-47f0-93c2-7b94338e3355",
"contractVersions":
[
{
@ -429,7 +423,6 @@ paths:
"productName": "HTM 20% korting 2024",
"billingDay": 15,
"highestInvoiceTerm": 2,
"xSpit": "1c345237-4d84-47f0-93c2-7b94338e3355",
},
}
responses:
@ -878,6 +871,8 @@ paths:
{ "contractStatusId": 3, "name": "suspended" },
{ "contractStatusId": 4, "name": "cancelled" },
{ "contractStatusId": 5, "name": "terminated" },
{ "contractStatusId": 6, "name": "pending cancellation" },
{ "contractStatusId": 7, "name": "pending termination" },
],
}
/actiontypes:
@ -892,7 +887,7 @@ paths:
content:
application/json:
schema:
$ref: "#/components/schemas/ContractStatus"
$ref: "#/components/schemas/ActionType"
example:
{
"actionTypes":
@ -957,10 +952,6 @@ components:
highestInvoiceTerm:
type: integer
example: 1
xSpit:
type: string
format: uuid
example: 1c345237-4d84-47f0-93c2-7b94338e3355
contractVersions:
type: array
items:
@ -1077,7 +1068,7 @@ components:
example: 2
name:
type: string
enum: [new, active, suspended, cancelled, terminated]
enum: [new, active, suspended, cancelled, terminated, pending cancellation, pending termination]
example: active
ActionType:
type: object

View File

@ -43,7 +43,6 @@ paths:
"termDuration": "P0Y1M0D",
"billingDay": 15,
"highestInvoiceTerm": 1,
"xSpit": "1c345237-4d84-47f0-93c2-7b94338e3355",
"created": "2024-08-01 15:01:00.000",
},
{
@ -59,7 +58,6 @@ paths:
"termDuration": "P0Y1M0D",
"billingDay": 15,
"highestInvoiceTerm": 1,
"xSpit": "1c345237-4d84-47f0-93c2-7b94338e3355",
"created": "2024-08-01 15:01:00.000",
},
]
@ -128,7 +126,6 @@ paths:
"termDuration": "P0Y1M0D",
"billingDay": 15,
"highestInvoiceTerm": 1,
"xSpit": "1c345237-4d84-47f0-93c2-7b94338e3355",
"contractVersions":
[
{

View File

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

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -59,6 +59,12 @@ paths:
"isTravelProduct": true,
"name": "Kortingsabonnement"
},
"tokenTypes": [
{
"tokenTypeId": 1,
"name": "EMV"
}
],
"sellableTouchPointIds": null,
"amountInclTax": null,
"imageReference": "https://www.htm.nl/media/leif2leu/htm-logo-mobile.svg",
@ -83,6 +89,7 @@ paths:
"isTravelProduct": false,
"name": "Barcode"
},
"tokenTypes": null,
"sellableTouchPointIds": [
1,
2,
@ -112,6 +119,7 @@ paths:
"isTravelProduct": false,
"name": "Barcode"
},
"tokenTypes": null,
"sellableTouchPointIds": [
3,
4
@ -139,6 +147,12 @@ paths:
"isTravelProduct": true,
"name": "Kortingsabonnement"
},
"tokenTypes": [
{
"tokenTypeId": 1,
"name": "EMV"
}
],
"sellableTouchPointIds": null,
"amountInclTax": null,
"imageReference": "https://www.htm.nl/media/leif2leu/htm-logo-mobile.svg",
@ -154,6 +168,7 @@ paths:
"isTravelProduct": false,
"name": "Barcode"
},
"tokenTypes": null,
"sellableTouchPointIds": [
1,
2,
@ -174,6 +189,12 @@ paths:
"isTravelProduct": true,
"name": "Kortingsabonnement"
},
"tokenTypes": [
{
"tokenTypeId": 1,
"name": "EMV"
}
],
"sellableTouchPointIds": [
1,
2
@ -192,6 +213,12 @@ paths:
"isTravelProduct": true,
"name": "Kortingsabonnement"
},
"tokenTypes": [
{
"tokenTypeId": 1,
"name": "EMV"
}
],
"sellableTouchPointIds": [
3,
4
@ -219,6 +246,7 @@ paths:
"isTravelProduct": false,
"name": "Barcode"
},
"tokenTypes": null,
"sellableTouchPointIds": [
3,
4
@ -237,6 +265,12 @@ paths:
"isTravelProduct": true,
"name": "Kortingsabonnement"
},
"tokenTypes": [
{
"tokenTypeId": 1,
"name": "EMV"
}
],
"sellableTouchPointIds": [
3,
4
@ -2074,6 +2108,20 @@ components:
name:
type: string
example: Kortingsabonnement
tokenTypes:
type: array
items:
type: object
required:
- tokenTypeId
- name
properties:
tokenTypeId:
type: integer
example: 1
name:
type: string
example: EMV
sellableTouchPointIds:
type: array
items:

View File

@ -86,6 +86,20 @@ paths:
example: 65ad5520-4e62-41b7-89dd-a01be6cb78bf
required: false
description: Pointer to executor of this action (e.g. the batch job).
- in: query
name: role
schema:
type: string
example: customer
required: false
description: Role of the user or process that initiated the action.
- in: query
name: user
schema:
type: string
example: 1255ab39-2f10-409a-bf61-38c07e1b8a9e
required: false
description: User that initiated the action. In case of a customer this is the customer id.
- in: query
name: resourceName
schema:
@ -123,6 +137,8 @@ paths:
"created": "2024-07-02 15:01:00.000",
"updated": "2024-07-02 15:01:00.000",
"correlationId": "fb4443c6-5a6a-47a3-adf0-db3dfc183399",
"role": "customer",
"user": "1255ab39-2f10-409a-bf61-38c07e1b8a9e",
"scheduledActionResources":
[
{
@ -157,6 +173,8 @@ paths:
"created": "2024-07-02 15:01:00.000",
"updated": "2024-07-02 15:01:00.000",
"correlationId": "fb4443c6-5a6a-47a3-adf0-db3dfc183399",
"role": "customer",
"user": "1255ab39-2f10-409a-bf61-38c07e1b8a9e",
"scheduledActionResources":
[
{
@ -217,6 +235,8 @@ paths:
"created": "2024-07-02 15:01:00.000",
"updated": "2024-07-02 15:01:00.000",
"correlationId": "fb4443c6-5a6a-47a3-adf0-db3dfc183399",
"role": "customer",
"user": "1255ab39-2f10-409a-bf61-38c07e1b8a9e",
"scheduledActionResources":
[
{
@ -390,6 +410,12 @@ components:
type: string
format: uuid
example: 8699d72a-cf4d-4e6b-9e9c-549d837ca51f
role:
type: string
example: customer
user:
type: string
example: 1255ab39-2f10-409a-bf61-38c07e1b8a9e
ScheduledActionType:
type: object
properties: