Lead Distribution Analytics
This API retrieves lead data based on various user and lead conditions.
The API structure consists of report filters (consisting of user and lead filters), date filters, output conditions, and response format. By using a combination of these parameters, you can get analytical insights on varied use cases.
Example Use Cases
- The number of leads with engagement score < 20 in the last month
- The number of leads from a particular source in the last week
- The number of leads in a particular lead stage
- The average engagement score for all leads under a particular owner, etc.
Structure of the API
- The “Report Filter” node contains “UserFilter” and “LeadFilter” parameters.
- The “UserFilter” lets you use condition groups (see User Advanced Search) to filter users.
- The “LeadFilter” lets you filter based on any lead field.
- The “DateFilter” node lets you filter based on a particular date field (modified on, created on, etc.) and range.
- The “Output” node lets you control how you want the results to be displayed.
- You can retrieve results as a ‘list’ of leads
- Or you can use the ‘aggregate’ option to perform operations like averaging or summing up a particular lead field (lead score, engagement score, etc.)
- “Paging” options are used the same way across all our APIs. Use them to sort your results.
Note: The “ResponseFormat” parameter in the API URL lets you retrieve results in either JSON (default) or CSV formats.
API URL
URL Parameters
Parameter | Description |
---|---|
ResponseFormat | The response can be displayed in either JSON (default) or CSV formats. The response Content-Type will be “text/csv” in case of CSV response format. The CSV attachment can be downloaded. |
Request
Content-Type: application/json{ "ReportFilter": { "UserFilter": { "GroupConditions": [ { "Condition": [ { "LookupName": "UserID", "Operator": "eq", "LookupValue": "01f131a5-7746-11e6-bcaf-0677ec402fcf,07934579-8551-11e6-88b9-0677ec402fcf,090529bc-862c-11e6-88b9-0677ec402fcf,0ec2b1d5-3d0f-11e5-b982-22000aa68b6f" } ] } ] }, "LeadFilters": [ { "LookUpName": "EngagementScore", "LookUpValue": "0", "SqlOperator": "" } ] }, "DateFilter": [ { "DateField": "LeadCreatedOn", "FromDate": "2017-11-10 12:00:00", "ToDate": "2018-11-10 12:00:00" } ], "Output": { "Type": "aggregate", "GroupBy": "OwnerId", "AggregateFunction": "Average", "AggregateField": "EngagementScore", "IncludeCSV": "" }, "Paging": { "PageIndex": 1, "PageSize": 10 } }
Request Parameters
Parameter | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
User Filter | You can enter multiple User Ids/Email Addresses or use advanced search conditions. If no user filter is specified, all users will be considered. |
||||||||||||||||||||||
Lead Filters | You can enter multiple lead field filters separated by AND condition.
|
||||||||||||||||||||||
Date Filter | Lets you leads based on a particular date field. Multiple date filter are permitted.
Note: The date format must be yyyy-MM-dd hh:mm:ss |
||||||||||||||||||||||
Output | “Type” – You can receive the output as either
|
||||||||||||||||||||||
Paging | The results matching your criteria may be large. You can fetch the result in blocks of “PageSize” and make multiple calls to the API with increasing values of “PageIndex”. For example, you can specify “PageIndex”: 1, “PageSize”: 100 for the first call and specify “PageIndex”: 2, “PageSize”: 100 for second call. |
Response
{ "TotalCount": "4", "Results": [ { "OwnerId": "07934579-8551-11e6-88b9-0677ec402fcf", "Count": 18, "Average_EngagementScore": 9.944444444444445 }, { "OwnerId": "01f131a5-7746-11e6-bcaf-0677ec402fcf", "Count": 0, "Average_EngagementScore": null }, { "OwnerId": "090529bc-862c-11e6-88b9-0677ec402fcf", "Count": 0, "Average_EngagementScore": null }, { "OwnerId": "0ec2b1d5-3d0f-11e5-b982-22000aa68b6f", "Count": 0, "Average_EngagementScore": null } ] }
HTTP Response Codes
Code | Description |
---|---|
200 OK | This is the status code for successful API call. |
401 Unauthorized | The API call was made with invalid access credentials. Check your AccessKey and SecretKey. |
400 Bad Request | The message body on the request is not as per API specification. Make sure that content type is set to “application/json” and the JSON body has correct attribute names and structure. |
404 Not Found | The API could not be found. Please check the API signature. |
429 Too Many Requests | API calls exceeded the limit of 25 in 5 second(s) |
500 Internal Server Error | The API called failed. There could be many reasons for it. Check the exception message to get more details. |