Database Verification - 5 Minutes Tutorial - API Integration
Prerequisites
The following information is required to be able to integrate with Authologic:
- Developer portal credentials,
- API Keys.
Developer Portal Credentials
The developer portal address and credentials were provided during onboarding.
Passwords And API Keys
During the onboarding you have received the API keys:
- API key allowing communication with Authologic.
- The key used to verify the data sent by Authologic by the callback mechanism.
curl tool to show the API operation.
If you have not dealt with it, you can find a short guide on it here(opens in new tab).
Of course, there is nothing to prevent you from using the swagger tool directly, which you will find at the
link: here,
or any other tool, such as Postman or Insomnia.Creating a Conversation
To use the Database Verification (DBV) product, create a conversation with the databaseVerification query section.
The databaseVerification object is optional in its entirety; if provided, it instructs Authologic to run DBV checks on the
user's identity data collected during the conversation.
Basic Auth based authentication described, among others, at
here(opens in new tab). Username and API key should be used as data.
By using the curl tool we use the -u option which is responsible for the use of Basic Auth.curl -X POST -u my_login "https://sandbox.authologic.com/api/conversations" \
-H "Accept: application/vnd.authologic.v1.1+json" \
-H "Content-Type: application/vnd.authologic.v1.1+json" \
-d '{
"userKey": "7dfb9ded-c38f-49ae-95e2-307283a0b1f6",
"returnUrl": "https://id.sandbox.authologic.com/c/{conversationId}/thankYou",
"callbackUrl": "my_callback_url_here",
"query": {
"identity": {
"requireOneOf": [
["PERSON_NAME_FIRSTNAME", "PERSON_NAME_LASTNAME"]
]
},
"databaseVerification": {}
}
}'
Of course, instead of my_login enter your login. You should be prompted for a password - at that point you should
enter the API key (do not confuse it with the password to the customer panel).
For my_callback_url_here you could use https://webhook.site/(opens in new tab) to generate callback url which will be responsible for
receiving user information from Authologic. Whether you will use webhook.site or other similar tool it is crucial
that it will correctly receive http request since it is required for the process of identification.
query.databaseVerification? enables Database Verification. The object is currently empty; source selection is configured per customer account. Contact us to configure which sources are checked for your account.
The response to creating a conversation includes a databaseVerification status field:
{
"id": "c12c1adc-3ff0-4d32-b95c-c593135c903e",
"userKey": "7dfb9ded-c38f-49ae-95e2-307283a0b1f6",
"url": "https://sandbox.authologic.com/c/c12c1adc-3ff0-4d32-b95c-c593135c903e",
"status": "CREATED",
"result": {
"identity": {
"status": "IN_PROGRESS",
"user": {}
},
"databaseVerification": {
"status": "IN_PROGRESS"
}
}
}
Getting the conversation result
After the conversation finishes, the callback or a status poll returns the top-level database verification status. A detailed report can be obtained by using the dedicated API method described in the next section.
{
"id": "c12c1adc-3ff0-4d32-b95c-c593135c903e",
"status": "FINISHED",
"result": {
"identity": {
"status": "FINISHED",
"user": { "person": { "name": { "firstName": "Jan", "lastName": "Kowalski" } } }
},
"databaseVerification": {
"status": "FINISHED"
}
}
}
status values for databaseVerification: IN_PROGRESS, FINISHED, PARTIAL, FAILED.
Downloading Database Verification results
Once the conversation has FINISHED, retrieve the full per-source match data:
curl -u my_login "https://sandbox.authologic.com/api/conversations/c12c1adc-3ff0-4d32-b95c-c593135c903e/databaseVerification/info" \
-H "Accept: application/vnd.authologic.v1.1+json"
The response contains one entry per checked source:
{
"source": [
{
"name": "MATCHING",
"status": "FINISHED",
"sourceName": "Australia Residential",
"sourceType": "MARKETING",
"sourceMatchResult": "FULL_MATCH",
"errors": []
}
]
}
Key fields:
name? use-case type:MATCHING(identity matching).status? source processing result:FINISHEDorFAILED.sourceName? name of the external database/provider used.sourceType? category of the source (e.g.MARKETING,GOVERNMENT).sourceMatchResult? overall match verdict:FULL_MATCH,PARTIAL_MATCH, orNO_MATCH.