Callback API
Callback API for Verification Result Notification
POST
VEGA_VERIFICATION_CALLBACK_API_PATH
Enclave Environment Variable:
Enter the Callback API endpoint in VEGA_VERIFICATION_CALLBACK_API_PATH field.
Callback API enables the asynchronous processing of verification. Following 5 APIs work asynchronously.
User Verification API
Transaction Result Report API
Error Report API
Risk Assessment with Chainalysis KYT API
Risk Assessment with Refinitiv WCO API
Here are five typical cases of enclave calling callback API.
Enclave received a result of the past requested verification (callbackType: VERIFICATION_RESULT)
Enclave received an originating VASP sending report of txHash or txID which is matched to specific verification (callbackType: TX_REPORT)
Enclave received an originating VASP sending error report of specific verification (callbackType: ERROR_REPORT)
Enclave received a result for a previously registered Chainalysis KYT request (callbackType: CHAINALYSIS_KYT_RESULT)
Enclave received a result for a previously registered Refinitiv WCO request (callbackType: REFINITIV_WCO_RESULT)
Response Time Requirement
The callback API must respond in 1 second after being called.
Implementation Policy
Callback API must return 200 OK status codes only.
API needs to respond in possibly the fastest timing, not processing complicated tasks.
Idempotent guaranteed implementation
Enclave can call callback API multiple times simultaneously to prevent data loss.
Therefore, the API developer needs to consider the duplicated case carefully. (e.g. Ignore duplicated requests after the first call)
Request Header
Field Name | Description |
---|---|
Authorization | Bearer <VEGA_VERIFICATION_AUTHORIZATION_TOKEN> |
Request Body
Field Name | Data Type | Required | Description |
---|---|---|---|
callbackType | string | true | A value that distinguishes how the Callback API was invoked in a given situation. (Refer to the explanation below) The data format varies depending on the callbackType. (Refer to the sample code above) |
data | object | true | The data format varies depending on the callbackType. (Refer to the sample code above) |
callbackType field specification is as follows.
VERIFICATION_RESULT: Callback for result notification of past verification request
TX_REPORT: Callback for transaction result report from originating VASP
ERROR_REPORT: Callback for error report from originating VASP
CHAINALYSIS_KYT_RESULT: Callback for result of risk assessment with Chainalysis KYT API
REFINITIV_WCO_RESULT: Callback for result of risk assessment with Refinitiv WCO API
data.reason field specification is as follows.
The field is valid only when
result
the field is DENIED.Refer to the below table for the
message
field value.
reason (string) | result (string) | message (string) | Description |
---|---|---|---|
| DENIED | The value of symbol name (which is not supported in VASP) | Unknown or not supported asset symbol |
| DENIED | The value of network name (which is not supported in VASP) | Unknown or not supported blockchain network (i.e. symbol matches but network does not) |
| DENIED | The unknown wallet address | Unknown wallet address to the VASP |
| DENIED | A comma(,) separated required but missing personal information fields list | Verification denied due to lack of personal information |
| DENIED | A comma(,) separated undeliverable personal information field list | Requested personal information cannot be transferred for processing |
| DENIED | - | Verification denied by problems in sanction screening |
| DENIED | - | User KYC required |
| DENIED | - | Name mismatch |
| DENIED | The reason why it is not allowed | The originating VASP reject the user's withdrawal request for any reason. |
| DENIED | Error description | Unexpected exceptional case happens |
| ERROR | - | Beneficiary address is mismatched by VASP |
| ERROR | - | Verification processing exceeds the timeout limit |
Response Body
Field Name | Data Type | Required | Example | Description |
---|---|---|---|---|
result | boolean | true | true | The Result value. (An error is not returned.) |
Last updated