NAV Navbar
Shell

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.

See the complete lead object.

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:

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 email

{
  "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.