Trulioo

Trulioo Developer Portal

Welcome to the Trulioo's developer hub. You'll find comprehensive guides and documentation to help you start working with Trulioo as quickly as possible, as well as support if you get stuck. Let's jump right in!

Get Started

Making Asynchronous Requests to Global Gateway

Submitting a Verify request with the CallBackUrl parameter defined allows a transaction to run asynchronously.

The CallBackUrl parameter must be a valid and secure URL. Trulioo recommends setting up your own server and URL so you can receive all the necessary information to review your response.

Alternatively, if callbacks from Trulioo’s systems are not going to be consumed, provide the
following Url in CallBackUrl field:

https://api.globaldatacompany.com/connection/v1/async-callback

This will ensure that the data from the call back will remain in Trulioo’s systems and the asynchronous request can be executed without calling external systems.

Request

POST https://api.globaldatacompany.com/verifications/v1/verify
Authorization: Basic ACCESS_TOKEN
Content-Type: application/json
body:
{
  "AcceptTruliooTermsAndConditions": true,
  "ConfigurationName": "Identity Verification",
  "CallBackUrl": "https://api.globaldatacompany.com/connection/v1/async-callback",
  "ConsentForDataSources": [],
  "CountryCode": "US",
  "DataFields": {
    "PersonInfo": {
      "FirstGivenName": "German",
      "MiddleName": "Leandro",
      "FirstSurName": "Stuarts",
      "DayOfBirth": "22",
      "MonthOfBirth": "10",
      "YearOfBirth": "1980"
    },
    "Location": {
      "BuildingNumber": "123",
      "StreetName": "123",
      "City": "123",
      "StateProvinceCode": "TX",
      "PostalCode": "123"
    },
    "DriverLicence": {
      "Number": "123",
      "State": "CA"
    },
    "Passport": {
      "Mrz1": "123",
      "Mrz2": "123"
    }
  }
}

Once your request is submitted, Trulioo will try to update the client with transaction state updates - at the URL specified - until the transaction completes. Only once the transaction is complete will a Transaction Record ID (TRID) become available in that response. Get Transaction Status updates are synchronous. Trulioo recommends polling status updates at 15 second intervals.

Async Record Response

{
    "TransactionID": "5a26c222-a6b3-460e-a2aa-0b71d8bf7b8c",
    "UploadedDt": "0001-01-01T00:00:00",
    "CountryCode": "US",
    "ProductName": "Identity Verification",
    "Record": {
        "RecordStatus": "nomatch",
        "DatasourceResults": [],
        "Errors": [],
        "Rule": {}
    },
    "Errors": []
}

Status Updates

The TransactionRecordId will populate when Status is Completed.

Updates will be available at the CallBackUrl provided unless you are utilizing Trulioo's https://api.globaldatacompany.com/connection/v1/async-callback.

// returned at CallBackUrl
{
  "TransactionId": "5a26c222-a6b3-460e-a2aa-0b71d8bf7b8c",
  "TransactionRecordId": "9070d025-41fb-4c73-801d-d49be264fd20",
  "Status": "Completed"
}
// when using https://api.globaldatacompany.com/connection/v1/async-callback
{
    "TransactionId": "5a26c222-a6b3-460e-a2aa-0b71d8bf7b8c",
    "TransactionRecordId": "9070d025-41fb-4c73-801d-d49be264fd20",
    "Status": "Completed",
    "UploadedDt": "2019-03-18T17:28:15",
    "IsTimedOut": false
}

To review your transaction's results, perform a GET Transaction Record request with the completed transaction's resulting TRID.

Full Record Response

{
    "InputFields": [
        {
            "FieldName": "YearOfBirth",
            "Value": "1980"
        },
        {
            "FieldName": "FirstName",
            "Value": "German"
        },
        {
            "FieldName": "MiddleName",
            "Value": "Leandro"
        },
        {
            "FieldName": "LastName",
            "Value": "Stuarts"
        }
    ],
    "TransactionID": "5a26c222-a6b3-460e-a2aa-0b71d8bf7b8c",
    "UploadedDt": "2019-03-18T17:28:15",
    "CountryCode": "US",
    "ProductName": "Identity Verification",
    "Record": {
        "TransactionRecordID": "9070d025-41fb-4c73-801d-d49be264fd20",
        "RecordStatus": "nomatch",
        "DatasourceResults": [
            {
                "DatasourceName": "International Watchlist",
                "DatasourceFields": [
                    {
                        "FieldName": "FirstSurName",
                        "Status": "missing"
                    },
                    {
                        "FieldName": "FirstGivenName",
                        "Status": "missing"
                    },
                    {
                        "FieldName": "YearOfBirth",
                        "Status": "missing"
                    },
                    {
                        "FieldName": "MiddleName",
                        "Status": "missing"
                    }
                ],
                "AppendedFields": [
                    {
                        "FieldName": "WatchlistState",
                        "Data": "Clear"
                    }
                ],
                "Errors": [],
                "FieldGroups": []
            }
        ],
        "Errors": [],
        "Rule": {
            "RuleName": "Category 3 KYC v3",
            "Note": "Match(FamilyAndGivenInitial, DOB) or Match(FamilyAndGivenInitial, FullAddress) or Match(FamilyAndGivenInitial, ID) MiddleName Ignored"
        }
    },
    "Errors": []
}

Making Asynchronous Requests to Global Gateway


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.