トランジットAPI
This method is used by TES to submit the perso data used for personalizing a digital card. This request is sent after TES approves a previous provisionCard call and after finishing to prepare the required data.
The Card Issuer Identifier. Unique for each card issuer.
The Card Identifier. Unique for each card.
submitCardPersoData response payload
Internal Server Error
POST /tsh/transitapi/1/0/submitCardPersoData HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 206
{
"requestHeader": {
"requestId": "text",
"sessionId": "text",
"generationDateTime": "2026-01-01T00:00:00.000Z"
},
"issuerId": "text",
"cardId": "text",
"cardPersoData": [
{
"name": "text",
"value": "text",
"keyIndex": "text"
}
]
}{
"responseHeader": {
"responseId": "text",
"sessionId": "text",
"generationDateTime": "2026-01-01T00:00:00.000Z",
"statusCode": 1,
"statusMessage": "text"
}
}This method is used by TES to request to update the state of a digital card.
The Card Issuer Identifier. Unique for each card issuer.
The Card Identifier. Unique for each card.
The LCM action to apply on the card.Possible values are:
- DELETE
- SUSPEND
- RESUME
- ERASE (used in the Rights of Individuals context) All personal data are physically removed from TSH server
updateCardState response payload
Internal Server Error
POST /tsh/transitapi/1/0/updateCardState HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 157
{
"requestHeader": {
"requestId": "text",
"sessionId": "text",
"generationDateTime": "2026-01-01T00:00:00.000Z"
},
"issuerId": "text",
"cardId": "text",
"action": "DELETE"
}{
"responseHeader": {
"responseId": "text",
"sessionId": "text",
"generationDateTime": "2026-01-01T00:00:00.000Z",
"statusCode": 1,
"statusMessage": "text"
}
}This method is used by TES to request to update the metadata of a digital card:
either commute plans metadata
or card arts
It's not possible to update them both in a single request.
The Card Issuer Identifier. Unique for each card issuer.
The Card Identifier. Unique for each card.
Array of asset identifiers required to build card arts. Both cardBackground and icon asset identifiers shall be provided.
Asset identifier can be up to 64 characters.
When this parameter is provided, a request will be sent to wallet provider for updating the card arts deployed with the ones specified
updateCardMetadata response payload
Internal Server Error
POST /tsh/transitapi/1/0/updateCardMetadata HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 473
{
"requestHeader": {
"requestId": "text",
"sessionId": "text",
"generationDateTime": "2026-01-01T00:00:00.000Z"
},
"issuerId": "text",
"cardId": "text",
"commutePlans": [
{
"identifier": "text",
"title": [
{
"label": "text",
"value": "text",
"language": "text"
}
],
"usage": {
"label": "Usage",
"value": [
{
"text": "text",
"language": "text"
}
]
},
"validityPeriod": {
"startDate": "2026-01-01T00:00:00.000Z",
"expiryDate": "2026-01-01T00:00:00.000Z",
"dateStyle": "SHORT",
"timeStyle": "SHORT"
}
}
],
"cardArtManifest": [
"text"
]
}{
"responseHeader": {
"responseId": "text",
"sessionId": "text",
"generationDateTime": "2026-01-01T00:00:00.000Z",
"statusCode": 1,
"statusMessage": "text"
}
}This method is used by TES to request TSH to initiate a session for a digital card. This request is sent when TES needs to exchange commands with targeted device (during a topup for example).
The Card Issuer Identifier. Unique for each card issuer.
The Card Identifier. Unique for each card.
The operation to be initiated
initiateCardSession response payload
Internal Server Error
POST /tsh/transitapi/1/0/initiateCardSession HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 166
{
"requestHeader": {
"requestId": "text",
"sessionId": "text",
"generationDateTime": "2026-01-01T00:00:00.000Z"
},
"issuerId": "text",
"cardId": "text",
"operation": "READ_BALANCE"
}{
"responseHeader": {
"responseId": "text",
"sessionId": "text",
"generationDateTime": "2026-01-01T00:00:00.000Z",
"statusCode": 1,
"statusMessage": "text"
}
}This method is used by TES to request TSH to return the list of cards associated to the specified card account.
The Card Issuer Identifier. Unique for each card issuer.
The Card Account Identifier. Unique for each card account.
getCards response payload
The Wallet Card Account Identifier. Unique for each wallet card account.
The Wallet Account Identifier. Unique for each wallet account.
Internal Server Error
POST /tsh/transitapi/1/0/getCards HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 146
{
"requestHeader": {
"requestId": "text",
"sessionId": "text",
"generationDateTime": "2026-01-01T00:00:00.000Z"
},
"issuerId": "text",
"cardAccountId": "text"
}{
"responseHeader": {
"responseId": "text",
"sessionId": "text",
"generationDateTime": "2026-01-01T00:00:00.000Z",
"statusCode": 1,
"statusMessage": "text"
},
"walletCardAccountId": "text",
"walletAccountId": "text",
"cardAccountState": "ACTIVE",
"cards": [
{
"cardId": "text",
"walletCardId": "text",
"cardState": "CREATED"
}
]
}This method is used by TES to notify TSH that a card account has been refunded.
The Card Issuer Identifier. Unique for each card issuer.
The Card Account Identifier. Unique for each card account.
refundCardAccount response payload
Internal Server Error
POST /tsh/transitapi/1/0/refundCardAccount HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 146
{
"requestHeader": {
"requestId": "text",
"sessionId": "text",
"generationDateTime": "2026-01-01T00:00:00.000Z"
},
"issuerId": "text",
"cardAccountId": "text"
}{
"responseHeader": {
"responseId": "text",
"sessionId": "text",
"generationDateTime": "2026-01-01T00:00:00.000Z",
"statusCode": 1,
"statusMessage": "text"
}
}This method is used by TES to check the status of an asynchronous request previously submitted.
The Card Issuer Identifier. Unique for each card issuer.
Unique request identifier
getRequestStatus response payload
The status of the request.
Internal Server Error
POST /tsh/transitapi/1/0/getRequestStatus HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 148
{
"requestHeader": {
"requestId": "text",
"sessionId": "text",
"generationDateTime": "2026-01-01T00:00:00.000Z"
},
"issuerId": "text",
"targetRequestId": "text"
}{
"responseHeader": {
"responseId": "text",
"sessionId": "text",
"generationDateTime": "2026-01-01T00:00:00.000Z",
"statusCode": 1,
"statusMessage": "text"
},
"requestStatus": "PROCESSING"
}最終更新
役に立ちましたか?