The Dynamic Signal Scoring API offers the functionality to retrieve identity-based scores for a set of identifiers that represent your customers. Use this API on-demand to access to the most up-to-date user scores, allowing you to provide the most pertinent experience to your customer. ADARA offers a library of 4. Active API Dynamic Signals for use cases that range from fraud detection to personalization
The API documentation for the endpoint is detailed here: Identity Verification APIAPI.
An ADARA technical consultant will provision the following for you to access the production endpoint:
Item | Definition |
---|---|
Client ID and Client Secret | Provides authorization for your identity to access the endpoint |
Identity scores | Names of scores to be retrieved with the API |
The following example shows the cURL command for acquiring an access token. However, you can use any REST API client to access the endpoint.
xxxxxxxxxx
curl --location
--request POST 'https://auth-prod.adara.com/api/v1.0/oauth/token' \
--header 'Content-Type: application/json' \
--data-raw \ '{"client_id":"REPLACE_CLIENT_ID","client_secret":"REPLACE_CLIENT_SECRET","audience":"https://idv.adara.com/","grant_type":"client_credentials"}'
The following example shows the corresponding response with your access token. Note the expiry time for the access token.
xxxxxxxxxx
{
"access_token": "xxxxxxxxxxxxx",
"expires_in": 52172,
"scope": "get:idv_scores",
"token_type": "Bearer"
}
Send a HTTPS POST request to the following endpoint to retrieve identity scores.
POST https://idv.adara.com/api/1/1
The following example shows the cURL command to onboard data.
xxxxxxxxxx
curl --location --request POST 'https://idv.adara.com/api/1/1' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer REPLACE_ACCESS_TOKEN' \
--data @myfile.json \
The following example shows a sample payload for the request data. The "data_requested"
object will contain the type of signal scores that you want returned for this single request. The "user"
object should contain all the identifiers you may have collected for a single person. ADARA will use these identifiers to match to the identities we have collected, and resolved. Additional "events"
data can be passed, based on your use case. The ADARA Technical Consulting team can recommend which data elements to specify in your implementation.
xxxxxxxxxx
{
"data_requested": [
"UUS_TRS_1",
"UUS_PV_2",
"UUS_TVS_1",
"UUS_EXPS_1"
],
"user": {
"email_sha256": "string",
"email_sha1": "string",
"email_md5": "string",
"privacy_token": "string",
"phone_sha256": "string",
"mobile": {
"android": {
"ad_id": "string"
},
"ios": {
"idfa": "string"
}
},
"client": {
"client_id": 1,
"client_name": "string",
"guid": "string",
"guid_sha256": "string",
"membership_id": "string"
}
},
"events": [
{
"consortium": "Banking",
"event_ts": "2017-12-31 01:20:59",
"event_type": "Transfer",
"location": {
"city": "San Francisco",
"country": "USA",
"ipaddress": "10.0.0.1",
"state": "California",
"zip": 95051
},
"transaction_currency": "USD",
"transaction_value": 123.45
}
]
}
The "data_requested"
object is required since it specifies which scores you want to retrieve for the provided identities.
This example shows a request for four scores. See 4. Active API Dynamic Signals for a list of ADARA's standard signals.
xxxxxxxxxx
{
"data_requested": [
"UUS_TRS_1",
"UUS_PV_2",
"UUS_TVS_1",
"UUS_EXPS_1"
],
...
An ADARA technical consultant will specify what identifiers are required for your implementation. The standard implementation requires SHA-256 hashed email and an IP address, although additional identity data elements may be required.
xxxxxxxxxx
...
"events": [
{
...
"location": {
"ipaddress": "10.0.0.1",
...
},
...
"user": {
"email_md5": "string",
"email_sha1": "string",
"email_sha256": "string",
...
The following example shows the corresponding response. Each signal may return values in different contexts with different data types, such as scores, numbered tiers, or boolean values. See 4. Active API Dynamic Signals for more details.
xxxxxxxxxx
…
{
"status": "OK",
"response": {
"signals": [
{
"signal_code": "UUS_PV_2",
"value": "80.0"
},
{
"signal_code": "UUS_TRS_1",
"value": "880.0"
},
{
"signal_code": "UUS_TVS_1",
"value": "550.0"
},
{
"signal_code": "UUS_EXPS_1",
"value": "75.0"
}
]
},
"user": {
"mobile": {
"android": {
"ad_id": "string"
},
"ios": null
},
"client": {
"pnr": null,
"guid": null,
"client_id": 1,
"client_name": null,
"guid_sha256": null,
"tms_id": "string",
"loyalty_id": null
},
"email_sha1": "string",
"email_sha256": "string",
"email_md5": null,
"phone_sha256": null
}
}