Fetch User Profile
Once the user approves the verification on your app with their Truecaller profile ( by clicking the 'Continue' button on the dialog ), we will immediately post the user's accessToken and the requestID to your Callback endpoint. The sample response format would look like below :
{"requestId":"RL8YZ41FQMt5Jiak2sc_Ys0OgQA=","accessToken":"a1asX--8_yw-OF--E6Gj_DPyKelJIGUUeYB9U9MJhyeu4hOCbrl","endpoint":"https://profile4-noneu.truecaller.com/v1/default"}
Here, the request ID is the same string which you had earlier passed on in the deep link 'requestNonce' parameter. This parameter acts as a request-response correlation identifier and can be used by you to identify the correct source of the request.
Once you receive the user's access token at your backend, you can fetch the respective user profile by making an API call to the endpoint that you receive in the above response in the following format :
Header Authorisation Parameters:
Parameter [Type] | Required | Description | Example |
Authorization | yes | Bearer {token} | Bearer WcBaSJYbCr5yla5z0CdAGfyj3Rruk8 |
Get User Profile
curl -X GET -H "Authorization: Bearer a3sAB0KnGANg4VZwIXfhUyFmPbzoONofl4FjIItac0JQSODp6niW8oBr33uOI-u7" -H "Cache-Control: no-cache" "https://profile4-noneu.truecaller.com/v1/default"
Sample User Profile Response
{
"phoneNumbers": ["919999999999"],
"addresses": [
{
"countryCode": "in",
"city": "city_field_value",
"street": "street_field_value",
"zipcode": "1234567"
}
],
"avatarUrl": "https://s3-eu-west-1.amazonaws.com/images1.truecaller.com/myview/1/15a999e9806gh73834c87aaa0498020d/3",
"aboutMe":"About me",
"jobTitle": "CEO",
"companyName": "ABC",
"history": {
"name":
{
"updateTime": "1508089888000"
}
},
"isActive": "True",
"gender": "Male",
"createdTime": "1379314068000",
"onlineIdentities": {
"url": "https://www.truecaller.com",
"email": "[email protected]",
"facebookId":"105056625245",
},
"type": "Personal",
"id": "655574719",
"userId":"1319413476",
"badges": ["verified", "premium"],
"name": {
"last": "Kapoor",
"first": "Rajat"
}
}
Response parameter | Type | Optional | Description |
id | string | N | |
userId | number | N | |
phoneNumbers | array[number] | N | Phone numbers prefixed with country code |
name
name.first name.last | object string string | N N Y | |
badges | array[string] | Y | |
avatarUrl | string | N | |
isActive | boolean | N | |
gender | string | N | Male|Female|NotSet |
privacy | string | N | |
type | string | N | User type |
history history.<field>
history.<fId>.updateTime | object string
number | N Y Y | Update history record for a field
(e.g. history.name contains history for name field) Update time for a field fId (e.g. history.name.updateTime contains last update time for name field) |
addresses addresses.countryCode addresses.city addresses.street addresses.zipcode | array[object] string string string string | N N N N N | List of addresses Country ISO2 code city street/ locality Zipcode/Postcode/Postal Code |
onlineIdentities onlineIdentities.url onlineIdentities.email onlineIdentities.facebookId | object string string string | Y Y Y Y | |
aboutMe | string | N | |
jobTitle | string | N | |
companyName | string | N | |
Please note that the optional attributes in the user profile as defined above, wouldn't exist in the response if not updated by user
Response Codes
- 200 OK
- 401 Unauthorised - If your credentials are not valid
- 5xx Server error - Any other error
Please note, in case users do not wish to share their Truecaller profile ( by dismissing Truecaller profile dialog ), you'll receive a user reject error response on your callback endpoint. The sample format for the same would look as below :
{"requestId":"WZqlS6PqY0ycO3mKlEuI=","status":"user_rejected"}
Last modified 2yr ago