Skip to main content
Many sensitive actions (KYC selfie capture, viewing the full card number, setting or resetting a PIN) should not pass through your backend at all; they are completed on the front end by a DCS-hosted page. That is exactly what the hosted guidance page mechanism is for:
  1. Your backend calls the issuing API (/redirect/v{1,2}/guidance-link) with the page type and the end user identifier;
  2. DCS returns a guidance link carrying a one-time secret (in the response data field);
  3. You hand that link to your front end to open, either as a direct redirect, a new window, or embedded in a WebView or IFrame (for integration conventions see Web SDK / Front-end Integration);
  4. When the DCS page opens, it uses the secret in the link to look up the context (Validating the guidance link) and renders the page once the link is confirmed legitimate;
  5. Once the user finishes or fails, the DCS page redirects back to your site using the successRedirectUrl / errorRedirectUrl you supplied.
Calling the H5 guidance page and redirecting backCalling the H5 guidance page and redirecting back
This page covers only the client-facing endpoints: guidance-link and public/secret-validate. Paths under internal or private, such as /internal/redirect/v1/h5 and /redirect/private/v1/h5, are internal DCS service-to-service APIs, not client-facing APIs you can call, and are not described here.

The guidance-link endpoint is:
The card is identified exactly by cardId rather than by the last four digits of the card number, which are not guaranteed to be unique across the cards of a single user.

Request headers

This API is also subject to DCS authentication and IP whitelisting; for the header signing rules see the Authentication Guide.

Request fields

The type of guidance page is controlled by action, and the accepted language values are listed below. Treat the fields on this page as authoritative: otpStatus, kycTicketId, CN/EN and similar parameters do not belong to this API.

Guidance page types (action enum)

Seven values are accepted:

Languages (language enum)

language takes lowercase, hyphenated values and is case-sensitive, with seven accepted values (the same convention as the Quickstart). Any value outside this whitelist is silently downgraded to the default language, with no error returned:

Request example (v2, masked)

Response

Every guidance API returns the common response envelope. The issued guidance link comes back in data (a string), not in a top-level linkUrl.
When messageDetail is populated: on a normal success its fields are usually all null. It is filled in when the flow needs to show an extra prompt to you or to the end user, such as guidance copy for a redirect or a retry link. type then identifies the message category, and linkTitle / linkUrl provide a clickable link.
The link in data carries a one-time secret. Read Validating the guidance link to understand its lifecycle, and never expose the full link in logs or screenshots.

2. Redirecting back to your site

Once the user finishes, abandons or fails on the DCS-hosted page, DCS redirects to the address you supplied when the link was issued:
  • Success → successRedirectUrl
  • Failure or cancellation → errorRedirectUrl
Both URLs are limited to 300 characters. Consider carrying your own correlation parameters (an order number, for example) on the URL so you can resume the business flow when the user returns, but never put sensitive parameters there in clear text.

The one-time secret inside a guidance link is looked up by the DCS-hosted page when the page opens, both to confirm that the link is legitimate and to retrieve the user context bound to it. This is a client-facing public endpoint:
Response (masked example)
In the example userId and cardId are 0, the default value for a number. The real values are internal DCS numeric IDs and are never 0; the example only illustrates the structure after masking.
PII red line: this response contains genuine personal data about the end user, including mobile / mobileCode / email / externalUserId. Every value shown above is a masked placeholder. During integration and operations it is strictly forbidden to keep real values in logs, tickets or documents shared outside your organization. Validation is normally initiated by the DCS-hosted page itself, so you rarely need to call this endpoint directly.

4. Error handling

When guidance-link fails, the response envelope returns a code other than SYS_SUCCESS together with a message describing the error. Common failure scenarios: Error response example (masked)
The code value PARAM_INVALID above is illustrative. In a live integration, always work from the code and message actually returned.

Language codes are defined by this page

Use only the language codes listed on this page for the client-facing guidance-link (zh / en / ko / ja / zh-Hant / th / vi — lowercase, hyphenated, case-sensitive, maximum length 10). Any value outside this whitelist is silently downgraded to the default language.