Overview
Welcome to the SalesDirector.ai API Documentation
This RESTful API speaks JSON. The API uses JSend type JSON responses to provide a consistent response format.
This API is stable, we will be actively adding more methods to this API regularly.
Any breaking changes made to the API will result in a new version of the API. Currently we are on version 1. You change the version in the URI such as /api/v1 or /api/v2, etc…
Authentication
To authorize, use this code:
# With shell, you can just pass the correct header with each request
curl "api_endpoint_here"
-H "Authorization: xxxxxxxxxxx"
Make sure to replace
xxxxxxxxxxx
with your API key.
SalesDirector.ai uses API keys to allow access to the API. To get an API key login into SalesDirector.ai and go to Setup -> API Keys -> and create a New API Key.
SalesDirector.ai expects for the API key to be included in all API requests to the server in a header that looks like the following:
Authorization: xxxxxxxxxxx
Also Note you should access your API via your subdomain.
https://yyyyyyy.salesdirector.ai/api/v1/something
Opportunities
Get My Opportunities
curl "https://yyyyyyy.salesdirector.ai/api/v1/opportunities/my"
-H "Authorization: xxxxxxxxxxx"
The above command returns JSON structured like this:
{
"status": "success",
"data": [
{
"id": "a9799007-8ed2-4261-b5a8-1efbdc8bbc2b",
"active": "1",
"external_opp_id": "334j0HHBF",
"name": "Phone Install for Southern Railway",
"external_account_id": "333j055555",
"account": "Southern Railway",
"amount": 80000,
"close_date": {
"date": "2017-02-15 00:00:00.000000",
"timezone_type": 2,
"timezone": "PST"
},
"stage": "Develop",
"forecast": "upside",
"stage_system": "Develop",
"forecast_system": "upside",
"activity_index": 33,
"relationship_index": 50,
"type": "New Business",
"website": "http://www.southernrailway.com"
}
]
}
HTTP Request
GET https://yyyyyyy.salesdirector.ai/api/v1/opportunities/my
Upload/Update Opportunities
curl "https://yyyyyyy.salesdirector.ai/api/v1/admin/opportunities/upload" -F "file=@myfile.csv" -H "Authorization: xxxxxxxxxxx"
The above command returns JSON structured like this:
{
"status":"success",
"data":{
"total_imported_rows": 12,
"total_error_rows": 2,
"error_file": "https://app.salesdirector.ai/somebucket/mycompany-csv-opps-error-2017-02-28-13-42-36-84q1jp3u.csv",
"total_original_rows": 12
}
}
Upload / Update Opportunities via CSV file (batch process). Note: you must have Administrative permissions to perform this action.
Note: The unique key is the Opportunity ID. If we detect a new Opportunity ID in your CSV we will create a new opportunity, existing Opportunities will be Updated.
Supported Fields: Opportunity ID*, Opportunity Name*, Amount, Close Date, Stage, Opportunity Owner, Opportunity Owner Email, Account ID, Account Name, Account URL/Website, Opportunity Type, Next Step
The CSV file needs the first line to be a header line. Only 2 fields marked with a * are required, but we recommend as many as possible.
Note: 20MB File Max
HTTP Request
GET https://yyyyyyy.salesdirector.ai/api/v1/admin/opportunities/upload
Query Parameters
Parameter | Default | Description |
---|---|---|
send_error_email | false | If set to true, any errors will be emailed to the user |
Contacts
Upload/Update Contacts
curl "https://yyyyyyy.salesdirector.ai/api/v1/admin/contacts/upload" -F "file=@myfile.csv" -H "Authorization: xxxxxxxxxxx"
The above command returns JSON structured like this:
{
"status":"success",
"data":{
"total_imported_rows": 12,
"total_error_rows": 2,
"error_file": "https://app.salesdirector.ai/somebucket/mycompany-csv-contacts-error-2017-02-28-13-42-36-84q1jp3u.csv",
"total_original_rows": 12
}
}
Upload / Update Contacts via CSV file (batch process). These should be contacts associated with the Opportunities.
Note: you must have Administrative permissions to perform this action.
Supported Fields: Opportunity ID, Email*, Fullname, First Name, Last Name, Title, Company Name, Phone, Mobile Phone
The CSV file needs the first line to be a header line. The Opportunity ID is YOUR External Opportunity ID that you referenced in your Opportunity Upload.
HTTP Request
GET https://yyyyyyy.salesdirector.ai/api/v1/admin/contacts/upload
Query Parameters
Parameter | Default | Description |
---|---|---|
send_error_email | false | If set to true, any errors will be emailed to the user |
Sales Targets
Upload/Update Sales Targets
curl "https://yyyyyyy.salesdirector.ai/api/v1/admin/salestargets/upload" -F "file=@myfile.csv" -H "Authorization: xxxxxxxxxxx"
The above command returns JSON structured like this:
{
"status":"success",
"data":{
"total_imported_rows": 12,
"total_error_rows": 2,
"error_file": "https://app.salesdirector.ai/somebucket/mycompany-csv-forecast-error-2017-02-28-13-42-36-84q1jp3u.csv",
"total_original_rows": 12
}
}
Upload / Update Sales Targets (Sales Quotas) via CSV file (batch process). Note: you must have Administrative permissions to perform this action.
Fields we need are: Email Address of Salesrep, Month (date), Amount
The CSV file needs the first line to be a header line. All fields are required.
HTTP Request
GET https://yyyyyyy.salesdirector.ai/api/v1/admin/salestargets/upload
Query Parameters
Parameter | Default | Description |
---|---|---|
send_error_email | false | If set to true, any errors will be emailed to the user |
Error Codes
Error Code | Meaning |
---|---|
400 | Bad Request – Usually an Invalid ID/URI |
401 | Unauthorized – Your API key is invalid |
404 | Not Found – The resource wasnt found |
500 | Internal Server Error – We had a problem with our server. Try again later. |
503 | Service Unavailable – We’re temporarily offline for maintenance. Please try again later. |