Overview
The BigPurpleDot API allows for the creation and updating of contact records through an HTTP POST/PUT request. This API can be used to send lead information from external sources such as websites or CRMs to the BigPurpleDot platform or to update existing contact records.
API Endpoints
Create a Contact
POST https://bigpurpledot.com/api/v1/contacts/vendor_create.json
Update an Existing Contact
PUT https://bigpurpledot.com/api/v1/contacts/vendor_update.json
Authentication
The API requires authentication using the following parameters:
-
api_user
: The API username provided by BigPurpleDot. -
api_secret
: The secret key for authentication.
Admin users can create API Credentials by navigating to Settings > CRM > API Information
Request Headers
Content-Type: application/json
Request Body Parameters
The API accepts JSON-encoded data with the following fields:
Example Request Body
{
"body":{
"api_user": "apiusername",
"api_secret": ""*****************",
"first_name": "John",
"last_name": "Smith",
"phone": "9492222222",
"email": "johnsmith@noemail.com",
"address": "123 Main St",
"city": "Chicago".
"state": "IL",
"zip": "11222",
"assigned_agent": "bob@noemail.com",
"notes": "This is just an example",
"source": "EZ Leads",
"tags": ["New", "Hot"]
}
}
Required Fields for Contact Creation
-
api_user (String) - API username.
-
api_secret (String) - API secret key.
-
first_name (String) - First name of the contact.
-
phone (String)- Contact phone number (if no email is present)
-
email (String) - Contact email address. (if no phone is present)
Required Fields for Contact Update
-
api_user (String) - API username.
-
api_secret (String) - API secret key.
- contact_id (Integer)- BPD Unique ID of contact (if available)
- phone (String)- Contact phone number (if no email or contact_id is present)
- email (String) - Contact email address. (if no phone or contact_id is present)
- first_name (String) - Contact's first name (if phone or email is present)
Recommended Fields
These are not required attributes, but recommended:
-
source (String) - Source of the lead (e.g., website, referral, etc.).
- contact_types (Array of String) -Type of lead (e.g., Buyer, Seller).
- tags (Array of String) - Status or any labels to identify lead (e.g., New, Hot, Past Client).
-
assigned_agent (String) - BigPurpleDot username(s), comma-separated.
-
notes (String) - Additional notes about the lead (supports basic HTML).
Optional Fields
Contact
Each contact record consists of the following attributes:
- last_name (String) - The last name of the contact.
- birthday (String, MM/DD/YYYY) - Date of Birth of the contact (e.g., 02/06/1996)
Spouse
- spouse_first_name (String) - The first name of the contact's spouse.
- spouse_last_name (String) - The last name of the contact's spouse.
- spouse_email (String) - Spouse's email address.
Address
-
address (String) - Street address of the contact.
-
address_city (String) - City where the contact resides.
-
address_zip (String) - Zip code of the contact's address.
-
address_state (String) - State where the contact resides.
Lead Information
- additional_source_info (String) - Secondary source information (Used as keyword value for 'Additional Source Info').
-
deal_size (String) - Deal size or price of property or loan amount (Used as keyword value for 'Pricing').
-
timeframe (String) - Allowed values:
Now
,1-3 Months
,3-6 Months
.
Additional Attributes
- async (String) - Set to
True
for bulk requests. -
skip_default_lead_assignees (String) - When
true
, Round Robin will not assign users. -
disallow_duplicates (String) - Set
disallow_duplicates
totrue
to prevent duplicate entries. -
allow_overwrites (String) - Must be set to
true
to allow updates to existing contacts. -
assigned_outside_partners (Array of String) - Comma-separated list of existing outside partners (e.g. [{"op1@email.com":"Buyers Agent", "op2@email.com":"Sellers Agent", "op3@email.com", ""}] When role is blank, it will remove the role).
- match_corporate (String) - Set to
True
to match contact records within all companies. - skip_contact_reviving (String) - Set to
True
to prevent promoting hidden contacts hidden as new. - remove_tags (Array of String) - comma-separated list of tags to be removed.
- force_source (String) - Must be set to
true
to allow updates to existing source.
Custom Fields
Custom fields are unique to each account and attributes can be found under Settings > CRM > Data Fields.
Response
The API will return a JSON response indicating success, failure, or duplicate.
Success Response
{
"status": "Success",
"id": "12345"
}