# FAQ

# File types and retention time

# What file types do you accept? Are there file size limits?

Media Type File Formats
image/jpeg .jpeg, .jpg
image/png .png
application/pdf .pdf
video/mp4 .mp4
video/webm .webm
video/quicktime .mov

Maximum file size – 50 MB.
You can set minimum and maximum file size limits in the «SDK Integration» section.

# How long do you store documents?

We have no restrictions on file retention time.

# API Issues

# I receive a 405 Method not allowed error.

Ensure that you are using the correct HTTP method. For example, do not use GET where POST is required. Also, you generally need to include the HTTP header -H Accept:application/json unless you are retrieving a binary file, such as an image or PDF. More details can be found in the API Integration section.

# I receive a 415 Unsupported media type error.

Make sure you are using HTTP headers that match the type of data being sent. In most cases, include the header -H Accept:application/json. If you are making a POST request, also include -H Content-Type:application/json or -H Content-Type:multipart/form-data. More details are available in the API Integration section.

# I receive a 401 error code

Ensure that all authorization headers are provided according to the documentation:

  • appToken was created and used in the same environment (Sandbox or Production);
  • the encrypted request signature includes the request body;
  • the timestamp matches UTC in seconds, not milliseconds.

# Testing in the Sandbox environment

# Why does an applicant stay in pending status for a long time in the Sandbox?

The Sandbox environment is intended only to test integration. The Sandbox does not automatically verify applicant. If you need to change an applicant's status, do so manually. More details are available in the API Requests section.

# SDK Functionality

# Which languages does the SDK support?

We support and automatically update this list of languages.

You can specify any ISO 639-1 code when initializing the SDK. If a language is not available, the SDK will automatically default to English (en).

# Can I change the colors and texts on SDK screens?

You can use custom CSS settings for the SDK by specifying them in the verification level settings or passing them as .uiConf.customCss / .uiConf.customCssStr parameters during initialization.

All SDK texts can also be modified directly in the Dashboard under “SDK Integration” in the “SDK Translations” tab.

# Access to the Production environment

# How can we get access to the Production environment?

Before granting access to the Production environment, we would like to test the integration and perform verification on behalf of your end user. To do this, we ask you to provide a link to your server/platform/application.

Make sure that:

  • the integration in the Sandbox environment is complete, functioning correctly, and meets your requirements;
  • there are no errors or warnings in the developer console;
  • you have saved our applicantId in your database and mapped it to your users;
  • you have received and successfully processed test webhooks from our side;
  • you know how to correlate the results received in the webhook payload with your users.

Warning:

We may send several final webhooks, so be prepared for applicant status changes on your side as well. A typical example is when an applicant was approved, but later found to be fraudulent, so we block them with a second final RED webhook.

# How to successfully move to the Production environment?

If possible, provide us with information about the expected number of incoming users per hour/day/month.

Settings will not be automatically transferred from the Sandbox environment to the Production environment. Therefore, do not forget to:

  • set up webhooks in the “Dev space” under the “Webhooks” tab for the Production environment;
  • configure settings in the “Global Settings” tab of the Dashboard;
  • create and use an appToken and secret key for API authorization in the Production environment.

# Verification results

# Why does your service support only an asynchronous method?

We provide only an asynchronous method to ensure a high level of service quality. Some external databases may experience delays, so obtaining the result may take longer. Additionally, in complex cases, verification may be conducted by our staff to provide the most accurate result, ensuring that, regardless of external circumstances, we can deliver the best response as quickly as possible.

# Why do we need to create an endpoint to receive webhooks from your service?

Your service must accept webhooks from our service to automatically receive information about applicant verification results and update the verification status in real time. If you believe that the verification result has not been received by your service, you can request the applicant's status at any time. More details can be found in the Getting Started section.

# Where to find the verification result when receiving a webhook?

It is located in the field reviewResult.reviewAnswer. Supported values:

  • GREEN — the applicant passed verification;
  • RED — the applicant did not pass verification, but in most cases they can fix the issue by uploading new documents.

# How can I get the result of user document recognition?

After the verification is complete, we will send a webhook to your endpoint. If the value of reviewAnswer is GREEN, you can retrieve the result of the user's document recognition. More details are available in the API Requests section.

# How can I obtain the document verification results?

After the verification is complete, we will send a webhook to your endpoint. You can then request the verification results for each document. More details can be found in the API Requests section.

# In what format are the document recognition results provided?

Different types of documents have different sets of fields. You can retrieve the results using this request after verification is complete.

# Example:

"idDocs": [
    {
        "idDocType": "PASSPORT",
        "country": "ALB",
        "firstName": "JOHN",
        "firstNameEn": "JOHN",
        "lastName": "DOE",
        "lastNameEn": "DOE",
        "issuedDate": "2019-06-05",
        "validUntil": "2020-08-08",
        "number": "87988779P",
        "dob": "1990-01-01"
    },
    {
        "idDocType": "ID_CARD",
        "country": "GBR",
        "firstName": "JOHN",
        "firstNameEn": "JOHN",
        "lastName": "DOE",
        "lastNameEn": "DOE",
        "issuedDate": "2018-06-05",
        "validUntil": "2021-08-08",
        "number": "87988779ID",
        "dob": "1990-01-01"
    },
    {
        "idDocType": "DRIVERS",
        "country": "GBR",
        "firstName": "JOHN",
        "firstNameEn": "JOHN",
        "lastName": "DOE",
        "lastNameEn": "DOE",
        "issuedDate": "2015-09-09",
        "validUntil": "2021-08-08",
        "firstIssuedDate": "2010-09-09",
        "number": "87988779DR",
        "dob": "1990-01-01"
    },
    {
        "idDocType": "UTILITY_BILL",
        "country": "GBR",
        "firstName": "JOHN",
        "firstNameEn": "JOHN",
        "lastName": "DOE",
        "lastNameEn": "DOE",
        "issuedDate": "2019-10-15",
        "address": {
            "subStreet": "15A APT 9",
            "subStreetEn": "15A APT 9",
            "street": "GENERIC STREET",
            "streetEn": "GENERIC STREET",
            "state": "STATE",
            "stateEn": "STATE",
            "town": "GENCITY",
            "townEn": "GENCITY",
            "postCode": "987",
            "country": "GBR"
        }
    },
    {
        "idDocType": "RESIDENCE_PERMIT",
        "country": "GBR",
        "firstName": "JOHN",
        "firstNameEn": "JOHN",
        "lastName": "DOE",
        "lastNameEn": "DOE",
        "issuedDate": "2015-08-08",
        "validUntil": "2020-08-08",
        "number": "87988779RP",
        "dob": "1990-01-01"
    }
]

# How to notify users about verification results?

After the verification is complete, we can send the user an email with the results. The email contains the verification result and a link, which the user can click to re-upload documents if the verification was unsuccessful. To enable email notifications from our side, you need to select the appropriate reasons in the «Email notifications» dropdown in the verification level settings. In the branding settings, you can change the company logo, redirect link, and modify email texts in the «Emails» tab of the SDK Translations section.

# Other

# I am not receiving emails from IDnGO.

If you are using branding and set your email as the sender, make sure that the SPF record has been processed as instructed.

Also, check that your side is not blocking emails from the domain idngo.kz.

# What if I have more questions that I cannot find answers to?

Contact us by e-mail or via the "Support Chat" section of the Dashboard. We will be happy to help!