All API endpoints require the following query string parameters. These parameters must always be present on the query string, even when using the POST version of the APIs.
Parameter | Required? | Type | Multiples? | Notes |
---|---|---|---|---|
apiUser |
string |
Provided by Vendasta | ||
apiKey |
string |
Provided by Vendasta |
All API responses will be a JSON dictionary of the form:
{ "statusCode": 200, "responseTime": 13.12, "version": "1.1", "requestId": "5289947b00ff0b5f9a70d6c8f70001737e726570636f72652d70726f64000170726f642d312d37393400010139", "message": "A human-readable message.", # optional "deprecationWarnings": {}, # optional "data": {} # the actual API response data }where:
statusCode
responseTime
version
requestId
message
deprecationWarnings
data
Note
The API responses below indicate the data
portion of the response.
Note
Where multiple arguments are allowed, use repeated parameter names. E.g., foo=1&foo=2&foo=3
.
Note Certain data types require particular serialized forms:
datetime
has the form 2012-12-13T14:32:41Z
date
has the form 2012-12-13
time
has the form 14:32:41Z
boolean
has the formtrue
or false
Important Our APIs only accept a maximum url length
of 2,000 characters. If providing a large number of parameters, especially repeated parameters,
use the POST
form of API to guard against surpassing this limit.
For API endpoints denoted as "supports paged results", the response dictionary will have more information:
{ "statusCode": 200, ..., "data": ['a', 'b' , 'c'], "nextUrl": "https://www.example.com/abc123?page=998877", "nextQueryString": "page=998877", "totalResults": 213, "numberFoundAccuracy": 100 }where:
data
nextUrl
null
;
depending on the particular endpoint, it is also possible that the nextUrl
key does not even appear in the dictionary. In either case, this signifies that
there are no further results.
Important You must append your
apiUser
and apiKey
to the nextUrl
before
submitting the request; these values are explictly suppressed for security reasons.
nextQueryString
nextUrl
for convenience.
This is useful if you need to push the paging information to the browser (e.g., for
an Ajax-driven "next page" action) but want to protect the hostname.
totalResults
numberFoundAccuracy
totalResults
will only be an estimation.
This is only supported by certain endpoints and may not be present.
Unless otherwise noted, a 200 response code indicates success and a 500 response code indicates a server error. In general, 200-series responses are used to indicate success, 400-series responses are used to indicate client errors, and 500-series responses are used to indicate server errors. 400-series errors often contain a message with a description of the client error.
Each endpoint has a version number which consists of a major version and a minor version
(e.g., v1.1
).
As non-breaking changes are introduced, the minor version will increase. Non-breaking changes
include items like new optional parameters and new entries in dictionaries. It is important
that your implementation be able to handle these sorts of adjustments automatically.
If a breaking change is required, a new endpoint will be created with a new major version number (the major version number is included in the url path itself). When this occurs, the old version will be marked as deprecated, however it will continue to operate. If any formal sunsetting of the old endpoint is planned, this will be communicated to you via announcement and migration time will be allotted.
Note
When an endpoint has been marked as deprecated,
a deprecationWarnings
key will appear in the top-most response dictionary.
Note Version adjustments (major and minor) occur on individual endpoints, not for the entire suite of endpoints.
Webhooks allow our servers to push content to you as soon as possible. To use webhooks, you must build a handler on your server and configure the url of the handler on https://partners.vendasta.com.
Content will be sent to this url using a POST
method.
The content of the POST
will be a JSON-encoded dictionary, with the following
basic format:
{ "event": "some-event-code", "messageId": "cb7beb99090a4f5f8406a43ae9f56d88", "version": "1.1", "publishedDateTime": "2014-12-13T14:15:16Z", "data": {} # the actual webhook content }where:
event
messageId
version
data
block.
publishedDateTime
data
A message will be considered to be successfully delivered if your server returns a status code in the range 200-299. All other responses will be considered failures. If your server returns a 401 or 403, no retries will be attempted, otherwise delivery will be retried. Unless otherwise noted, the retry policy will attempt after 5 seconds, 10 seconds, 20 seconds, 40 seconds, 80 seconds etc. At least one delivery per day will be attempted, however, retries will end 7 days after the delivery was originally attempted.
Note No guarantee is made about the order of the messages, especially when retrying is in effect. Your handler must have enough logic to handle out of order messages as well as the small possibility of duplicate message delivery.
To prevent malicious attempts from other parties, it is possible for our servers to sign the webhook message using a shared cryptographic signing key. Your signing key can be configured at https://partners.vendasta.com.
When the signing key is configured, we will compute the signature based on the raw
content of the HTTP POST
body (not the headers). Make sure that you
strip any leading and trailing whitespace before computing the signature; the first
character will be "{
" and the last character will be "}
".
The signing technique follows the HMAC specification defined by RFC-2104, using a SHA1 hash. In Python code, the signing process is performed by the following code:
import hmac import sha payload = '' # the body of the HTTP POST signing_key = '' # the shared cryptographic key configured at https://partners.vendasta.com signature = hmac.new(signing_key, payload.strip(), sha.sha).hexdigest()
Once the signature is computed, you can compare it to the signature on the
header X-Vendasta-HMAC
found in the HTTP POST
headers.
If your computed signature matches the signature in the header, the message
is genuine.
app.views.api.v2.account_group
This end-point is used to create associations between account groups given a Business Center user id.
POST https://business-center-api.vendasta.com/api/v2/accountGroup/associateUser/
Parameter | Required? | Type | Multiples? | Notes |
---|---|---|---|---|
agid
|
string
|
A unique account group identifier. | ||
userId
|
string
|
A unique user id. |
A list of potential status codes that may be returned.
Returns the association key created.
"data": { "associationId": "UID-FABDJ4MB-AA4AFDL8-AGID" }
These external end-points are used for accessing Accounts details.
This end-point is used to create an account.
POST https://business-center-api.vendasta.com/api/v3/account/create/
Parameter | Required? | Type | Multiples? | Notes |
---|---|---|---|---|
companyName
|
string
|
A descriptive company name. | ||
SEOCategory
|
string
|
Search engine terms related to a business Maximum instances: 3 | ||
actionLists
|
string
|
|||
addPresenceBuilderFlag
|
boolean
|
|||
addReputationDemoFlag
|
boolean
|
|||
addReputationFlag
|
boolean
|
|||
addSocialMarketingFlag
|
boolean
|
|||
address
|
string
|
The address of the business. | ||
address2
|
string
|
|||
brandsCarried
|
string
|
Primary brands carried. e.g. Panasonic, Apple. Total length of brands carried must be less than 256 characters, when joined with commas. Maximum instances: 15 | ||
businessLogoUrl
|
string
|
|||
businessPrimaryPhotoUrl
|
string
|
|||
callTrackingNumber
|
string
|
A list of call tracking numbers. Maximum instances: 3 | ||
cellNumber
|
string
|
The cell number for a business | ||
city
|
string
|
The city of the business. | ||
commonName
|
string
|
A common name for a business (Something it is often referred to as) Maximum instances: 3 | ||
competitor
|
string
|
Competitors for a business | ||
contactEmail
|
string
|
The email for someone at the business. If this is provided, it will create a Business App user using contactFirstName , contactLastName and contactPhoneNumber .
|
||
contactFirstName
|
string
|
The first name for a contact for a business | ||
contactLastName
|
string
|
The last name for a contact for a business | ||
contactPhoneNumber
|
string
|
The phone number to contact someone at a business | ||
country
|
string
|
The 2-letter country code. | ||
customerIdentifier
|
string
|
A unique identifier. | ||
description
|
string
|
Maximum length: 1000 | ||
email
|
string
|
The email for a business | ||
facebookUrl
|
string
|
The fully qualified URL of a Facebook page. | ||
faxNumber
|
string
|
The fax number for a business | ||
foursquareUrl
|
string
|
The fully qualified URL of a FourSquare user. | ||
googleplusUrl
|
string
|
The fully qualified URL of a Google+ page. | ||
healthCareProfessionalInformationJson
|
JSON (see description)
|
Information for a health care professional. Should be supplied as a json dict. (See example response.) Validates all fields passed in. | ||
hoursOfOperationJson
|
JSON (see description)
|
Hours of operation for a business. Should be supplied as a json dict. (See example response.) | ||
instagramUrl
|
string
|
The exact instagram url for a business | ||
keyPerson
|
string
|
A key person for a business Maximum instances: 3 | ||
landmark
|
string
|
Reference to the general area of the business. e.g. Downtown Mall. Maximum length: 60 | ||
latitude
|
float
|
A float on [-90.0, 90.0]. If specified, longitude must also be specified.
Value must be [-90.0, 90.0].
|
||
linkedinUrl
|
string
|
The fully qualified URL of a LinkedIn user. | ||
longitude
|
float
|
A float on [-180.0, 180.0]. If specified, latitude must also be specified.
Value must be [-180.0, 180.0].
|
||
marketId
|
string
|
A valid marketId for this Partner. Must be lowercase letters, numbers or dashes. | ||
paymentMethods
|
string
|
Possible methods: American Express , Android Pay , Apple Pay , Cash , Check , Debit , Diners Club , Discover , MasterCard , PayPal , Samsung Pay , Store Card , Travelers Checks , Visa
Payment methods must be one of a set of defined values.
|
||
pinterestUrl
|
string
|
The exact pinterest url for a business | ||
place
|
string
|
A textual description of where a business is. ex: 'The Avenue Building' | ||
rmAdminNotes
|
string
|
|||
rmWelcomeMessage
|
string
|
|||
rssUrl
|
string
|
The rss feed url for a business | ||
salesPersonId
|
string
|
A unique sales person identifier. | ||
serviceAreaBusinessFlag
|
boolean
|
|||
servicesOffered
|
string
|
Services offered, e.g. personal tax filing, business tax filing. Total length of services offered must be less than 256 characters, when joined with commas. Maximum instances: 15 | ||
shareOfVoiceService
|
string
|
Share of voice services for a business Share of voice services for a business | ||
shortDescription
|
string
|
Maximum length: 200 | ||
socialProfileId
|
string
|
A unique social profile identifier. | ||
ssoToken
|
string
|
|||
state
|
string
|
The state code. | ||
tag
|
string
|
Custom tags. Maximum length: 50 Maximum instances: 15 | ||
tagline
|
string
|
The tagline, catchphrase or motto of a business. ex: 'I'm lovin it'. | ||
taxonomyId
|
string
|
Up to 3 can be supplied, must comply with vTaxonomy Ids available from Core. Maximum instances: 3 | ||
tollFreeNumber
|
string
|
|||
twitterSearches
|
string
|
Maximum instances: 3 | ||
twitterUrl
|
string
|
The fully qualified URL of a Twitter user. | ||
website
|
string
|
The website of the business. | ||
workNumber
|
string
|
A list of work numbers Maximum instances: 6 | ||
youtubeUrl
|
string
|
The exact youtube url for a business | ||
zip
|
string
|
The zip/postal code for the address. |
A list of potential status codes that may be returned.
Returns the new account information.
"data": { "accountId": "AG-2AA972E", "actionLists": [ "campaign X list" ], "address": "220 3rd Ave S", "address2": "Suite #405", "brandsCarried": [ "American Standard", "Flush-O-Matic" ], "callTrackingNumber": [ "3069523875" ], "cellNumber": "3062221234", "city": "Saskatoon", "commonName": [ "Ace Plumbers" ], "companyName": "Ace Plumbing", "competitor": [ "Gary Plumbing" ], "contactEmail": "johndoe@example.com", "contactFirstName": "John", "contactLastName": "Doe", "contactPhoneNumber": "1-800-267-2001", "country": "CA", "created": "2013-06-06T19:36:36Z", "customerIdentifier": null, "description": "The number 1 plumber in the greater Saskatoon area! We specialize in everything from out houses to olympic pools.", "email": "office@example.com", "facebookUrl": "https://facebook.com/ace-plumbing", "faxNumber": "3065554444", "foursquareUrl": "https://foursquare.com/ace-plumbing", "googleplusUrl": "https://plus.google.com/ace-plumbing", "healthCareProfessionalInformationJson": { "dateOfBirth": "1999-12-31", "email": "smith@jonesmedical.com", "fellowship": [ "Innitech Medic Co." ], "firstName": "Jane", "gender": "Female", "initials": "M", "insurancesAccepted": [ "All-Tech Insurance", "Happy Acres Industrial Insurance" ], "isTakingPatients": true, "lastName": "Smith", "medicalLicenseNumber": "123456789", "nationalProviderIdentifier": "1111111111", "office": "Jones Medical", "professionalCredential": [ "MD" ], "residency": [ "Houston General Oncology" ], "school": [ "Texas State" ], "specialty": [ "Oncology" ], "standardizedTitle": "VP", "stateLicense": "55555" }, "hoursOfOperationJson": [ { "closes": "18:00", "dayOfWeek": [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday" ], "description": "Normal Weekday hours", "opens": "6:00" }, { "closes": "", "dayOfWeek": [ "PublicHolidays" ], "description": "By appointment only.", "opens": "" } ], "instagramUrl": "https://instagram.com/ace-plumbing", "keyPerson": [ "John Doe" ], "landmark": "In the Avenue Building, second floor.", "latitude": 52.1333, "linkedinUrl": "https://linkedin.com/ace-plumbing", "longitude": -106.6833, "marketId": "market-west", "paymentMethods": [ "MasterCard", "Visa", "Cash", "Check" ], "pinterestUrl": "https://pinterest.com/ace-plumbing", "place": "", "productsJson": { "MS": { "productId": "MS-275831" }, "RM": { "productId": "SR-097826" }, "SM": { "productId": "AC-012345" } }, "rmAdminNotes": "Admin notes test", "rssUrl": "https://ace-plumbing.com/rss", "salesPersonId": "SP-GH5FNWMZ", "servicesOffered": [ "Plumbing", "pipe clearing", "installation" ], "shareOfVoiceService": [], "shortDescription": "We do plumber things!", "socialProfileId": "SCP-9E6301BA27CC4F628A33DEDB739C4141", "state": "SK", "tag": [ "PlumberConf 2016" ], "tagline": "Professional, affordable - and we always leave the seat down!", "taxonomyId": [ "localservices" ], "tollFreeNumber": "18005551234", "twitterUrl": "https://twitter.com/ace-plumbing", "updated": "2013-06-06T19:36:36Z", "website": "http://www.aceplumbing.com", "workNumber": [ "3063868399" ], "youtubeUrl": "https://youtube.com/ace-plumbing", "zip": "S7K 1M1" }
This end-point is used to update an account.
POST https://business-center-api.vendasta.com/api/v3/account/update/
Parameter | Required? | Type | Multiples? | Notes |
---|---|---|---|---|
SEOCategory
|
string
|
Search engine terms related to a business Maximum instances: 3 | ||
accountId
|
string
|
A unique account identifier. One of accountId or customerIdentifier must be specified. | ||
actionLists
|
string
|
|||
address
|
string
|
The address of the business. | ||
address2
|
string
|
|||
brandsCarried
|
string
|
Primary brands carried. e.g. Panasonic, Apple. Total length of brands carried must be less than 256 characters, when joined with commas. | ||
callTrackingNumber
|
string
|
A list of call tracking numbers. Maximum instances: 3 | ||
cellNumber
|
string
|
The cell number for a business | ||
city
|
string
|
The city of the business. | ||
commonName
|
string
|
A common name for a business (Something it is often referred to as) Maximum instances: 3 | ||
companyName
|
string
|
A descriptive company name. | ||
competitor
|
string
|
Competitors for a business | ||
contactEmail
|
string
|
The email for someone at the business. If this is provided, it will create a Business App user using contactFirstName , contactLastName and contactPhoneNumber .
|
||
contactFirstName
|
string
|
The first name for a contact for a business | ||
contactLastName
|
string
|
The last name for a contact for a business | ||
contactPhoneNumber
|
string
|
The phone number to contact someone at a business | ||
country
|
string
|
The 2-letter country code. | ||
customerIdentifier
|
string
|
A unique identifier. One of accountId or customerIdentifier must be specified. | ||
description
|
string
|
Maximum length: 1000 | ||
email
|
string
|
The email for a business | ||
facebookUrl
|
string
|
The fully qualified URL of a Facebook page. | ||
faxNumber
|
string
|
The fax number for a business | ||
foursquareUrl
|
string
|
The fully qualified URL of a FourSquare user. | ||
googleplusUrl
|
string
|
The fully qualified URL of a Google+ page. | ||
healthCareProfessionalInformationJson
|
JSON (see description)
|
Information for a health care professional. Should be supplied as a json dict. (See example response.) Validates all fields passed in. | ||
hoursOfOperationJson
|
JSON (see description)
|
Hours of operation for a business. Should be supplied as a json dict. (See example response.) | ||
instagramUrl
|
string
|
The exact instagram url for a business | ||
keyPerson
|
string
|
A key person for a business Maximum instances: 3 | ||
landmark
|
string
|
Reference to the general area of the business. e.g. Downtown Mall. Maximum length: 60 | ||
latitude
|
float
|
A float on [-90.0, 90.0]. If specified, longitude must also be specified.
Value must be [-90.0, 90.0].
|
||
linkedinUrl
|
string
|
The fully qualified URL of a LinkedIn user. | ||
longitude
|
float
|
A float on [-180.0, 180.0]. If specified, latitude must also be specified.
Value must be [-180.0, 180.0].
|
||
marketId
|
string
|
A valid marketId for this Partner. Must be lowercase letters, numbers or dashes. | ||
paymentMethods
|
string
|
Possible methods: American Express , Android Pay , Apple Pay , Cash , Check , Debit , Diners Club , Discover , MasterCard , PayPal , Samsung Pay , Store Card , Travelers Checks , Visa
Payment methods must be one of a set of defined values
|
||
pinterestUrl
|
string
|
The exact pinterest url for a business | ||
place
|
string
|
A textual description of where a business is. ex: 'The Avenue Building' | ||
rmAdminNotes
|
string
|
|||
rssUrl
|
string
|
The rss feed url for a business | ||
salesPersonId
|
string
|
A unique sales person identifier. | ||
serviceAreaBusinessFlag
|
boolean
|
|||
servicesOffered
|
string
|
Services offered, e.g. personal tax filing, business tax filing. Total length of services offered must be less than 256 characters, when joined with commas. | ||
shareOfVoiceService
|
string
|
Share of voice services for a business Share of voice services for a business | ||
shortDescription
|
string
|
Maximum length: 200 | ||
socialProfileId
|
string
|
A unique social profile identifier. | ||
state
|
string
|
The state code. | ||
tag
|
string
|
Custom tags. Maximum length: 50 Maximum instances: 15 | ||
tagline
|
string
|
The tagline, catchphrase or motto of a business. ex: 'I'm lovin it'. | ||
taxonomyId
|
string
|
Up to 3 can be supplied, must comply with vTaxonomy Ids available from Core. | ||
tollFreeNumber
|
string
|
|||
twitterUrl
|
string
|
The fully qualified URL of a Twitter user. | ||
website
|
string
|
The website of the business. | ||
workNumber
|
string
|
A list of work numbers Maximum instances: 6 | ||
youtubeUrl
|
string
|
The exact youtube url for a business | ||
zip
|
string
|
The zip/postal code for the address. |
A list of potential status codes that may be returned.
Returns the updated account information.
"data": { "SEOCategory": [ "plumbing" ], "accountId": "AG-2AA972E", "actionLists": [ "campaign X list" ], "address": "220 3rd Ave S", "address2": "Suite #405", "brandsCarried": [ "American Standard", "Flush-O-Matic" ], "callTrackingNumber": [ "3069523875" ], "cellNumber": "3062221234", "city": "Saskatoon", "commonName": [ "Ace Plumbers" ], "companyName": "Ace Plumbing", "competitor": [ "Gary Plumbing" ], "contactEmail": "johndoe@example.com", "contactFirstName": "John", "contactLastName": "Doe", "contactPhoneNumber": "1-800-267-2001", "country": "CA", "created": "2013-06-06T19:36:36Z", "customerIdentifier": null, "description": "The number 1 plumber in the greater Saskatoon area! We specialize in everything from out houses to olympic pools.", "email": "office@example.com", "facebookUrl": "https://facebook.com/ace-plumbing", "faxNumber": "3065554444", "foursquareUrl": "https://foursquare.com/ace-plumbing", "googleplusUrl": "https://plus.google.com/ace-plumbing", "healthCareProfessionalInformationJson": { "dateOfBirth": "1999-12-31", "email": "smith@jonesmedical.com", "fellowship": [ "Innitech Medic Co." ], "firstName": "Jane", "gender": "Female", "initials": "M", "insurancesAccepted": [ "All-Tech Insurance", "Happy Acres Industrial Insurance" ], "isTakingPatients": true, "lastName": "Smith", "medicalLicenseNumber": "123456789", "nationalProviderIdentifier": "1111111111", "office": "Jones Medical", "professionalCredential": [ "MD" ], "residency": [ "Houston General Oncology" ], "school": [ "Texas State" ], "specialty": [ "Oncology" ], "standardizedTitle": "VP", "stateLicense": "55555" }, "hoursOfOperationJson": [ { "closes": "18:00", "dayOfWeek": [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday" ], "description": "Normal Weekday hours", "opens": "6:00" }, { "closes": "", "dayOfWeek": [ "PublicHolidays" ], "description": "By appointment only.", "opens": "" } ], "instagramUrl": "https://instagram.com/ace-plumbing", "keyPerson": [ "John Doe" ], "landmark": "In the Avenue Building, second floor.", "latitude": 52.1333, "linkedinUrl": "https://linkedin.com/ace-plumbing", "longitude": -106.6833, "marketId": "market-west", "paymentMethods": [ "MasterCard", "Visa", "Cash", "Check" ], "pinterestUrl": "https://pinterest.com/ace-plumbing", "place": "", "productsJson": { "MS": { "productId": "MS-275831" }, "RM": { "productId": "SR-097826" }, "SM": { "productId": "AC-012345" } }, "rmAdminNotes": "Admin notes test", "rssUrl": "https://ace-plumbing.com/rss", "salesPersonId": "SP-GH5FNWMZ", "servicesOffered": [ "Plumbing", "pipe clearing", "installation" ], "shareOfVoiceService": [], "shortDescription": "We do plumber things!", "socialProfileId": "SCP-9E6301BA27CC4F628A33DEDB739C4141", "state": "SK", "tag": [ "PlumberConf 2016" ], "tagline": "Professional, affordable - and we always leave the seat down!", "taxonomyId": [ "localservices" ], "tollFreeNumber": "18005551234", "twitterUrl": "https://twitter.com/ace-plumbing", "updated": "2013-06-06T19:36:36Z", "website": "http://www.aceplumbing.com", "workNumber": [ "3063868399" ], "youtubeUrl": "https://youtube.com/ace-plumbing", "zip": "S7K 1M1" }
This end-point is used to delete an account.
POST https://business-center-api.vendasta.com/api/v3/account/delete/
Parameter | Required? | Type | Multiples? | Notes |
---|---|---|---|---|
accountId
|
string
|
A unique account identifier. |
A list of potential status codes that may be returned.
Returns the deleted account with a deleted date.
"data": { "accountId": "AG-2AA972E" }
This end-point is used to get an account given an accountId or customerIdentifier.
GET https://business-center-api.vendasta.com/api/v3/account/get/
Parameter | Required? | Type | Multiples? | Notes |
---|---|---|---|---|
accountId
|
string
|
A unique account identifier. One of accountId or customerIdentifier must be specified. | ||
customerIdentifier
|
string
|
A unique identifier. One of accountId or customerIdentifier must be specified. |
A list of potential status codes that may be returned.
Returns the account information.
"data": { "SEOCategory": [ "plumbing" ], "accountId": "AG-2AA972E", "actionLists": [ "campaign X list" ], "address": "220 3rd Ave S", "address2": "Suite #405", "brandsCarried": [ "American Standard", "Flush-O-Matic" ], "callTrackingNumber": [ "3069523875" ], "cellNumber": "3062221234", "city": "Saskatoon", "commonName": [ "Ace Plumbers" ], "companyName": "Ace Plumbing", "competitor": [ "Gary Plumbing" ], "contactEmail": "johndoe@example.com", "contactFirstName": "John", "contactLastName": "Doe", "contactPhoneNumber": "1-800-267-2001", "country": "CA", "created": "2013-06-06T19:36:36Z", "customerIdentifier": null, "description": "The number 1 plumber in the greater Saskatoon area! We specialize in everything from out houses to olympic pools.", "email": "office@example.com", "facebookUrl": "https://facebook.com/ace-plumbing", "faxNumber": "3065554444", "foursquareUrl": "https://foursquare.com/ace-plumbing", "googleplusUrl": "https://plus.google.com/ace-plumbing", "healthCareProfessionalInformationJson": { "dateOfBirth": "1999-12-31", "email": "smith@jonesmedical.com", "fellowship": [ "Innitech Medic Co." ], "firstName": "Jane", "gender": "Female", "initials": "M", "insurancesAccepted": [ "All-Tech Insurance", "Happy Acres Industrial Insurance" ], "isTakingPatients": true, "lastName": "Smith", "medicalLicenseNumber": "123456789", "nationalProviderIdentifier": "1111111111", "office": "Jones Medical", "professionalCredential": [ "MD" ], "residency": [ "Houston General Oncology" ], "school": [ "Texas State" ], "specialty": [ "Oncology" ], "standardizedTitle": "VP", "stateLicense": "55555" }, "hoursOfOperationJson": [ { "closes": "18:00", "dayOfWeek": [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday" ], "description": "Normal Weekday hours", "opens": "6:00" }, { "closes": "", "dayOfWeek": [ "PublicHolidays" ], "description": "By appointment only.", "opens": "" } ], "instagramUrl": "https://instagram.com/ace-plumbing", "keyPerson": [ "John Doe" ], "landmark": "In the Avenue Building, second floor.", "latitude": 52.1333, "linkedinUrl": "https://linkedin.com/ace-plumbing", "longitude": -106.6833, "marketId": "market-west", "paymentMethods": [ "MasterCard", "Visa", "Cash", "Check" ], "pinterestUrl": "https://pinterest.com/ace-plumbing", "place": "", "productsJson": { "MS": { "productId": "MS-275831" }, "RM": { "productId": "SR-097826" }, "SM": { "productId": "AC-012345" } }, "rmAdminNotes": "Admin notes test", "rssUrl": "https://ace-plumbing.com/rss", "salesPersonId": "SP-GH5FNWMZ", "servicesOffered": [ "Plumbing", "pipe clearing", "installation" ], "shareOfVoiceService": [], "shortDescription": "We do plumber things!", "socialProfileId": "SCP-9E6301BA27CC4F628A33DEDB739C4141", "state": "SK", "tag": [ "PlumberConf 2016" ], "tagline": "Professional, affordable - and we always leave the seat down!", "taxonomyId": [ "localservices" ], "tollFreeNumber": "18005551234", "twitterUrl": "https://twitter.com/ace-plumbing", "updated": "2013-06-06T19:36:36Z", "website": "http://www.aceplumbing.com", "workNumber": [ "3063868399" ], "youtubeUrl": "https://youtube.com/ace-plumbing", "zip": "S7K 1M1" }
This end-point is used to search for an account.
nextUrl
GET https://business-center-api.vendasta.com/api/v3/account/search/
Parameter | Required? | Type | Multiples? | Notes |
---|---|---|---|---|
cursor
|
string
|
|||
includeMSFlag
|
boolean
|
Indicate whether or not to include accounts with a paid listing builder product. | ||
includeMSInactiveFlag
|
boolean
|
Indicate whether or not to include accounts without a listing builder product. This is exclusive with the listing builder inclusion flag. | ||
includeRMDemoFlag
|
boolean
|
Indicate whether or not to include account with a demo reputation product. | ||
includeRMFlag
|
boolean
|
Indicate whether or not to include accounts with a reputation product. | ||
includeRMInactiveFlag
|
boolean
|
Indicate whether or not to include accounts without a reputation product. This is exclusive with the other reputation inclusion flags. | ||
includeSMFlag
|
boolean
|
Indicate whether or not to include account with a paid social product. | ||
includeSMInactiveFlag
|
boolean
|
Indicate whether or not to include accounts without a social product. This is exclusive with the social inclusion flag. | ||
marketId
|
string
|
A valid marketId for this Partner. Must be lowercase letters, numbers or dashes. | ||
orderBy
|
string
|
Indicate which field to sort by. Must be one of created, updated OrderBy must be one of a set of defined values. | ||
orderByDirection
|
string
|
Indicate which direction to sort in. Must be one of desc, asc OrderByDirection must be one of a set of defined values. | ||
productId
|
string
|
|||
salesPersonId
|
string
|
A unique sales person identifier. | ||
searchTerm
|
string
|
DEPRECATED:
This argument can be provided but will have no effect on the query.
|
||
pageSize |
int |
Must be a positive integer. |
Potential status codes
Returns a list of Accounts matching the search criteria.
"data": [ { "accountId": "AG-2AA972E", "actionLists": [ "campaign X list" ], "address": "220 3rd Ave S", "callTrackingNumber": [ "3069523875" ], "city": "Saskatoon", "companyName": "Ace Plumbing", "country": "CA", "created": "2013-06-06T19:36:36Z", "customerIdentifier": null, "facebookUrl": "https://facebook.com/ace-plumbing", "foursquareUrl": "https://foursquare.com/ace-plumbing", "googleplusUrl": "https://plus.google.com/ace-plumbing", "latitude": 52.1333, "linkedinUrl": "https://linkedin.com/ace-plumbing", "longitude": -106.6833, "marketId": [ "market-west" ], "productId": [ "MP-123" ], "productsJson": { "MS": { "productId": "MS-65789" }, "RM": { "productId": "SR-097826" }, "SM": { "productId": "AC-012345" } }, "salesPersonId": "SP-GH5FNWMZ", "socialProfileId": "SCP-9E6301BA27CC4F628A33DEDB739C4141", "state": "SK", "tag": [ "PlumberConf 2016" ], "taxonomyId": [ "localservices" ], "twitterUrl": "https://twitter.com/ace-plumbing", "updated": "2013-06-06T19:36:36Z", "website": "http://www.aceplumbing.com", "workNumber": [ "3063868399" ], "zip": "S7K 1M1" } ]
This end-point is used to add a new product to an account.
POST https://business-center-api.vendasta.com/api/v3/account/addProduct/
Parameter | Required? | Type | Multiples? | Notes |
---|---|---|---|---|
accountId
|
string
|
A unique account identifier. | ||
productId
|
string
|
A unique product identifier.
Must be one of:
RM ,
MS ,
SM .
|
||
isDemoFlag
|
boolean
|
A boolean flag to indicate whether the given account should be created as a trial account.
May only be provided for the RM product.
Default: false
|
A list of potential status codes that may be returned.
Returns the account and its updated set of products.
"data": { "accountId": "AG-2AA972E", "actionLists": [ "campaign X list" ], "address": "220 3rd Ave S", "callTrackingNumber": [ "3069523875" ], "city": "Saskatoon", "companyName": "Ace Plumbing", "country": "CA", "created": "2013-06-06T19:36:36Z", "customerIdentifier": null, "facebookUrl": "https://facebook.com/ace-plumbing", "foursquareUrl": "https://foursquare.com/ace-plumbing", "googleplusUrl": "https://plus.google.com/ace-plumbing", "latitude": 52.1333, "linkedinUrl": "https://linkedin.com/ace-plumbing", "longitude": -106.6833, "marketId": "market-west", "productsJson": { "MS": { "productId": "MS-65789" }, "RM": { "productId": "SR-097826" }, "SM": { "productId": "AC-012345" } }, "salesPersonId": "SP-GH5FNWMZ", "socialProfileId": "SCP-9E6301BA27CC4F628A33DEDB739C4141", "state": "SK", "tag": [ "PlumberConf 2016" ], "taxonomyId": [ "localservices" ], "twitterUrl": "https://twitter.com/ace-plumbing", "updated": "2013-06-06T19:36:36Z", "website": "http://www.aceplumbing.com", "workNumber": [ "3063868399" ], "zip": "S7K 1M1" }
These end-points are used for accessing Business Center Association details.
Removes an assocation from the datastore.
POST https://business-center-api.vendasta.com/api/v2/userAssociation/remove/
Parameter | Required? | Type | Multiples? | Notes |
---|---|---|---|---|
associationId
|
string
|
A key for the association that should be removed | ||
userId
|
string
|
The user_id of the user who should be un-associated |
A list of potential status codes that may be returned.
This end-point is used to create associations given a Business Center user id.
POST https://business-center-api.vendasta.com/api/v2/userAssociation/create/
Parameter | Required? | Type | Multiples? | Notes |
---|---|---|---|---|
accountId
|
string
|
A unique account identifier. | ||
productId
|
string
|
A unique product identifier. | ||
userId
|
string
|
A unique user id. |
A list of potential status codes that may be returned.
Returns the association key created
"data": { "associationId": "UID-RGHDJ3ML-HH8JH8L8-RM" }
This end-point is used to lookup all associations given a Business Center user id.
GET https://business-center-api.vendasta.com/api/v2/userAssociation/lookup/
Parameter | Required? | Type | Multiples? | Notes |
---|---|---|---|---|
userId
|
string
|
The Business Center user id used to retrieve associations. | ||
cursor
|
string
|
|||
includeLabelsFlag
|
boolean
|
|||
pageSize
|
integer
|
|||
productId
|
string
|
A list of potential status codes that may be returned.
Returns a list of associations
"data": [ { "associations": [ { "accountId": "ABC|Fort Healthcare 2", "associationId": "UID-CMZ674KB-ABC|FORT HEALTHCARE 2-NB", "label": "Fort Healthcare 2" }, { "accountId": "ABC|Fort Healthcare", "associationId": "UID-CMZ674KB-ABC|FORT HEALTHCARE-NB", "label": "Fort Healthcare" } ], "productId": "NB" }, { "associations": [ { "accountId": "AG-CBF39V64", "associationId": "UID-CMZ674KB-AG-CBF39V64-AGID", "label": { "accounts": [ { "accountId": "MS-FNT3ZFH8", "productId": "MS", "tags": [ "trial" ] }, { "accountId": "ZTTSG5CQ", "productId": "RM", "tags": [] }, { "accountId": "AC-ZK35M5QC", "productId": "SM", "tags": [] } ], "name": "Mainway Mazda" } } ], "productId": "AGID" } ]
Removes all the associations for a given product id.
POST https://business-center-api.vendasta.com/api/v2/productAssociation/remove/
Parameter | Required? | Type | Multiples? | Notes |
---|---|---|---|---|
accountId
|
string
|
The product specific account id. | ||
productId
|
string
|
A key identifying the product for which this association is for. |
A list of potential status codes that may be returned.
Returns a list of association keys that were removed.
"data": [ { "associationId": "UID-RGHDJ3ML-HH8JH8L8-RM" }, { "associationId": "UID-F9FK4XZL-HH8JH8L8-RM" } ]
These end-points are used for accessing and modifying Business Center user details.
Search users for the given search term. Note, if the intended use is to perform an enumeration of all users please refer to the lookup api.
nextUrl
GET https://business-center-api.vendasta.com/api/v3/user/search/
Parameter | Required? | Type | Multiples? | Notes |
---|---|---|---|---|
fieldMask
|
string
|
A field mask that will filter the fields sent back for each user | ||
orderBy
|
string
|
The order in which to return results. | ||
orderByDirection
|
string
|
ASCENDING or DESCENDING | ||
query
|
string
|
The search term to query for. | ||
pageSize |
int |
Must be a positive integer. |
A list of potential status codes that may be returned.
A list of VBC users. Passwords are not returned.
"data": [ { "createdDateTime": "2016-12-12T20:03:39Z", "email": "userone@theinternets.com", "firstName": "Lorem", "lastName": "Ipsum", "phoneNumber": "555-555-5555", "updatedDateTime": "2016-12-12T20:03:39Z", "userId": "UID-1234" }, { "createdDateTime": "2016-12-12T20:03:01Z", "email": "usertwo@theinternets.com", "firstName": "Aliquam", "lastName": "Pellentesque", "phoneNumber": "555-555-5555", "updatedDateTime": "2016-12-12T20:03:01Z", "userId": "UID-1234" } ]
Lookup all users.
nextUrl
POST/GET https://business-center-api.vendasta.com/api/v3/user/lookup/
Parameter | Required? | Type | Multiples? | Notes |
---|---|---|---|---|
pageSize |
int |
Must be a positive integer. |
A paginated list of VBC users. Passwords are not returned.
"data": [ { "createdDateTime": "2015-02-17T17:19:06Z", "email": "userone@theinternets.com", "firstName": "Lorem", "lastName": "Ipsum", "phoneNumber": "555-555-5555", "updatedDateTime": "2015-02-17T17:19:06Z", "userId": "UID-1234" }, { "createdDateTime": "2015-02-17T17:19:06Z", "email": "usertwo@theinternets.com", "firstName": "Aliquam", "lastName": "Pellentesque", "phoneNumber": "555-555-5555", "updatedDateTime": "2015-02-17T17:19:06Z", "userId": "UID-2345" } ]
Bare handler for common functions for our create and associate endpoints
POST/GET https://business-center-api.vendasta.com
Parameter | Required? | Type | Multiples? | Notes |
---|---|---|---|---|
None |
This end-point is used to retrieve Business Center users.
GET https://business-center-api.vendasta.com/api/v2/user/get/
Parameter | Required? | Type | Multiples? | Notes |
---|---|---|---|---|
userId
|
string
|
A unique user id. |
A list of potential status codes that may be returned.
The user information corresponding to the requested user id. Passwords are not returned.
"data": { "email": "test@example.com", "firstName": "Lorem", "lastName": "Ipsum", "phone": "123456789", "userId": "UID-ABC123" }
This end-point is used to update existing Business Center users.
POST https://business-center-api.vendasta.com/api/v2/user/delete/
Parameter | Required? | Type | Multiples? | Notes |
---|---|---|---|---|
userId
|
string
|
A unique user id. |
A list of potential status codes that may be returned.
A notification that the user has been deleted.
"data": The user UID-LNXMFNW9 has been deleted
This end-point is used to update existing Business Center users.
POST https://business-center-api.vendasta.com/api/v2/user/update/
Parameter | Required? | Type | Multiples? | Notes |
---|---|---|---|---|
userId
|
string
|
A unique user id. | ||
confirmPassword
|
string
|
The users login password repeated for confirmation. | ||
email
|
string
|
The email for a business | ||
firstName
|
string
|
The users first name. | ||
greetingName
|
string
|
The users greeting name. | ||
lastName
|
string
|
The users last name. | ||
password
|
string
|
The users login password. | ||
phone
|
string
|
A North American phone number. Must be at least 7 digits. | ||
preferredLocale
|
string
|
A locale code in IETF Language Tag standard. |
A list of potential status codes that may be returned.
The user information corresponding to the user id that has been updated. Passwords are not returned.
"data": { "email": "test@example.com", "firstName": "Lorem", "greetingName": "Bacon", "lastName": "Ipsum", "phone": "123456789", "userId": "UID-ABC123" }
This end-point is used to create Business Center users.
Version 2.1: "password" and "confirm_password" are now optional.
Version 2.2: "password" and "confirm_password" are unused and have no effect. The user must choose their own password, by clicking the link in the welcome email or by doing a password reset.
POST https://business-center-api.vendasta.com/api/v2/user/create/
Parameter | Required? | Type | Multiples? | Notes |
---|---|---|---|---|
email
|
string
|
The email for a business
email must be valid.
|
||
confirmPassword
|
string
|
The value of this field is ignored and has no effect. The user can set a password via the Welcome E-mail or a password reset. | ||
firstName
|
string
|
The users first name. | ||
greetingName
|
string
|
The users greeting name. | ||
lastName
|
string
|
The users last name. | ||
password
|
string
|
The value of this field is ignored and has no effect. The user can set a password via the Welcome E-mail or a password reset. | ||
phone
|
string
|
A North American phone number. Must be at least 7 digits. | ||
preferredLocale
|
string
|
A locale code in IETF Language Tag standard. | ||
sendWelcomeEmailFlag
|
boolean
|
Defaults to True. Supply as False if you do not want to send the user a welcome email. | ||
welcomeMessage
|
string
|
A customized welcome message added to the welcome email for this user. |
A list of potential status codes that may be returned.
The newly created user object containing the user id. Passwords are not returned.
"data": { "email": "test@example.com", "firstName": "Lorem", "greetingName": "Bacon", "lastName": "Ipsum", "phone": "123456789", "userId": "UID-ABC123" }
The following endpoints are deprecated. Alternate endpoints should be used because these endpoints will stop being supported in the future.
These end-points are used for accessing Business Center Association details.
GetAssociationApi is deprecated. Please use /api/v2/userAssociation/lookup/ instead.
This end-point is used to get associations given a Business Center user id.
GET https://business-center-api.vendasta.com/api/v2/association/get/
Parameter | Required? | Type | Multiples? | Notes |
---|---|---|---|---|
userId
|
string
|
The Business Center user id used to retrieve associations. |