Introduction
API endpoint
https://salespanel.io/api/v1/
Welcome to the Salespanel API! You can use this API to access data about the contacts in your account.
You can view code examples in the dark area to the right, and you can switch the programming language of the examples with the tabs in the top right.
Authentication
To authorize, use this code:
curl "api_endpoint_here"
-H "Authorization: Token <API_TOKEN>"
Make sure to replace
<API_TOKEN>
with your API token.
Salespanel uses API tokens to allow access to the API. You can find your token on API token page in your dashboard, which you can access by logging in or signing up.
Salespanel expects for the API token to be included in all API requests to the server in a header that looks like the following:
Authorization: Token <API_TOKEN>
Pagination
Example Response
{
"pagination": {
"count": 1234,
"next": "https://salespanel.io/api/v1/api/v1/contacts/?limit=10&offset=10",
"previous": null
},
"results": [
...
]
}
API methods that return a collection of results are always paginated with pagination information inside a pagination
object. Salespanel APIs use limit
/offset
based pagination. The default limit
is 10
items, with the maximum limit
being 100
.
Arguments
Parameter | Description |
---|---|
limit optional |
Number of results per call. Accepted values: 1 - 100. Default is 10. |
offset optional |
A cursor for use in pagination. offset indicates the starting position to return rows from a result set. |
Pagination object
Attribute | Description |
---|---|
next |
The corresponding URL is the link to the next page. |
previous |
The corresponding URL is the link to the previous page. |
count |
The total number of records available for the resource requested. |
Errors
Example Request
curl -i "https://salespanel.io/api/v1/contacts/"
Example Response
HTTP/1.0 401 Unauthorized
Date: Wed, 11 Sep 2019 16:20:22 GMT
Content-Length: 58
Content-Type: application/json
WWW-Authenticate: Token
{"detail":"Authentication credentials were not provided."}
The Salespanel API uses the following error codes:
Code | Title | Description |
---|---|---|
400 | Bad Request | Your request is invalid. |
401 | Unauthorized | Your API key is wrong. |
403 | Forbidden | You do not have authorization to access the resource requested. |
404 | Not Found | The requested resource could not be found. |
405 | Method Not Allowed | You tried to access a resource with an invalid method. |
406 | Not Acceptable | You requested a format that isn't json. |
429 | Too Many Requests | Too many requests hit the API too quickly. |
50X | Internal Server Error | We had a problem with our server. Try again later. |
Errors return both an appropriate HTTP status code and response object which contains a detail
attribute.
Contacts
A contact is a unique visitor in your Salespanel account. It can be an identified lead with an email, a visiting company or just an anonymous visitor.
Life cycle: A contact is an anonymous visitor first. After the person is identified with an email, it will have an enriched person detail and an enriched company object. If only the visiting company is detected for a visitor, it will have enriched company object. In both cases, you will get an acquisition object that will provide you meta-information about the visitor.
Contact Object
Example Contact Object
{
"contact_id": "be8364a3-59b2-d17e-988f-27fb997df240",
"person_details": {
"name": "Aman Garg",
"first_name": "Aman",
"last_name": "Garg",
"email": "[email protected]",
"gender": "Male",
"age_range": null,
"bio": "This is my bio.",
"location": "Pune, India",
"title": "Product Engineer",
"organization": "Salespanel",
"website": null,
"facebook": null,
"linkedin": null,
"twitter": null
},
"company_details": {
"name": "Salespanel",
"domain": "salespanel.io",
"category": "Other",
"industry": "Information Technology and Services",
"bio": "Identify, track and score your leads with Salespanel. Aggregate all leads and run account based marketing campaigns.",
"location": "303, Skymax, Viman Nagar, Pune, Maharashtra, India",
"founded": 2018,
"employees": 10,
"facebook": null,
"linkedin": "https://www.linkedin.com/company/salespanel/",
"twitter": "https://twitter.com/salespanel",
"website": "https://salespanel.io"
},
"acquisition_details": {
"source": "Direct",
"landing_ip_address": "123.201.36.113",
"landing_location": {
"city": "Pune",
"region": "Maharashtra",
"region_code": "MH",
"country": "India",
"country_code": "IN",
"continent": "Asia",
"continent_code": "AS",
"emoji_flag": "๐ฎ๐ณ",
"emoji_unicode": "U+1F1EE U+1F1F3"
},
"landing_user_agent": {
"browser": "Chrome 76.0.3809",
"device": "PC",
"device_os": "Mac OS X 10.12.5"
}
},
"visitor_attributes": {
"int_attribute": 1,
"dec_attribute": 1.1,
"text_attribute": "text",
"bool_attribute": false,
}
}
Attribute | Description |
---|---|
contact_id string |
Unique identifier for the contact object. |
person_details object |
Person details object. |
company_details object |
Company details object. |
acquisition_details object |
Acquisition details object. |
visitor_attributes object |
Visitor Attributes object. |
Person Details Object
Contains details of the identified person like name, email, etc.
Example Person Details Object
{
"name": "Aman Garg",
"first_name": "Aman",
"last_name": "Garg",
"email": "[email protected]",
"gender": "Male",
"age_range": null,
"bio": "This is my bio.",
"location": "Pune, India",
"title": "Product Engineer",
"organization": "Salespanel",
"website": null,
"facebook": null,
"linkedin": null,
"twitter": null
}
Attribute | Description |
---|---|
name string |
Full name of the person. |
first_name string |
First name of the person. |
last_name string |
Last name of the person. |
email string |
Email address of the person. |
gender string |
Gender of the person. |
age_range string |
Age range of the person. |
bio string |
Biography of the person. |
location string |
Current or most recent location of the person. |
title string |
Current or most recent job title of the person. |
organization string |
Current or most recent place of work. |
website string |
URL of the person's website. |
facebook string |
URL of the person's Facebook profile. |
linkedin string |
URL of the person's LinkedIn profile. |
twitter string |
URL of the person's Twitter profile. |
Company Details Object
Contains details of the identified company like name, website, etc.
Example Company Details Object
{
"name": "Salespanel",
"domain": "salespanel.io",
"category": "Other",
"industry": "Information Technology and Services",
"bio": "Identify, track and score your leads with Salespanel. Aggregate all leads and run account based marketing campaigns.",
"location": "303, Skymax, Viman Nagar, Pune, Maharashtra, India",
"founded": 2018,
"employees": 10,
"facebook": null,
"linkedin": "https://www.linkedin.com/company/salespanel/",
"twitter": "https://twitter.com/salespanel",
"website": "https://salespanel.io"
}
Attribute | Description |
---|---|
name string |
The name of the company. |
domain string |
Domain of the company's website. |
category string |
The category of the company. |
industry string |
The industry of the company. |
bio string |
Company's bio. |
location string |
The location or address of the company. |
founded integer |
The year the company was founded. |
employees integer |
The number of employees with the company. |
facebook string |
URL to the Facebook profile associated with the company. |
linkedin string |
URL to the LinkedIn profile associated with the company. |
twitter string |
URL to the Twitter profile associated with the company. |
website string |
URL to the company's website. |
Acquisition Details Object
Contains details like browser, location, etc. at the time when the contact was acquired for the first time.
Example Acquisition Details Object
{
"source": "Direct",
"landing_ip_address": "123.201.36.113",
"landing_location": {
"city": "Pune",
"region": "Maharashtra",
"region_code": "MH",
"country": "India",
"country_code": "IN",
"continent": "Asia",
"continent_code": "AS",
"emoji_flag": "๐ฎ๐ณ",
"emoji_unicode": "U+1F1EE U+1F1F3"
},
"landing_user_agent": {
"browser": "Chrome 76.0.3809",
"device": "PC",
"device_os": "Mac OS X 10.12.5"
}
}
Attribute | Description |
---|---|
source string |
Either the utm_source query parameter or the referrer website. |
landing_ip_address string |
IP address. |
landing_location.city string |
The name of the city from where the IP Address is located |
landing_location.region string |
The name of the region where the IP Address is located. |
landing_location.region_code string |
The 3 letter ISO 3166-2 code for the region. |
landing_location.country string |
The name of the country where the IP Address is located. |
landing_location.country_code string |
The 2 letter ISO 3166-1 alpha-2 code for the country. |
landing_location.continent string |
The name of the continent where the IP Address is located. One of Africa , Antarctica , Asia , Europe , North America , Oceania , Solanguuth America . |
landing_location.continent_code string |
The 2 letter ISO 3166-1 alpha-2 code for the continent. One of AF , AN , AS , EU , NA , OC , SA |
landing_location.emoji_flag string |
An emoji version of the flag of the country where the IP Address is located. |
landing_location.emoji_unicode string |
The Unicode for the emoji flag. |
landing_user_agent.browser string |
Browser with version used by the visitor. |
landing_user_agent.device string |
Device used by the visitor. |
landing_user_agent.device_os string |
OS of the device used by the visitor. |
Visitor Attributes Object
Contains the values of visitor attributes present for a visitor.
Example Visitor Attributes Object
"visitor_attributes": {
"int_attribute": 1,
"dec_attribute": 1.1,
"text_attribute": "text",
"bool_attribute": false,
}
The following types of visitor attributes are allowed.
Attribute Type | Examples |
---|---|
Text string |
"value", "value2" |
Number int |
1, 2, 3 |
Decimal float |
1.10, 2.21, 3.3 |
Boolean bool |
true/false |
Get All Contacts
Example Request
curl "https://salespanel.io/api/v1/contacts/"
-H "Authorization: Token <API_TOKEN>"
Example Response
{
"pagination": {
"count": 1234,
"next": "http://localhost:8001/api/v1/contacts/?limit=10&offset=10",
"previous": null
},
"results": [
// This object is for a contact with an identified email.
{
"contact_id": "be8364a3-59b2-d17e-988f-27fb997df240",
"person_details": {
"name": "Aman Garg",
"first_name": "Aman",
"last_name": "Garg",
"email": "[email protected]",
"gender": "Male",
"age_range": null,
"bio": "This is my bio.",
"location": "Pune, India",
"title": "Product Engineer",
"organization": "Salespanel",
"website": null,
"facebook": null,
"linkedin": null,
"twitter": null
},
"company_details": {
"name": "Salespanel",
"domain": "salespanel.io",
"category": "Other",
"industry": "Information Technology and Services",
"bio": "Identify, track and score your leads with Salespanel. Aggregate all leads and run account based marketing campaigns.",
"location": "303, Skymax, Viman Nagar, Pune, Maharashtra, India",
"founded": 2018,
"employees": 10,
"facebook": null,
"linkedin": "https://www.linkedin.com/company/salespanel/",
"twitter": "https://twitter.com/salespanel",
"website": "https://salespanel.io"
},
"acquisition_details": {
"source": "Direct",
"landing_ip_address": "123.201.36.113",
"landing_location": {
"city": "Pune",
"region": "Maharashtra",
"region_code": "MH",
"country": "India",
"country_code": "IN",
"continent": "Asia",
"continent_code": "AS",
"emoji_flag": "๐ฎ๐ณ",
"emoji_unicode": "U+1F1EE U+1F1F3"
},
"landing_user_agent": {
"browser": "Chrome 76.0.3809",
"device": "PC",
"device_os": "Mac OS X 10.12.5"
}
},
"visitor_attributes": {
"int_attribute": 1,
"dec_attribute": 1.1,
"text_attribute": "text",
"bool_attribute": false,
}
},
// This object is for a visiting company. (no "person_details" object)
{
"contact_id": "85503dcb-846a-5ac1-385c-401f182bd708",
"company_details": {
"name": "Salespanel",
"domain": "salespanel.io",
"category": "Other",
"industry": "Information Technology and Services",
"bio": "Identify, track and score your leads with Salespanel. Aggregate all leads and run account based marketing campaigns.",
"location": "303, Skymax, Viman Nagar, Pune, Maharashtra, India",
"founded": 2018,
"employees": 10,
"facebook": null,
"linkedin": "https://www.linkedin.com/company/salespanel/",
"twitter": "https://twitter.com/salespanel",
"website": "https://salespanel.io"
},
"acquisition_details": {
"source": "Direct",
"landing_ip_address": "123.201.36.113",
"landing_location": {
"city": "Pune",
"region": "Maharashtra",
"region_code": "MH",
"country": "India",
"country_code": "IN",
"continent": "Asia",
"continent_code": "AS",
"emoji_flag": "๐ฎ๐ณ",
"emoji_unicode": "U+1F1EE U+1F1F3"
},
"landing_user_agent": {
"browser": "Chrome 76.0.3809",
"device": "PC",
"device_os": "Mac OS X 10.12.5"
}
},
"visitor_attributes": {
"int_attribute": 1,
"dec_attribute": 1.1,
"text_attribute": "text",
"bool_attribute": false,
}
},
...
]
}
Note: The second object is for a visiting company and has no
person_detail
object.
Returns a list of contacts that were active within the last 30 days in your Salespanel account. The contacts are returned in sorted order, with the most recent active appearing first.
HTTP Request
GET https://salespanel.io/api/v1/contacts/
Query Parameters
Parameter | Default | Description |
---|---|---|
limit optional |
10 | Number of results per call. Accepted values: 1 - 100. Default is 10. |
offset optional |
0 | A cursor for use in pagination. offset indicates the starting position to return rows from a result set. |
See the complete contact object.
This endpoint supports pagination. See the Pagination section for more detail.
Retrieve Contact
Example Request
curl "https://salespanel.io/api/v1/contacts/<contact_id>/"
-H "Authorization: Token <API_TOKEN>"
Example Response
{
"contact_id": "be8364a3-59b2-d17e-988f-27fb997df240",
"person_details": {
"name": "Aman Garg",
"first_name": "Aman",
"last_name": "Garg",
"email": "[email protected]",
"gender": "Male",
"age_range": null,
"bio": "This is my bio.",
"location": "Pune, India",
"title": "Product Engineer",
"organization": "Salespanel",
"website": null,
"facebook": null,
"linkedin": null,
"twitter": null
},
"company_details": {
"name": "Salespanel",
"domain": "salespanel.io",
"category": "Other",
"industry": "Information Technology and Services",
"bio": "Identify, track and score your leads with Salespanel. Aggregate all leads and run account based marketing campaigns.",
"location": "303, Skymax, Viman Nagar, Pune, Maharashtra, India",
"founded": 2018,
"employees": 10,
"facebook": null,
"linkedin": "https://www.linkedin.com/company/salespanel/",
"twitter": "https://twitter.com/salespanel",
"website": "https://salespanel.io"
},
"acquisition_details": {
"source": "Direct",
"landing_ip_address": "123.201.36.113",
"landing_location": {
"city": "Pune",
"region": "Maharashtra",
"region_code": "MH",
"country": "India",
"country_code": "IN",
"continent": "Asia",
"continent_code": "AS",
"emoji_flag": "๐ฎ๐ณ",
"emoji_unicode": "U+1F1EE U+1F1F3"
},
"landing_user_agent": {
"browser": "Chrome 76.0.3809",
"device": "PC",
"device_os": "Mac OS X 10.12.5"
}
},
"visitor_attributes": {
"int_attribute": 1,
"dec_attribute": 1.1,
"text_attribute": "text",
"bool_attribute": false,
}
}
Retrieves the details of an existing contact in your Salespanel account.
You need contact_id
which is the unique identifier for a particular contact.
HTTP Request
GET https://salespanel.io/api/v1/contacts/<contact_id>/
URL Parameters
Parameter | Description |
---|---|
contact_id required |
The unique ID of the contact to retrieve. |
See the complete contact object.
Identify Contact
Example Request
curl -X POST "https://salespanel.io/api/v1/contacts/<contact_id>/identify/"
-H "Authorization: Token <API_TOKEN>"
-H "Content-Type: application/json"
-d '{"email": "<email>","identified_through": "<identified_through>"}'
Example Response
{
"success": true
}
Add an email address to an existing unidentified contact in your Salespanel account. Identified contacts are referred to as Leads
in Salespanel.
You need contact_id
which is the unique identifier for a particular contact.
HTTP Request
POST https://salespanel.io/api/v1/contacts/<contact_id>/identify/
URL Parameters
Parameter | Description |
---|---|
contact_id required |
The unique ID of the contact to retrieve. |
POST Body Parameters
Parameter | Description |
---|---|
email required |
Email address for the contact. |
identified_through optional |
Source from where email is acquired. Default value if nothing is provided: "api" |
Set Visitor Attributes
Example Request
curl -X POST "https://salespanel.io/api/v1/visitor-attributes/"
-H "Authorization: Token <API_TOKEN>"
-H "Content-Type: application/json"
-d '{"visitor_identifier": "<email or visitor_id>", "visitor_attributes": {"<key>": "<value>""} "create_new": false}'
Example Response
{
"visitor_id": "b9f0f074-d765-4b7f-8a7a-cf94071026a8",
"success": true
}
Set values for a visitor's attributes. If an attribute is not already created in your account, a new attribute will be automatically created based on the first value provided.
You need visitor_identifier
which can be either the contact_id
or email
, which is the unique identifier for a particular contact.
HTTP Request
POST https://salespanel.io/api/v1/visitor-attributes/
POST Body Parameters
Parameter | Description |
---|---|
visitor_identifier string required |
contact_id (uuid) or email of the contact |
visitor_attributes object required |
key-value pairs with key as attribute label and value as the value you want to set for the visitor. Visitor attributes object |
create_new boolean optional |
Create a new visitor if it doesn't exist already with the identifier (email) provided. Default is false . |
Leads
Lead Object
Example Lead Object
{
"contact_id": "be8364a3-59b2-d17e-988f-27fb997df240",
"person_details": {
"name": "Aman Garg",
"first_name": "Aman",
"last_name": "Garg",
"email": "[email protected]",
"gender": "Male",
"age_range": null,
"bio": "This is my bio.",
"location": "Pune, India",
"title": "Product Engineer",
"organization": "Salespanel",
"website": null,
"facebook": null,
"linkedin": null,
"twitter": null
},
"company_details": {
"name": "Salespanel",
"domain": "salespanel.io",
"category": "Other",
"industry": "Information Technology and Services",
"bio": "Identify, track and score your leads with Salespanel. Aggregate all leads and run account based marketing campaigns.",
"location": "303, Skymax, Viman Nagar, Pune, Maharashtra, India",
"founded": 2018,
"employees": 10,
"facebook": null,
"linkedin": "https://www.linkedin.com/company/salespanel/",
"twitter": "https://twitter.com/salespanel",
"website": "https://salespanel.io"
},
"acquisition_details": {
"source": "Direct",
"landing_ip_address": "123.201.36.113",
"landing_location": {
"city": "Pune",
"region": "Maharashtra",
"region_code": "MH",
"country": "India",
"country_code": "IN",
"continent": "Asia",
"continent_code": "AS",
"emoji_flag": "๐ฎ๐ณ",
"emoji_unicode": "U+1F1EE U+1F1F3"
},
"landing_user_agent": {
"browser": "Chrome 76.0.3809",
"device": "PC",
"device_os": "Mac OS X 10.12.5"
}
},
"visitor_attributes": {
"int_attribute": 1,
"dec_attribute": 1.1,
"text_attribute": "text",
"bool_attribute": false,
}
}
Leads are your Salespanel contacts who have been identified using their email address.
Attribute | Description |
---|---|
contact_id string |
Unique identifier for the contact object. |
person_details object |
Person details object. |
company_details object |
Company details object. |
acquisition_details object |
Acquisition details object. |
visitor_attributes object |
Visitor Attributes object. |
Get All Leads
Example Request
curl "https://salespanel.io/api/v1/leads/"
-H "Authorization: Token <API_TOKEN>"
Example Response
{
"pagination": {
"count": 1234,
"next": "http://localhost:8001/api/v1/leads/?limit=10&offset=10",
"previous": null
},
"results": [
{
"contact_id": "be8364a3-59b2-d17e-988f-27fb997df240",
"person_details": {
"name": "Aman Garg",
"first_name": "Aman",
"last_name": "Garg",
"email": "[email protected]",
"gender": "Male",
"age_range": null,
"bio": "This is my bio.",
"location": "Pune, India",
"title": "Product Engineer",
"organization": "Salespanel",
"website": null,
"facebook": null,
"linkedin": null,
"twitter": null
},
"company_details": {
"name": "Salespanel",
"domain": "salespanel.io",
"category": "Other",
"industry": "Information Technology and Services",
"bio": "Identify, track and score your leads with Salespanel. Aggregate all leads and run account based marketing campaigns.",
"location": "303, Skymax, Viman Nagar, Pune, Maharashtra, India",
"founded": 2018,
"employees": 10,
"facebook": null,
"linkedin": "https://www.linkedin.com/company/salespanel/",
"twitter": "https://twitter.com/salespanel",
"website": "https://salespanel.io"
},
"acquisition_details": {
"source": "Direct",
"landing_ip_address": "123.201.36.113",
"landing_location": {
"city": "Pune",
"region": "Maharashtra",
"region_code": "MH",
"country": "India",
"country_code": "IN",
"continent": "Asia",
"continent_code": "AS",
"emoji_flag": "๐ฎ๐ณ",
"emoji_unicode": "U+1F1EE U+1F1F3"
},
"landing_user_agent": {
"browser": "Chrome 76.0.3809",
"device": "PC",
"device_os": "Mac OS X 10.12.5"
}
},
"visitor_attributes": {
"int_attribute": 1,
"dec_attribute": 1.1,
"text_attribute": "text",
"bool_attribute": false,
}
},
...
]
}
Returns a list of leads that were active within the last 24 hours in your Salespanel account. The leads are returned in sorted order, with the most recent active appearing first.
By default, Salespanel API returns the leads who were last active in the given time period (last 24 hours). However, you can choose to retreive only those leads who were first active in the given time period, so leads which were active 1 hours ago, but were actually first seen 7 days ago, won't be returned. select_by_first_activity
query parameter can be used for this purpose.
HTTP Request
GET https://salespanel.io/api/v1/leads/
Query Parameters
Parameter | Default | Description |
---|---|---|
select_by_first_activity optional |
false | Retreive leads based on their first activity. |
limit optional |
10 | Number of results per call. Accepted values: 1 - 100. Default is 10. |
offset optional |
0 | A cursor for use in pagination. offset indicates the starting position to return rows from a result set. |
This endpoint supports pagination. See the Pagination section for more detail.
Visiting Companies
Visiting companies are your Salespanel contacts for which a company was identified. You can get the list of enriched company objects.
Visiting Company Object
Example Visiting Company Object
{
"contact_id": "be8364a3-59b2-d17e-988f-27fb997df240",
"company_details": {
"name": "Salespanel",
"domain": "salespanel.io",
"category": "Other",
"industry": "Information Technology and Services",
"bio": "Identify, track and score your leads with Salespanel. Aggregate all leads and run account based marketing campaigns.",
"location": "303, Skymax, Viman Nagar, Pune, Maharashtra, India",
"founded": 2018,
"employees": 10,
"facebook": null,
"linkedin": "https://www.linkedin.com/company/salespanel/",
"twitter": "https://twitter.com/salespanel",
"website": "https://salespanel.io"
},
"acquisition_details": {
"source": "Direct",
"landing_ip_address": "123.201.36.113",
"landing_location": {
"city": "Pune",
"region": "Maharashtra",
"region_code": "MH",
"country": "India",
"country_code": "IN",
"continent": "Asia",
"continent_code": "AS",
"emoji_flag": "๐ฎ๐ณ",
"emoji_unicode": "U+1F1EE U+1F1F3"
},
"landing_user_agent": {
"browser": "Chrome 76.0.3809",
"device": "PC",
"device_os": "Mac OS X 10.12.5"
}
},
"visitor_attributes": {
"int_attribute": 1,
"dec_attribute": 1.1,
"text_attribute": "text",
"bool_attribute": false,
}
}
Attribute | Description |
---|---|
contact_id string |
Unique identifier for the contact object. |
company_details object |
Company details object. |
acquisition_details object |
Acquisition details object. |
visitor_attributes object |
Visitor Attributes object. |
Get All Visiting Companies
Example Request
curl "https://salespanel.io/api/v1/visiting-companies/"
-H "Authorization: Token <API_TOKEN>"
Example Response
{
"pagination": {
"count": 1234,
"next": "http://localhost:8001/api/v1/visiting-companies/?limit=10&offset=10",
"previous": null
},
"results": [
{
"contact_id": "be8364a3-59b2-d17e-988f-27fb997df240",
"company_details": {
"name": "Salespanel",
"domain": "salespanel.io",
"category": "Other",
"industry": "Information Technology and Services",
"bio": "Identify, track and score your leads with Salespanel. Aggregate all leads and run account based marketing campaigns.",
"location": "303, Skymax, Viman Nagar, Pune, Maharashtra, India",
"founded": 2018,
"employees": 10,
"facebook": null,
"linkedin": "https://www.linkedin.com/company/salespanel/",
"twitter": "https://twitter.com/salespanel",
"website": "https://salespanel.io"
},
"acquisition_details": {
"source": "Direct",
"landing_ip_address": "123.201.36.113",
"landing_location": {
"city": "Pune",
"region": "Maharashtra",
"region_code": "MH",
"country": "India",
"country_code": "IN",
"continent": "Asia",
"continent_code": "AS",
"emoji_flag": "๐ฎ๐ณ",
"emoji_unicode": "U+1F1EE U+1F1F3"
},
"landing_user_agent": {
"browser": "Chrome 76.0.3809",
"device": "PC",
"device_os": "Mac OS X 10.12.5"
}
},
"visitor_attributes": {
"int_attribute": 1,
"dec_attribute": 1.1,
"text_attribute": "text",
"bool_attribute": false,
}
},
...
]
}
Returns a list of visiting companies that were active within the last 24 hours in your Salespanel account. The visiting companies are returned in sorted order, with the most recent active appearing first.
By default, Salespanel API returns the visiting companies who were last active in the given time period (last 24 hours). However, you can choose to retreive only those visiting companies who were first active in the given time period, so visiting companies which were active 1 hours ago, but were actually first seen 7 days ago, won't be returned. select_by_first_activity
query parameter can be used for this purpose.
HTTP Request
GET https://salespanel.io/api/v1/visiting-companies/
Query Parameters
Parameter | Default | Description |
---|---|---|
select_by_first_activity optional |
false | Retreive visiting companies based on their first activity. |
limit optional |
10 | Number of results per call. Accepted values: 1 - 100. Default is 10. |
offset optional |
0 | A cursor for use in pagination. offset indicates the starting position to return rows from a result set. |
See the complete visiting company object.
This endpoint supports pagination. See the Pagination section for more detail.
Activities
Activity Object
Activities are of different types:
links
: Web page visits or form submission on a web page.email
: If you are using Salespanel for tracking your email, all the email open activities are under this type.custom_activity
: Custom activities logged using JS SDK, REST API or Zapier Action
Based on the type of activity, the fields returned will vary.
Example Activity Object - Activity Type
Links
{
"activity_type": "links",
"page_title": "Identify, track and score your leads | Salespanel",
"link": "https://salespanel.io/",
"form": false,
"page_duration": 759,
"utm_params": {
"utm_source": "google"
},
"referrer_link": null,
"created_on": "2019-08-21T12:17:46.678211+00:00"
}
Activity Type: links
Attribute | Description |
---|---|
activity_type string |
links |
page_title string |
Title of the page. |
link string |
URL of the page. |
form boolean |
Whether a form was submitted on the page. |
page_duration integer |
Time spent on the page in seconds. |
utm_params object |
Contains the utm parameters. |
referrer_link string |
Referrer URL. |
created_on string |
Timestamp in ISO 8601 format. |
Example Activity Object - Activity Type
{
"activity_type": "email",
"subject": "test"
"created_on": "2019-08-21T12:05:22.711619+00:00",
}
Activity Type: email
Attribute | Description |
---|---|
activity_type string |
email |
subject string |
Subject of the email sent. |
created_on string |
Timestamp in ISO 8601 format. |
Example Activity Object - Activity Type
custom_activity
{
"activity_type": "custom_activity",
"category": "website",
"label": "played video",
"activity_identifier": "Product A showcase",
"metadata": {
"video_id": โ1234",
โlogged_inโ: true,
โpage_urlโ: โhttps://example.comโ
},
"created_on": "2019-08-21T12:17:46.678211+00:00"
}
Activity Type: custom_activity
Attribute | Description |
---|---|
activity_type string |
custom_activity |
category string |
Category for the custom activity |
label string |
Label for the custom activity |
activity_identifier string |
Identifier for the custom activity |
metadata object |
Additional data provided for the custom activity |
created_on string |
Timestamp in ISO 8601 format. |
Retrieve Activities of a Contact
Example Request
curl "https://salespanel.io/api/v1/contacts/<contact_id>/activities/"
-H "Authorization: Token <API_TOKEN>"
Example Response
{
"pagination": {
"count": 25,
"next": null,
"previous": null
},
"results": [
{
"activity_type": "links",
"page_title": "Identify, track and score your leads | Salespanel",
"link": "https://salespanel.io/",
"form": false,
"page_duration": 759,
"utm_params": {
"utm_source": "google"
},
"referrer_link": null,
"created_on": "2019-08-21T12:17:46.678211+00:00"
},
{
"activity_type": "email",
"subject": "test",
"created_on": "2019-08-21T12:05:22.711619+00:00"
},
...
]
}
Returns a list of activities of a particular contact in your Salespanel account. The activities are returned in sorted order, with the most recent appearing first.
HTTP Request
GET https://salespanel.io/api/v1/contacts/<contact_id>/activities/
URL Parameters
Parameter | Description |
---|---|
contact_id required |
The unique ID of the contact to retrieve activities. |
Query Parameters
Parameter | Default | Description |
---|---|---|
limit optional |
10 | Number of results per call. Accepted values: 1 - 100. Default is 10. |
offset optional |
0 | A cursor for use in pagination. offset indicates the starting position to return rows from a result set. |
See the complete activity object.
This endpoint supports pagination. See the Pagination section for more detail.
Log a custom activity
Example Request
curl -X POST "https://salespanel.io/api/v1/custom-activity/create/"
-H "Authorization: Token <API_TOKEN>"
-H "Content-Type: application/json"
-d '{"visitor_identifier": "<email or visitor_id>", "category": "<category>", "label": "<label>", "metadata": {}, "create_new": false}'
Example Response
{
"visitor_id": "b9f0f074-d765-4b7f-8a7a-cf94071026a8",
"success": true
}
Log a custom activity for a Salespanel contact
You need visitor_identifier
which can be either the contact_id
or email
, which is the unique identifier for a particular contact.
HTTP Request
POST https://salespanel.io/api/v1/custom-activity/create/
POST Body Parameters
Parameter | Description |
---|---|
visitor_identifier string required |
contact_id (uuid) or email of the contact |
category string required |
Category for the custom activity |
label string required |
Label for the custom activity |
activity_identifier string optional |
Identifier for the custom activity |
metadata object optional |
Additional data provided for the custom activity |
create_new boolean optional |
Create a new visitor if it doesn't exist already with the identifier (email) provided. Default is false . |