NAV
shell

Introduction

Welcome to the Advisr API! You can use our API to access Advisr API endpoints, which can get information on clients, campaigns and most objects with the Advisr Platform

You can view access examples with curl in the dark area to the right. All API endpoints responses are JSON. Please reach out to your account manager to inquire about access.

Authentication

To authorize, use this code:

# With shell, you can just pass the correct header with each request
curl "api_endpoint_here"
  -H "token: api-token"

Make sure to replace api-token with your API key.

All Advisr API endpoints require an access token passed in the headers of the request. In order to retrieve your Company's access token please contact your Support representative.

token: api-token

Company

Load company

curl "https://api.advisr.com/v1/company" \
  -H "token: api-token"

The above command returns JSON structured like this:

{
  "id": 1,
  "name": "Advisr",
  "logo": "https://assets.advisr.com/uploads/companies/a80b7375e2073c6725f8566c749957623b714e48.png",
  "description": null,
  "campaignSubmissionEmails": [],
  "sendCampaignSubmissionEmailToUser": true,
  "supportEmails": [
    "support@advisr.com"
  ],
  "presetBudgets": null,
  "billingDetailId": 23,
  "termsAndConditions": null,
  "brandColors": null,
  "campaignBudgetMinimum": null,
  "submissionReplyToEmails": [],
  "customFields": [
    {
      "categoryKey": "sfdc",
      "name": "Id",
      "key": "id",
      "isArray": false,
      "type": "text",
      "value": "1",
      "updatedAt": "2020-08-11T12:09:46.992Z"
    }
  ],
  "createdAt": "2019-03-28T13:18:15.322Z",
  "updatedAt": "2020-07-17T13:54:08.489Z"
}

This endpoint loads the Company object

HTTP Request

GET https://api.advisr.com/v1/company

Company Object Properties

Parameter Datatype Nullable Description
id int no
name string no
logo url yes
description string no
campaignSubmissionEmailsToUser boolean no
supportEmails array string yes
presetBudgets array int yes
billingDetailId int yes
termsAndConditions int yes
brandColors array string yes
campaignBudgetMinimum int yes
submissionReplyToEmails array string yes
customFields array of custom field objects yes
createdAt datetime no
updatedAt datetime no

Group

List groups

curl "https://api.advisr.com/v1/groups?limit=10&page=1&sort=name&sortDesc=false&search=" \
  -H "token: api-token"

The above command returns JSON structured like this:

{
  "page": 1,
  "hasMore": false,
  "results": [
    {
      "id": 3,
      "name": "Internal Group",
      "companyId": 1,
      "companyName": "Advisr",
      "region": null,
      "station": null
      "createdAt": "2019-04-18T20:26:05.566Z",
      "updatedAt": "2020-01-23T20:37:33.537Z"
    },
    {
      "id": 4,
      "name": "WABC",
      "companyId": 1,
      "companyName": "Advisr",
      "region": "East",
      "station": "Wabc"
      "createdAt": "2019-08-18T20:26:05.566Z",
      "updatedAt": "2020-05-23T20:37:33.537Z"
    }
  ]
}

This endpoint retrieves the group list for the company

HTTP Request

GET https://api.advisr.com/v1/groups

Query Parameters

Parameter Required Default Description
limit false 10 How many groups to return
page false 1 What page of the results to return
sort false name The column to sort results by
sortDesc false false Sort the results decending
search false Search name string to limit results by

List fields Properties

Value Datatype Nullable Description
page int no
hasMore boolean no
results array of groups no
id int no
name string no
companyId int no
companyName string no
region string no
station string no
createdAt datetime no
updatedAt datetime no

Load group

curl "https://api.advisr.com/v1/group/1" \
  -H "token: api-token"

The above command returns JSON structured like this:

{
  "id": 1,
  "name": "Advisr East",
  "companyId": 1,
  "companyName": "Advisr",
  "logo": "https://assets.advisr.com/uploads/groups/b975882b4af07502fcc3dc9ad90e33a5216d95fc.png",
  "description": "<div>This is text for the description</div>",
  "station": "East Station",
  "region": "East Region",
  "campaignSubmissionEmails": [],
  "supportEmails": [],
  "presetBudgets": [
    10000,
    20000,
    50000,
    75000,
    100000
  ],
  "brandColors": [
    "rgba(46,118,188,1)",
    "rgba(67,160,71,1)",
    "rgba(205,205,205,1)"
  ],
  "campaignBudgetMinimum": 500,
  "billingDetails": null,
  "customFields": [
    {
      "categoryKey": "sfdc",
      "name": "Id",
      "key": "id",
      "isArray": false,
      "type": "text",
      "value": "1123",
      "updatedAt": "2020-08-11T12:09:46.992Z"
    }
  ],
  "createdAt": "2019-03-20T13:05:08.780Z",
  "updatedAt": "2020-06-05T14:38:28.129Z"
}

This endpoint loads the Group

HTTP Request

GET https://api.advisr.com/v1/group/:id

URL Parameters

Parameter Description
id The group id to load

Group Object Properties

Parameter Datatype Nullable Description
id int no
name string no
companyId int no
companyName string no
logo url yes
description string no
station string yes
region string yes
campaignSubmissionEmails array string yes
supportEmails array string yes
presetBudgets array int yes
brandColors array string yes
campaignBudgetMinimum int yes
billingDetails object yes
customFields array of custom field objects yes
createdAt datetime no
updatedAt datetime no

BillingDetails Object Properties

Parameter Datatype Nullable Description
id int no
name string no
email string yes
phone string yes
address string yes
createdAt datetime no
updatedAt datetime no

Client

List clients

curl "https://api.advisr.com/v1/clients?companyGroupId=1&limit=10&page=1&sort=name&sortDesc=false" \
  -H "token: api-token"

The above command returns JSON structured like this:

{
  "page": 1,
  "hasMore": false,
  "results": [
    {
      "id": 96,
      "name": "AAA Rockland",
      "industryCategoryName": "Insurance Services",
      "industryCategoryId": 14,
      "numCampaigns": "47",
      "clientUpdatedAt": "2020-01-23T22:33:13.950Z",
      "campaignUpdatedAt": "2020-03-12T19:46:14.822Z",
      "createdAt": "2020-01-02T14:45:26.184Z",
      "updatedAt": "2020-03-12T19:46:14.822Z",
      "companyId": 1,
      "companyGroupId": 1,
      "companyGroupName": "Advisr East"

    },
    {
      "id": 13,
      "name": "Advance Auto Parts",
      "industryCategoryName": "Automotive Repair Services",
      "industryCategoryId": 13,
      "numCampaigns": "154",
      "clientUpdatedAt": "2020-02-12T21:47:42.920Z",
      "campaignUpdatedAt": "2020-03-10T18:41:44.461Z",
      "createdAt": "2020-01-02T14:45:26.184Z",
      "updatedAt": "2020-03-10T18:41:44.461Z",
      "companyId": 1,
      "companyGroupId": 1,
      "companyGroupName": "Advisr East"

    }
  ]
}

This endpoint retrieves the client list for the user who owns the API token.

HTTP Request

GET https://api.advisr.com/v1/clients

Query Parameters

Parameter Required Default Description
limit false 10 How many clients to return
page false 1 What page of the client results to return
sort false name The column to sort results by (id,name,clientUpdatedAt,campaignUpdatedAt,updatedAt)
sortDesc false false Sort the results decending
search false Search string to limit clients results by

List fields Properties

Value Datatype Nullable Description
id integer no
name string no
industryCategoryName string no
industryCategoryID integer no
numCampaigns integer no
clientUpdatedAt datetime no
campaignUpdatedAt datetime no
createdAt datetime no
updatedAt datetime no
companyId integer no
companyGroupId integer no
companyGroupName string no

List campaigns for client

curl "https://api.advisr.com/v1/client/:id/campaigns?limit=10&page=1&sort=name&sortDesc=false&search=" \
  -H "token: api-token"

The above command returns JSON structured like this:

{
  "page": 1,
  "hasMore": false,
  "results": [
    {
      "id": 862,
      "name": "Q3 Autozone 2020",
      "clientId": 1,
      "companyGroupId": 1,
      "industryCategoryId": 8,
      "budget": 50000,
      "status": "Submitted",
      "statusKey": "submitted",
      "state" : "submitted",
      "startDate": "2020-07-01",
      "endDate": "2020-09-30",
      "completedAt": "2020-04-02T14:46:02.772Z",
      "submittedAt": "2020-04-02T14:48:12.840Z",
      "createdAt": "2020-04-02T14:45:06.184Z",
      "updatedAt": "2020-04-02T14:48:12.840Z"
    },
    {
      "id": 890,
      "name": "Q4 Autozone 2020",
      "clientId": 1,
      "companyGroupId": 1,
      "industryCategoryId": 8,
      "budget": 50000,
      "status": "Submitted",
      "statusKey": "submitted",
      "state" : "submitted",
      "startDate": "2020-12-01",
      "endDate": "2020-12-30",
      "completedAt": "2020-04-02T14:46:02.772Z",
      "submittedAt": "2020-04-02T14:48:12.840Z",
      "createdAt": "2020-04-02T14:45:06.184Z",
      "updatedAt": "2020-04-02T14:48:12.840Z"
    }
  ]
}

This endpoint retrieves the campaign list for the client.

HTTP Request

GET https://api.advisr.com/v1/client/:id/campaigns

Query Parameters

Parameter Default Description
id The client id to load
limit 10 How many clients to return
page 1 What page of the client results to return
sort updatedAt The column to sort results by
sortDesc false Sort the results decending
search false Searchstring to limit campaigns results by

List campaigns fields Properties

Value Datatype Nullable Description
id integer no
name string no
clientId integer no
companyGroupId integer no
industryCategoryId integer no
budget integer no
state string no fixed:-[ 'new', 'open', 'editing', 'submitted', 'closed-lost' ]
status string no defaults:-[ 'New', 'Open', 'Editing', 'Closed-Won', 'Closed-Lost', 'Testing']
statusKey string no defaults:-[ 'new', 'open', 'editing', 'submitted', 'closed-lost' ]
startDate date yes
endDate date yes
completedAt datetime yes
submittedAt datetime yes
createdAt datetime no
updatedAt datetime no

List goals for client

curl "https://api.advisr.com/v1/client/:id/goals?limit=10&page=1&sort=name&sortDesc=false&search=" \
  -H "token: api-token"

The above command returns JSON structured like this:

{
  "page": 1,
  "hasMore": false,
  "results": [
    {
      "id": 1,
      "name": "Ad Engagement",
      "externalLookupId": "12345"
    },
    {
      "id": 2,
      "name": "Website Traffic",
      "externalLookupId": "37847"
    },
    {
      "id": 3,
      "name": "Reach",
      "externalLookupId": "84887"
    }
  ]
}

This endpoint retrieves the goals list for the company

HTTP Request

GET https://api.advisr.com/v1/client/:id/goals

Query Parameters

Parameter Required Default Description
limit false 10 How many goals to return
page false 1 What page of the results to return
sort false name The column to sort results by
sortDesc false false Sort the results decending
search false Search name string to limit results by

List fields Properties

Value Datatype Nullable Description
page int no
hasMore boolean no
results array of goals no
id int no
name string no
externalLookupId string yes

Load client

curl "https://api.advisr.com/v1/client/284" \
  -H "token: api-token"

The above command returns JSON structured like this:


{
  "id": 1,
  "name": "Autozone Auto Parts",
  "companyId": 1,
  "companyName": "Advisr",
  "companyGroupId": 1,
  "companyGroupName": "Advisr East",
  "externalLookupId": "93813",
  "deleted": false,
  "externalLookupId": "93813",
  "primaryContactName": "Steve Smith",
  "primaryContactPhone": "(718) 789-9744",
  "primaryContactEmail": "steve@gmail.com",
  "logoUrl": "https://assets.beta.advisr.com/uploads/clients/b2948bddd69dd9d1d5f09a1440f8d6e82bf82208.png",
  "website": "https://www.autozone.com/locations/ny/brooklyn/975-983-atlantic-ave.html",
  "facebook": null,
  "twitter": null,
  "hasAgency": true,
  "agencyName": "Digitas",
  "agencyContact": "Steve Sanders",
  "industryCategoryId": 8,
  "industryCategoryName": "Automotive Parts and Supplies",
  "industryId": 2,
  "industryName": "Auto",
  "type": "local",
  "owners": [
    {
      "id": 4,
      "firstName": "Steve",
      "lastName": "Renz",
      "fullName": "Steve Renz",
      "email": "steve@advisr.com",
      "isAdvisrEmployee": true,
      "userCompanyGroup": {
        "id": 21,
        "companyId": 1,
        "companyGroupId": 1,
        "companyGroupName": "Advisr East",
        "title": "Director of Product",
        "mobilePhone": "(770) 330-3064",
        "officePhone": "(770) 330-3064",
        "isActive": true,
        "isCampaignOwner": true
      }
    },
    {
      "id": 3,
      "firstName": "Peter",
      "lastName": "Fernquist",
      "email": "peter@advisr.com",
      "isAdvisrEmployee": true,
      "userCompanyGroup": {
        "id": 38,
        "companyId": 1,
        "companyGroupId": 1,
        "companyGroupName": "Advisr East",
        "title": "Sales Manager and Head Honcho",
        "mobilePhone": "(646) 230-8692",
        "officePhone": null,
        "isActive": true,
        "isCampaignOwner": true
      }
    }
  ],
  "teamMembers": [
    {
      "id": 4,
      "firstName": "Steve",
      "lastName": "Renz",
      "fullName": "Steve Renz",
      "email": "steve@advisr.com",
      "isAdvisrEmployee": true,
      "userCompanyGroup": {
        "id": 21,
        "companyId": 1,
        "companyGroupId": 1,
        "companyGroupName": "Advisr East",
        "title": "Director of Product",
        "mobilePhone": "(770) 330-3064",
        "officePhone": "(770) 330-3064",
        "isActive": true,
        "isCampaignOwner": true
      }
    },
    {
      "id": 3,
      "firstName": "Peter",
      "lastName": "Fernquist",
      "email": "peter@advisr.com",
      "isAdvisrEmployee": true,
      "userCompanyGroup": {
        "id": 38,
        "companyId": 1,
        "companyGroupId": 1,
        "companyGroupName": "Advisr East",
        "title": "Sales Manager and Head Honcho",
        "mobilePhone": "(646) 230-8692",
        "officePhone": null,
        "isActive": true,
        "isCampaignOwner": true
      }
    }
  ],
  "createdBy": {
      "id": 4,
      "firstName": "Steve",
      "lastName": "Renz",
      "email": "steve@advisr.com",
      "isAdvisrEmployee": true,
      "userCompanyGroup": {
        "id": 21,
        "companyId": 1,
        "companyGroupId": 1,
        "companyGroupName": "Advisr East",
        "title": "Director of Product",
        "mobilePhone": "(770) 330-3064",
        "officePhone": "(770) 330-3064",
        "isActive": true,
        "isCampaignOwner": true
      }
  },
  "officeAddress": {
    "id": 3488,
    "formatted": "555 Washington St, Weymouth, MA 02188, USA",
    "streetNumber": "555",
    "street": "Washington Street",
    "streetAddress": "555 Washington Street",
    "subpremise": null,
    "city": "Weymouth",
    "state": "MA",
    "zip": "02188",
    "lat": "42.20498509999999",
    "lng": "-70.9542742",
    "googlePlaceId": "ChIJ_2WhRV9i44kRRUscAbeN5Jc",
    "name": "AutoZone Auto Parts"
  },
  "addresses": [
    {
      "id": 59,
      "formatted": "535 Morgan Ave, Brooklyn, NY 11222, USA",
      "streetNumber": "535",
      "street": "Morgan Avenue",
      "streetAddress": "535 Morgan Avenue",
      "subpremise": null,
      "city": "Brooklyn",
      "state": "NY",
      "zip": "11222",
      "lat": "40.72266189999999",
      "lng": "-73.93948669999997",
      "googlePlaceId": "ChIJPZ2DWExZwokRezYI-kgS_EY",
      "name": "AutoZone Auto Parts"
    },
    {
      "id": 1440,
      "formatted": "629 Communipaw Ave, Jersey City, NJ 07304, USA",
      "streetNumber": "629",
      "street": "Communipaw Avenue",
      "streetAddress": "629 Communipaw Avenue",
      "subpremise": null,
      "city": "Jersey City",
      "state": "NJ",
      "zip": "07304",
      "lat": "40.7178388",
      "lng": "-74.0745657",
      "googlePlaceId": "ChIJNaFZMNhQwokRGDVw7dDI1hs",
      "name": "AutoZone Auto Parts"
    },
    {
      "id": 1447,
      "formatted": "745 Secaucus Rd, Jersey City, NJ 07307, USA",
      "streetNumber": "745",
      "street": "Secaucus Road",
      "streetAddress": "745 Secaucus Road",
      "subpremise": null,
      "city": "Jersey City",
      "state": "NJ",
      "zip": "07307",
      "lat": "40.75642629999999",
      "lng": "-74.04493889999998",
      "googlePlaceId": "ChIJq-a6mXRXwokRN8ZHp035lpU",
      "name": "AutoZone Auto Parts"
    }
  ],
  "customFields": [
    {
      "categoryKey": "sfdc",
      "name": "Client Id",
      "key": "client_id",
      "isArray": false,
      "type": "text",
      "value": "12421512",
      "updatedAt": "2020-08-11T12:09:46.992Z"

    },
    {
      "categoryKey": "sfdc",
      "name": "Opportunity Category",
      "key": "opportunity_category",
      "isArray": true,
      "type": "multiselect",
      "value": [
        "retail",
        "amusement_parks"      
      ],
      "valueOptions": [
        { "value": "retail", "name": "Retail" },
        { "value": "amusement_parks", "name": "Amusement Parks" }
      ],
      "updatedAt": "2022-08-11T12:09:46.992Z"
    }
  ],
  "createdAt": "2019-11-27T13:11:40.607Z",
  "updatedAt": "2020-01-06T16:07:14.770Z"
}



This endpoint loads the data for a specific client.

HTTP Request

GET https://api.advisr.com/v1/client/:id

URL Parameters

Parameter Description
id The client id to load

Client Object Properties

Parameter Datatype Nullable Description
id integer no
name string no
companyId integer no
companyName string no
companyGroupId integer no
companyGroupName string no
externalLookupId string yes External system ID used for matching across platforms
deleted boolean no
externalLookupId string yes External system ID used for matching across platforms
primaryContactName string yes
primaryContactPhone string yes
primaryContactEmail string yes
logoUrl string yes
website string yes
facebook string yes
twitter string yes
hasAgency boolean no
agencyName string yes
agencyContact string yes
industryCategoryId integer no
industryCategoryName string no
industryId integer no
industryName string no
type string no ['local', 'national']
owners array - userCompanyGroup objects no
teamMembers array - userCompanyGroup objects no
createdBy userCompanyGroup object no
officeAddress address object yes
addresses array - address objects yes
customFields array - custom field objects yes
createdAt datetime no
updatedAt datetime no

Address Object Properties

Parameter Datatype Nullable Description
id integer no
formatted string yes
streetNumber string yes
street string yes
streetAddress string yes
subpremise string yes
city string yes
state string yes
zip string yes
lat string yes
lng string yes
googlePlaceId string yes
name string yes

UserCompanyGroup Object Properties

Parameter Datatype Nullable Description
id integer no
companyId integer no
companyGroupId integer no
companyGroupName string no
title string yes
mobilePhone string yes
officePhone string yes
isActive boolean no
isCampaignOwner boolean no
userId user object no

User Object Properties

Parameter Datatype Nullable Description
id integer no
firstName string no
lastName string no
fullName string no
email string no
isAdvisrEmployee boolean no

Create client

curl "https://api.advisr.com/v1/client/create" \
  -d '{
    "client" : {
      "name": "Autozone Auto Parts",
      "companyGroupId": 103,
      "industryCategoryId": 348,
      "createdByUserCompanyGroupId": 8832,
      "ownerUserCompanyGroupIds": [ 8832 ],
      "addresses": [
        {
          "name": "Autozone Auto Parts",
          "address": "555+Washington+St,+Weymouth,+MA"
        }
      ],
      "externalLinks": [
        {
          "externalSystemId": 84,
          "externalAccountId": "18384"
        }
      ]
    }
  }' \
  -H "Content-Type: application/json" \
  -H "token: api-token"

The above command returns JSON structured like this:

{
  "result": 
    {
      "id": 1,
      "externalLookupId": null,
      "name": "Autozone Auto Parts",
      "companyId": 1,
      "companyName": "Advisr",
      "companyGroupId": 1,
      "companyGroupName": "Advisr East",
      "deleted": false,
      "primaryContactName": "Steve Smith",
      "primaryContactPhone": "(718) 789-9744",
      "primaryContactEmail": "steve@gmail.com",
      "logoUrl": "https://assets.beta.advisr.com/uploads/clients/b2948bddd69dd9d1d5f09a1440f8d6e82bf82208.png",
      "website": "https://www.autozone.com/locations/ny/brooklyn/975-983-atlantic-ave.html",
      "facebook": null,
      "twitter": null,
      "hasAgency": true,
      "agencyName": "Digitas",
      "agencyContact": "Steve Sanders",
      "industryCategoryId": 8,
      "industryCategoryName": "Automotive Parts and Supplies",
      "industryId": 2,
      "industryName": "Auto",
      "type": "national",
      "owners": [
        {
          "id": 8832,
          "firstName": "Steve",
          "lastName": "Renz",
          "email": "steve@advisr.com",
          "isAdvisrEmployee": true,
          "userCompanyGroup": {
            "id": 21,
            "companyId": 1,
            "companyGroupId": 1,
            "companyGroupName": "Advisr East",
            "title": "Director of Product",
            "mobilePhone": "(770) 330-3064",
            "officePhone": "(770) 330-3064",
            "isActive": true,
            "isCampaignOwner": true
          }
        },
        {
          "id": 3,
          "firstName": "Peter",
          "lastName": "Fernquist",
          "email": "peter@advisr.com",
          "isAdvisrEmployee": true,
          "userCompanyGroup": {
            "id": 38,
            "companyId": 1,
            "companyGroupId": 1,
            "companyGroupName": "Advisr East",
            "title": "Sales Manager and Head Honcho",
            "mobilePhone": "(646) 230-8692",
            "officePhone": null,
            "isActive": true,
            "isCampaignOwner": true
          }
        }
      ],
      "createdBy": {
          "id": 8832,
          "firstName": "Steve",
          "lastName": "Renz",
          "email": "steve@advisr.com",
          "isAdvisrEmployee": true,
          "userCompanyGroup": {
            "id": 21,
            "companyId": 1,
            "companyGroupId": 1,
            "companyGroupName": "Advisr East",
            "title": "Director of Product",
            "mobilePhone": "(770) 330-3064",
            "officePhone": "(770) 330-3064",
            "isActive": true,
            "isCampaignOwner": true
          }
      },
      "officeAddress": {
        "id": 3488,
        "formatted": "555 Washington St, Weymouth, MA 02188, USA",
        "streetNumber": "555",
        "street": "Washington Street",
        "subpremise": null,
        "city": "Weymouth",
        "state": "MA",
        "zip": "02188",
        "lat": "42.20498509999999",
        "lng": "-70.9542742",
        "googlePlaceId": "ChIJ_2WhRV9i44kRRUscAbeN5Jc",
        "name": "AutoZone Auto Parts"
      },
      "addresses": [
        {
          "id": 3488,
          "formatted": "555 Washington St, Weymouth, MA 02188, USA",
          "streetNumber": "555",
          "street": "Washington Street",
          "subpremise": null,
          "city": "Weymouth",
          "state": "MA",
          "zip": "02188",
          "lat": "42.20498509999999",
          "lng": "-70.9542742",
          "googlePlaceId": "ChIJ_2WhRV9i44kRRUscAbeN5Jc",
          "name": "AutoZone Auto Parts"
        }
      ],
      "customFields": [
        {
          "categoryKey": "sfdc",
          "name": "Client Id",
          "key": "client_id",
          "isArray": false,
          "type": "string",
          "value": "12421512",
          "updatedAt": "2020-08-11T12:09:46.992Z"

        },
        {
          "categoryKey": "google",
          "name": "account Id",
          "key": "account_id",
          "isArray": true,
          "type": "string",
          "value": [
            "Oey123123kh123h12k3h123",
            "Oey123123kh123h12k3h124"
          ],
          "updatedAt": "2020-08-11T12:09:46.992Z"

        }
      ],
      "externalLinks": [{
        "crmType": "sfdc",
        "crmId": "84",
        "crmName": "Salesforce National",
        "account": {
          "id": "18384",
          "name": "Blaze Pizza",
          "link": "https://na174.lightning.force.com/lightning/r/Account/0016g00001pU7AVAA0/view"
        },
        "createdAt": "2021-08-22T14:14:27.775Z",
        "updatedAt": "2021-09-12T17:45:30.556Z"
      }],
      "createdAt": "2019-11-27T13:11:40.607Z",
      "updatedAt": "2020-01-06T16:07:14.770Z"
    },
  "errors": [],
  "warnings": []
}



This endpoint creates a new client and returns a result object with the newly-created client, as well as arrays of errors and warnings if there were any issues in the create. If the creation attempt necessitates a hard failure, the result object will be empty and consolidated errors will include the reason(s) for failure.

HTTP Request

POST https://api.advisr.com/v1/client/create

Post Parameters

Parameter Required Description
client true The client object

Client Object Properties

Parameter Datatype Required Description
name string true The client’s name
companyGroupId integer true The ID of the group within the company
externalLookupId string false External system ID used for matching across platforms
companyGroupExternalLookupId string false External system ID used for matching across platforms
contactName string false
contactPhone string false
contactEmail string false
website string false
agencyName string false
agencyContact string false
industryCategoryId integer true The ID of the client’s selected industry category
type string false ['local', 'national']
createdByUserCompanyGroupId integer true The ID of the userCompanyGroup of the user creating the client
ownerUserCompanyGroupIds array - userCompanyGroupIds true The ID(s) of the client owner(s)
addresses array - address objects false
country string false ['US', 'CA']
customFields array - custom field objects false Ex. renewal or new business; leader or lagger
externalLinks array - externalLink objects false

Address Object Properties

Parameter Datatype Required Description
name string false The name of the address location
address string false Ex. “1600+Amphitheatre+Parkway,+Mountain+View,+CA”
Parameter Datatype Required Description
externalSystemId integer false The ID of the system (CRM, OMS, etc) as established within Advisr
externalAccountId string false The ID of the account within the external system

Update client

curl "https://api.advisr.com/v1/client/284/update" \
  -d '{
    "client" : {
      "name": "Advisr",
      "website": "http://www.advisr.com",
      "contactName": "Joe Advisr",
      "contactEmail": "joe@advisr.com",
      "contactPhone": "(555) 555-5555",
      "externalLinks": [
        {
          "externalSystemId": 84,
          "externalAccountId": "18384"
        }
      ]
    }
  }' \
  -H "Content-Type: application/json" \
  -H "token: api-token"

The above command returns JSON structured like this:


{
  "result": {
    "id": 284,
    "name": "Advisr",
    "companyId": 1,
    "companyName": "Advisr",
    "companyGroupId": 1,
    "companyGroupName": "Advisr East",
    "deleted": false,
    "primaryContactName": "Joe Advisr",
    "primaryContactPhone": "(555) 555-5555",
    "primaryContactEmail": "joe@advisr.com",
    "logoUrl": "https://assets.beta.advisr.com/uploads/clients/b2948bddd69dd9d1d5f09a1440f8d6e82bf82208.png",
    "website": "http://www.advisr.com",
    "facebook": null,
    "twitter": null,
    "hasAgency": true,
    "agencyName": "Digitas",
    "agencyContact": "Steve Sanders",
    "industryCategoryId": 8,
    "industryCategoryName": "Automotive Parts and Supplies",
    "industryId": 2,
    "industryName": "Auto",
    "type": "national",
    "owners": [
      {
        "id": 4,
        "firstName": "Steve",
        "lastName": "Renz",
        "email": "steve@advisr.com",
        "isAdvisrEmployee": true,
        "userCompanyGroup": {
          "id": 21,
          "companyId": 1,
          "companyGroupId": 1,
          "companyGroupName": "Advisr East",
          "title": "Director of Product",
          "mobilePhone": "(770) 330-3064",
          "officePhone": "(770) 330-3064",
          "isActive": true,
          "isCampaignOwner": true
        }
      },
      {
        "id": 3,
        "firstName": "Peter",
        "lastName": "Fernquist",
        "email": "peter@advisr.com",
        "isAdvisrEmployee": true,
        "userCompanyGroup": {
          "id": 38,
          "companyId": 1,
          "companyGroupId": 1,
          "companyGroupName": "Advisr East",
          "title": "Sales Manager and Head Honcho",
          "mobilePhone": "(646) 230-8692",
          "officePhone": null,
          "isActive": true,
          "isCampaignOwner": true
        }
      }
    ],
    "createdBy": {
        "id": 4,
        "firstName": "Steve",
        "lastName": "Renz",
        "email": "steve@advisr.com",
        "isAdvisrEmployee": true,
        "userCompanyGroup": {
          "id": 21,
          "companyId": 1,
          "companyGroupId": 1,
          "companyGroupName": "Advisr East",
          "title": "Director of Product",
          "mobilePhone": "(770) 330-3064",
          "officePhone": "(770) 330-3064",
          "isActive": true,
          "isCampaignOwner": true
        }
    },
    "officeAddress": {
      "id": 3488,
      "formatted": "555 Washington St, Weymouth, MA 02188, USA",
      "streetNumber": "555",
      "street": "Washington Street",
      "subpremise": null,
      "city": "Weymouth",
      "state": "MA",
      "zip": "02188",
      "lat": "42.20498509999999",
      "lng": "-70.9542742",
      "googlePlaceId": "ChIJ_2WhRV9i44kRRUscAbeN5Jc",
      "name": "AutoZone Auto Parts"
    },
    "addresses": [
      {
        "id": 59,
        "formatted": "535 Morgan Ave, Brooklyn, NY 11222, USA",
        "streetNumber": "535",
        "street": "Morgan Avenue",
        "subpremise": null,
        "city": "Brooklyn",
        "state": "NY",
        "zip": "11222",
        "lat": "40.72266189999999",
        "lng": "-73.93948669999997",
        "googlePlaceId": "ChIJPZ2DWExZwokRezYI-kgS_EY",
        "name": "AutoZone Auto Parts"
      },
      {
        "id": 1440,
        "formatted": "629 Communipaw Ave, Jersey City, NJ 07304, USA",
        "streetNumber": "629",
        "street": "Communipaw Avenue",
        "subpremise": null,
        "city": "Jersey City",
        "state": "NJ",
        "zip": "07304",
        "lat": "40.7178388",
        "lng": "-74.0745657",
        "googlePlaceId": "ChIJNaFZMNhQwokRGDVw7dDI1hs",
        "name": "AutoZone Auto Parts"
      },
      {
        "id": 1447,
        "formatted": "745 Secaucus Rd, Jersey City, NJ 07307, USA",
        "streetNumber": "745",
        "street": "Secaucus Road",
        "subpremise": null,
        "city": "Jersey City",
        "state": "NJ",
        "zip": "07307",
        "lat": "40.75642629999999",
        "lng": "-74.04493889999998",
        "googlePlaceId": "ChIJq-a6mXRXwokRN8ZHp035lpU",
        "name": "AutoZone Auto Parts"
      }
    ],
    "customFields": [
      {
        "categoryKey": "sfdc",
        "name": "Client Id",
        "key": "client_id",
        "isArray": false,
        "type": "string",
        "value": "12421512",
        "updatedAt": "2020-08-11T12:09:46.992Z"

      },
      {
        "categoryKey": "google",
        "name": "account Id",
        "key": "account_id",
        "isArray": true,
        "type": "string",
        "value": [
          "Oey123123kh123h12k3h123",
          "Oey123123kh123h12k3h124"
        ],
        "updatedAt": "2020-08-11T12:09:46.992Z"

      }
    ],
    "externalLinks": [{
      "crmType": "sfdc",
      "crmId": "84",
      "crmName": "Salesforce National",
      "account": {
        "id": "18384",
        "name": "Blaze Pizza",
        "link": "https://na174.lightning.force.com/lightning/r/Account/0016g00001pU7AVAA0/view"
      },
      "createdAt": "2021-08-22T14:14:27.775Z",
      "updatedAt": "2021-09-12T17:45:30.556Z"
    }],
    "createdAt": "2019-11-27T13:11:40.607Z",
    "updatedAt": "2022-10-06T16:07:14.770Z"
  }
}



This endpoint updates an existing client. The full client object is returned as a result.

HTTP Request

POST https://api.advisr.com/v1/client/:id/update

URL Parameters

Parameter Description
id The client id to update

Post Parameters

Parameter Required Description
client true The client object

Client Object Properties

Parameter Datatype Required Description
name string false The client’s name
externalLookupId string false External system ID used for matching across platforms
companyGroupExternalLookupId string false External system ID used for matching across platforms
contactName string false
contactPhone string false
contactEmail string false
website string false
ownerUserCompanyGroupIds array - userCompanyGroup objects false The ID(s) of the client owner(s)
customFields array - custom field objects false Ex. renewal or new business; leader or lagger
externalLinks array - externalLink objects false
Parameter Datatype Required Description
externalSystemId integer false The ID of the system (CRM, OMS, etc) as established within Advisr
externalAccountId string false The ID of the account within the external system

Campaign

List campaigns

curl "https://api.advisr.com/v1/campaigns?limit=10&page=1&sort=name&sortDesc=false&search=" \
  -H "token: api-token"

The above command returns JSON structured like this:


{
  "page": 1,
  "hasMore": false,
  "results": [
    {
      "id": 862,
      "name": "Q3 Autozone 2020",
      "clientId": 1,
      "companyGroupId": 1,
      "industryCategoryId": 8,
      "budget": 50000,
      "status": "Closed - Won",
      "statusKey": "submitted",
      "state" : "submitted",
      "startDate": "2020-07-01",
      "endDate": "2020-09-30",
      "completedAt": "2020-04-02T14:46:02.772Z",
      "submittedAt": "2020-04-02T14:48:12.840Z",
      "createdAt": "2020-04-02T14:45:26.184Z",
      "updatedAt": "2020-04-02T14:48:12.840Z"
    },
    {
      "id": 890,
      "name": "Q4 Autozone 2020",
      "clientId": 1,
      "companyGroupId": 1,
      "industryCategoryId": 8,
      "budget": 50000,
      "status": "Closed - Won",
      "statusKey": "submitted",
      "state" : "submitted",
      "startDate": "2020-12-01",
      "endDate": "2020-12-30",
      "completedAt": "2020-04-02T14:46:02.772Z",
      "submittedAt": "2020-04-02T14:48:12.840Z",
      "createdAt": "2020-04-02T14:45:26.184Z",
      "updatedAt": "2020-04-02T14:48:12.840Z"
    }
  ]
}


This endpoint retrieves the campaign list for the user who owns the API token.

HTTP Request

GET https://api.advisr.com/v1/campaigns

Query Parameters

Parameter Default Description
limit 10 How many campaigns to return
page 1 What page of the campaign results to return
sort updatedAt The column to sort results by
sortDesc false Sort the results decending
search Search string to limit campaigns results by

List campaigns by external Opportunity

curl "https://api.advisr.com/v1/externalcrm/linkedcampaigns/:externalCrmId/:opportunityId?limit=150&page=1&sort=name&sortDesc=false&search=" \
  -H "token: api-token"

The above command returns JSON structured like this:


{
    "page": 1,
    "hasMore": false,
    "results":
    [
        {
            "id": 2366,
            "name": "Q3 Autozone 2020",
            "client":
            {
                "id": 1,
                "name": "Autozone Auto Parts",
                "companyGroupId": 1,
                "companyGroupName": "Advisr East",
                "industryCategoryId": 8,
                "industryCategoryName": "Automotive Parts and Supplies",
                "link": "https://app.advisr.com/client/1/info"
            },
            "budget": 50000,
            "status": "Closed - Won",
            "statusKey": "submitted",
            "state" : "submitted",
            "submittedStatus": "success",
            "isPrimary": false,
            "startDate": "2020-07-01",
            "endDate": "2020-09-30",
            "owner":
            {
                "id": 3,
                "firstName": "Joe",
                "lastName": "Advisr",
                "email": "joe@advisr.com"
            },
            "link": "https://app.advisr.com/campaign/2366/summary",
            "completedAt": "2020-04-02T14:46:02.772Z",
            "submittedAt": "2020-04-02T14:48:12.840Z",
            "createdAt": "2020-04-02T14:45:26.184Z",
            "updatedAt": "2020-04-02T14:48:12.840Z"
        },
        {
            "id": 999,
            "name": "Q3 Autozone 2020",
            "client":
            {
                "id": 1,
                "name": "Winterize 2020 event",
                "companyGroupId": 1,
                "companyGroupName": "Advisr East",
                "industryCategoryId": 8,
                "industryCategoryName": "Automotive Parts and Supplies"
            },
            "budget": 50000,
            "status": "Closed - Won",
            "statusKey": "submitted",
            "state" : "submitted",
            "isPrimary": true,
            "startDate": "2020-07-01",
            "endDate": "2020-09-30",
            "owner":
            {
                "id": 3,
                "firstName": "Joe",
                "lastName": "Advisr",
                "email": "joe@advisr.com"
            },
            "campaignURL": "https://app.advisr.com/campaign/999/summary",
            "clientURL": "https://app.advisr.com/client/1/info",
            "completedAt": "2020-04-02T14:46:02.772Z",
            "submittedAt": "2020-04-02T14:48:12.840Z",
            "createdAt": "2020-04-02T14:45:26.184Z",
            "updatedAt": "2020-04-02T14:48:12.840Z"
        },
        {
            "id": 2334,
            "name": "New Client Opp",
            "client":
            {
                "id": 13,
                "name": "Advance Auto Parts",
                "companyGroupId": 1,
                "companyGroupName": "Advisr East",
                "industryCategoryId": 10,
                "industryCategoryName": "Automotive Repair Services",
                "clientURL": "https://app.advisr.com/client/1/info"
            },
            "budget": 40000,
            "status": "Open",
            "statusKey": "open",
            "state": "open",
            "isPrimary": false,
            "startDate": "2020-07-01",
            "endDate": "2020-09-30",
            "owner":
            {
                "id": 3,
                "firstName": "Joe",
                "lastName": "Advisr",
                "email": "joe@advisr.com"
            },
            "campaignURL": "https://app.advisr.com/campaign/999/summary",
            "completedAt": "2020-04-02T14:46:02.772Z",
            "submittedAt": null,
            "createdAt": "2020-04-02T14:45:26.184Z",
            "updatedAt": "2020-04-02T14:48:12.840Z"
        }
    ]
}


This endpoint retrieves the campaign list for the user who owns the API token.

HTTP Request

GET https://api.advisr.com/v1/external-crm/linked-campaigns/:externalCrmId/:opportunityId?limit=100&page=1&sort=name&sortDesc=false

Query Parameters

Parameter Default Description
externalCRMId externalCRM id provided by support
opportunityId The ID of the Opportunity to request
limit 100 How many campaigns to return
page 1 What page of the campaign results to return
sort name The column to sort results by
sortDesc false Sort the results decending

Opportunity Campaign List Properties

Parameter Datatype Nullable Description
id int no
name string no
client client object json no
budget number yes
state string no fixed:-[ 'new', 'open', 'editing', 'submitted', 'closed-lost' ]
status string no defaults:-[ 'New', 'Open', 'Editing', 'Closed - Won', 'Closed - Lost', 'Testing']
statusKey string no defaults:-[ 'new', 'open', 'editing', 'submitted', 'closed-lost' ]
isPrimary boolean no
startDate date yes
endDate date yes
owner owner object json no
link string no
createdAt datetime no
updatedAt datetime no

Opportunity List campaign Client Object Properties

Value Datatype Nullable Description
id int no
name string no
clientId integer no
companyGroupId int no
industryCategoryId int no
industryCategoryName int no
link sring no

Load campaign

curl "https://api.advisr.com/v1/campaign/862" \
  -H "token: api-token"

The above command returns JSON structured like this:

{
    "id": 862,
    "name": "Q3 Autozone 2020",
    "creationFlow": "wizard",
    "deleted": false,
    "description": null,
    "externalLookupId": null,
    "startDate": "2020-07-01",
    "endDate": "2020-09-30",
    "status": "Closed - Won",
    "statusKey": "submitted",
    "state" : "submitted",
    "submittedStatus": "success",
    "industryCategoryId": 8,
    "industryCategoryName": "Automotive Parts and Supplies",
    "industryId": 2,
    "industryName": "Auto",
    "budget": 50000,
    "clientId": 1,
    "clientName": "Autozone Auto Parts",
    "companyGroupId": 1,
    "companyGroupName": "Advisr East",
    "companyId": 1,
    "companyName": "Advisr",
    "completedAt": "2020-04-02T14:46:02.772Z",
    "primaryGoalId": 64,
    "primaryGoalName": "General Brand Awareness",
    "secondaryGoalId": null,
    "secondaryGoalName": null,
    "presentationLink": "https://presentation.advisr.com/d7mt-QJzb",
    "readyToSubmit": true,
    "submittedAt": "2020-04-02T14:48:12.840Z",
    "owner":
    {
        "id": 3,
        "firstName": "Joe",
        "lastName": "Advisr",
        "email": "joe@advisr.com",
        "isAdvisrEmployee": true,
        "userCompanyGroup":
        {
            "id": 7,
            "userId": 3,
            "companyId": 1,
            "companyGroupId": 1,
            "companyGroupName": "Advisr East",
            "isActive": true,
            "title": "Sales Manager",
            "mobilePhone": "(612) 220-5022",
            "isCampaignOwner": true
        }
    },
    "addresses":
    [
        {
            "id": 3489,
            "formatted": "535 Morgan Ave, Brooklyn, NY 11222, USA",
            "streetNumber": "535",
            "street": "Morgan Avenue",
            "streetAddress": "535 Morgan Avenue",
            "subpremise": null,
            "city": "Brooklyn",
            "state": "NY",
            "zip": "11222",
            "lat": "40.72266189999999",
            "lng": "-73.93948669999997",
            "googlePlaceId": "ChIJPZ2DWExZwokRezYI-kgS_EY",
            "name": "AutoZone Auto Parts",
            "country": "US"
        },
        {
            "id": 3490,
            "formatted": "629 Communipaw Ave, Jersey City, NJ 07304, USA",
            "streetNumber": "629",
            "street": "Communipaw Avenue",
            "streetAddress": "629 Communipaw Avenue",
            "subpremise": null,
            "city": "Jersey City",
            "state": "NJ",
            "zip": "07304",
            "lat": "40.7178388",
            "lng": "-74.0745657",
            "googlePlaceId": "ChIJNaFZMNhQwokRGDVw7dDI1hs",
            "name": "AutoZone Auto Parts",
            "country": "US"
        },
        {
            "id": 3491,
            "formatted": "745 Secaucus Rd, Jersey City, NJ 07307, USA",
            "streetNumber": "745",
            "street": "Secaucus Road",
            "streetAddress": "745 Secaucus Road",
            "subpremise": null,
            "city": "Jersey City",
            "state": "NJ",
            "zip": "07307",
            "lat": "40.75642629999999",
            "lng": "-74.04493889999998",
            "googlePlaceId": "ChIJq-a6mXRXwokRN8ZHp035lpU",
            "name": "AutoZone Auto Parts",
            "country": "US"
        }
    ],
    "createdBy":
    {
        "id": 4,
        "firstName": "Steve",
        "lastName": "Renz",
        "fullName": "Steve Renz",
        "email": "steve@advisr.com",
        "isAdvisrEmployee": true,
        "userCompanyGroup":
        {
            "id": 21,
            "companyId": 1,
            "companyGroupId": 1,
            "companyGroupName": "Advisr East",
            "title": "Director of Product",
            "mobilePhone": "(770) 330-3064",
            "officePhone": "(770) 330-3064",
            "isActive": true,
            "isCampaignOwner": true
        }
    },
    "submittedBy":
    {
        "id": 3,
        "firstName": "Peter",
        "lastName": "Fernquist",
        "fullName": "Peter Fernquist",
        "email": "peter@advisr.com",
        "isAdvisrEmployee": true
    },
    "customFields":
    [
        {
            "categoryKey": "sfdc",
            "name": "Opportunity Id",
            "key": "opportunity_id",
            "isArray": false,
            "type": "text",
            "value": "12421512",
            "updatedAt": "2020-08-11T12:09:46.992Z"
        },
        {
            "categoryKey": "sfdc",
            "name": "Opportunity Category",
            "key": "opportunity_category",
            "isArray": true,
            "type": "multiselect",
            "value": [
                "retail",
                "amusement_parks"      
            ],
            "valueOptions": [
                { "value": "retail", "name": "Retail" },
                { "value": "amusement_parks", "name": "Amusement Parks" }
            ],
            "updatedAt": "2022-08-11T12:09:46.992Z"
        }
    ],
    "createdAt": "2020-04-02T14:45:26.184Z",
    "updatedAt": "2020-04-02T14:48:12.840Z",
    "agency": {
        "id": 3948,
        "name": "Agency ABC"
    },
    "isTestCampaign": false,
    "externalCrmLinks":
    [
        {
            "crmType": "sfdc",
            "crmId": "1",
            "crmName": "Salesforce National",
            "id": "0066g00003WgoP9AAJ",
            "name": "Q4 Opportunity",
            "link": "https://na174.lightning.force.com/lightning/r/Opportunity/0066g00003WgoP9AAJ/view",
            "status": "Closed - Won",
            "startDate": "2021-08-22",
            "endDate": "2021-02-22",
            "budget": "35000",
            "ownerId": "2F0053g000000g0xS",
            "ownerName": "Peter Fernquist",
            "data": null,
            "account":
                {
                    "id": "0016g00001thtQsAAI",
                    "name": "Blaze Pizza",
                    "link": "https://na174.lightning.force.com/lightning/r/Account/0016g00001pU7AVAA0/view"
                },
            "createdAt": "2021-08-22T14:14:27.775Z",
            "updatedAt": "2021-09-12T17:45:30.556Z"
        },
        {
            "crmType": "sell",
            "crmId": "2",
            "crmName": "Zendesk Sell",
            "id": "123123123123",
            "name": "NPC Opp 2",
            "link": "https://sell.zendesk.com/Opportunity/123123123123",
            "status": "Value Proposition",
            "startDate": "2021-08-22",
            "endDate": "2021-02-22",
            "budget": "50000",
            "ownerId": "2F0053g000000g0xS",
            "ownerName": "Peter Fernquist",
            "data":
            {
                "regionId": 1,
                "regionName": "Kansas"
            },
            "account":
            {
                "id": "124124124124124",
                "name": "AAA Boston",
                "link": "https://sell.zendesk.com/Account/2F0053g000000g0xS"
            },
            "createdAt": "2021-08-22T14:14:27.775Z",
            "updatedAt": "2021-09-12T17:45:30.556Z"
        }
    ],
    "teamMembers": [
        {
            "id": 1082,
            "firstName": "Elizabeth",
            "lastName": "Smith",
            "fullName": "Elizabeth Smith",
            "email": "esmith@advisr.com",
            "isAdvisrEmployee": true,
            "userCompanyGroup": {
                "id": 492,
                "userId": 256,
                "companyId": 1,
                "companyGroupId": 1,
                "companyGroupName": "Advisr East",
                "title": null,
                "mobilePhone": null,
                "officePhone": null,
                "isActive": true,
                "isCampaignOwner": true
            },
            "userRoles": [
                {
                    "id": 16,
                    "name": "Account Manager",
                    "description": "Role description"
                }
            ]
        }
    ]
}

This endpoint loads the data for a specific campaign.

HTTP Request

GET https://api.advisr.com/v1/campaign/:id

URL Parameters

Parameter Description
id The campaign id to load

Campaign Object Properties

Parameter Datatype Nullable Description
id int no
name string no
creationFlow string no ['wizard', 'custom', 'express']
deleted boolean no
description string yes
externalLookupId string yes External system ID used for matching across platforms
startDate date yes
endDate date yes
state string no fixed:-[ 'new', 'open', 'editing', 'submitted', 'closed-lost' ]
status string no defaults:-[ 'New', 'Open', 'Editing', 'Closed - Won', 'Closed - Lost', 'Testing']
statusKey string no defaults:-[ 'new', 'open', 'editing', 'submitted', 'closed-lost' ]
submittedStatus string yes fixed:-[ null, 'failed', 'success' ]
industryCategoryid int no
industryCategoryName string no
industryId int no
industryName string no
budget number yes
clientId int no
clientName string no
companyGroupId int no
companyGroupName string no
companyId int no
companyName string no
completedAt datetime yes
primaryGoalId int yes
primaryGoalName string yes
secondaryGoalId int yes
secondaryGoalName string yes
proposalLink string yes Deprecated
presentationlLink string yes
readyToSubmit boolean no
submittedAt datetime yes
owner owner object no
addresses array - address objects yes
createdBy userCompanyGroup object no
submittedBy user object yes
customFields array - custom field objects yes
teamMembers array - userCompanyGroup objects yes
agency agency object yes
isTestCampaign boolean no
externalCrmLinks array - externalCrmLink objects yes
createdAt datetime no
updatedAt datetime no

Address Object Properties

Parameter Datatype Nullable Description
id int no
formatted string yes
streetNumber string yes
street string yes
streetAddress string yes
subpremise string yes
city string yes
state string yes
zip string yes
lat string yes
lng string yes
googlePlaceId string yes
name string yes
country string no

UserCompanyGroup Object Properties

Parameter Datatype Nullable Description
id int no
companyId int no
companyGroupId int no
companyGroupName string no
title string yes
mobilePhone string yes
officePhone string yes
isActive boolean no
isCampaignOwner boolean no
userId user object no

User Object Properties

Parameter Datatype Nullable Description
id int no
firstName string no
lastName string no
fullName string no
email string no
isAdvisrEmployee boolean no
Parameter Required Type Description
crmType true string CRM type
crmId true number CRM id - provided by integrations team
crmName true string CRM display name
id true string The id field of the external Opportunity
name true string The name of the external Opportunity
link true string The url of the external Opportunity
status true string The status of the external Opportunity
startDate true string The startDate of the Opportunity
endDate true string The startDate of the Opportunity
budget true string The budget of the opportunity
ownerId true string The external ownerID of the Opportunity
ownerName true string The external ownerName of the Opportunity
data false json any additional custom values that are stored at the opportunity level
updatedAt true datetime
createdAt true datetime
account true Account object
Parameter Required Type Description
id true string The id field of the external Account
name true string The name of the external Account
link true string The url of the external Account

Load campaign products summary

curl "https://api.advisr.com/v1/campaign/862/product-summary" \
  -H "token: api-token"

The above command returns JSON structured like this:

{
  "id": 862,
  "status": "Submitted",
  "statusKey": "submitted",
  "state" : "submitted",
  "budget": 50000,
  "readyToSubmit": true,
  "version": "1",
  "createdAt": "2019-11-22T14:14:27.775Z",
  "updatedAt": "2019-11-22T14:14:36.424Z",
  "products": [
    {
      "id": 5,
      "name": "Local TV",
      "spend": 19000,
      "isService": false,
      "vendorId": null,
      "vendorName": null,
      "reportingCategoryId": null,
      "reportingCategoryName": null
    },
    {
      "id": 8,
      "name": "Radio",
      "spend": 14400,
      "isService": false,
      "vendorId": null,
      "vendorName": null,
      "reportingCategoryId": null,
      "reportingCategoryName": null
    },
    {
      "id": 1,
      "name": "Magazines",
      "spend": 500,
      "isService": false,
      "vendorId": null,
      "vendorName": null,
      "reportingCategoryId": null,
      "reportingCategoryName": null
    },
    {
      "id": 12,
      "name": "Online Paid Search",
      "spend": 16100,
      "isService": false,
      "vendorId": null,
      "vendorName": null,
      "reportingCategoryId": null,
      "reportingCategoryName": null
    }
  ]
}

This endpoint loads the data for a specific campaign.

HTTP Request

GET https://api.advisr.com/v1/campaign/:id/product-summary

URL Parameters

Parameter Description
id The campaign id to load

Campaign Product Summary Object Properties

Parameter Datatype Nullable Description
id int no
status string no
statusKey string no
state string no
budget number yes
readyToSubmit boolean no
version string no
products array products yes

Campaign Product Summary Product Properties

Parameter Datatype Nullable Description
id int no
name string no
spend number yes
isService boolean no
vendorId int yes
vendorName string yes
reportingCategoryId int yes
reportingCategoryName string yes

Load campaign products detail

curl "https://api.advisr.com/v1/campaign/862/product-detail" \
  -H "token: api-token"

The above command returns JSON structured like this:

{
  "id": 1365,
  "status": "Open",
  "statusKey": "open",
  "state" : "open",
  "budget": 50000,
  "readyToSubmit": true,
  "createdAt": "2020-09-21T15:22:11.698Z",
  "updatedAt": "2020-09-21T15:23:35.937Z",
  "products": [
    {
      "id": 1,
      "name": "Product - Options Only/ Multiple lines",
      "spend": 23700,
      "isService": false,
      "vendorId": null,
      "reportingCategoryId": null,
      "customFields": [],
      "fees": [
        {
          "id": 8,
          "name": "prod-fee",
          "startDate": "2021-01-01",
          "endDate": "2021-03-31",
          "rateType": "Daily",
          "rate": 10,
          "calculationType": null,
          "quantity": 90,
          "fee": 900
        }
      ],
      "lineItems": [
        {
          "subProduct": null,
          "attributes": [
            {
              "id": 36,
              "name": "AdSize",
              "field": "adsize",
              "type": "string",
              "format": null,
              "isRequired": true,
              "isArray": true,
              "value": [
                "728x90",
                "300x250"
              ]
            }
          ],
          "isValid": true,
          "invalidFields": [],
          "startDate": "2021-01-01",
          "endDate": "2021-03-31",
          "rateType": "Flat",
          "rate": 100,
          "spend": 3000,
          "quantity": 1,
          "totalFees": 0,
          "totalSpend": 3000,
          "fees": []
        },
        {
          "subProduct": null,
          "attributes": [
            {
              "id": 40,
              "name": "Screen size",
              "field": "screen",
              "type": "string",
              "isRequired": true,
              "format": null,
              "isArray": false,
              "value": "mobile"
            }
          ],
          "isValid": true,
          "inValidFields": [],
          "startDate": "2021-01-01",
          "endDate": "2021-03-31",
          "rateType": "Flat",
          "rate": 100,
          "spend": 3000,
          "quantity": 1,
          "totalFees": 0,
          "totalSpend": 3000,
          "fees": []
        }
      ]
    },
    {
      "id": 2,
      "name": "Product with multiple SubProducts",
      "spend": 23700,
      "isService": false,
      "vendorId": null,
      "reportingCategoryId": null,
      "customFields": [],
      "fees": [
        {
          "id": 8,
          "startDate": "2021-01-01",
          "endDate": "2021-03-31",
          "name": "prod-fee",
          "rateType": "Daily",
          "rate": 10,
          "calculationType": null,
          "quantity": 90,
          "fee": 900
        }
      ],
      "lineItems": [
        {
          "subProduct": {
            "id": 39,
            "name": "Facebook",
            "field": "facebook"
          },
          "attributes": [
            {
              "id": 36,
              "name": "AdSize",
              "field": "adsize",
              "type": "string",
              "format": null,
              "isArray": true,
              "isRequired": false,
              "value": [
                "728x90"
              ]
            },
            {
              "id": 40,
              "name": "ROI",
              "field": "roi",
              "type": "number",
              "format": "Currency",
              "isRequired": false,
              "value": 100
            }
          ],
          "fees": [
            {
              "id": 5,
              "name": "sub-fee",
              "startDate": "2021-01-01",
              "endDate": "2021-03-31",
              "rateType": "Flat",
              "rate": 100,
              "calculationType": null,
              "quantity": 1,
              "fee": 100
            }
          ],
          "isValid": true,
          "invalidFields": [],
          "startDate": "2021-01-01",
          "endDate": "2021-03-31",
          "rateType": "Flat",
          "rate": 100,
          "quantity": 30,
          "spend": 3000,
          "totalFees": 100,
          "totalSpend": 3100
        },
        {
          "subProduct": {
            "id": 40,
            "name": "Instagram",
            "field": "instagram"
          },
          "attributes": [
            {
              "id": 36,
              "name": "AdSize",
              "field": "adsize",
              "type": "Multiselect",
              "isValid": true,
              "isArray": true,
              "value": [
                "728x90"
              ]
            }
          ],
          "fees": [],
          "isValid": true,
          "invalidFields": [],
          "startDate": "2021-01-01",
          "endDate": "2021-03-31",
          "rateType": "Flat",
          "rate": 100,
          "spend": 3000,
          "quantity": 30,
          "totalFees": 0,
          "totalSpend": 3000
        },
        {
          "subProduct": {
            "id": 40,
            "name": "Instagram",
            "field": "instagram"
          },
          "attributes": [],
          "fees": [],
          "isValid": true,
          "invalidFields": [],
          "startDate": "2021-01-01",
          "endDate": "2021-03-31",
          "rateType": "Flat",
          "rate": 100,
          "spend": 3000,
          "quantity": 30,
          "totalFees": 0,
          "totalSpend": 3000
        }
      ]
    }
  ]
}

This endpoint loads the data for a specific campaign.

HTTP Request

GET https://api.advisr.com/v1/campaign/:id/product-detail

URL Parameters

Parameter Description
id The campaign id to load

Campaign Product Detail Object Properties

Parameter Datatype Nullable Description
id int no
status string no
statusKey string no
state string no
budget number yes
readyToSubmit boolean no
createdAt timestamp no
updatedAt timestamp no
products array products yes

Campaign Product Detail Product Properties

Parameter Datatype Nullable Description
id int no
name string no
spend number yes
isService boolean no
vendorId int yes
reportingCategoryId int yes
customFields array - custom field objects yes
fees array fees yes Product Fees
lineItems array lineItems yes

Campaign Product Detail lineItem Properties

Parameter Datatype Nullable Description
subProduct object yes SubProduct details (id,name,field)
isValid boolean no
invalidFields array fieldnames yes (spend, startDate, endDate,quantity,rateType)
startDate string yes
endDate string yes
rateType string yes (CPM, CPC, CPA,CPE, CPV, CPP, CostPer,Flat Rate,Bonus,Daily,Weekly,Monthly,Annual)
rate number yes
spend number no
quantity number no
totalFees number no
totalSpend number no
attributes array attributes yes
fees fee Object yes

Campaign Product Detail Attribute Properties

Parameter Datatype Nullable Description
id int no
name string no
field string yes
type string no Value type (string, boolean, number)
isArray boolean no Is the value an array
isRequired boolean no Is the fields designated as required
value number,boolean,string,array yes

Campaign Product Detail Fee Properties

Parameter Datatype Nullable Description
id int no
name string no
startDate string yes
endDate string yes
rateType string yes (Flat Rate,Daily,Weekly,Monthly,Annual)
rate number yes
calculationType string yes
quantity number no
fee number no

Load campaign product recommendation

curl "https://api.advisr.com/v1/campaign/862/product-recommendation?includeProductMetadata=true&includeRecommendedBudgets=true" \
  -H "token: api-token"

The above command returns JSON structured like this:

{
  "rankedProducts": [
    {
      "id": 1,
      "name": "Product - Options Only/ Multiple lines",
      "allocationPct": 0.06644767,
      "rank": 90,
      "isActive": true
    },
    {
      "id": 2,
      "name": "Product with multiple SubProducts",
      "allocationPct": 0.004570207,
      "rank": 86.99311,
      "isActive": true
    },
  ],
  "recommendedProducts": [
    {
      "id": 1,
      "name": "Product - Options Only/ Multiple lines",
      "order": 1,
      "budget": 17500,
      "isActive": true
    },
    {
      "id": 2,
      "name": "Product with multiple SubProducts",
      "order": 2,
      "budget": 500,
      "isActive": true
    },
  ],
  "productMetadata": [
    {
      "id": 1,
      "name": "Product - Options Only/ Multiple lines",
      "spend": 23700,
      "isService": false,
      "vendorId": null,
      "reportingCategoryId": null,
      "customFields": [],
      "fees": [
        {
          "id": 8,
          "name": "prod-fee",
          "startDate": "2021-01-01",
          "endDate": "2021-03-31",
          "rateType": "Daily",
          "rate": 10,
          "calculationType": null,
          "quantity": 90,
          "fee": 900
        }
      ],
      "lineItems": [
        {
          "subProduct": null,
          "attributes": [
            {
              "id": 36,
              "name": "AdSize",
              "field": "adsize",
              "type": "string",
              "format": null,
              "isRequired": true,
              "isArray": true,
              "value": [
                "728x90",
                "300x250"
              ]
            }
          ],
          "isValid": true,
          "invalidFields": [],
          "startDate": "2021-01-01",
          "endDate": "2021-03-31",
          "rateType": "Flat",
          "rate": 100,
          "spend": 3000,
          "quantity": 1,
          "totalFees": 0,
          "totalSpend": 3000,
          "fees": []
        },
        {
          "subProduct": null,
          "attributes": [
            {
              "id": 40,
              "name": "Screen size",
              "field": "screen",
              "type": "string",
              "isRequired": true,
              "format": null,
              "isArray": false,
              "value": "mobile"
            }
          ],
          "isValid": true,
          "inValidFields": [],
          "startDate": "2021-01-01",
          "endDate": "2021-03-31",
          "rateType": "Flat",
          "rate": 100,
          "spend": 3000,
          "quantity": 1,
          "totalFees": 0,
          "totalSpend": 3000,
          "fees": []
        }
      ]
    },
    {
      "id": 2,
      "name": "Product with multiple SubProducts",
      "spend": 23700,
      "isService": false,
      "vendorId": null,
      "reportingCategoryId": null,
      "customFields": [],
      "fees": [
        {
          "id": 8,
          "startDate": "2021-01-01",
          "endDate": "2021-03-31",
          "name": "prod-fee",
          "rateType": "Daily",
          "rate": 10,
          "calculationType": null,
          "quantity": 90,
          "fee": 900
        }
      ],
      "lineItems": [
        {
          "subProduct": {
            "id": 39,
            "name": "Facebook",
            "field": "facebook"
          },
          "attributes": [
            {
              "id": 36,
              "name": "AdSize",
              "field": "adsize",
              "type": "string",
              "format": null,
              "isArray": true,
              "isRequired": false,
              "value": [
                "728x90"
              ]
            },
            {
              "id": 40,
              "name": "ROI",
              "field": "roi",
              "type": "number",
              "format": "Currency",
              "isRequired": false,
              "value": 100
            }
          ],
          "fees": [
            {
              "id": 5,
              "name": "sub-fee",
              "startDate": "2021-01-01",
              "endDate": "2021-03-31",
              "rateType": "Flat",
              "rate": 100,
              "calculationType": null,
              "quantity": 1,
              "fee": 100
            }
          ],
          "isValid": true,
          "invalidFields": [],
          "startDate": "2021-01-01",
          "endDate": "2021-03-31",
          "rateType": "Flat",
          "rate": 100,
          "quantity": 30,
          "spend": 3000,
          "totalFees": 100,
          "totalSpend": 3100
        },
        {
          "subProduct": {
            "id": 40,
            "name": "Instagram",
            "field": "instagram"
          },
          "attributes": [
            {
              "id": 36,
              "name": "AdSize",
              "field": "adsize",
              "type": "Multiselect",
              "isValid": true,
              "isArray": true,
              "value": [
                "728x90"
              ]
            }
          ],
          "fees": [],
          "isValid": true,
          "invalidFields": [],
          "startDate": "2021-01-01",
          "endDate": "2021-03-31",
          "rateType": "Flat",
          "rate": 100,
          "spend": 3000,
          "quantity": 30,
          "totalFees": 0,
          "totalSpend": 3000
        },
        {
          "subProduct": {
            "id": 40,
            "name": "Instagram",
            "field": "instagram"
          },
          "attributes": [],
          "fees": [],
          "isValid": true,
          "invalidFields": [],
          "startDate": "2021-01-01",
          "endDate": "2021-03-31",
          "rateType": "Flat",
          "rate": 100,
          "spend": 3000,
          "quantity": 30,
          "totalFees": 0,
          "totalSpend": 3000
        }
      ]
    }
  ],
  "recommendedBudgets": [
    {
      "id": 1,
      "budget": "3157.33",
      "order": 1
    },
    {
      "id": 2,
      "budget": "3946.67",
      "order": 2
    },
    {
      "id": 3,
      "budget": "4736.00",
      "order": 3
    }
  ],
  "createdAt": "2022-09-21T15:22:11.698Z",
  "updatedAt": "2022-09-21T15:23:35.937Z"
}

This endpoint loads the product recommendation for a specific campaign.

HTTP Request

GET https://api.advisr.com/v1/campaign/:id/product-recommendation

URL Parameters

Parameter Description
id The campaign id to load

Query Parameters

Parameter Default Description
includeProductMetadata false Whether to include full metadata for product catalog
includeRecommendedBudgets false Whether to include budget recommendations

Campaign Product Recommendation Object Properties

Parameter Datatype Nullable Description
rankedProducts array of ranked products no All products in ranked order
recommendedProducts array of recommended products no The topmost products by rank that comprise the recommendation
productMetadata array products yes
createdAt timestamp no
updatedAt timestamp no

Campaign Ranked Product Properties

Parameter Datatype Nullable Description
id int no
name string no
allocationPct decimal no Utilized for user-initiated changes to recommendation
rank decimal no Utilized for rank ordering of products
isActive boolean no Whether the product in question is still active and should be used
Parameter Datatype Nullable Description
id int no
name string no
order integer no Utilized for rank ordering of products
budget integer no Budget allocation for that particular product
isActive boolean no Whether the product in question is still active and should be used

Campaign Product Metadata Object Properties

Parameter Datatype Nullable Description
id int no
name string no
companyId int no
companyGroupId int no
isActive boolean no
isService boolean no
description string no HTML
minSpend int yes
maxSpend int yes
minMonthlySpend int yes
includeNewGroups boolean no
showDefaultSlide boolean no
logo url yes
addOnType string yes SubProducts,Attributes
subProductLabel string yes
vendorId int yes
vendorName string yes
reportingCategoryId int yes
reportingCategoryName string yes
productCategory object no
includedCompaignGroups array companyGroup objects yes id,name
customFields array of custom field objects yes
createdAt datetime no
updatedAt datetime no
Parameter Datatype Nullable Description
id int no
budget string no Budget recommendation for the campaign
order integer no Utilized for rank ordering of budgets

Load campaign geo detail

curl "https://api.advisr.com/v1/campaign/862/geo" \
  -H "token: api-token"

The above command returns JSON structured like this:

{
  "selection": {
    "type": "city",
    "geos": [
      {
        "id": 16801,
        "value": "Brooklyn, NY"
      },
      {
        "id": 17768,
        "value": "Ridgewood, NY"
      }
    ]
  },
  "radiusTargets": [
    {
      "radiusMetric": "mi",
      "distance": 1,
      "address": {
        "id": 3476,
        "formatted": "535 Morgan Ave, Brooklyn, NY 11222, USA",
        "streetNumber": "535",
        "street": "Morgan Avenue",
        "streetAddress": "535 Morgan Avenue",
        "subpremise": null,
        "city": "Brooklyn",
        "state": "NY",
        "zip": "11222",
        "lat": "40.72266189999999",
        "lng": "-73.9394867",
        "googlePlaceId": "ChIJPZ2DWExZwokRezYI-kgS_EY",
        "name": "AutoZone Auto Parts"
      }
    },
    {
      "radiusMetric": "mi",
      "distance": 1,
      "address": {
        "id": 3477,
        "formatted": "749 Wyckoff Ave, Ridgewood, NY 11385, USA",
        "streetNumber": "749",
        "street": "Wyckoff Avenue",
        "streetAddress": "749 Wyckoff Avenue",
        "subpremise": null,
        "city": "Queens",
        "state": "NY",
        "zip": "11385",
        "lat": "40.69917409999999",
        "lng": "-73.90993320000001",
        "googlePlaceId": "ChIJc8OlNSJcwokRaoNbuz8XsUI",
        "name": "AutoZone Auto Parts"
      }
    }
  ],
  "createdAt": "2020-03-27T21:59:37.566Z",
  "updatedAt": "2020-04-06T16:02:15.373Z"
}

This endpoint loads the data for a specific campaign.

HTTP Request

GET https://api.advisr.com/v1/campaign/:id/geo

URL Parameters

Parameter Description
id The campaign id to load

Campaign Geo Object Properties

Parameter Datatype Nullable Description
selection string yes ['city','congressionalDistrict', 'country', 'county', 'dma', 'state','zip']
geos array of geo no
radiusTargets array radius yes
createdAt timestamp no
updatedAt timestamp no

Campaign Geo geo Properties

Parameter Datatype Nullable Description
id int no
value string no

Radius Properties

Parameter Datatype Nullable Description
radiusMetric string no ['mi','ft']
distance number no
address address object no

Address Object Properties

Parameter Datatype Nullable Description
id int no
formatted string yes
streetNumber string yes
street string yes
streetAddress string yes
subpremise string yes
city string yes
state string yes
zip string yes
lat string yes
lng string yes
googlePlaceId string yes
name string yes

Load campaign geo detail (Beta)

curl "https://api.advisr.com/v1/campaign/862/geo" \
  -H "token: api-token"

The above command returns JSON structured like this:

{

  "geos": [
    {
      "id": 16801,
      "value": "Brooklyn, NY",
      "type": "city",
    },
    {
      "id": 17768,
      "value": "Ridgewood, NY",
      "type": "city",
    },
    {
      "id": 213,
      "value": "Virginia: 5th District",
      "type": "congressionalDistrict"
    },
    {
      "id": 598,
      "value": "Kings County",
      "type": "county"
    }
  ],
  "radiusTargets": [
    {
      "radiusMetric": "mi",
      "distance": 1,
      "address": {
        "id": 3476,
        "formatted": "535 Morgan Ave, Brooklyn, NY 11222, USA",
        "streetNumber": "535",
        "street": "Morgan Avenue",
        "streetAddress": "535 Morgan Avenue",
        "subpremise": null,
        "city": "Brooklyn",
        "state": "NY",
        "zip": "11222",
        "lat": "40.72266189999999",
        "lng": "-73.9394867",
        "googlePlaceId": "ChIJPZ2DWExZwokRezYI-kgS_EY",
        "name": "AutoZone Auto Parts"
      }
    },
    {
      "radiusMetric": "mi",
      "distance": 1,
      "address": {
        "id": 3477,
        "formatted": "749 Wyckoff Ave, Ridgewood, NY 11385, USA",
        "streetNumber": "749",
        "street": "Wyckoff Avenue",
        "streetAddress": "749 Wyckoff Avenue",
        "subpremise": null,
        "city": "Queens",
        "state": "NY",
        "zip": "11385",
        "lat": "40.69917409999999",
        "lng": "-73.90993320000001",
        "googlePlaceId": "ChIJc8OlNSJcwokRaoNbuz8XsUI",
        "name": "AutoZone Auto Parts"
      }
    }
  ],
  "createdAt": "2020-03-27T21:59:37.566Z",
  "updatedAt": "2020-04-06T16:02:15.373Z"
}

This endpoint loads the data for a specific campaign.

HTTP Request

GET https://api.advisr.com/v1/campaign/:id/geo

URL Parameters

Parameter Description
id The campaign id to load

Campaign Geo Object Properties

Parameter Datatype Nullable Description
geos array of geo no
radiusTargets array radius yes
createdAt timestamp no
updatedAt timestamp no

Campaign Geo geo Properties

Parameter Datatype Nullable Description
id int no
value string no
type string yes ['city','congressionalDistrict', 'country', 'county', 'dma', 'state','zip','canadaProvince','canadaCity','canadaPostalcode']

Radius Properties

Parameter Datatype Nullable Description
radiusMetric string no ['mi','ft','km','m']
distance number no
address address object no

Address Object Properties

Parameter Datatype Nullable Description
id int no
formatted string yes
streetNumber string yes
street string yes
streetAddress string yes
subpremise string yes
city string yes
state string yes
zip string yes
lat string yes
lng string yes
googlePlaceId string yes
name string yes

Load campaign audience detail

curl "https://api.advisr.com/v1/campaign/862/audience" \
  -H "token: api-token"

The above command returns JSON structured like this:


{
  "categories": [
    {
      "id": 45,
      "name": "Demographics",
      "value": "demographics",
      "subCategories": [
        {
          "id": 199,
          "name": "age",
          "value": "age",
          "segments": [
            {
              "id": 2534,
              "name": "25-34",
              "value": "25"
            },
            {
              "id": 2535,
              "name": "35-44",
              "value": "35"
            },
            {
              "id": 2536,
              "name": "45-54",
              "value": "45"
            }
          ]
        },
        {
          "id": 200,
          "name": "income",
          "value": "income",
          "segments": [
            {
              "id": 2546,
              "name": "$60,000 to $74,999",
              "value": "60"
            },
            {
              "id": 2547,
              "name": "$75,000 to $99,999",
              "value": "75"
            },
            {
              "id": 2539,
              "name": "$100,000 to $124,999",
              "value": "100"
            },
            {
              "id": 2540,
              "name": "$125,000 to $149,999",
              "value": "125"
            },
            {
              "id": 2541,
              "name": "$150,000+",
              "value": "150"
            }
          ]
        },
        {
          "id": 201,
          "name": "gender",
          "value": "gender",
          "segments": [
            {
              "id": 2550,
              "name": "Male",
              "value": "m"
            },
            {
              "id": 2549,
              "name": "Female",
              "value": "f"
            }
          ]
        },
        {
          "id": 202,
          "name": "household",
          "value": "household",
          "segments": [
            {
              "id": 2551,
              "name": "Household - No Children",
              "value": "nokid"
            },
            {
              "id": 2557,
              "name": "Neighborhood - Urban",
              "value": "urban"
            },
            {
              "id": 2553,
              "name": "Household - Married",
              "value": "married"
            },
            {
              "id": 2554,
              "name": "Household - Single",
              "value": "single"
            }
          ]
        }
      ]
    },
    {
      "id": 46,
      "name": "Interests",
      "value": "interests",
      "subCategories": [
        {
          "id": 203,
          "name": "enthusiasts",
          "value": "enthusiasts",
          "segments": [
            {
              "id": 2560,
              "name": "Auto Enthusiast",
              "value": "auto"
            },
            {
              "id": 2584,
              "name": "Travel",
              "value": "travel"
            },
            {
              "id": 2573,
              "name": "Foodie",
              "value": "foodie"
            },
            {
              "id": 2581,
              "name": "Shopping Addict",
              "value": "shopping"
            },
            {
              "id": 2583,
              "name": "Techie",
              "value": "techie"
            }
          ]
        },
        {
          "id": 204,
          "name": "shopping",
          "value": "shopping",
          "segments": [
            {
              "id": 2585,
              "name": "Auto",
              "value": "auto"
            },
            {
              "id": 2590,
              "name": "Movies, Music & Games",
              "value": "movies"
            },
            {
              "id": 2586,
              "name": "Clothing, Shoes & Jewelry",
              "value": "clothing"
            },
            {
              "id": 2587,
              "name": "Electronics",
              "value": "electronics"
            }
          ]
        },
        {
          "id": 205,
          "name": "lifestyle",
          "value": "lifestyle",
          "segments": [
            {
              "id": 2601,
              "name": "Young & Hip",
              "value": "hip"
            },
            {
              "id": 2600,
              "name": "Trendy Homemakers",
              "value": "home"
            },
            {
              "id": 2594,
              "name": "High Spenders",
              "value": "spend"
            },
            {
              "id": 2596,
              "name": "Leisure Travelers",
              "value": "travel"
            },
            {
              "id": 2593,
              "name": "Fashionista",
              "value": "fashion"
            }
          ]
        },
        {
          "id": 206,
          "name": "occupation",
          "value": "occupation",
          "segments": [
            {
              "id": 2614,
              "name": "Media & Communication",
              "value": "media"
            },
            {
              "id": 2611,
              "name": "Management & Business",
              "value": "manage"
            },
            {
              "id": 2628,
              "name": "Finance",
              "value": "finance"
            },
            {
              "id": 2630,
              "name": "Real Estate",
              "value": "real"
            },
            {
              "id": 2613,
              "name": "Marketing & Advertising",
              "value": "market"
            },
            {
              "id": 2629,
              "name": "Health Care Professionals",
              "value": "health"
            },
            {
              "id": 2625,
              "name": "Travel, Hospitality & Restaurant",
              "value": "travel"
            }
          ]
        },
        {
          "id": 207,
          "name": "search_history",
          "value": "search_history",
          "segments": [
            {
              "id": 2631,
              "name": "Auto",
              "value": "auto"
            },
            {
              "id": 2634,
              "name": "Clothing, Shoes & Jewelry",
              "value": "clothing"
            },
            {
              "id": 2636,
              "name": "Digital Downloads",
              "value": "digital"
            },
            {
              "id": 2637,
              "name": "Electronics",
              "value": "electronics"
            }
          ]
        }
      ]
    }
  ],
  "createdAt": "2020-04-01T21:30:05.293Z",
  "updatedAt": "2020-04-01T21:30:05.293Z"
}

This endpoint loads the data for a specific campaign.

HTTP Request

GET https://api.advisr.com/v1/campaign/:id/audience

URL Parameters

Parameter Description
id The campaign id to load

Campaign audience Object Properties

Parameter Datatype Nullable Description
categories array of categories no
createdAt timestamp no
updatedAt timestamp no

Campaign Audience Detail category Properties

Parameter Datatype Nullable Description
id int no
name string yes
value string yes
subCategories array of subCategories yes

Campaign Audience Detail subCategory Properties

Parameter Datatype Nullable Description
id int no
name string yes
value string yes
segments array of segments yes

Campaign Audience Detail segment Properties

Parameter Datatype Nullable Description
id int no
name string yes
value string yes

Load campaign presentation

curl "https://api.advisr.com/v1/campaign/:id/presentation/:format" \
  -H "token: api-token"

The above command returns JSON structured like this:


status=400
{"error":true,"message":"Presentation does not exist"}
OR 
status=202
{"message": "PPTX export is pending"}
OR
status=200
Binary of File


This endpoint returns the binary pptx, or pdf file, a pending or error message specific campaign.
NOTE : campaign presentation must be created from within the User Interface

HTTP Request

GET https://api.advisr.com/v1/campaign/:id/presentation/:format

URL Parameters

Parameter Description
id The campaign id to load
format pdf,pptx

Presentation Properties

Parameter Datatype Description
error boolean
message string
status codes int pending-202, error-400, binary-200

List campaign files

curl "https://api.advisr.com/v1/campaign/862/files" \
  -H "token: api-token"

The above command returns JSON structured like this:

{
  "fileCount": 2,
  "files": [
    {
      "id": 34476,
      "campaignId": 862,
      "path": "assets.advisr.com/uploads/campaign-assets/862/files/a3ecdc39005cc2e05c5c6d09ef6fd26933d36d82",
      "fileLink": "https://assets.advisr.com/uploads/campaign-assets/862/files/a3ecdc39005cc2e05c5c6d09ef6fd26933d36d82/Screenshot%202023-06-14%20at%203.07.59%20PM.png",
      "name": "Sample Display Ad - Instagram",
      "size": 488644,
      "type": "Image",
      "createdByUserGroupId": 242,
      "isDeleted": false,
      "createdAt": "2020-03-27T21:59:37.566Z",
      "updatedAt": "2020-04-06T16:02:15.373Z"
    },
    {
      "id": 48737,
      "campaignId": 862,
      "path": "assets.advisr.com/uploads/campaign-assets/862/files/29f9114f207e84c6eff0fada9cbf64260364f0b1",
      "fileLink": "https://assets.advisr.com/uploads/campaign-assets/862/files/29f9114f207e84c6eff0fada9cbf64260364f0b1/Screenshot%202023-06-14%20at%203.08.04%20PM.png",
      "name": "Sample Display Ad - Snapchat",
      "size": 27866,
      "type": "Image",
      "createdByUserGroupId": 242,
      "isDeleted": false,
      "createdAt": "2023-07-10T14:33:26.464Z",
      "updatedAt": "2023-07-10T14:33:26.464Z"
    }
  ]
}

This endpoint lists the files uploaded for a specific campaign.

HTTP Request

GET https://api.advisr.com/v1/campaign/:id/files

URL Parameters

Parameter Description
id The campaign id to load

Query Parameters

Parameter Default Description
limit 10 How many campaigns to return
page 1 What page of the campaign results to return
sort updatedAt The column to sort results by
sortDesc false Sort the results decending
interval 10 [createdAt, updatedAt, campaignDates]
intervalStart $now-7days Datetime to start
intervalEnd $now Datetime to End
filters [type, ownerUserCompanyGroupId]

Files Object Properties

Parameter Datatype Nullable Description
fileCount int no
files array of file objects yes

File Object Properties

Parameter Datatype Nullable Description
id int no
campaignId int no
name string no
createdByUserGroupId int no
size int no
type string no
path string no
fileLink string no
createdAt timestamp no
updatedAt timestamp no

Load campaign export

curl "https://api.advisr.com/v1/campaign/:id/export/:export_type" \
  -H "token: api-token"

The above command returns JSON structured like this:


status=400
{"error":true,"message":"Campaign not complete"}
OR 
status=202
{"message": "Xlxs export is pending"}
OR
status=200
Binary of File


This endpoint returns the binary xlxs file, a pending or error message specific campaign.
NOTE : campaign must be completed from within the User Interface to download the export

HTTP Request

GET https://api.advisr.com/v1/campaign/:id/export/:export_type

URL Parameters

Parameter Description
id The campaign id to load
export_type io,full

Export Properties

Parameter Datatype Description
error boolean
message string
status codes int pending-202, error-400, binary-200

Load all campaign support-submission details

curl "https://api.advisr.com/v1/campaign/862/support-submissions" \
  -H "token: api-token"

The above command returns JSON structured like this:

{
  "results": [
    {
      "id": 11,
      "name": "CampaignSupport",
      "displayName": "CampaignSupport",
      "type": "support",
      "description": "Campaign support for all campaigns",
      "status": "submitted",
      "submittedAt": "2020-01-13 19:08:51",
      "submittedBy": {
        "id": 111,
        "firstName": "Peter",
        "lastName": "Johnson",
        "fullName": "Peter Johnson",
        "email": "pj@advisremail.com"
      },
      "hasForm": true,
      "form": {
        "id": 9,
        "name": "submission form",
        "sections": [
          {
            "id": 11,
            "name": "General Details",
            "key": "details",
            "subsections": [
              {
                "id": 20,
                "name": "General Details",
                "key": "details",
                "isRepeatable": false,
                "fields": [
                  {
                    "id": 12,
                    "name": "Request Type",
                    "key": "Request Type",
                    "type": "MultiSelect",
                    "required": true,
                    "helpText": null
                  },
                  {
                    "id": 13,
                    "name": "Best Way to Connect",
                    "key": "Best Way to Connect",
                    "type": "Select",
                    "required": false,
                    "helpText": null
                  }
                ],
                "data": [
                  {
                    "id": 12,
                    "key": "Request Type",
                    "values": [
                      [
                        {
                          "text": "Review Proposal",
                          "value": "Review Proposal"
                        }
                      ],
                      [
                        {
                          "text": "Discuss Capabilities",
                          "value": "Discuss Capabilities"
                        }
                      ]
                    ]
                  },
                  {
                    "id": 13,
                    "key": "Best Way to Connect",
                    "values": [
                      {
                        "text": "Email",
                        "value": "email"
                      }
                    ]
                  }
                ]
              },
              {
                "id": 13,
                "name": "Additional contacts",
                "key": null,
                "isRepeatable": true,
                "fields": [
                  {
                    "id": 15,
                    "name": "contactName",
                    "key": "contactName",
                    "type": "Text",
                    "required": true,
                    "helpText": null
                  },
                  {
                    "id": 16,
                    "name": "contactEmail",
                    "key": "contactEmail",
                    "type": "Text",
                    "required": false,
                    "helpText": null
                  }
                ],
                "data": [
                  [
                    {
                      "id": 15,
                      "key": "contactName",
                      "values": "Frank Stevens"
                    },
                    {
                      "id": 16,
                      "key": "contactEmail",
                      "values": "another@email.com"
                    }
                  ],
                  [
                    {
                      "id": 15,
                      "key": "contactName",
                      "values": "Joe Graham"
                    },
                    {
                      "id": 16,
                      "key": "contactEmail",
                      "values": "user@email.com"
                    }
                  ]
                ]
              }
            ]
          }
        ]
      },
      "createdAt": "2020-04-08T13:53:33.605Z",
      "updatedAt": "2020-04-08T13:53:43.356Z"
    }
  ]
}

This endpoint loads the data for a specific campaign.

HTTP Request

GET https://api.advisr.com/v1/campaign/:id/support-submissions

URL Parameters

Parameter Description
id The campaign id to load

Campaign Submission Support Properties

Parameter Datatype Nullable Description
results array of submissions yes
id int yes
name string yes
displayName string yes
type string no ['support','fulfillment']
status string no ['submitted','ready','pending','in_progress']
submittedAt dateTime yes
submittedBy user object yes
hasForm boolean no
form form object yes
createdAt timestamp no
updatedAt timestamp no

Campaign Submission form Properties

Parameter Datatype Nullable Description
id int yes
name string yes
key string yes
sections array of sections no

Campaign Submission section Properties

Parameter Datatype Nullable Description
id int yes
name string yes
key string yes
Subsections array of sections no

Campaign Submission subSection Properties

Parameter Datatype Nullable Description
id int yes
name string yes
key string yes
isRepeatable boolean no
fields array of fields yes
data array of data yes

Campaign Submission field Properties

Parameter Datatype Nullable Description
id int yes
name string yes
field string yes
type string no ['Boolean', 'CompanySearch', 'Currency', 'Date', 'Empty', 'File', 'Multiline', 'Multiselect', 'MultiselectOverlay', 'Number', 'Phone', 'Radio', 'Select', 'Static', 'String', 'ToggleButtons']
required boolean no
helpText string yes

Campaign Submission data Properties

Parameter Datatype Nullable Description
id int yes
field string yes
value string yes

Load campaign fulfillment submissions

curl "https://api.advisr.com/v1/campaign/862/fulfillment-submissions" \
  -H "token: api-token"

The above command returns JSON structured like this:

{
  "results": [
    {
      "id": 13,
      "name": "CampaignSubmission",
      "displayName": "CampaignSubmission",
      "type": "fulfillment",
      "description": "Campaign Submission for all campaigns",
      "status": "submitted",
      "submittedAt": "2020-01-13 19:08:51",
      "submittedBy": {
        "id": 111,
        "firstName": "Peter",
        "lastName": "Johnson",
        "fullName": "Peter Johnson",
        "email": "pj@advisremail.com"
      },
      "hasForm": true,
      "form": {
        "id": 9,
        "name": "submission form",
        "sections": [
          {
            "id": 11,
            "name": "General Details",
            "key": "details",
            "subsections": [
              {
                "id": 20,
                "name": "General Details",
                "key": "details",
                "isRepeatable": false,
                "fields": [
                  {
                    "id": 12,
                    "name": "Request Type",
                    "key": "Request Type",
                    "type": "MultiSelect",
                    "required": true,
                    "helpText": null
                  },
                  {
                    "id": 13,
                    "name": "Best Way to Connect",
                    "key": "Best Way to Connect",
                    "type": "Select",
                    "required": false,
                    "helpText": null
                  }
                ],
                "data": [
                  {
                    "id": 12,
                    "key": "Request Type",
                    "values": [
                      [
                        {
                          "text": "Review Proposal",
                          "value": "Review Proposal"
                        }
                      ],
                      [
                        {
                          "text": "Discuss Capabilities",
                          "value": "Discuss Capabilities"
                        }
                      ]
                    ]
                  },
                  {
                    "id": 13,
                    "key": "Best Way to Connect",
                    "values": [
                      {
                        "text": "Email",
                        "value": "email"
                      }
                    ]
                  }
                ]
              },
              {
                "id": 13,
                "name": "Additional contacts",
                "key": null,
                "isRepeatable": true,
                "fields": [
                  {
                    "id": 15,
                    "name": "contactName",
                    "key": "contactName",
                    "type": "Text",
                    "required": true,
                    "helpText": null
                  },
                  {
                    "id": 16,
                    "name": "contactEmail",
                    "key": "contactEmail",
                    "type": "Text",
                    "required": false,
                    "helpText": null
                  }
                ],
                "data": [
                  [
                    {
                      "id": 15,
                      "key": "contactName",
                      "values": "Frank Stevens"
                    },
                    {
                      "id": 16,
                      "key": "contactEmail",
                      "values": "another@email.com"
                    }
                  ],
                  [
                    {
                      "id": 15,
                      "key": "contactName",
                      "values": "Joe Graham"
                    },
                    {
                      "id": 16,
                      "key": "contactEmail",
                      "values": "user@email.com"
                    }
                  ]
                ]
              }
            ]
          }
        ]
      },
      "createdAt": "2020-04-08T13:53:33.605Z",
      "updatedAt": "2020-04-08T13:53:43.356Z"
    }
  ]
}

This endpoint loads the data for all fulfillment submissions for a specific campaign.

HTTP Request

GET https://api.advisr.com/v1/campaign/:id/fulfillment-submissions

URL Parameters

Parameter Description
id The campaign id to load

Campaign Submission Fulfillment Properties

Parameter Datatype Nullable Description
results array of submissions yes
id int yes
name string yes
type string no ['support','fulfillment']
displayName string yes
status string no ['submitted','ready']
submittedAt dateTime yes
submittedBy user object yes
hasForm boolean no
form form object yes
createdAt timestamp no
updatedAt timestamp no

Campaign Submission form Properties

Parameter Datatype Nullable Description
id int yes
name string yes
key string yes
sections array of sections no

Campaign Submission section Properties

Parameter Datatype Nullable Description
id int yes
name string yes
key string yes
Subsections array of sections no

Campaign Submission subSection Properties

Parameter Datatype Nullable Description
id int yes
name string yes
key string yes
isRepeatable boolean no
fields array of fields yes
data array of data yes

Campaign Submission field Properties

Parameter Datatype Nullable Description
id int yes
name string yes
field string yes
type string no ['Boolean', 'CompanySearch', 'Currency', 'Date', 'Empty', 'File', 'Multiline', 'Multiselect', 'MultiselectOverlay', 'Number', 'Phone', 'Radio', 'Select', 'Static', 'String', 'ToggleButtons']
required boolean no
helpText string yes

Campaign Submission data Properties

Parameter Datatype Nullable Description
id int yes
field string yes
values string or array yes

Create campaign

curl "https://api.advisr.com/v1/campaign/create" \
  -d '{
    "campaign" : {
      "name": "New Campaign",
      "clientId": 284,
      "industryCategoryId": 348,
      "budget": 20000,
      "startDate": "2022-12-01",
      "endDate": "2021-01-01",
      "createdByUserCompanyGroupId": 191,
      "ownerUserCompanyGroupId": 191,
      "creationFlow": "API",
      "primaryGoalId": 64,
      "externalLinks": [
        {
          "externalSystemId": 69,
          "externalCampaignId": "22894"
        }
      ]
    }
  }' \
  -H "Content-Type: application/json" \
  -H "token: api-token"

The above command returns JSON structured like this:


{
  "result": {
    "id": 392,
    "name": "New Campaign",
    "clientId": 284,
    "deleted": false,
    "status": "building",
    "industryCategoryId": 348,
    "budget": 20000,
    "primaryGoalId": null,
    "secondaryGoalId": null,
    "description": null,
    "averageSale": null,
    "averageProfit": null,
    "hasAdvertised": null,
    "startDate": "2022-12-01",
    "endDate": "2021-01-01",
    "createdByUserCompanyGroupId": 191,
    "recommendedProposalId": null,
    "proposalId": null,
    "createdAt": "2022-02-26T21:17:06.057Z",
    "updatedAt": "2022-02-26T21:17:06.057Z",
    "hasMetClient": null,
    "clientMeetingDate": null,
    "advertisingHistory": null,
    "successMetrics": null,
    "submissionComment": null,
    "creationFlow": "API",
    "addresses": null,
    "proposalLayout": null,
    "proposalLinks": [],
    "createdBy": {
      "id": 191,
      "firstName": "API",
      "lastName": "User",
      "email": "user@test.com",
      "companyGroupId": 1,
      "title": "API User",
      "avatar": "c9d4f21ae9efb2da52a92bc356cb5ba7c2954f99.jpg",
      "mobilePhone": "(555) 555-5555",
      "officePhone": null,
      "isActive": true,
      "proposalText": "<div>This text should be used for future proposals!!<br></div>"
    },
    "forms": [],
    "primaryGoalId": 64,
    "secondaryGoalId": null,
    "industryCategory": {
      "id": 348,
      "name": "Computer-related Services",
      "active": true,
      "industryCategoryGroupId": 4,
      "description": "Business providing computer repair services, software services, computer programming and other general computer services.",
      "sicgp": 737,
      "naics": 514,
      "externalName": "Computer-related Services",
      "externalTotalBusinesses": 35775,
      "group": {
        "id": 4,
        "name": "Business Services",
        "parentId": null
      }
    },
    "externalLinks": [{
      "crmType": "sfdc",
      "crmId": "69",
      "crmName": "Salesforce National",
      "id": "22894",
      "name": "Q4 Opportunity",
      "link": "https://na174.lightning.force.com/lightning/r/Opportunity/0066g00003WgoP9AAJ/view",
      "status": "Closed - Won",
      "startDate": "2022-08-22",
      "endDate": "2022-12-22",
      "budget": "35000",
      "ownerId": "2F0053g000000g0xS",
      "ownerName": "Peter Fernquist",
      "data": null,
      "account": {
        "id": "0016g00001thtQsAAI",
        "name": "Blaze Pizza",
        "link": "https://na174.lightning.force.com/lightning/r/Account/0016g00001pU7AVAA0/view"
      },
      "createdAt": "2021-08-22T14:14:27.775Z",
      "updatedAt": "2021-09-12T17:45:30.556Z"
    }]
  }
}

This endpoint creates a new campaign and returns a result object wtih the newly-created campaign.

HTTP Request

POST https://api.advisr.com/v1/campaign/create

Post Parameters

Parameter Required Description
campaign true The campaign object

Campaign Object Properties

Parameter Datatype Required Description
name string true The client’s name
clientId integer true The ID of the client
industryCategoryId integer false The ID of the campaign's industry category, if none is supplied, defaults to the client defaul industry category
primaryGoalId integer true The primary goal for the campaign
secondaryGoalId integer false The secondary goal for the campaign
externalLookupId string false External system ID used for matching across platforms
industryCategoryExternalLookupId string false External system ID used for matching across platforms
primaryGoalExternalLookupId string false External system ID used for matching across platforms
secondaryGoalExternalLookupId string false External system ID used for matching across platforms
budget integer true The campaign's budget
startDate string true Start date of the campaign
endDate string true End date of the campaign
creationFlow string true Creation flow (wizard, custom, API)
addresses array - address objects true Array of address ids from the client to include
createdByUserCompanyGroupId integer true The ID of the userCompanyGroup of the user creating the client
ownerUserCompanyGroupId integer true The ID of the campaign owner
customFields array - custom field objects false Ex. renewal or new business; leader or lagger
externalLinks array - externalLink objects false
Parameter Datatype Required Description
externalSystemId integer false The ID of the system (CRM, OMS, etc) as established within Advisr
externalCampaignId string false The ID of the opportunity within the external system

Update campaign

curl "https://api.advisr.com/v1/campaign/323/update" \
  -d '{
    "campaign" : {
      "name": "Updated Campaign",
      "budget": 30000,
      "startDate": "2022-12-02",
      "endDate": "2021-01-02",
      "primaryGoalId": 102,
      "secondaryGoalId": 88,
      "externalLinks": [
        {
          "externalSystemId": 69,
          "externalCampaignId": "22894"
        }
      ]
    }
  }' \
  -H "Content-Type: application/json" \
  -H "token: api-token"

The above command returns JSON structured like this:


{ "result": {
    "id": 392,
    "name": "Updated Campaign",
    "clientId": 284,
    "deleted": false,
    "status": "building",
    "industryCategoryId": 348,
    "budget": 30000,
    "primaryGoalId": null,
    "secondaryGoalId": null,
    "description": null,
    "averageSale": null,
    "averageProfit": null,
    "hasAdvertised": null,
    "startDate": "2022-12-02",
    "endDate": "2021-01-02",
    "createdByUserCompanyGroupId": 191,
    "recommendedProposalId": null,
    "proposalId": null,
    "createdAt": "2022-02-26T21:17:06.057Z",
    "updatedAt": "2022-04-26T21:17:06.057Z",
    "hasMetClient": null,
    "clientMeetingDate": null,
    "advertisingHistory": null,
    "successMetrics": null,
    "submissionComment": null,
    "creationFlow": "API",
    "addresses": null,
    "proposalLayout": null,
    "proposalLinks": [],
    "createdBy": {
      "id": 191,
      "firstName": "API",
      "lastName": "User",
      "email": "user@test.com",
      "companyGroupId": 1,
      "title": "API User",
      "avatar": "c9d4f21ae9efb2da52a92bc356cb5ba7c2954f99.jpg",
      "mobilePhone": "(555) 555-5555",
      "officePhone": null,
      "isActive": true,
      "proposalText": "<div>This text should be used for future proposals!!<br></div>"
    },
    "forms": [],
    "primaryGoalId": 102,
    "secondaryGoalId": 88,
    "industryCategory": {
      "id": 348,
      "name": "Computer-related Services",
      "active": true,
      "industryCategoryGroupId": 4,
      "description": "Business providing computer repair services, software services, computer programming and other general computer services.",
      "sicgp": 737,
      "naics": 514,
      "externalName": "Computer-related Services",
      "externalTotalBusinesses": 35775,
      "group": {
        "id": 4,
        "name": "Business Services",
        "parentId": null
      }
    },
    "externalLinks": [{
      "crmType": "sfdc",
      "crmId": "69",
      "crmName": "Salesforce National",
      "id": "22894",
      "name": "Q4 Opportunity",
      "link": "https://na174.lightning.force.com/lightning/r/Opportunity/0066g00003WgoP9AAJ/view",
      "status": "Closed - Won",
      "startDate": "2022-08-22",
      "endDate": "2022-12-22",
      "budget": "35000",
      "ownerId": "2F0053g000000g0xS",
      "ownerName": "Peter Fernquist",
      "data": null,
      "account": {
        "id": "0016g00001thtQsAAI",
        "name": "Blaze Pizza",
        "link": "https://na174.lightning.force.com/lightning/r/Account/0016g00001pU7AVAA0/view"
      },
      "createdAt": "2021-08-22T14:14:27.775Z",
      "updatedAt": "2021-09-12T17:45:30.556Z"
    }]   
  }
}

This endpoint udpates an existing campaign and returns the updated campaign wrapped in the standard result object.

HTTP Request

POST https://api.advisr.com/v1/campaign/:id/update

URL Parameters

Parameter Description
id The campaign id to update

Post Parameters

Parameter Required Description
campaign true The campaign object

Campaign Object Properties

Parameter Datatype Required Description
name string false The client’s name
industryCategoryId integer false The ID of the client’s selected industry category
primaryGoalId integer false The primary goal for the campaign
secondaryGoalId integer false The secondary goal for the campaign
externalLookupId string false External system ID used for matching across platforms
industryCategoryExternalLookupId string false External system ID used for matching across platforms
primaryGoalExternalLookupId string false External system ID used for matching across platforms
secondaryGoalExternalLookupId string false External system ID used for matching across platforms
budget integer false The campaign's budget
startDate string false Start date of the campaign
endDate string false End date of the campaign
ownerUserCompanyGroupId integer false The ID of the campaign owner
customFields array - custom field objects false Ex. renewal or new business; leader or lagger
externalLinks array - externalLink objects false
Parameter Datatype Required Description
externalSystemId integer false The ID of the system (CRM, OMS, etc) as established within Advisr
externalCampaignId string false The ID of the opportunity within the external system

Create client and campaign

Example with internal Advisr IDs:

curl "https://api.advisr.com/v1/campaign/upsert-with-client/" \
  -d '{
    "companyGroupId": 19384,
    "client": { 
      "name": "Advisr",
      "website": "http://www.advisr.com",
      "contactName": "Joe Advisr",
      "contactEmail": "joe@advisr.com",
      "contactPhone": "(555) 555-5555",
      "externalLinks": [
        {
          "externalSystemId": 84,
          "externalAccountId": "18384"
        }
      ]
    },
    "campaign" : {
      "name": "New Campaign",
      "clientId": 284,
      "industryCategoryId": 348,
      "budget": 20000,
      "startDate": "2022-12-01",
      "endDate": "2021-01-01",
      "selectedOwnerId": 191,
      "creationFlow": "API",
      "primaryGoalId": 64,
      "externalLinks": [
        {
          "externalSystemId": 69,
          "externalCampaignId": "22894"
        }
      ]
    }
  }' \
  -H "Content-Type: application/json" \
  -H "token: api-token"

The above command returns JSON structured like this:


{
  "client": {
    "id": 284,
    "name": "Advisr",
    "companyId": 1,
    "companyName": "Advisr",
    "companyGroupId": 19384,
    "companyGroupName": "Advisr East",
    "deleted": false,
    "primaryContactName": "Joe Advisr",
    "primaryContactPhone": "(555) 555-5555",
    "primaryContactEmail": "joe@advisr.com",
    "logoUrl": "https://assets.beta.advisr.com/uploads/clients/b2948bddd69dd9d1d5f09a1440f8d6e82bf82208.png",
    "website": "http://www.advisr.com",
    "facebook": null,
    "twitter": null,
    "hasAgency": true,
    "agencyName": "Digitas",
    "agencyContact": "Steve Sanders",
    "industryCategoryId": 8,
    "industryCategoryName": "Automotive Parts and Supplies",
    "industryId": 2,
    "industryName": "Auto",
    "type": "national",
    "owners": [
      {
        "id": 4,
        "firstName": "Steve",
        "lastName": "Renz",
        "email": "steve@advisr.com",
        "isAdvisrEmployee": true,
        "userCompanyGroup": {
          "id": 21,
          "companyId": 1,
          "companyGroupId": 1,
          "companyGroupName": "Advisr East",
          "title": "Director of Product",
          "mobilePhone": "(770) 330-3064",
          "officePhone": "(770) 330-3064",
          "isActive": true,
          "isCampaignOwner": true
        }
      },
      {
        "id": 3,
        "firstName": "Peter",
        "lastName": "Fernquist",
        "email": "peter@advisr.com",
        "isAdvisrEmployee": true,
        "userCompanyGroup": {
          "id": 38,
          "companyId": 1,
          "companyGroupId": 1,
          "companyGroupName": "Advisr East",
          "title": "Sales Manager and Head Honcho",
          "mobilePhone": "(646) 230-8692",
          "officePhone": null,
          "isActive": true,
          "isCampaignOwner": true
        }
      }
    ],
    "createdBy": {
        "id": 4,
        "firstName": "Steve",
        "lastName": "Renz",
        "email": "steve@advisr.com",
        "isAdvisrEmployee": true,
        "userCompanyGroup": {
          "id": 21,
          "companyId": 1,
          "companyGroupId": 1,
          "companyGroupName": "Advisr East",
          "title": "Director of Product",
          "mobilePhone": "(770) 330-3064",
          "officePhone": "(770) 330-3064",
          "isActive": true,
          "isCampaignOwner": true
        }
    },
    "externalLinks": [{
      "crmType": "sfdc",
      "crmId": "84",
      "crmName": "Salesforce National",
      "account": {
        "id": "18384",
        "name": "Blaze Pizza",
        "link": "https://na174.lightning.force.com/lightning/r/Account/0016g00001pU7AVAA0/view"
      },
      "createdAt": "2021-08-22T14:14:27.775Z",
      "updatedAt": "2021-09-12T17:45:30.556Z"
    }],
    "createdAt": "2019-11-27T13:11:40.607Z",
    "updatedAt": "2022-10-06T16:07:14.770Z"
  },
  "campaign": {
    "id": 392,
    "name": "New Campaign",
    "clientId": 284,
    "deleted": false,
    "status": "building",
    "industryCategoryId": 348,
    "budget": 20000,
    "primaryGoalId": null,
    "secondaryGoalId": null,
    "description": null,
    "averageSale": null,
    "averageProfit": null,
    "hasAdvertised": null,
    "startDate": "2022-12-01",
    "endDate": "2021-01-01",
    "createdByUserCompanyGroupId": 191,
    "recommendedProposalId": null,
    "proposalId": null,
    "createdAt": "2022-02-26T21:17:06.057Z",
    "updatedAt": "2022-02-26T21:17:06.057Z",
    "hasMetClient": null,
    "clientMeetingDate": null,
    "advertisingHistory": null,
    "successMetrics": null,
    "submissionComment": null,
    "creationFlow": "API",
    "addresses": null,
    "proposalLayout": null,
    "proposalLinks": [],
    "createdBy": {
      "id": 191,
      "firstName": "API",
      "lastName": "User",
      "email": "user@test.com",
      "companyGroupId": 1,
      "title": "API User",
      "avatar": "c9d4f21ae9efb2da52a92bc356cb5ba7c2954f99.jpg",
      "mobilePhone": "(555) 555-5555",
      "officePhone": null,
      "isActive": true,
      "proposalText": "<div>This text should be used for future proposals!!<br></div>"
    },
    "forms": [],
    "primaryGoalId": 64,
    "secondaryGoalId": null,
    "industryCategory": {
      "id": 348,
      "name": "Computer-related Services",
      "active": true,
      "industryCategoryGroupId": 4,
      "description": "Business providing computer repair services, software services, computer programming and other general computer services.",
      "sicgp": 737,
      "naics": 514,
      "externalName": "Computer-related Services",
      "externalTotalBusinesses": 35775,
      "group": {
        "id": 4,
        "name": "Business Services",
        "parentId": null
      }
    },
    "externalLinks": [{
      "crmType": "sfdc",
      "crmId": "69",
      "crmName": "Salesforce National",
      "id": "22894",
      "name": "Q4 Opportunity",
      "link": "https://na174.lightning.force.com/lightning/r/Opportunity/0066g00003WgoP9AAJ/view",
      "status": "Closed - Won",
      "startDate": "2022-08-22",
      "endDate": "2022-12-22",
      "budget": "35000",
      "ownerId": "2F0053g000000g0xS",
      "ownerName": "Peter Fernquist",
      "data": null,
      "account": {
        "id": "0016g00001thtQsAAI",
        "name": "Blaze Pizza",
        "link": "https://na174.lightning.force.com/lightning/r/Account/0016g00001pU7AVAA0/view"
      },
      "createdAt": "2021-08-22T14:14:27.775Z",
      "updatedAt": "2021-09-12T17:45:30.556Z"
    }]
  },
  "error": {},
  "warnings": {}
}

Example with internal Advisr IDs:

curl "https://api.advisr.com/v1/campaign/upsert-with-client/" \
  -d '{
    "companyGroupExternalLookupId": "439",
    "clientExternalLookupId": "18384",
    "campaiagnExternalLookupId": "949487",
    "client": { 
      "name": "Advisr",
      "website": "http://www.advisr.com",
      "contactName": "Joe Advisr",
      "contactEmail": "joe@advisr.com",
      "contactPhone": "(555) 555-5555",
      "externalLinks": [
        {
          "externalSystemId": 84,
          "externalAccountId": "18384"
        }
      ]
    },
    "campaign" : {
      "name": "New Campaign",
      "clientId": 284,
      "industryCategoryId": 348,
      "budget": 20000,
      "startDate": "2022-12-01",
      "endDate": "2021-01-01",
      "ownerUserCompanyGroupId": 191,
      "creationFlow": "API",
      "primaryGoalId": 64,
      "externalLinks": [
        {
          "externalSystemId": 69,
          "externalCampaignId": "22894"
        }
      ]
    }
  }' \
  -H "Content-Type: application/json" \
  -H "token: api-token"

The above command returns JSON structured like this:


{
  "client": {
    "id": 284,
    "externalLookupId": "18384",
    "name": "Advisr",
    "companyId": 1,
    "companyName": "Advisr",
    "companyGroupId": 19384,
    "companyGroupName": "Advisr East",
    "deleted": false,
    "primaryContactName": "Joe Advisr",
    "primaryContactPhone": "(555) 555-5555",
    "primaryContactEmail": "joe@advisr.com",
    "logoUrl": "https://assets.beta.advisr.com/uploads/clients/b2948bddd69dd9d1d5f09a1440f8d6e82bf82208.png",
    "website": "http://www.advisr.com",
    "facebook": null,
    "twitter": null,
    "hasAgency": true,
    "agencyName": "Digitas",
    "agencyContact": "Steve Sanders",
    "industryCategoryId": 8,
    "industryCategoryName": "Automotive Parts and Supplies",
    "industryId": 2,
    "industryName": "Auto",
    "type": "national",
    "owners": [
      {
        "id": 4,
        "firstName": "Steve",
        "lastName": "Renz",
        "email": "steve@advisr.com",
        "isAdvisrEmployee": true,
        "userCompanyGroup": {
          "id": 21,
          "companyId": 1,
          "companyGroupId": 1,
          "companyGroupName": "Advisr East",
          "title": "Director of Product",
          "mobilePhone": "(770) 330-3064",
          "officePhone": "(770) 330-3064",
          "isActive": true,
          "isCampaignOwner": true
        }
      },
      {
        "id": 3,
        "firstName": "Peter",
        "lastName": "Fernquist",
        "email": "peter@advisr.com",
        "isAdvisrEmployee": true,
        "userCompanyGroup": {
          "id": 38,
          "companyId": 1,
          "companyGroupId": 1,
          "companyGroupName": "Advisr East",
          "title": "Sales Manager and Head Honcho",
          "mobilePhone": "(646) 230-8692",
          "officePhone": null,
          "isActive": true,
          "isCampaignOwner": true
        }
      }
    ],
    "createdBy": {
        "id": 4,
        "firstName": "Steve",
        "lastName": "Renz",
        "email": "steve@advisr.com",
        "isAdvisrEmployee": true,
        "userCompanyGroup": {
          "id": 21,
          "companyId": 1,
          "companyGroupId": 1,
          "companyGroupName": "Advisr East",
          "title": "Director of Product",
          "mobilePhone": "(770) 330-3064",
          "officePhone": "(770) 330-3064",
          "isActive": true,
          "isCampaignOwner": true
        }
    },
    "externalLinks": [{
      "crmType": "sfdc",
      "crmId": "84",
      "crmName": "Salesforce National",
      "account": {
        "id": "18384",
        "name": "Blaze Pizza",
        "link": "https://na174.lightning.force.com/lightning/r/Account/0016g00001pU7AVAA0/view"
      },
      "createdAt": "2021-08-22T14:14:27.775Z",
      "updatedAt": "2021-09-12T17:45:30.556Z"
    }],
    "createdAt": "2019-11-27T13:11:40.607Z",
    "updatedAt": "2022-10-06T16:07:14.770Z"
  },
  "campaign": {
    "id": 392,
    "externalLookupId": "949487",
    "name": "New Campaign",
    "clientId": 284,
    "deleted": false,
    "status": "building",
    "industryCategoryId": 348,
    "budget": 20000,
    "primaryGoalId": null,
    "secondaryGoalId": null,
    "description": null,
    "averageSale": null,
    "averageProfit": null,
    "hasAdvertised": null,
    "startDate": "2022-12-01",
    "endDate": "2021-01-01",
    "createdByUserCompanyGroupId": 191,
    "recommendedProposalId": null,
    "proposalId": null,
    "createdAt": "2022-02-26T21:17:06.057Z",
    "updatedAt": "2022-02-26T21:17:06.057Z",
    "hasMetClient": null,
    "clientMeetingDate": null,
    "advertisingHistory": null,
    "successMetrics": null,
    "submissionComment": null,
    "creationFlow": "API",
    "addresses": null,
    "proposalLayout": null,
    "proposalLinks": [],
    "createdBy": {
      "id": 191,
      "firstName": "API",
      "lastName": "User",
      "email": "user@test.com",
      "companyGroupId": 1,
      "title": "API User",
      "avatar": "c9d4f21ae9efb2da52a92bc356cb5ba7c2954f99.jpg",
      "mobilePhone": "(555) 555-5555",
      "officePhone": null,
      "isActive": true,
      "proposalText": "<div>This text should be used for future proposals!!<br></div>"
    },
    "forms": [],
    "primaryGoalId": 64,
    "secondaryGoalId": null,
    "industryCategory": {
      "id": 348,
      "name": "Computer-related Services",
      "active": true,
      "industryCategoryGroupId": 4,
      "description": "Business providing computer repair services, software services, computer programming and other general computer services.",
      "sicgp": 737,
      "naics": 514,
      "externalName": "Computer-related Services",
      "externalTotalBusinesses": 35775,
      "group": {
        "id": 4,
        "name": "Business Services",
        "parentId": null
      }
    },
    "externalLinks": [{
      "crmType": "sfdc",
      "crmId": "69",
      "crmName": "Salesforce National",
      "id": "22894",
      "name": "Q4 Opportunity",
      "link": "https://na174.lightning.force.com/lightning/r/Opportunity/0066g00003WgoP9AAJ/view",
      "status": "Closed - Won",
      "startDate": "2022-08-22",
      "endDate": "2022-12-22",
      "budget": "35000",
      "ownerId": "2F0053g000000g0xS",
      "ownerName": "Peter Fernquist",
      "data": null,
      "account": {
        "id": "0016g00001thtQsAAI",
        "name": "Blaze Pizza",
        "link": "https://na174.lightning.force.com/lightning/r/Account/0016g00001pU7AVAA0/view"
      },
      "createdAt": "2021-08-22T14:14:27.775Z",
      "updatedAt": "2021-09-12T17:45:30.556Z"
    }]
  },
  "error": {},
  "warnings": {}
}

This endpoint creates or finds a client and creates a new campaign within that client, then returns both the client and campaign objects. Note that a complete set of internal Advisr IDs are required OR a complete set of mapped external IDs are required in order to successfully create these entities.

HTTP Request

POST https://api.advisr.com/v1/campaign/upsert-with-client/

Query Parameters

Parameter Default Description
includeProductRecommendation false Whether to include the upserted campaign's product recommendation; if passed as true, the campaign object in the respone will include a productRecommendation object populated with the same payload as the load product recommendation endpoint
includeProductMetadata false Whether to include full metadata for product catalog; if passed as true, the campaign object in the response will include a productRecommendation object populated with the same payload as the load product recommendation endpoint
includeRecommendedBudgets false Whether to include budget recommendations; if passed as true, the campaign object in the response will include a recommendedBudgets object populated with the same payload as the load product recommendation endpoint

Post Parameters

Parameter Datatype Required Description
companyGroupId integer false The ID of the group within the company
companyGroupExternalLookupId string false The ID of the group within the external system
clientId integer false The ID of the client within Advisr if it already exists
clientExternalLookupId string false The ID of the client within the external system
campaignId integer false The ID of the campaign within Advisr if it already exists
campaignExternalLookupId string false The ID of the campaign / opportunity / proposal within the external system
client object true The client object
campaign object true The campaign object

Client Object Properties

Parameter Datatype Required Description
name string true The client’s name
companyGroupId integer false The ID of the group within the company; one of companyGroupId or companyGroupExternalLookupId is required
companyGroupExternalLookupId string false The ID of the group within the external system; one of companyGroupId or companyGroupExternalLookupId is required
industryCategoryId integer false The ID of the client’s selected industry category; one of industryCategoryId or industryCategoryExternalLookupId is required
industryCategoryExternalLookupId string false External system ID for industry category; one of industryCategoryId or industryCategoryExternalLookupId is required
createdByUserCompanyGroupId integer true The ID of the userCompanyGroup of the user creating the client
ownerUserCompanyGroupIds array - userCompanyGroupIds true The ID(s) of the client owner(s)
customFields array - custom field objects false Ex. renewal or new business; leader or lagger
externalLinks array - externalLink objects false

Campaign Object Properties

Parameter Datatype Required Description
name string true The client’s name
industryCategoryId integer false The ID of the client’s selected industry category
industryCategoryExternalLookupId string false External system ID for industry category
primaryGoalId integer false The primary goal for the campaign; one of primaryGoalId or primaryGoalExternalLookupId is required
primaryGoalExternalLookupId string false External system ID for primary goal; one of primaryGoalId or primaryGoalExternalLookupId is required
budget integer true The campaign's budget
startDate string true Start date of the campaign
endDate string true End date of the campaign
createdByUserCompanyGroupId integer true The ID of the userCompanyGroup of the user creating the client
ownerUserCompanyGroupId integer true The ID of the campaign owner
customFields array - custom field objects false Ex. renewal or new business; leader or lagger
externalLinks array - externalLink objects false
Parameter Datatype Required Description
externalSystemId integer false The ID of the system (CRM, OMS, etc) as established within Advisr
externalAccountId string false The ID of the account within the external system
externalIndustryCategoryId string false The id of the industry within the external system
externalCompanyGroupId string false The id of the group within the external system
externalCampaignId string false The ID of the opportunity within the external system

Product

List products

curl "https://api.advisr.com/v1/products?limit=10&page=1&sort=name&sortDesc=false&search=" \
  -H "token: api-token"

The above command returns JSON structured like this:


{
  "page": 1,
  "hasMore": false,
  "results": [
    {
      "id": 3,
      "name": "Direct Mail",
      "companyId": 1,
      "companyGroupName": null,
      "companyGroupId": null,
      "isActive": true,
      "createdAt": "2019-03-28T13:18:15.815Z",
      "updatedAt": "2020-08-31T14:32:45.406Z"

    },
    {
      "id": 523,
      "name": "Preroll",
      "companyId": 1,
      "companyGroupName": null,
      "companyGroupId": null,
      "isActive": true,
      "createdAt": "2019-03-28T13:18:15.815Z",
      "updatedAt": "2020-08-31T14:32:45.406Z"
    },
    {
      "id": 526,
      "name": "Facebook",
      "companyId": 1,
      "companyGroupId": 13,
      "companyGroupName": "Advisr East",
      "isActive": true,
      "createdAt": "2019-03-28T13:18:15.815Z",
      "updatedAt": "2020-08-31T14:32:45.406Z"
    }
  ]
}

This endpoint retrieves the product list for company

HTTP Request

GET https://api.advisr.com/v1/products

Query Parameters

Parameter Required Default Description
limit false 10 How many users to return
companyGroupId false The company group to retrieve products for
page false 1 What page of the products results to return
includeInactive false false
sort false name The column to sort results by
sortDesc false false Sort the results decending
search false Search name string to limit products results by

List fields Properties

Value Datatype Nullable Description
page int no
hasMore boolean no
results array of users no
id int no
name string no
companyId int no
companyGroupId int yes if company product then null
companyGroupName string yes
isActive boolean no
createdAt datetime no
updatedAt datetime no

Load product

curl "https://api.advisr.com/v1/product/9" \
  -H "token: api-token"

The above command returns JSON structured like this:

{
  "id": 9,
  "name": "Direct Mail",
  "companyId": 1,
  "companyGroupId": null,
  "isActive": true,
  "isService": false,
  "description": "Direct Mail targeted to relevant customers within your target area",
  "minSpend": 0,
  "maxSpend": null,
  "minMonthlySpend": 0,
  "minRunDays": 1,
  "includeInNewGroups": true,
  "showDefaultSlide": true,
  "logo": null,
  "addonType": "subProducts",
  "subProductLabel": "Screen type ",
  "vendorId": 1,
  "vendorName": "google",
  "reportingCategoryId": 3,
  "reportingCategoryName": "O&O",
  "productCategory": {
    "id": 4,
    "name": "Direct Mail",
    "parentId": null,
    "parentName": null
  },
  "includedCompanyGroups": [
    {
      "id": 3,
      "name": "Internal Group"
    },
    {
      "id": 4,
      "name": "Advisr East"
    }
  ],
    "customFields": [
    {
      "categoryKey": "sfdc",
      "name": "Id",
      "key": "id",
      "isArray": false,
      "type": "text",
      "value": "1123",
      "updatedAt": "2020-08-11T12:09:46.992Z"
    }
  ],
  "createdAt": "2019-03-28T13:18:15.815Z",
  "updatedAt": "2020-08-31T14:32:45.406Z"
}

This endpoint loads the product by id.

HTTP Request

GET https://api.advisr.com/v1/product/:id

URL Parameters

Parameter Description
id The product id to load

Product Object Properties

Parameter Datatype Nullable Description
id int no
name string no
companyId int no
companyGroupId int no
isActive boolean no
isService boolean no
description string no HTML
minSpend int yes
maxSpend int yes
minMonthlySpend int yes
includeNewGroups boolean no
showDefaultSlide boolean no
logo url yes
addOnType string yes SubProducts,Attributes
subProductLabel string yes
vendorId int yes
vendorName string yes
reportingCategoryId int yes
reportingCategoryName string yes
productCategory object no
includedCompaignGroups array companyGroup objects yes id,name
customFields array of custom field objects yes
createdAt datetime no
updatedAt datetime no

Products CompanyGroup Object Properties

Parameter Datatype Nullable Description
id int no
name string no

ProductCategory Object Properties

Parameter Datatype Nullable Description
id int no
name string no
parentId int yes
parentName string yes

User

List users

curl "https://api.advisr.com/v1/users?companyGroupId=1&limit=10&page=1&sort=email&sortDesc=false&search=" \
  -H "token: api-token"

The above command returns JSON structured like this:

{
  "page": 1,
  "hasMore": false,
  "results": [
    {
      "id": 3,
      "firstName": "Joe",
      "lastName": "Advisr",
      "fullName": "Joe Advisr",
      "email": "joe@advisr.com",
      "isActive": true, 
      "isAdvisrEmployee": true,
      "createdAt": "2018-04-18T20:26:05.566Z",
      "updatedAt": "2019-01-23T20:37:33.537Z"
    },
    {
      "id": 2,
      "firstName": "Michelle",
      "lastName": "Smith",
      "fullName": "Michelle Smith",
      "email": "michelle@station.com",
      "isActive": true, 
      "isAdvisrEmployee": false,
      "createdAt": "2018-04-18T20:26:05.566Z",
      "updatedAt": "2019-01-23T20:37:33.537Z"
    }
  ]
}

This endpoint retrieves the user list for company

HTTP Request

GET https://api.advisr.com/v1/users

Query Parameters

Parameter Required Default Description
companyGroupId false only retrieve users with a userCompanyGroup and status for that userCompanyGroup in the specified CompanyGroup
limit false 10 How many users to return
page false 1 What page of the users results to return
sort false lastName The column to sort results by
sortDesc false false Sort the results decending
includeAdvisrEmployees false false
search false Search firstName, lastName and email string to limit user results by

List fields Properties

Value Datatype Nullable Description
page int no
hasMore boolean no
results array of users no
id int no
firstName string no
lastName string no
fullName string no
email string no
isActive boolean no
isAdvisrEmployee boolean no
createdAt datetime no
updatedAt datetime no

Load user

curl "https://api.advisr.com/v1/user/3" \
  -H "token: api-token"

The above command returns JSON structured like this:

{
  "id": 3,
  "firstName": "Joe",
  "lastName": "Advisr",
  "fullName": "Joe Advisr",
  "email": "joe@advisr.com",
  "avatar": "https://assets.advisr.com/uploads/avatars/0937524ae9665934b5ca97f727a29e11f0918c4b.jpg",
  "mobilePhone": "(617) 270-8555",
  "officePhone": null,
  "isActive": true, 
  "isAdvisrEmployee": false,
  "userCompanyGroups": [
    {
      "id": 7,
      "userId": 3,
      "companyId": 1,
      "companyGroupId": 1,
      "companyGroupName": "Advisr East",
      "isActive": true,
      "title": "Sales Manager",
      "isCampaignOwner": true,
      "createdAt": "2019-12-18T01:22:10.486Z",
      "updatedAt": "2019-12-18T01:22:10.486Z",
      "userRoles": [
        {
          "id": 3,
          "name": "Peter's Role",
          "companyId": 1,
          "companyGroupId": null,
          "isCompanyOwned" : true
        },
        {
          "id": 4,
          "companyId": 1,
          "companyGroupId": 3,
          "name": "Another role",
          "isCompanyOwned" : false

        }
      ],
      "customFields": [
        {
          "categoryKey": "sfdc",
          "name": "User Id",
          "key": "user_id",
          "isArray": false,
          "type": "text",
          "value": "12421512",
          "updatedAt": "2020-08-11T12:09:46.992Z"

        }
      ]
    },
    {
      "id": 167,
      "userId": 3,
      "companyGroupId": 8,
      "companyGroupName": "Advisr West",
      "isActive": true,
      "title": "Sales rep",
      "isCampaignOwner": true,
      "createdAt": "2020-02-11T16:57:24.032Z",
      "updatedAt": "2020-02-11T16:57:24.032Z",
      "userRoles": [],
      "customFields": []
    }
  ],
  "createdAt": "2020-04-02T14:45:26.184Z",
  "updatedAt": "2020-04-02T14:48:12.840Z"
}

This endpoint loads the user requested by email.

HTTP Request

GET https://api.advisr.com/v1/user/:id

URL Parameters

Parameter Description
id The user id to load

User Object Properties

Parameter Datatype Nullable Description
id int no
firstName string no
lastName string no
fullName string no
email string no
avatar string yes url of avatar
mobilePhone string yes
officePhone string yes
isActive boolean no isActive for at least one UserCompanyGroup
isAdvisrEmployee boolean no
userCompanyGroups array of userCompanyGroup Objects yes
createdAt datetime no
updatedAt datetime no

UserCompanyGroup Object Properties

Parameter Datatype Nullable Description
id int no
userId int no
companyId int no
companyGroupId int no
companyGroupName string no
isActive boolean no
title string yes
isCampaignOwner boolean no
createdAt datetime no
updatedAt datetime no
userRoles array of userRole Objects yes
permissionGroups array of permissionGroup Objects yes
ssoProviders array of ssoProvider Objects yes
customFields array of custom field objects yes

UserRoles Object Properties

Parameter Datatype Nullable Description
id int no
name string no
companyId int no
companyGroupId int yes
isCompanyOwned boolean no

Load user by email

curl "https://api.advisr.com/v1/user/load-by-email?email=joe@advisr.com" \
  -H "token: api-token"

The above command returns JSON structured like this:

{
  "id": 3,
  "firstName": "Joe",
  "lastName": "Advisr",
  "fullName": "Joe Advisr",
  "email": "joe@advisr.com",
  "avatar": "https://assets.advisr.com/uploads/avatars/0937524ae9665934b5ca97f727a29e11f0918c4b.jpg",
  "mobilePhone": "(617) 270-8555",
  "officePhone": null,
  "createdAt": "2019-03-28T13:22:25.892Z",
  "updatedAt": "2020-03-11T12:09:46.992Z",
  "isAdvisrEmployee": false,
  "userCompanyGroups": [
    {
      "id": 7,
      "userId": 3,
      "companyId": 1,
      "companyGroupId": 1,
      "companyGroupName": "Advisr East",
      "isActive": true,
      "title": "Sales Manager",
      "isCampaignOwner": true,
      "createdAt": "2019-12-18T01:22:10.486Z",
      "updatedAt": "2019-12-18T01:22:10.486Z",
      "userRoles": [
        {
          "id": 3,
          "name": "Peter's Role",
          "companyId": 1,
          "companyGroupId": null,
          "isCompanyOwned" : true
        },
        {
          "id": 4,
          "companyId": 1,
          "companyGroupId": 3,
          "name": "Another role",
          "isCompanyOwned" : false

        }
      ],
      "customFields": [
        {
          "categoryKey": "sfdc",
          "name": "User Id",
          "key": "user_id",
          "isArray": false,
          "type": "text",
          "value": "12421512",
          "updatedAt": "2020-08-11T12:09:46.992Z"
        }
      ]
    },
    {
      "id": 167,
      "userId": 3,
      "companyGroupId": 8,
      "companyGroupName": "Advisr West",
      "isActive": true,
      "title": "Sales rep",
      "isCampaignOwner": true,
      "createdAt": "2020-02-11T16:57:24.032Z",
      "updatedAt": "2020-02-11T16:57:24.032Z",
      "userRoles": [],
      "customFields": []
    }
  ],
  "createdAt": "2020-04-02T14:45:26.184Z",
  "updatedAt": "2020-04-02T14:48:12.840Z"
}

This endpoint loads the user requested by email.

HTTP Request

GET https://api.advisr.com/v1/user/user-by-email?email=joe@advisr.com

URL Parameters

Parameter Description
id The user id to load

User Object Properties

Parameter Datatype Nullable Description
id int no
firstName string no
lastName string no
fullName string no
email string no
avatar string yes url of avatar
mobilePhone string yes
officePhone string yes
isAdvisrEmployee boolean no
userCompanyGroups array of userCompanyGroup Objects yes
createdAt datetime no
updatedAt datetime no

UserCompanyGroup Object Properties

Parameter Datatype Nullable Description
id int no
userId int no
companyId int no
companyGroupId int no
companyGroupName string no
isActive boolean no
title string yes
isCampaignOwner boolean no
createdAt datetime no
updatedAt datetime no
userRoles array of userRole Objects yes
customFields array of custom field objects yes

UserRoles Object Properties

Parameter Datatype Nullable Description
id int no
name string no
companyId int no
companyGroupId int yes
isCompanyOwned boolean no

Industry & Category

List industries

curl "https://api.advisr.com/v1/industries?limit=10&page=1&sort=name&sortDesc=false&search=" \
  -H "token: api-token"

The above command returns JSON structured like this:

{
  "page": 1,
  "hasMore": false,
  "results": [
    {
      "id": 1,
      "name": "Airlines & Travel",
      "companyId": 1,
      "isDeleted": false,
      "createdAt": "2019-03-28T13:18:15.514Z",
      "updatedAt": "2019-03-28T13:18:15.514Z"
    },
    {
      "id": 2,
      "name": "Auto",
      "companyId": 1,
      "isDeleted": false,
      "createdAt": "2019-03-28T13:18:15.514Z",
      "updatedAt": "2019-03-28T13:18:15.514Z"
    },
    {
      "id": 3,
      "name": "Broadcast & Publishing",
      "companyId": 1,
      "isDeleted": false,
      "createdAt": "2019-03-28T13:18:15.514Z",
      "updatedAt": "2019-03-28T13:18:15.514Z"
    }
  ]
}

This endpoint retrieves the Industry list for the company

HTTP Request

GET https://api.advisr.com/v1/industries

Query Parameters

Parameter Required Default Description
limit false 10 How many industries to return
page false 1 What page of the results to return
includeDeleted false false
sort false name The column to sort results by
sortDesc false false Sort the results decending
search false Search name string to limit results by

List fields Properties

Value Datatype Nullable Description
page int no
hasMore boolean no
results array of industries no
id int no
name string no
companyId int no
isDeleted boolean no
createdAt datetime no
updatedAt datetime no

Load industry

curl "https://api.advisr.com/v1/industry/1" \
  -H "token: api-token"

The above command returns JSON structured like this:

{
  "id": 3,
  "name": "Broadcast & Publishing",
  "companyId": 1,
  "isDeleted": false,
  "createdAt": "2019-03-28T13:18:15.514Z",
  "updatedAt": "2019-03-28T13:18:15.514Z"
}

This endpoint loads the Industry

HTTP Request

GET https://api.advisr.com/v1/industry/:id

URL Parameters

Parameter Description
id The industry id to load

Industry Object Properties

Parameter Datatype Nullable Description
id int no
name string no
companyId int no
isDeleted boolean no
createdAt datetime no
updatedAt datetime no

List industry categories

curl "https://api.advisr.com/v1/industry-categories?limit=10&page=1&sort=name&sortDesc=false&search=" \
  -H "token: api-token"

The above command returns JSON structured like this:

{
  "page": 1,
  "hasMore": false,
  "results": [
    {
      "id": 35,
      "name": "Amusement Parks",
      "externalLookupId": null,
      "industryId": 7,
      "industryName": "Entertainment & Amusement",
      "isDeleted": false,
      "createdAt": "2019-03-28T13:18:15.514Z",
      "updatedAt": "2019-03-28T13:18:15.514Z"
    },
    {
      "id": 18,
      "name": "Apartment Operators",
      "externalLookupId": null,
      "industryId": 4,
      "industryName": "Business Services",
      "isDeleted": false,
      "createdAt": "2019-03-28T13:18:15.514Z",
      "updatedAt": "2019-03-28T13:18:15.514Z"
    },
    {
      "id": 62,
      "name": "Apparel and Accessory Stores-Retail",
      "externalLookupId": null,
      "industryId": 13,
      "industryName": "Retail",
      "isDeleted": false,
      "createdAt": "2019-03-28T13:18:15.514Z",
      "updatedAt": "2019-03-28T13:18:15.514Z"
    }
  ]
}

This endpoint retrieves the Industry Categories list for the company

HTTP Request

GET https://api.advisr.com/v1/industry-categories

Query Parameters

Parameter Required Default Description
limit false 10 How many industries to return
page false 1 What page of the results to return
includeDeleted false false
sort false name The column to sort results by
sortDesc false false Sort the results decending
search false Search name string to limit results by

List fields Properties

Value Datatype Nullable Description
page int no
hasMore boolean no
results array of industries no
id int no
name string no
externalLookupId string yes
companyId int no
isDeleted boolean no
createdAt datetime no
updatedAt datetime no

Load industry category

curl "https://api.advisr.com/v1/industry-category/35" \
  -H "token: api-token"

The above command returns JSON structured like this:

{
  "id": 35,
  "name": "Amusement Parks",
  "externalLookupId": null,
  "industryId": 7,
  "industryName": "Entertainment & Amusement",
  "dataSetCategoryId": "1212",
  "dataSetCategoryName": "Amusement Parks",
  "isDeleted": false,
  "customFields": [
    {
      "categoryKey": "sfdc",
      "name": "Id",
      "key": "id",
      "isArray": false,
      "type": "text",
      "value": "1",
      "updatedAt": "2020-08-11T12:09:46.992Z"
    }
  ],
  "createdAt": "2019-03-28T13:18:15.514Z",
  "updatedAt": "2019-03-28T13:18:15.514Z"
}

This endpoint loads the Industry Category

HTTP Request

GET https://api.advisr.com/v1/industry-category/:id

URL Parameters

Parameter Description
id The industryCategory id to load

IndustryCategory Object Properties

Parameter Datatype Nullable Description
id int no
name string no
externalLookupId string yes
industryId int no
industryName string no
dataSetCategoryId string no
dataSetCategoryName string no
isDeleted boolean no
customFields array of custom field objects yes
createdAt datetime no
updatedAt datetime no

List goals for industry category

curl "https://api.advisr.com/v1/industry-category/:id/goals?limit=10&page=1&sort=name&sortDesc=false&search=" \
  -H "token: api-token"

The above command returns JSON structured like this:

{
  "page": 1,
  "hasMore": false,
  "results": [
    {
      "id": 1,
      "name": "Ad Engagement",
      "externalLookupId": "12345"
    },
    {
      "id": 2,
      "name": "Website Traffic",
      "externalLookupId": "37847"
    },
    {
      "id": 3,
      "name": "Reach",
      "externalLookupId": "84887"
    }
  ]
}

This endpoint retrieves the goals list for the industry category

HTTP Request

GET https://api.advisr.com/v1/industry-category/:id/goals

Query Parameters

Parameter Required Default Description
limit false 10 How many goals to return
page false 1 What page of the results to return
sort false name The column to sort results by
sortDesc false false Sort the results decending
search false Search name string to limit results by

List fields Properties

Value Datatype Nullable Description
page int no
hasMore boolean no
results array of goals no
id int no
name string no
externalLookupId string yes

Goal

List goals

curl "https://api.advisr.com/v1/goals?limit=10&page=1&sort=name&sortDesc=false&search=" \
  -H "token: api-token"

The above command returns JSON structured like this:

{
  "page": 1,
  "hasMore": false,
  "results": [
    {
      "id": 1,
      "name": "Ad Engagement",
      "externalLookupId": "12345"
    },
    {
      "id": 2,
      "name": "Website Traffic",
      "externalLookupId": "37847"
    },
    {
      "id": 3,
      "name": "Reach",
      "externalLookupId": "84887"
    }
  ]
}

This endpoint retrieves the goals list for the company

HTTP Request

GET https://api.advisr.com/v1/goals

Query Parameters

Parameter Required Default Description
limit false 10 How many goals to return
page false 1 What page of the results to return
sort false name The column to sort results by
sortDesc false false Sort the results decending
search false Search name string to limit results by

List fields Properties

Value Datatype Nullable Description
page int no
hasMore boolean no
results array of goals no
id int no
name string no
externalLookupId string yes

File

Load File

curl "https://api.advisr.com/v1/file/34476" \
  -H "token: api-token"

The above command returns JSON structured like this:

{
  "id": 34476,
  "campaignId": 862,
  "path": "assets.advisr.com/uploads/campaign-assets/862/files/a3ecdc39005cc2e05c5c6d09ef6fd26933d36d82",
  "fileLink": "https://assets.advisr.com/uploads/campaign-assets/862/files/a3ecdc39005cc2e05c5c6d09ef6fd26933d36d82/Screenshot%202023-06-14%20at%203.07.59%20PM.png",
  "name": "Sample Display Ad - Instagram",
  "size": 488644,
  "type": "Image",
  "createdByUserGroupId": 242,
  "isDeleted": false,
  "createdAt": "2020-03-27T21:59:37.566Z",
  "updatedAt": "2020-04-06T16:02:15.373Z"
}

This endpoint loads the file by id.

HTTP Request

GET https://api.advisr.com/v1/file/:id

URL Parameters

Parameter Description
id The file id to load

File Object Properties

Parameter Datatype Nullable Description
id int no
campaignId int no
name string no
createdByUserGroupId int no
size int no
type string no
path string no
fileLink string no
createdAt timestamp no
updatedAt timestamp no

Export

Export Process

REST API for Data Retrieval

Request a report: POST https://api.advisr.com/v1/export/request/:object (export JSON)

Request the status of a report: GET https://api.advisr.com/v1/export/status/:exportId

Retrieve export data: GET https://api.advisr.com/v1/export/download/:exportId

Client Export

curl "https://api.advisr.com/v1/export/request/client" \
  -H "token: api-token"\
  -d '{
    "export": {
      "interval": "createdAt",
      "intervalStart" : "2020-04-02T00:00:00.000Z",
      "intervalEnd" :  "2020-04-04T00:00:00.000Z",
      "filters": {"companyGroupId":[1,2]},
      "columns" : ["id","name","companyId","companyName","companyGroupId","companyGroupName","deleted","industryCategoryId","industryCategoryName","industryId","industryName","ownerUserCompanyGroupIds","ownerEmails","createdByUserCompanyGroupId","createdByUserEmail","createdByUserId","createdAt","updatedAt"],
      "header" : true,
      "format": "csv"
    }
}'

The request response JSON is structured like this:

{
  "status": "pending",
  "exportId": "294d5b5709eafe9aee82f5c1a534gc123"
}

This endpoint retrieves the client export for the company of the API token.

HTTP Request

POST https://api.advisr.com/v1/export/request/client

Post Parameters

Parameter Required Default Description
interval true 10 [createdAt, updatedAt, campaignDates]
intervalStart true $now-7days Datetime to start
intervalEnd false $now Datetime to End
filters false false [companyGroupId,ownerUserCompanyGroupId,ownerIncludeAdvisrEmployee]
columns false see table see table
header false true
format false csv [csv]

Client export Properties

Parameter Datatype on by Default Nullable Description
id int yes no
name string yes no
companyId int yes no
companyName string yes no
companyGroupId int yes no
companyGroupName string yes no
companyGroupStation string no yes
companyGroupRegion string no yes
deleted boolean yes no
primaryContactName string no yes
primaryContactPhone string no yes
primaryContactEmail string no yes
logoUrl string no yes
website string no yes
facebook string no yes
twitter string no yes
hasAgency boolean no no
agencyName string no yes
agencyContact string no yes
industryCategoryId int yes no
industryCategoryName string yes no
industryId int yes no
industryName string yes no
type string no no ['local', 'national']
ownerUserCompanyGroupIds array - userCompanyGroup id's yes no
ownerEmails array - owner emails yes no
createdByUserCompanyGroupId int yes no
createdByUserEmail int yes no
createdByUserId int yes no
custom.client.$categoryKey.$fieldKey number,string no yes
custom.industryCategory.$categoryKey.$fieldKey number,string no yes
custom.company.$categoryKey.$fieldKey number,string no yes
custom.companyGroup.$categoryKey.$fieldKey number,string no yes
createdAt datetime yes no
updatedAt datetime yes no

Campaign Export

curl "https://api.advisr.com/v1/export/request/campaign" \
  -H "token: api-token"\
  -d '{
    "export": {
      "interval": "createdAt",
      "intervalStart" : "2020-04-02T00:00:00.000Z",
      "intervalEnd" :  "2020-04-04T00:00:00.000Z",
      "filters": {"companyGroupId":1},
      "columns" : ["id","name","creationFlow","deleted","startDate","endDate","status","industryCategoryId","industryCategoryName","budget","clientId","clientName","companyGroupId","companyGroupName","companyId","companyName","completedAt","readyToSubmit","submittedAt","ownerUserCompanyGroupId","ownerUserId","ownerName","ownerEmail","ownerGroupId","ownerGroupName","submittedByUserId","createdByUserEmail","createdAt","updatedAt"],
      "header" : true,
      "format": "csv"
    }
}'

The request response JSON is structured like this:

{
  "status": "pending",
  "exportId": "294d5b5709eafe9aee82f5c1a534gc123"
}

This endpoint retrieves the campaign export for the company of the API token.

HTTP Request

POST https://api.advisr.com/v1/export/request/campaign

Post Parameters

Parameter Required Default Description
interval true createdAt [createdAt, updatedAt,campaignDates]
intervalStart true $now-7days Datetime to start
intervalEnd false $now Datetime to End
filters false ownerIncludeAdvisrEmployee :false [companyGroupId,ownerUserCompanyGroupId,ownerUserId,ownerIncludeAdvisrEmployee]
columns false see table see table
header false true
format false csv [csv]

Campaign Export Properties

Parameter Datatype On by Default Nullable Description
id int yes no
name string yes no
creationFlow string yes no
deleted boolean yes no
description string no yes
startDate date yes yes
endDate date yes yes
status string yes no defaults:-[ 'New', 'Open', 'Editing', 'Closed - Won', 'Closed - Lost', 'Testing']
statusKey string yes no defaults:-[ 'new', 'open', 'editing', 'submitted', 'closed-lost' ]
state string yes no fixed:-[ 'new', 'open', 'editing', 'submitted', 'closed-lost' ]
submittedStatus string yes no fixed:-[ null, 'failed', 'success' ]
industryCategoryId int yes no
industryCategoryName string yes no
industryId int no no
industryName string no no
budget number yes yes
clientId int yes no
clientName string yes no
companyGroupId int yes no
companyGroupName string yes no
companyGroupStation string no yes
companyGroupRegion string no yes
companyId int yes no
companyName string yes no
completedAt datetime yes yes
primaryGoalId int no yes
primaryGoalName string no yes
secondaryGoalId int no yes
secondaryGoalName string no yes
presentationlLink string no yes
readyToSubmit boolean yes no
submittedAt datetime yes yes
ownerUserCompanyGroupId int yes no
ownerUserId int yes no
ownerName string yes no
ownerEmail string yes no
ownerGroupId int yes no
ownerGroupName string yes no
ownerIsAdvisrEmployee boolean no no
createdByUserCompanyGroupId int no no
createdByUserId int no no
submittedByUserId int yes yes
createdByUserEmail string yes no
custom.client.$categoryKey.$fieldKey number,string no yes
custom.campaign.$categoryKey.$fieldKey number,string no yes
custom.industryCategory.$categoryKey.$fieldKey number,string no yes
custom.owner.$categoryKey.$fieldKey number,string no yes
custom.company.$categoryKey.$fieldKey number,string no yes
custom.companyGroup.$categoryKey.$fieldKey number,string no yes
createdAt datetime yes no
updatedAt datetime yes no

Campaign Products Export

curl "https://api.advisr.com/v1/export/request/campaign-products" \
  -H "token: api-token"\
  -d '{
    "export": {
      "interval": "createdAt",
      "intervalStart" : "2020-04-02T00:00:00.000Z",
      "intervalEnd" :  "2020-04-04T00:00:00.000Z",
      "filters": {"companyGroupId":[1]},
      "columns" : ["id","name","productId","productName","spend","isService","createdAt","updatedAt"],
      "header" : true,
      "format": "csv"
    }
}'

The request response JSON is structured like this:

{
  "status": "pending",
  "exportId": "294d5b5709eafe9aee82f5c1a534gc123"
}

This endpoint retrieves the campaign products for the company of the API token.

HTTP Request

POST https://api.advisr.com/v1/export/request/campaign-products

Post Parameters

Parameter Required Default Description
interval true updatedAt [createdAt, updatedAt, campaignDates]
intervalStart true $now-7days Datetime to start
intervalEnd false $now Datetime to End
filters false ownerIncludeAdvisrEmployee:false [companyGroupId,ownerUserCompanyGroupId,ownerUserId,ownerIncludeAdvisrEmployee]
columns false see table see table
header false true
format false csv [csv]

Campaign Products Export Properties

Parameter Datatype On by Default Nullable Description
id int yes no
name string yes no
productId int yes no
productName string yes no
spend number yes yes
isService boolean yes no
vendorId int no yes
vendorName string no yes
reportingCategoryId int no yes
reportingCategoryName string no yes
custom.product.$categoryKey.$fieldKey number,string no yes
createdAt datetime yes no
updatedAt datetime yes no

Retrieval of an Export

curl "https://api.advisr.com/v1/export/status/:exportId" \
  -H "token: api-token"

The above command returns JSON structured like this:

{
  "status": "ready",
  "createdAt": "2020-04-20T18:15:48.124Z",
  "hasMore": false,
  "rowCount": "1500",
  "url": "https://api.advisr.com/export/download/294d5b5709eafe9aee82f5c1a534gc123"
}
curl "https://api.advisr.com/v1/export/download/:exportId" \
  -H "token: api-token"\

The above command returns the CSV file:

This endpoint retrieves export status and download url.

HTTP Request

GET https://api.advisr.com/v1/export/status/:exportId

Query Parameters

Parameter Description
exportId The export Id

Custom Fields

Load custom fields

curl "https://api.advisr.com/v1/custom-fields/:objectType/:id" \'
  -H "token: api-token"

The above command returns JSON structured like this:

{
  "id": 392,
  "name": "New Campaign",
  "objectType" : "campaign",
  "customFields": [
    {
      "categoryKey": "sfdc",
      "name": "Opportunity Id",
      "key": "opportunity_id",
      "isArray": false,
      "type": "text",
      "value": "12421512",
      "updatedAt": "2022-08-11T12:09:46.992Z"
    },
    {
      "categoryKey": "sfdc",
      "name": "Comments",
      "key": "comments",
      "isArray": false,
      "type": "textarea",
      "value": "These are comments that can be left by a user",
      "updatedAt": "2022-08-11T12:09:46.992Z"
    },
    {
      "categoryKey": "sfdc",
      "name": "Opportunity Id",
      "key": "opportunity_id",
      "isArray": false,
      "type": "number",
      "value": 12421512,
      "updatedAt": "2022-08-11T12:09:46.992Z"
    },
    {
      "categoryKey": "sfdc",
      "name": "Opportunity Amount",
      "key": "opportunity_amount",
      "isArray": false,
      "type": "currency",
      "value": 10000,
      "updatedAt": "2022-08-11T12:09:46.992Z"
    },
     {
      "categoryKey": "sfdc",
      "name": "Opportunity Close Date",
      "key": "opportunity_close_date",
      "isArray": false,
      "type": "datetime",
      "value": "2023-01-11T12:09:46.992Z",
      "updatedAt": "2022-08-11T12:09:46.992Z"
    },
    {
      "categoryKey": "sfdc",
      "name": "Opportunity Active",
      "key": "opportunity_active",
      "isArray": false,
      "type": "boolean",
      "value": true,
      "updatedAt": "2022-08-11T12:09:46.992Z"
    },
    {
      "categoryKey": "sfdc",
      "name": "Opportunity Status",
      "key": "opportunity_status",
      "isArray": true,
      "type": "select",
      "value": "client_review",
      "valueOptions": [
        { "value": "client_review", "name": "Client Review" }
      ],
      "updatedAt": "2022-08-11T12:09:46.992Z"
    },
    {
      "categoryKey": "sfdc",
      "name": "Opportunity Category",
      "key": "opportunity_category",
      "isArray": true,
      "type": "multiselect",
      "value": [
        "retail",
        "amusement_parks"      
      ],
      "valueOptions": [
        { "value": "retail", "name": "Retail" },
        { "value": "amusement_parks", "name": "Amusement Parks" }
      ],
      "updatedAt": "2022-08-11T12:09:46.992Z"
    }
  ]
}

This endpoint returns all customFields that have values for the object.

HTTP Request

GET https://api.advisr.com/v1/custom-fields/:objectType/:id

URL Parameters

Parameter Required Description
id true The object's id to request
objectType true object name in the url [product, client, campaign, industryCategory, company, group, userCompanyGroup]

Custom Fields Reponse Properties

Parameter Required Type Description
id true int id of the object
name true string name of the object
objectType true string [product, client, campaign, industryCategory, company, group, userCompanyGroup]
customFields true array Array of custom field objects

Custom Field Object Properties

Parameter Required Type Description
categoryKey true string The unique key for the category
name true string The name of the custom field
key true string The field key
isArray false boolean is the value an array or single value
type false string [text, textarea, number, currency, datetime, boolean, select, multiselect] type of the value
value true string, number, datetime, boolean, array The value or array of values to set
valueOptions true array Array of value option objects
updatedAt true datetime Timestamp of when last updated

Note: examples of all field types can be found in the sample payload to the right.

Value Option Object Properties

Parameter Required Type Description
name true string The name of the value option
value true string The value of the value option

Update custom fields

curl "https://api.advisr.com/v1/custom-fields/:objectType/:id/update" \
  -d '
[
  {
    "categoryKey": "sfdc",
    "key": "opportunity_id",
    "value": "12421512"
  },
  {
    "categoryKey": "sfdc",
    "key": "opportunity_category",
    "value": [
      "resorts",
      "amusement-parks"
    ]
  }
]
' \
  -H "Content-Type: application/json" \
  -H "token: api-token"

The above command returns JSON structured like this:

{
  "result": 
  {
    "id": 392,
    "name": "New Campaign",
    "objectType" : "campaign",
    "customFields": [
      {
        "categoryKey": "sfdc",
        "name": "Opportunity Id",
        "key": "opportunity_id",
        "isArray": false,
        "type": "text",
        "value": "12421512",
        "updatedAt": "2022-08-11T12:09:46.992Z"
      },
      {
        "categoryKey": "sfdc",
        "name": "Opportunity Category",
        "key": "opportunity_category",
        "isArray": true,
        "type": "multiselect",
        "value": [
          "resorts",
          "amusement_parks"      
        ],
        "valueOptions": [
          { "value": "resorts", "name": "Resorts" },
          { "value": "amusement_parks", "name": "Amusement Parks" }
        ],
        "updatedAt": "2022-08-11T12:09:46.992Z"
      }
    ]

  }
}

This endpoint updates customFields.
All categoryKey/key combinations that are supplied in the post will be fully replaced
Update post can support an array of key/categoryKey updates for one object, or a single update
Value = Empty or missing value will remove all values from the key
All of the objects customFields containing values are returned as a result.

HTTP Request

POST https://api.advisr.com/v1/custom-fields/:objectType/:objectId/update

URL Parameters

Parameter Required Description
objectId true The object's id to update in request
objectType true object name in the url [product, client, campaign, industryCategory, company, group, userCompanyGroup]

Custom Field Post Properties

Parameter Required Type Description
categoryKey true string The unique key for the category
key true String The field key
value false string, number, datetime, boolean, array The value or array of values to set

Custom Fields Reponse Properties

This response is wrapped in a result object, with the following inside:

Parameter Required Type Description
id true int id of the object
name true string name of the object
objectType true string [product, client, campaign, industryCategory, company, group, userCompanyGroup]
customFields true array Array of custom field objects

Delete custom fields

curl "https://api.advisr.com/v1/custom-fields/:object/:id/delete" \
  -d '
{
  "categoryKey": "google",
  "key": "campaign_id",
}

' \
  -H "Content-Type: application/json" \
  -H "token: api-token"

The above command returns JSON structured like this:

{
  "id": 392,
  "name": "New Campaign",
  "objectType" : "campaign",
  "customFields": [
    {
      "categoryKey": "sfdc",
      "name": "Opportunity Id",
      "key": "opportunity_id",
      "isArray": false,
      "type": "text",
      "value": "12421512",
      "updatedAt": "2022-08-11T12:09:46.992Z"

    }
  ]
}

This endpoint deletes an existing objects customFields.
Only categoryKey/key combinations supplied in the post will be deleted. The full objects customFields are returned as a result.

HTTP Request

POST https://api.advisr.com/v1/custom-fields/:objectType/:objectId/delete

Post Parameters

Parameter Required Description
objectId true The objects id to delete
objectType true object name in the url [product, client, campaign, industryCategory, company, group, userCompanyGroup]

Custom Field Post Properties

Parameter Required Type Description
categoryKey true string The unique key for the category
key true String The field key

Custom Fields Reponse Properties

Parameter Required Type Description
id true int id of the object
name true string name of the object
objectType true string [product, client, campaign, industryCategory, company, group, userCompanyGroup]
customFields true array Array of custom field objects

Delete all custom fields

curl "https://api.advisr.com/v1/custom-fields/:object/:objectId/delete-all" \
' \
  -H "token: api-token"

The above command returns JSON structured like this:

{
  "id": 392,
  "name": "New Campaign",
  "objectType" : "campaign",
  "customFields": []
}

This endpoint deletes all custom fields for an object.
The full objects customFields are returned as a result.

HTTP Request

POST https://api.advisr.com/v1/custom-fields/:objectType/:objectId/delete-all

Query Parameters

Parameter Required Description
objectId true The objects id to delete
objectType true object name in the url [product, client, campaign, industryCategory, company, group, userCompanyGroup]

Custom Fields Reponse Properties

Parameter Required Type Description
id true int id of the object
name true string name of the object
objectType true string [product, client, campaign, industryCategory, company, group, userCompanyGrouop]
customFields true array Array of custom field objects

Custom field errors

API errors return JSON structured like this, with message strings comma separated in the messages array:

{
  "error": 
  {
    "type": "AdvisrInvalidRequestError",
    "messages": [ "This is an API error" ]
  }
}

Custom Fields can return the following error messages as 400 requests

Error Message Meaning
categoryKey/key not found categoryKey/key is not found on this object
expecting an array isArray:true and trying to pass a single value
expecting a single value isArray:False and trying to pass an array of values
expecting an integer field type is a string and trying to pass an integer
expecting a string field type is an int and trying to pass an string

Errors

Error Responses

API errors return JSON structured like this, with message strings comma separated in the messages array:

{
  "error": 
  {
    "type": "AdvisrInvalidRequestError",
    "messages": [ "This is an API error" ]
  }
}

The Advisr API uses the following error types and codes:

Error Type Error Code Description
AdvisrUnauthorizedError 401 Invalid or no API key provided for this request.
AdvisrPermissionError 403 The API key used for this request does not have the necessary permissions.
AdvisrRateLimitError 429 You have exceeded your established rate limit.
AdvisrAPIError 500 Something went wrong on Advisr’s end.
AdvisrInvalidRequestError 400 Parameters with request are not valid.
AdvisrValidationError 400 The request included invalid data or was made in an invalid way.

Changelog

Below you can find summaries of each release.

July 10, 2023

Adding files retrieval endpoints

Load files uploaded to a campaign with this new endpoint, as well as another endpoint to load individual an individual file.

April 26, 2023

Adding budget recommendation values in responses for campaigns

Budget recommendation values will now be returned with a new load campaign product recommendation endpoint, if there are budget recommendation values.

April 4, 2023

Including street address, agency and full name to campaigns, clients and users

If values exist, the street address and the full name of an agency will now be avaialble when loading a campaign, loading the geo(s) of a campaign, loading a client and loading users. Also, if team members have been added to a client, those will not be returned as well.

February 24, 2023

Including country, test campaign boolean and team members to campaigns

If values exist, the country, team members and a test campaign true/false flag will now be avaialble when loading a campaign.

February 14, 2023

Introduce product recommendation to campaigns

There is now an endpoint that will return the product recommendation for a particular campaign.

December 5, 2022

Introducing goals endpoints

There is now a list goals for client endpoint, a brand new list goals endpoint and list goals for industry category endpoint.

October 18, 2022

Ability to create and update campaigns

Create and update campaigns through the API, as well as upsert a campaign with client info - if a client or campaign does not exist with the provided data, a new client and campaign will be created. If ones are found, those will be updated.

October 13, 2022

Adding external lookup IDs to campaign and client

In the load campaign and load client endpoints, the external lookup ID is now returned if values have been added.