OVPAY-1643 - Token replace v2 is now async.

This commit is contained in:
Bas Boterman 2025-06-04 11:16:10 +02:00
parent 66dd59ffe0
commit a5cc061677

View File

@ -735,7 +735,7 @@ paths:
{
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/personal-data/32089cc8-d187-47ff-a3a9-5c2558def811",
"method": "PATCH",
},
},
"compare_token":
{
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/customers/tokens/1/compare",
@ -1109,7 +1109,7 @@ paths:
{
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/personal-data/32089cc8-d187-47ff-a3a9-5c2558def811",
"method": "POST",
},
},
"compare_token":
{
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/customers/tokens/1/compare",
@ -1259,7 +1259,7 @@ paths:
{
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/personal-data/32089cc8-d187-47ff-a3a9-5c2558def811",
"method": "POST",
},
},
"compare_token":
{
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/customers/tokens/5/compare",
@ -1328,7 +1328,7 @@ paths:
{
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/personal-data/32089cc8-d187-47ff-a3a9-5c2558def811",
"method": "POST",
},
},
"compare_token":
{
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/customers/tokens/5/compare",
@ -1397,7 +1397,7 @@ paths:
{
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/personal-data/32089cc8-d187-47ff-a3a9-5c2558def811",
"method": "POST",
},
},
"compare_token":
{
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/customers/tokens/10/compare",
@ -1521,7 +1521,7 @@ paths:
{
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/personal-data/32089cc8-d187-47ff-a3a9-5c2558def811",
"method": "POST",
},
},
"compare_token":
{
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/customers/tokens/5/compare",
@ -1583,7 +1583,7 @@ paths:
{
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/personal-data/32089cc8-d187-47ff-a3a9-5c2558def811",
"method": "POST",
},
},
"compare_token":
{
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/customers/tokens/5/compare",
@ -1645,7 +1645,7 @@ paths:
{
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/personal-data/e35977b2-52bb-48ef-aca8-297b2c1d5058",
"method": "POST",
},
},
"compare_token":
{
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/customers/tokens/5/compare",
@ -1692,7 +1692,7 @@ paths:
/customers/tokens/{ovpayTokenId}/replace:
post:
tags:
- Customers
- Token Replace v2
parameters:
- name: X-HTM-JWT-AUTH-HEADER
in: header
@ -1806,7 +1806,7 @@ paths:
{
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/personal-data/32089cc8-d187-47ff-a3a9-5c2558def811",
"method": "POST",
},
},
"compare_token":
{
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/customers/tokens/5/compare",
@ -1875,7 +1875,7 @@ paths:
{
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/personal-data/32089cc8-d187-47ff-a3a9-5c2558def811",
"method": "POST",
},
},
"compare_token":
{
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/customers/tokens/5/compare",
@ -1944,7 +1944,7 @@ paths:
{
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/personal-data/32089cc8-d187-47ff-a3a9-5c2558def811",
"method": "POST",
},
},
"compare_token":
{
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/customers/tokens/10/compare",
@ -1953,7 +1953,6 @@ paths:
},
},
}
/customers/tokens/{ovPayTokenId}/productinstances:
get:
tags:
@ -2229,7 +2228,8 @@ paths:
"customerProfileId": 1,
"ovPayTokenId": 1,
"xTat": "e7fa3392-646b-40e2-95a6-c417dc0b0969",
"tokenType": { "tokenTypeId": 2, "name": "OV-pas physical" },
"tokenType":
{ "tokenTypeId": 2, "name": "OV-pas physical" },
"alias": "MyToken",
"tokenStatus":
{ "tokenStatusId": 2, "name": "Active" },
@ -2317,7 +2317,7 @@ paths:
"maxUpdatesVerificationCount": 0,
"lastChangeDate": "2024-08-24T14:15:22Z",
},
}
},
},
"newOvPayToken":
{
@ -2381,8 +2381,8 @@ paths:
"maxUpdatesVerificationCount": 0,
"lastChangeDate": "2024-08-24T14:15:22Z",
},
"photo": null
}
"photo": null,
},
},
"newOvPayToken":
{
@ -2409,8 +2409,8 @@ paths:
"maxUpdatesVerificationCount": 0,
"lastChangeDate": "2024-08-24T14:15:22Z",
},
"photo": null
}
"photo": null,
},
},
"isTransferable": false,
"transferableObjects":
@ -2422,11 +2422,7 @@ paths:
"autoReloadRegistration": true,
"ePurse": false,
"personalAccountData":
{
"name": true,
"birthdate": false,
"photo": true,
},
{ "name": true, "birthdate": false, "photo": true },
},
"_links": {},
}
@ -2560,9 +2556,10 @@ paths:
**Note that this is an integratielaag endpoint, not a Service Engine endpoint!**
First transfers all personal account data (if present), then all products, 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.
of the old token. This call is asynchronous, and progress can be monitored using the
`/customers/tokens/transfer/responsestatus/*` endpoint.
tags:
- Customers
- Token Replace v2
requestBody:
content:
application/json:
@ -2585,8 +2582,8 @@ paths:
"alias": "My new token",
},
}
Transfer from a token with PAD to a new token without existing PAD:
summary: Transfer from a token with PAD to a new token without existing PAD
? Transfer from a token with PAD to a new token without existing PAD
: summary: Transfer from a token with PAD to a new token without existing PAD
description: |
Transfer of a token with PAD to a new token by xTAT without existing PAD. Note how this request is
different, since it has an e-mail address on which the new PAD should be created. This request may
@ -2628,10 +2625,7 @@ paths:
Complete request body (for development only).
value:
{
"oldOvPayToken":
{
"padOtp": "123456",
},
"oldOvPayToken": { "padOtp": "123456" },
"newOvPayToken":
{
"xTat": "e7fa3392-646b-40e2-95a6-c417dc0b0969",
@ -2640,6 +2634,35 @@ paths:
"padOtp": "678901",
},
}
responses:
"202":
description: Accepted
content:
application/json:
schema:
$ref: "#/components/schemas/unavailable"
examples:
Transfer of token started:
description: |
The transfer of the token was started successfully. The data of the token will be transferred
asynchronously. In the response body the consumer will find information on how to retrieve the
processing status.
value:
{
"startTime": "2025-02-14T05:32:47.067Z",
"status": "Running",
"clientTrackingId": "08584620957189579629541919368CU00",
"callbackurl": "https://api.integratielaag.nl/customers/tokens/transfer/responsestatus/runtime/webhooks/workflow/scaleUnits/prod-00/workflows/6fd466916c",
"retryAfter": 10,
}
/customers/tokens/transfer/responsestatus/*:
get:
tags:
- Token Replace v2
summary: "**INTEGRATIELAAG** Get the status of the initiated token transfer process (POST)."
description: |
**Note that this is an integratielaag endpoint, not a Service Engine endpoint!** Get the status of the
asynchronous token transfer processing.
responses:
"200":
description: OK
@ -2649,6 +2672,9 @@ paths:
$ref: "#/components/schemas/unavailable"
examples:
New token as a result of a successful transfer:
description: |
The transfer of the token was processed successfully. The response body shows the details of the new
token to which the data was transferred.
value:
{
"customerProfileId": 1,
@ -2745,9 +2771,18 @@ paths:
"href": "https://api.integratielaag.nl/abt/touchpoint/1.0/customers/tokens/1/compare",
"method": "POST",
},
},
}
Token transfer in progress:
description: |
The transfer of the token is still in progress. The response body shows the details of the
processing status.
value:
{
"startTime": "2025-02-14T05:32:47.067Z",
"status": "Running",
"progress": "75%"
}
"404":
description: Not found
content:
@ -2889,6 +2924,9 @@ paths:
},
],
}
security:
- default: []
x-auth-type: Application & Application User
components:
schemas:
unavailable: