GetID (as part of your sign-up flow)

If you are already integrated with the Checkin.com sign-up flow, GetID (IDScan) can easily be enabled and automatically added to the user journey in the optimal place for data enrichment and conversion rate.

From an integration point of view, the only change needed on your end is to:

  • Handle the new set of callback data related to GetID (IDScan)
  • Integrate the API request to fetch final results

Callback Data

With GetID (IDScan) enabled, there is a new data property called ocr added.

The recommended way of integrating is to simply read the additional data when the registration has been completed and you are about to create the user account (via the setOnComplete method).

This is the additional data:

  • resultUrl: Is the full URL on which you can run your API request
  • id: Contains the unique ID as a separate field
  • signed: Contains the ocrData encrypted as a JWT
  • applicationStatus: The status of the application (approved, declined or needs-review)
  • data: All the data extracted from the documents ( processing status is available as ocrData.data.status)
data.ocr: {
    "applicationStatus": "approved", // The status of the application
    "resultUrl": "https://ocr.regily.com/verifications/results/b2dce275031c3785ec1b7ac89983c67e1a9f", // Full API link to query
    "id": "b2dce275031c3785ec1b7ac89983c67e1a9f", // SessionID
    "signed": "eyJhbGciOiJFUzUxMiIsInR5cCI6IkpXVCJ9.eyJyZXN1bHRVcmwiOiJodHRwOi8vbG9jYWxob3N0OjMwMzAvdmVyaWZpY2F0aW9ucy9yZXN1bHRzL2IyZGNlMjc1MDMxYzM3ODVlYzFiN2FjODk5ODNjNjdlMWE5ZiIsImlkIjoiYjJkY2UyNzUwMzFjMzc4NWVjMWI3YWM4OTk4M2M2N2UxYTlmIiwiaXNzIjoicmVnaWx5In0.AFqGAHm-4_WkUcefDdme_-9wNZVF3TmCWaE5U7F9sg4zMVW0CZJJlJ-K6Rasl9umlHA8Em6HKO-MxTRjG4Z-oynbAK4d4fMT0bR_9ANWUPUDjTeXfJUGWwXCHXJqO0iIy89edB00cQWku_Iby2H-izWq5zxs6nXju1TCXtW9vEk4X6fC",
    "data": {  } // Array with all specifics from the scanned data
    }
}

As an additional security measure, the data comes encrypted as a JWT and you should decrypt the token and fetch the data to make sure the transaction has been processed correctly.

For information on how to handle a JWT, please see this section.

Querying the Checkin.com API

The endpoint to use to get the final results from a verification is https://ocr.regily.com/verifications/results/.
It can only be accessible via a secret API key which is shared separately.

The id you need to add to the URL is the same as you have already stored from the callback data.

Here is an example of how to query the API:

curl --request GET \
 --url https://ocr.regily.com/verifications/results/[ID] \
 --header 'X-SECRET-KEY: [SECRET_ACCESS_KEY]' \

HTTP Status codes

CodeError/StatusMessageDescription
200OK-The GET request was successful
202OK-The POST request was successful
400Bad RequestError verifying application for App processing error
403ForbiddenForbidden resourceThe secret key is invalid or missing
404Not FoundCannot GET /non-existing-urlEndpoint doesn't exist
500Internal Server Error-An error occurred

Here is an example of a response from a API request:

{
    "data": {
        "results": {
            "status": "declined",   //Application Status
            "concerns": [
               {
                    "id": "DC023",
                    "message": "Found 2 issue(s).",
                    "service": "doc-check",
                    "status": "declined"
                },
                {
                    "id": "DC030", //ID of the error message
                    "message": "Fields from ocr and mrz have conflict: 1965-03-10, 2022-03-10, Checksum is not valid",
                    "service": "doc-check",
                    "status": "declined"
                }
            ]
        },
        "checks": [     //Checked Services
            {
                "name": "docCheck",
                "status": "declined",
                "comment": "Found 2 issue(s)."
            }
        ],
        "documents": [  //Collected Document Pictures During verification proccess
            {
                "name": "document",
                "files": [
                    {
                        "kind": "front",
                        "mediaType": "image/jpeg",
                        "uri": "https://ocr.regily.com/files/63a6377af8183ffc3f6cbabdd6dbc66d/document/front.jpeg"
                    },
                    {
                        "kind": "back",
                        "mediaType": "image/jpeg",
                        "uri": "https://ocr.regily.com/files/63a6377af8183ffc3f6cbabdd6dbc66d/document/back.jpeg"
                    }
                ]
            },
            {
                "name": "selfie",  //Collected Selfie Picture During verification proccess
                "files": []
            }
        ],
        "metadata": {
            "platform": "web",
            "ipAddress": "146.70.122.156",
            "country": "SWE",
            "city": "Skondal",
            "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36"
        }
        },
        "status": "done",
        "attributes": {       // Attrubutes collected from the document
            "documentType": "id-card",
            "firstName": "WILLEKE LISELOTTE",
            "originalFirstName": "Willeke Liselotte",
            "lastName": "DE BRUIJN",
            "originalLastName": "De Bruijn",
            "documentNumbers": [
                "SPECI2021",
                "SPECI2021"
            ],
            "idNumber": "",
            "referenceId": "",
            "gender": "female",
            "nationality": "NLD",
            "issueCountry": "NLD",
            "dateOfExpiry": "2031-08-02",
            "dateOfBirth": "1965-03-10",
            "placeOfBirth": "SPECIMEN"
        }
    },
    "signed": "eyJhbGciOiJFUzUxMiIsInR5cCI6...."
}

Do you want to enable GetID?

Reach out to [email protected] and we'll help you out!