develop #38

Merged
bboterm merged 451 commits from develop into main 2025-11-19 14:28:14 +00:00
Showing only changes of commit 59db7d7323 - Show all commits

View File

@ -1776,7 +1776,9 @@ paths:
attributes:
- Token type
- Token status (only if target token is known in the customer profile)
- Experation date
- Instantiated GBO products
- Auto reload registration
- E-purse
- PAD (name, birthdate, photo)
@ -1839,9 +1841,14 @@ paths:
},
"newOvPayToken":
{
"customerProfileId": null,
"ovPayTokenId": null,
"xtat": "e7fa3392-646b-40e2-95a6-c417dc0b0969",
"tokenType": { "tokenTypeId": 1, "name": "EMV" },
"alias": null,
"tokenStatus": null,
"expirationDate": "2028-02-01",
"replacedByTokenId": null,
"autoReloadRegistration": null,
"ePurse": null,
"personalAccountData":
@ -1851,15 +1858,13 @@ paths:
"transferableObjects":
{
"tokenType": true,
"tokenStatus": true,
"expirationDate": true,
"productInstances": true,
"autoReloadRegistration": true,
"ePurse": true,
"personalAccountData":
{
"name": true,
"birthdate": true,
"photo": true,
},
{ "name": true, "birthdate": true, "photo": true },
},
"_links":
{
@ -1891,19 +1896,26 @@ paths:
},
"newOvPayToken":
{
"customerProfileId": null,
"ovPayTokenId": null,
"xtat": "e7fa3392-646b-40e2-95a6-c417dc0b0969",
"tokenType": { "tokenTypeId": 1, "name": "EMV" },
"alias": null,
"tokenStatus": null,
"expirationDate": "2028-02-01",
"replacedByTokenId": null,
"autoReloadRegistration": null,
"ePurse": null,
"personalAccountData":
{ "name": null, "birthdate": null, "photo": null },
},
"isTansferable": false,
"isTansferable": true,
"transferableObjects":
{
"tokenType": true,
"tokenStatus": true,
"expirationDate": true,
"productInstances": true,
"autoReloadRegistration": true,
"ePurse": false,
"personalAccountData":
@ -1915,7 +1927,145 @@ paths:
},
"_links": {},
}
/customers/tokens/{ovPayTokenId}/transfer:
parameters:
- name: ovPayTokenId
in: path
required: true
style: simple
description: Id of the OVpay token for the LHS of the comparison.
schema:
type: integer
example: 1
post:
summary: Transfer old OVpay token to new OVpay token.
description: |-
Transfers all products, e-purse and personal account data of an existing OVpay token
to a new OVpay token. The new token will also be persisted in the profile as a replacement
of the old token.
tags:
- Customers
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/unavailable"
examples:
Transfer to an existing OVpay token:
value: { "ovPayTokenId": 2 }
Transfer to a new token by XTAT:
value:
{
"xtat": "e7fa3392-646b-40e2-95a6-c417dc0b0969",
"alias": "MyToken",
}
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: "#/components/schemas/unavailable"
examples:
New token as a result of a succesful transfer:
value:
{
"customerProfileId": 1,
"ovPayTokenId": 1,
"xTat": "e7fa3392-646b-40e2-95a6-c417dc0b0969",
"tokenType":
{ "tokenTypeId": 2, "name": "OV-pas physical" },
"alias": "MyToken",
"tokenStatus": { "tokenStatusId": 2, "name": "Active" },
"expirationDate": "2028-02-01",
"replacedByTokenId": 2,
"autoReloadRegistration":
{
"autoReloadAmount": 500,
"retailerReferenceId": "abc",
"arrit": "425f7fc2-1103-4822-9c79-7c4aaa2fb6aa",
"autoReloadRegistrationStatus": "ACTIVE",
"autoReloadRegistrationStartDateTime": "2024-06-02T15:03:46Z",
},
"ePurse":
{
"e-PurseBalance":
{ "currency": "EUR", "amount": 350 },
"status": "ACTIVE",
"originDate": "2019-07-16T11:00:00+02:00",
},
"personalAccountData":
{
"name":
{
"inaccuracyFlag": false,
"inaccuracyFlagReason": null,
"inaccuracyFlagSetCounter": 0,
"isValidated": false,
"changeCounter": 0,
"maxUpdatesVerificationCount": 0,
"lastChangeDate": "2024-08-24T14:15:22Z",
},
"birthdate":
{
"inaccuracyFlag": false,
"inaccuracyFlagReason": null,
"inaccuracyFlagSetCounter": 0,
"isValidated": false,
"changeCounter": 0,
"maxUpdatesVerificationCount": 0,
"lastChangeDate": "2024-08-24T14:15:22Z",
},
"photo":
{
"inaccuracyFlag": false,
"inaccuracyFlagReason": null,
"inaccuracyFlagSetCounter": 0,
"isValidated": false,
"changeCounter": 0,
"maxUpdatesVerificationCount": 0,
"lastChangeDate": "2024-08-24T14:15:22Z",
},
},
"_links":
{
"self":
{
"href": "https://api.integratielaag.nl/abt/1.0/touchpoint/customers/tokens?ovpaytokenId=1",
"method": "GET",
},
"partial_edit":
{
"href": "https://api.integratielaag.nl/abt/1.0/touchpoint/customers/tokens/1",
"method": "PATCH",
},
"replace_token":
{
"href": "https://api.integratielaag.nl/abt/1.0/touchpoint/customers/tokens/1/replace",
"method": "POST",
},
"delete_token":
{
"href": "https://api.integratielaag.nl/abt/1.0/touchpoint/customers/tokens/1",
"method": "DELETE",
},
"get_productinstances":
{
"href": "https://api.integratielaag.nl/abt/1.0/touchpoint/customers/tokens/1/productinstances",
"method": "GET",
},
"get_trips":
{
"href": "https://api.integratielaag.nl/abt/1.0/touchpoint/customers/tokens/1/trips",
"method": "GET",
},
"update_tokenPersonalization":
{
"href": "https://api.integratielaag.nl/abt/1.0/touchpoint/pad?ovpaytokenid=1",
"method": "PUT",
},
},
}
components:
schemas:
unavailable: