Generate URL API

Call this API to generate an Liveness Detection link.

Request Example:

curl -X POST \
  https://sg-api.advance.ai/intl/openapi/identity-risk/idvs-h5/ekyc/v1/generate-liveness-detection-url \
  -H 'Content-Type: application/json' \
  -H 'X-ACCESS-TOKEN:{Your Access Token}' \
  -d '{
"returnUrl": "https://www.example.com",
"failReturnUrl":"https://www.example.com/fail",
"bizId": "7ac66c0f148de9519b8bd264312c4d64", 
"userId":"8e44f0089b076e18a718eb9ca3d94674",
"region":"PHL",
"language": "en-US",
"ttlSeconds": 7200,
"prefersColorScheme":"light",
"bizCode":"WhiteCard",
"productLevel": "PRO",
"livenessType": "DISTANT_NEAR"
}'

Request Url

https://api.advance.ai/intl/openapi/identity-risk/idvs-h5/ekyc/v1/generate-liveness-detection-url
POST (application/json)
https://sg-api.advance.ai/intl/openapi/identity-risk/idvs-h5/ekyc/v1/generate-liveness-detection-url
POST (application/json)
https://my-api.advance.ai/intl/openapi/identity-risk/idvs-h5/ekyc/v1/generate-liveness-detection-url
POST (application/json)
https://th-api.advance.ai/intl/openapi/identity-risk/idvs-h5/ekyc/v1/generate-liveness-detection-url
POST (application/json)
https://ph-api.advance.ai/intl/openapi/identity-risk/idvs-h5/ekyc/v1/generate-liveness-detection-url
POST (application/json)

ParameterDescription
X-ACCESS-TOKENstring Please use Token Authentication API to get your access token

Request Parameters

ParameterDescription
returnUrlstring The target URL that the frontend jumps to after the user completes the H5 Identity Verification flow. Supports standard web URLs such as https://... and custom schemes such as myapp://.... Max Length 2048 characters.
Refer to Redirect URL Requirements and Integration

Note: This field is not used when integrating via iFrame.
failReturnUrlstring The target URL that the frontend jumps to after the user fails to complete the H5 Identity Verification flow. Supports standard web URLs such as https://... and custom schemes such as myapp://.... Max Length 2048 characters.
Refer to Redirect URL Requirements and Integration

Note: This field is not used when integrating via iFrame.
callbackUrl

Deprecated, please use Webhook instead.

string [Optional] The target URL to notify the caller after the H5 Identity Verification result is all completed (include Id forgery result). Max Length 2048 characters. callbackUrl only supports http:// and https:// URLs. Custom schemes such as myapp://... are not supported.
Refer to Redirect URL Requirements and Callback Notification

Note: This field is not used when integrating via iFrame.

bizIdstring The unique business id to identify the business transaction that triggered this Identity Verification processing, such as order id.
userIdstring The unique userId to identify the user who is performing the Identity Verification.
regionstring The service region for Liveness Detection, typically aligned with the user's residence. Refer to ISO ALPHA-3 Country Code
language

string [Optional]

Specifies the display language for the frontend interface using ISO 639-1 language codes (e.g., en, zh, fil, id, th, bn, ms).

For the complete list of supported languages, refer to Supported Languages.

Fallback Logic:
When the specified language is not supported, the system will fall back sequentially:
  1. Language specified in Generate URL API
  2. Language from user's browser settings
  3. Default language (en)
ttlSecondsinteger [Optional] Validity period of the generated H5 URL. Defaults to 3600 seconds, minimum 10 seconds, maximum 604800 seconds. Unit is seconds.
prefersColorSchemestring [Optional] default "light". Refer to prefersColorScheme.
bizCodestring [Optional] The business type of the user. max size of the length is 32. only support characters a-zA-z0-9
iframeEnabled

bool [Optional] The iframeEnabled parameter controls the integration mode for the workflow. When set to true, the generated URL enables iframe embedding, allowing the workflow to be seamlessly integrated into your web application without requiring users to leave your interface. In this mode, please refer to https://doc-center-acmp.advance.ai/docs/common-iframe-integration-h5#example-implementation for implementation details.

When set to false, the system will redirect users using either the returnUrl (for successful completion) or failReturnUrl (for failed attempts) instead of iframe embedding.

productLevelstring Required. The productLevel that satisfies the client's business needs. Refer to ProductLevel.
ignoreFailWhenJumpbool [Optional] default to false. Refer to Integration
livenessTypestring [Optional] default to DISTANT_NEAR. Determine how the user go through the liveness capture. Refer to Liveness Type List

ProductLevel

The productLevel defines the tier of the Identity Verification(..DV, LD, FA) service. Please consult with our sales representative to determine the tier that best aligns with your business requirements and use the granted product level for your API request submission.

Supported ValuesDescription
STANDARDBasic compliance / High coverage rate / Acceptable accuracy
PROMedium compliance / High pass rate / High accuracy

prefersColorScheme

indicate the theme that AAI's Frontend should use.

Supported Valuesexplained
lightlight theme.
darkdark theme.

Response Description

ParameterDescription

code

Status Code

transactionId

The request id, the max length is 64

pricingStrategy

Deprecated, Always return FREE

message

Status Code Explanation

data

signatureId signatureId which can use it to get the result

url Get the H5 URL for the user to go through the process.
Will expire in ttlSeconds seconds. If ttlSeconds is not provided, the URL will expire in 3600 seconds.
Refer to Integration

expiredTime Expiration timestamp of the H5 URL, in milliseconds. After the URL expires, generate a new URL to restart the verification.

extra

Extra response info (Exception Message)

Response Code

Status CodeMessage
SUCCESSOK
PARAMETER_ERRORParameter error, please check your input.
Parameter should not be empty
Invalid returnUrl, please check your returnUrl
Prefers color scheme is wrong
Region is wrong
Product level is wrong
ttlSeconds is below the minimum of 10 seconds
ttlSeconds exceeds the maximum of 604800 seconds
ERRORServer error

Response Examples

SUCCESS

{
    "code": "SUCCESS",
    "message": "OK",
    "data": {
        "signatureId": "ed8b21c0c87ad617",
        "url": "https://h5.advance.ai/idvs/?token=eyJhbGciOiJIUzUxMiJ9.eyJpc3MiOiJoNV9saXZlbmVzcyIsInN1YiI6IntcImN1c3RvbWVySWRcIjozMTUwMjk4LFwiYWNjb3VudElkXCI6MzE1MDI5OSxcIl90aW1lc3RhbXBcIjoxNzA4NTA5ODk5OTI4LFwiX3V1aWRcIjpcIjFmYzEzOWExMTY1YjRjMTBiY2U4MDFkM2RkMjRhYzI4XCJ9IiwiYXVkIjoiV0VCIiwiaWF0IjoxNzA4NTA5ODk5LCJleHAiOjE3MDg1MTM0OTl9.VKpPl8fDtdhD2y6Y2VwUYOdlnJKusRrDtmfw4FY6lq2kbStk0J45VdchdEHl4oa9SZq9_b9hYBJ1KzCSegAglA&signatureId=ed8b21c0c87ad617",
        "expiredTime":1642580192430
    },
    "extra": null,
    "transactionId": "ed8b21c0c87ad617",
    "pricingStrategy": "FREE"
}

REGION_WRONG

{
    "code":"REGION_WRONG",
    "message":"Region is wrong",
    "data":null,
    "extra":null,
    "transactionId":"0f74aeb4dd3f1d48",
    "pricingStrategy":"FREE"
}

PARAMETER_ERROR

{
    "code":"PARAMETER_ERROR",
    "message":"Parameter error, please check your input.",
    "data":null,
    "extra":null,
    "transactionId":"ba134d6112c57a4c",
    "pricingStrategy":"FREE"
}
{
    "code":"PARAMETER_ERROR",
    "message":"Parameter should not be empty",
    "data":null,
    "extra":null,
    "transactionId":"dfcdc346a81f404f",
    "pricingStrategy":"FREE"
}
{
    "code":"PARAMETER_ERROR",
    "message":"Invalid returnUrl, please check your returnUrl",
    "data":null,
    "extra":null,
    "transactionId":"876cf2a354f73725",
    "pricingStrategy":"FREE"
}

ERROR Response

{
    "code":"ERROR",
    "message":"Server error",
    "data":null,
    "extra":null,
    "transactionId":"1deae5a13ef2bd5e",
    "pricingStrategy":"FREE"
}

Did this page help you?