Transaction · Standard API · eKYC Core
Create a transaction
Opens a new transaction and returns its transaction id and channel id.
Request
Transaction-ID is the reconciliation mechanism recommended for the India market — see API Reconciliation.
| Name | Type | Required | Description | Supported countries |
|---|---|---|---|---|
reference_id | string | Optional | reference id from client | all |
channel_name | string | Optional | channel name from client | all |
metadata | dictionary | Optional | key-value, key should be string, value should be string, int, float, bool | all |
agent_number | string | Optional | agent number | india |
agent_name | string | Optional | agent name | india |
client_transaction_id | string | Optional | transaction id of client | india |
client_apk_version_number | string | Optional | apk version of client | india |
brand_identifier | string | Optional | brand identifier | india |
customer_name | string | Optional | customer name | india |
{
"reference_id": string,
"channel_name": string,
"metadata": dictionary,
"agent_number": string,
"agent_name", string,
"client_transaction_id", string,
"client_apk_version_number", string,
"brand_identifier", string,
}
Sample request
curl -X POST \
https://tv-staging.trustingsocial.com/api/v1/transactions \
-H 'Authorization: TV <YOUR ACCESS KEY>:<CREATED SIGNATURE>' \
-H 'X-TV-Timestamp: 2019-04-21T18:00:15+07:00' \
-H 'Content-Type: application/json' \
-d \
'
{
"reference_id": "536d2457-bfc0-4249-85f2-8c4053bdec58"
}
'
Response
On success the HTTP status code is 200, and data carries id and channel_id. The errors array uses the shared response envelope.
{
"data": {
"id": uuid,
"channel_id": uuid,
},
"errors": [
{
"code": string,
"message": string,
"detail": {
"field": string, // optional, which parameter is invalid.
... // any other information that can be useful for client
},
},
... // other errors
]
}
A created transaction comes back like this:
{
"data": {
"id": "cfc7b8d5-f2e2-437b-80e5-d600dfad26e2",
"channel_id": "416ab0e7-13a2-4b4b-9304-03bb8612d817"
}
}
Failure codes
If the data.status is "failure", the "errors" field will tell you why it failed.
In case of any other errors, the data field will be empty, and the server sends one of following HTTP status code with error code:
| HTTP code | Error code | Description |
|---|---|---|
401 | access_denied_exception | You are not authorized to perform the action. |
400 | invalid_parameter_exception | Input parameter violates a constraint. |
400 | request_time_too_skewed | The X-TV-Timestamp header is expired, need a newer one. |
408 | request_timeout_exception | Request takes too long to process |
429 | rate_limit_exception | The number of requests exceeded your throughput limit. |
500 | internal_server_error | Some unexpected error occurs while processing the request |
The codes above are the ones documented for this endpoint. Response errors on the Overview lists the codes for the eKYC Core surface as a whole — the two lists do not match on every endpoint.