EcomFlow API V1.1.20
Welcome
Welcome to the EcomFlow Developer Documentation Portal. This documentation is for public APIs provided by us which you can use to automate some process or build any custom integration. In order to use these APIs you will need API Keys (Location/Agency).
Agency API Key
You can get your agency API key from agency setting -> API Key -> Agency API Keys
This key is required to manage the agency level objects like sub accounts, users.
Location API Key
You can get your location API key from sub account -> setting -> Business Info -> API Key
This will be used for all the APIs managing all the objects which are part of sub accounts (contacts, appointments, opportunities etc.)
Important Announcement for API Rate Limit
- For Burst Requests - 100/10 seconds
- For Daily - 200,000/Day
AUTHORIZATION
---Calendar
Using our robust API you can customize and manage the appointment scheduling workflow that works for your products and services while we do all the leg work behind the scenes.
Fetch calendar and team
URL: https://api.ecomflow.com.br/v1/calendars/teams
Get all teams.
Authorization: Provide your location api key (Bearer Token). You can find here
Example Request
Successful response
curl
curl --location 'https://api.ecomflow.com.br/v1/calendars/teams' \
--header 'Authorization: Bearer '
200 OK
Example Response
Body
Headers (1)
json
{
"teams": [
{
"id": "OW59k4IchTgKjIDy3VMO",
"name": "Test Team",
"members": [
{
"id": "mnUXmpG2MhhHKmjegzBZ",
"name": "Elon Musk",
"email": "elon@musk.com"
},
{
"id": "mnUXmpG2MhhHKmjegzBZ",
"name": "Elon Musk",
"email": "elon@musk.com"
}
],
"calendarConfig": {
"calendarName": "Test Calendar",
"description": "Desc.",
"slug": "slug",
"link": "/widget/appointment/slug",
"shouldAssignContactToTeamMember": false,
"shouldSkipAssigningContactForExisting": false
}
},
{
"id": "OW59k4IchTgKjIDy3VMO",
"name": "Test Team",
"members": [
{
"id": "mnUXmpG2MhhHKmjegzBZ",
"name": "Elon Musk",
"email": "elon@musk.com"
},
{
"id": "mnUXmpG2MhhHKmjegzBZ",
"name": "Elon Musk",
"email": "elon@musk.com"
}
],
"calendarConfig": {
"calendarName": "Test Calendar",
"description": "Desc.",
"slug": "slug",
"link": "/widget/appointment/slug",
"shouldAssignContactToTeamMember": false,
"shouldSkipAssigningContactForExisting": false
}
}
]
}
URL: https://api.ecomflow.com.br/v1/calendars/check-slug-availability/:slug
Check Calendar (Provider) slug availability.
Authorization: Provide your location api key (Bearer Token). You can find here
PATH VARIABLES
| Field | Example | Description |
|---|---|---|
slug |
xyz |
(Required) Slug |
Example Request
Successful response
curl
curl --location 'https://api.ecomflow.com.br/v1/calendars/check-slug-availability/xyz' \
--header 'Authorization: Bearer '
200 OK
Example Response
Body
Headers (1)
json
{
"slug": "sales-services",
"isSlugAvailable": true
}
URL: https://api.ecomflow.com.br/v1/calendars/teams/
Create a team.
Required JSON fields in the body
| Field | Type | Example |
|---|---|---|
name |
string | Test Team |
userIds |
array | ["J37gEVtdFMRYVQWPdXIc"] |
calendarConfig |
object | {"calendarName": "test", "description": "dfsadfsd", "slug": "tesfdsafdsa", "link": "/widget/appointment/tesfdsafdsa", "shouldAssignContactToTeamMember": false, "shouldSkipAssigningContactForExisting": false} |
Required JSON fields in the calendarConfig
| Field | Type | Example |
|---|---|---|
calendarName |
string | First Calendar |
description |
string | Some description |
slug |
string | first-calendar |
Allowed JSON fields in the calendarConfig
| Field | Type | Example |
|---|---|---|
shouldAssignContactToTeamMember |
boolean | false |
shouldSkipAssigningContactForExisting |
boolean | false |
Authorization: Provide your location api key (Bearer Token). You can find here
HEADERS
Content-Type: application/json
Body
raw (json)
json
{
"name": "Sales Team",
"userIds": [
"nisi incididunt",
"laboris veniam Ut"
],
"calendarConfig": {
"calendarName": "Sales Team Calendar",
"description": "Sales Team Calendar Services",
"slug": "sales-team",
"shouldAssignContactToTeamMember": false,
"shouldSkipAssigningContactForExisting": false
}
}
Example Request
Successful response
curl
curl --location 'https://api.ecomflow.com.br/v1/calendars/teams/' \
--header 'Authorization: Bearer ' \
--data '{
"name": "Sales Team",
"userIds": [
"ea est esse ad velit",
"ex ut et eiusmod"
],
"calendarConfig": {
"calendarName": "Sales Team Calendar",
"description": "Sales Team Calendar Services",
"slug": "sales-team",
"shouldAssignContactToTeamMember": false,
"shouldSkipAssigningContactForExisting": false
}
}'
200 OK
Example Response
Body
Headers (1)
json
{
"id": "OW59k4IchTgKjIDy3VMO",
"name": "Test Team",
"members": [
{
"id": "mnUXmpG2MhhHKmjegzBZ",
"name": "Elon Musk",
"email": "elon@musk.com"
},
{
"id": "mnUXmpG2MhhHKmjegzBZ",
"name": "Elon Musk",
"email": "elon@musk.com"
}
],
"calendarConfig": {
"calendarName": "Test Calendar",
"description": "Desc.",
"slug": "slug",
"link": "/widget/appointment/slug",
"shouldAssignContactToTeamMember": false,
"shouldSkipAssigningContactForExisting": false
}
}
URL: https://api.ecomflow.com.br/v1/calendars/services?teamId=ABXdTR0kegkPcTvtdr1L
Get all calendar services.
Authorization: Provide your location api key (Bearer Token). You can find here
QUERY PARAMETERS
| Field | Example | Description |
|---|---|---|
teamId |
ABXdTR0kegkPcTvtdr1L |
Filter service by team id. |
Example Request
Successful response
curl
curl --location 'https://api.ecomflow.com.br/v1/calendars/services?teamId=ABXdTR0kegkPcTvtdr1L' \
--header 'Authorization: Bearer '
200 OK
Example Response
Body
Headers (1)
json
{
"services": [
{
"id": "OW59k4IchTgKjIDy3VMO",
"name": "Test Service",
"description": "Test Service Desc.",
"appointmentTitle": "{{contact.name}}",
"meetingLocation": "location",
"eventColor": "#FF0000",
"teamId": "#FF0000",
"linkedCalendars": {
"google": {
"id": "eiusmod commodo non",
"name": "pari"
},
"clio": {
"id": "in labore Lorem ex",
"name": "est nostrud"
},
"drchrono": {
"id": "mollit sint",
"name": "fugiat dolore non"
}
},
"syncOption": "oneway",
"teamMembers": [
{
"userId": "",
"priority": 0,
"selected": false,
"meetingLocation": "https://zoom.us"
},
{
"userId": "",
"priority": 0,
"selected": false,
"meetingLocation": "https://zoom.us"
}
],
"availability": {
"eventTiming": {
"slotDuration": 30,
"slotInterval": 30,
"slotBuffer": 0
},
"appointmentInfo": {
"perSlot": 1,
"perDay": 8
},
"schedule": {
"allowBookingAfter": 1,
"allowBookingAfterUnit": "Hours",
"allowBookingFor": 8,
"allowBookingForUnit": "Hours"
},
"officeHours": {
"monday": [
{
"openMinute": 0,
"closeMinute": 0,
"closeHour": 17,
"openHour": 8
},
{
"openMinute": 0,
"closeMinute": 0,
"closeHour": 17,
"openHour": 8
}
],
"tuesday": [
{
"openMinute": 0,
"closeMinute": 0,
"closeHour": 17,
"openHour": 8
},
{
"openMinute": 0,
"closeMinute": 0,
"closeHour": 17,
"openHour": 8
}
],
"wednesday": [
{
"openMinute": 0,
"closeMinute": 0,
"closeHour": 17,
"openHour": 8
},
{
"openMinute": 0,
"closeMinute": 0,
"closeHour": 17,
"openHour": 8
}
],
"thursday": [
{
"openMinute": 0,
"closeMinute": 0,
"closeHour": 17,
"openHour": 8
},
{
"openMinute": 0,
"closeMinute": 0,
"closeHour": 17,
"openHour": 8
}
],
"friday": [
{
"openMinute": 0,
"closeMinute": 0,
"closeHour": 17,
"openHour": 8
},
{
"openMinute": 0,
"closeMinute": 0,
"closeHour": 17,
"openHour": 8
}
]
}
},
"confirmation": {
"form": {
"customFormId": "jjusM6EOngDExnbo2DbU",
"stickyContact": false
},
"notificationAndOther": {
"alertEmail": "quis aute",
"hasAutoConfirm": false,
"hasGoogleSendInvitationEmail": false,
"hasAllowReschedule": false,
"hasAllowCancellation": false,
"hasSendEmailToAssignedMember": false,
"notes": "",
"facebookPixelId": "",
"customCode": ""
},
"formSubmission": {
"type": "ThankYouMessage",
"content": ""
}
}
},
{
"id": "OW59k4IchTgKjIDy3VMO",
"name": "Test Service",
"description": "Test Service Desc.",
"appointmentTitle": "{{contact.name}}",
"meetingLocation": "location",
"eventColor": "#FF0000",
"teamId": "#FF0000",
"linkedCalendars": {
"google": {
"id": "in esse do non",
"name": "laborum non proident veniam"
},
"clio": {
"id": "aliqua aute dolore",
"name": "esse"
},
"drchrono": {
"id": "ullamco deserunt in",
"name": "incidid"
}
},
"syncOption": "oneway",
"teamMembers": [
{
"userId": "",
"priority": 0,
"selected": false,
"meetingLocation": "https://zoom.us"
},
{
"userId": "",
"priority": 0,
"selected": false,
"meetingLocation": "https://zoom.us"
}
],
"availability": {
"eventTiming": {
"slotDuration": 30,
"slotInterval": 30,
"slotBuffer": 0
},
"appointmentInfo": {
"perSlot": 1,
"perDay": 8
},
"schedule": {
"allowBookingAfter": 1,
"allowBookingAfterUnit": "Hours",
"allowBookingFor": 8,
"allowBookingForUnit": "Hours"
},
"officeHours": {
"monday": [
{
"openMinute": 0,
"closeMinute": 0,
"closeHour": 17,
"openHour": 8
},
{
"openMinute": 0,
"closeMinute": 0,
"closeHour": 17,
"openHour": 8
}
],
"tuesday": [
{
"openMinute": 0,
"closeMinute": 0,
"closeHour": 17,
"openHour": 8
},
{
"openMinute": 0,
"closeMinute": 0,
"closeHour": 17,
"openHour": 8
}
],
"wednesday": [
{
"openMinute": 0,
"closeMinute": 0,
"closeHour": 17,
"openHour": 8
},
{
"openMinute": 0,
"closeMinute": 0,
"closeHour": 17,
"openHour": 8
}
],
"thursday": [
{
"openMinute": 0,
"closeMinute": 0,
"closeHour": 17,
"openHour": 8
},
{
"openMinute": 0,
"closeMinute": 0,
"closeHour": 17,
"openHour": 8
}
],
"friday": [
{
"openMinute": 0,
"closeMinute": 0,
"closeHour": 17,
"openHour": 8
},
{
"openMinute": 0,
"closeMinute": 0,
"closeHour": 17,
"openHour": 8
}
]
}
},
"confirmation": {
"form": {
"customFormId": "jjusM6EOngDExnbo2DbU",
"stickyContact": false
},
"notificationAndOther": {
"alertEmail": "incididunt Duis",
"hasAutoConfirm": false,
"hasGoogleSendInvitationEmail": false,
"hasAllowReschedule": false,
"hasAllowCancellation": false,
"hasSendEmailToAssignedMember": false,
"notes": "",
"facebookPixelId": "",
"customCode": ""
},
"formSubmission": {
"type": "ThankYouMessage",
"content": ""
}
}
}
]
}
Campaign
URL: https://api.ecomflow.com.br/v1/contacts/:contactId/campaigns/:campaignId
Remove contact from campaign.
Authorization: Provide your location api key (Bearer Token). You can find here
PATH VARIABLES
| Field | Example | Description |
|---|---|---|
contactId |
sx6wyHhbFdRXh302LLNR |
(Required) Contact Id |
campaignId |
Y2I9XM7aO1hncuSOlc9L |
(Required) Campaign Id |
Example Request
Successful response
curl
curl --location --request DELETE 'https://api.ecomflow.com.br/v1/contacts/sx6wyHhbFdRXh302LLNR/campaigns/Y2I9XM7aO1hncuSOlc9L' \
--header 'Authorization: Bearer '
200 OK
Example Response
Body
Headers (1)
json
""
Contact
Contact Workflow
URL: https://api.ecomflow.com.br/v1/contacts/:contactId/workflow/:workflowId
Add contact to the workflow.
Adding contact into workflow will allow these fields.
| Field | Type | Example |
|---|---|---|
eventStartTime |
string (datetime with timezone offset) | 2021-06-23T03:30:00+01:00 |
Note: This request will add contact in queue to be added in workflow. This will not get to be added realtime.
Authorization: Provide your location api key (Bearer Token). You can find here
HEADERS
Content-Type: application/json
PATH VARIABLES
| Field | Example | Description |
|---|---|---|
contactId |
sx6wyHhbFdRXh302LLNR |
(Required) Contact Id |
workflowId |
78559bb3-b920-461e-b010-7b2a2816d2a9 |
(Required) Workflow Id |
Body
raw (json)
json
{
"eventStartTime": "2021-05-26T11:33:49.000Z"
}
Example Request
Successful response
curl
curl --location 'https://api.ecomflow.com.br/v1/contacts/sx6wyHhbFdRXh302LLNR/workflow/78559bb3-b920-461e-b010-7b2a2816d2a9' \
--header 'Authorization: Bearer ' \
--data '{
"eventStartTime": "2021-05-26T11:33:49.000Z"
}'
200 OK
Example Response
Body
Headers (1)
json
""
URL: https://api.ecomflow.com.br/v1/contacts/?startAfterId=UIaE1WjAwWKdlyD7osQI&startAfter=1603870249758&limit=20&query=John
Get Contacts.
Filters:
| Field | Description |
|---|---|
query |
It will search on these fields: Name, Phone, Email, Tags, and Company Name. |
Sorting:
| Field | Allowed Options | Default values |
|---|---|---|
sortBy |
date_added or date_updated |
date_added |
order |
asc or desc |
desc |
Pagination:
We will by default return the first matched 20 contacts. You can fetched next and more by passing the page on the query params (deprecated). You can see page info and total records count on to the meta
New: You can fetched next and more by passing the startAfter and startAfterId on the query params. You can see startAfterId and startAfter fields found into the response meta field.
Authorization: Provide your location api key (Bearer Token). You can find here
PARAMS
| Field | Example | Description |
|---|---|---|
startAfterId |
UIaE1WjAwWKdlyD7osQI |
Start After Id |
startAfter |
1603870249758 |
Start After |
limit |
20 |
Limit Per Page records count. will allow maximum up to 100 and default will be 20 |
query |
John |
Contact Query |
Example Request
Successful response
curl
curl --location 'https://api.ecomflow.com.br/v1/contacts/?startAfterId=UIaE1WjAwWKdlyD7osQI&startAfter=1603870249758&limit=20&query=John' \
--header 'Authorization: Bearer '
200 OK
Example Response
Body
Headers (1)
json
{
"contacts": [
{
"id": "ocQHyuzHvysMo5N5VsXc",
"locationId": "C2QujeCh8ZnC7al2InWR",
"email": "JohnDeo@gmail.com",
"emailLowerCase": "johndeo@gmail.com",
"fingerprint": "91f4f0e0-e2dd-11ea-9b16-53b2d72e8a24",
"timezone": "Asia/Calcutta",
"country": "DE",
"source": "xyz form",
"dateAdded": "2020-10-29T09:31:30.255Z",
"customField": [
{
"id": "MgobCB14YMVKuE4Ka8p1",
"value": "cillum in ullamco dolor commodo"
},
{
"id": "MgobCB14YMVKuE4Ka8p1",
"value": "tempor"
}
],
"tags": [
"magna ut sint labore lab",
"Duis nulla cillum"
],
"__moreField__": "ut consequat sit"
},
{
"id": "ocQHyuzHvysMo5N5VsXc",
"locationId": "C2QujeCh8ZnC7al2InWR",
"email": "JohnDeo@gmail.com",
"emailLowerCase": "johndeo@gmail.com",
"fingerprint": "91f4f0e0-e2dd-11ea-9b16-53b2d72e8a24",
"timezone": "Asia/Calcutta",
"country": "DE",
"source": "xyz form",
"dateAdded": "2020-10-29T09:31:30.255Z",
"customField": [
{
"id": "MgobCB14YMVKuE4Ka8p1",
"value": "Duis Excepteur cupidatat d"
},
{
"id": "MgobCB14YMVKuE4Ka8p1",
"value": "pariatur"
}
],
"tags": [
"veniam amet velit commodo",
"ullamco eu sit mollit"
],
"__moreField__": "cupidatat sit anim"
}
],
"meta": {
"total": 250,
"nextPageUrl": "https://api.ecomflow.com.br/v1/contacts?limit=1&q=j&startAfter=1603870249758&startAfterId=UIaE1WjAwWKdlyD7osQI",
"startAfterId": "UIaE1WjAwWKdlyD7osQI",
"startAfter": 1603870249758,
"currentPage": 2,
"nextPage": 3,
"prevPage": 1
}
}
URL: https://api.ecomflow.com.br/v1/contacts/
Create a contact.
Create contact will allow this fields. ex:
| Field | Type | Example |
|---|---|---|
firstName |
string | John |
lastName |
string | Deo |
name |
string | John Deo |
email |
string | johndeo@gmail.com |
phone |
string | +1 888-888-8888 |
address1 |
long | Tonkawa Trail W |
city |
string | Austin |
state |
string | Texas |
postalCode |
string | 45001 |
website |
string (url) | https://www.google.com |
timezone |
string | America/Chihuahua |
dnd |
boolean | true |
tags |
array | ["tag1", "tag2"] |
customField |
object | {"3r6dEOnsApNaKIhnFM6u": "Value 1", "MgobCB14YMVKuE4Ka8p1": "Value 2"}. Notes: 3r6dEOnsApNaKIhnFM6u and MgobCB14YMVKuE4Ka8p1 is a custom field id. You can find it using Custom Fields endpoints. |
source |
string | Public API |
Validation: Email or Phone are required to create contact
Authorization: Provide your location api key (Bearer Token). You can find here
HEADERS
Content-Type: application/json
Body
raw (json)
json
{
"email": "john@deo.com",
"phone": "+18887324197",
"firstName": "John",
"lastName": "Deo",
"name": "John Deo",
"dateOfBirth": "1990-09-25",
"address1": "3535 1st St N",
"city": "Dolomite",
"state": "AL",
"country": "US",
"postalCode": "35061",
"companyName": "DGS VolMAX",
"website": "35061",
"tags": [
"aute consequat ad ea",
"dolor sed"
],
"source": "public api",
"customField": {
"__custom_field_id__": "exercitation"
}
}
Example Request
Successful response
curl
curl --location 'https://api.ecomflow.com.br/v1/contacts/' \
--header 'Authorization: Bearer ' \
--data-raw '{
"email": "john@deo.com",
"phone": "+18887324197",
"firstName": "John",
"lastName": "Deo",
"name": "John Deo",
"dateOfBirth": "1990-09-25",
"address1": "3535 1st St N",
"city": "Dolomite",
"state": "AL",
"country": "US",
"postalCode": "35061",
"companyName": "DGS VolMAX",
"website": "35061",
"tags": [
"commodo",
"veniam ut reprehenderit"
],
"source": "public api",
"customField": {
"__custom_field_id__": "do in Lorem ut exercitation"
}
}'
200 OK
Example Response
Body
Headers (1)
json
{
"contact": {
"id": "ocQHyuzHvysMo5N5VsXc",
"locationId": "C2QujeCh8ZnC7al2InWR",
"email": "JohnDeo@gmail.com",
"emailLowerCase": "johndeo@gmail.com",
"fingerprint": "91f4f0e0-e2dd-11ea-9b16-53b2d72e8a24",
"timezone": "Asia/Calcutta",
"country": "DE",
"source": "xyz form",
"dateAdded": "2020-10-29T09:31:30.255Z",
"customField": [
{
"id": "MgobCB14YMVKuE4Ka8p1",
"value": "ea laboris consectetur elit sit"
},
{
"id": "MgobCB14YMVKuE4Ka8p1",
"value": "incididunt cupidatat nostrud qu"
}
],
"tags": [
"laboris esse ut irure",
"eiusmod exercitation irure ut"
],
"__moreField__": "consequat"
}
}
URL: https://api.ecomflow.com.br/v1/contacts/lookup?email=john@deo.com&phone=+491971259866
Search contact by email or phone number.
If you will pass email or phone, it will try find and give contacts based on that.
OR If you will pass both first it will try to find contact with email first and if it is not able to find contact then it will try to find the match based on the phone.
Authorization: Provide your location api key (Bearer Token). You can find here
Validation: Email or Phone are required to lookup contact.
PARAMS
| Field | Example | Description |
|---|---|---|
email |
john@deo.com |
(Required) Contact email |
phone |
+491971259866 |
(Required) Contact phone |
Example Request
Successful response
curl
curl --location 'https://api.ecomflow.com.br/v1/contacts/lookup?email=john%40deo.com&phone=%2B491971259866' \
--header 'Authorization: Bearer '
200 OK
Example Response
Body
Headers (1)
json
{
"contacts": [
{
"id": "ocQHyuzHvysMo5N5VsXc",
"locationId": "C2QujeCh8ZnC7al2InWR",
"email": "JohnDeo@gmail.com",
"emailLowerCase": "johndeo@gmail.com",
"fingerprint": "91f4f0e0-e2dd-11ea-9b16-53b2d72e8a24",
"timezone": "Asia/Calcutta",
"country": "DE",
"source": "xyz form",
"dateAdded": "2020-10-29T09:31:30.255Z",
"customField": [
{
"id": "MgobCB14YMVKuE4Ka8p1",
"value": "quis Excepteur nisi officia"
},
{
"id": "MgobCB14YMVKuE4Ka8p1",
"value": "laborum"
}
],
"tags": [
"et incidi",
"nulla eu commodo aliqua"
],
"__moreField__": "exercitation nostrud ea"
},
{
"id": "ocQHyuzHvysMo5N5VsXc",
"locationId": "C2QujeCh8ZnC7al2InWR",
"email": "JohnDeo@gmail.com",
"emailLowerCase": "johndeo@gmail.com",
"fingerprint": "91f4f0e0-e2dd-11ea-9b16-53b2d72e8a24",
"timezone": "Asia/Calcutta",
"country": "DE",
"source": "xyz form",
"dateAdded": "2020-10-29T09:31:30.255Z",
"customField": [
{
"id": "MgobCB14YMVKuE4Ka8p1",
"value": "consequat tempor sed cillum"
},
{
"id": "MgobCB14YMVKuE4Ka8p1",
"value": "occaecat anim"
}
],
"tags": [
"deserunt sed est",
"consequat id irure"
],
"__moreField__": "qui dolor Lorem"
}
]
}
URL: https://api.ecomflow.com.br/v1/contacts/:id
Get contact by id.
Authorization: Provide your location api key (Bearer Token). You can find here
PATH VARIABLES
| Field | Example | Description |
|---|---|---|
id |
ocQHyuzHvysMo5N5VsXc |
(Required) Contact Id |
Example Request
Successful response
curl
curl --location 'https://api.ecomflow.com.br/v1/contacts/ocQHyuzHvysMo5N5VsXc' \
--header 'Authorization: Bearer '
200 OK
Example Response
Body
Headers (1)
json
{
"contact": {
"id": "ocQHyuzHvysMo5N5VsXc",
"locationId": "C2QujeCh8ZnC7al2InWR",
"email": "JohnDeo@gmail.com",
"emailLowerCase": "johndeo@gmail.com",
"fingerprint": "91f4f0e0-e2dd-11ea-9b16-53b2d72e8a24",
"timezone": "Asia/Calcutta",
"country": "DE",
"source": "xyz form",
"dateAdded": "2020-10-29T09:31:30.255Z",
"customField": [
{
"id": "MgobCB14YMVKuE4Ka8p1",
"value": "ea laboris consectetur elit sit"
},
{
"id": "MgobCB14YMVKuE4Ka8p1",
"value": "incididunt cupidatat nostrud qu"
}
],
"tags": [
"laboris esse ut irure",
"eiusmod exercitation irure ut"
],
"__moreField__": "consequat"
}
}
URL: https://api.ecomflow.com.br/v1/contacts/:id
Update a contact.
Update contact will allow this fields. ex:
| Field | Type | Example |
|---|---|---|
firstName |
string | John |
lastName |
string | Deo |
name |
string | John Deo |
email |
string | johndeo@gmail.com |
phone |
string | +1 888-888-8888 |
address1 |
long | Tonkawa Trail W |
city |
string | Austin |
state |
string | Texas |
postalCode |
string | 45001 |
website |
string (url) | https://www.google.com |
timezone |
string | America/Chihuahua |
dnd |
boolean | true |
tags |
array | ["tag1", "tag2"] |
customField |
object | {"3r6dEOnsApNaKIhnFM6u": "Value 1", "MgobCB14YMVKuE4Ka8p1": "Value 2"}. Notes: 3r6dEOnsApNaKIhnFM6u and MgobCB14YMVKuE4Ka8p1 is a custom field id. You can find it using Custom Fields endpoints. |
source |
string | Public API |
Validation: Email or Phone are required to update contact
Authorization: Provide your location api key (Bearer Token). You can find here
HEADERS
Content-Type: application/json
PATH VARIABLES
| Field | Example | Description |
|---|---|---|
id |
ocQHyuzHvysMo5N5VsXc |
(Required) Contact Id |
Body
raw (json)
json
{
"firstName": "John",
"lastName": "Deo",
"name": "John Deo",
"email": "john@deo.com",
"phone": "+18887324197",
"dateOfBirth": "1990-09-25",
"address1": "3535 1st St N",
"city": "Dolomite",
"state": "AL",
"country": "US",
"postalCode": "35061",
"companyName": "DGS VolMAX",
"website": "35061",
"tags": [
"ea deserunt culpa laboris",
"quis in veniam qui"
],
"source": "public api",
"customField": {
"__custom_field_id__": "ea d"
}
}
Example Request
Successful response
curl
curl --location --request PUT 'https://api.ecomflow.com.br/v1/contacts/ocQHyuzHvysMo5N5VsXc' \
--header 'Authorization: Bearer ' \
--data-raw '{
"firstName": "John",
"lastName": "Deo",
"name": "John Deo",
"email": "john@deo.com",
"phone": "+18887324197",
"dateOfBirth": "1990-09-25",
"address1": "3535 1st St N",
"city": "Dolomite",
"state": "AL",
"country": "US",
"postalCode": "35061",
"companyName": "DGS VolMAX",
"website": "35061",
"tags": [
"ea deserunt culpa laboris",
"quis in veniam qui"
],
"source": "public api",
"customField": {
"__custom_field_id__": "ea d"
}
}'
200 OK
Example Response
Body
Headers (1)
json
{
"contact": {
"id": "ocQHyuzHvysMo5N5VsXc",
"locationId": "C2QujeCh8ZnC7al2InWR",
"email": "JohnDeo@gmail.com",
"emailLowerCase": "johndeo@gmail.com",
"fingerprint": "91f4f0e0-e2dd-11ea-9b16-53b2d72e8a24",
"timezone": "Asia/Calcutta",
"country": "DE",
"source": "xyz form",
"dateAdded": "2020-10-29T09:31:30.255Z",
"customField": [
{
"id": "MgobCB14YMVKuE4Ka8p1",
"value": "ea laboris consectetur elit sit"
},
{
"id": "MgobCB14YMVKuE4Ka8p1",
"value": "incididunt cupidatat nostrud qu"
}
],
"tags": [
"laboris esse ut irure",
"eiusmod exercitation irure ut"
],
"__moreField__": "consequat"
}
}
URL: https://api.ecomflow.com.br/v1/contacts/:id
Delete contact by id.
Authorization: Provide your location api key (Bearer Token). You can find here
PATH VARIABLES
| Field | Example | Description |
|---|---|---|
id |
ocQHyuzHvysMo5N5VsXc |
(Required) Contact Id |
Example Request
Successful response
curl
curl --location --request DELETE 'https://api.ecomflow.com.br/v1/contacts/ocQHyuzHvysMo5N5VsXc' \
--header 'Authorization: Bearer '
200 OK
Example Response
Body
Headers (1)
No response body
Custom Field
URL: https://api.ecomflow.com.br/v1/custom-fields/
Get all available custom fields.
Authorization: Provide your location api key (Bearer Token). You can find here
Example Request
Successful response
curl
curl --location 'https://api.ecomflow.com.br/v1/custom-fields/' \
--header 'Authorization: Bearer '
200 OK
Example Response
Body
Headers (1)
json
{
"customFields": [
{
"id": "ocQHyuzHvysMo5N5VsXc",
"name": "Select",
"fieldKey": "contact.select",
"placeholder": "Placeholder Text",
"position": 0,
"dateType": "SINGLE_OPTIONS",
"picklistOptions": [
"first",
"first"
]
},
{
"id": "ocQHyuzHvysMo5N5VsXc",
"name": "Select",
"fieldKey": "contact.select",
"placeholder": "Placeholder Text",
"position": 0,
"dateType": "SINGLE_OPTIONS",
"picklistOptions": [
"first",
"first"
]
}
]
}
Custom Value
Get all available custom values
URL: https://api.ecomflow.com.br/v1/custom-values/
Get all available custom values.
Authorization: Provide your location api key (Bearer Token). You can find here
Example Request
Successful response
curl
curl --location 'https://api.ecomflow.com.br/v1/custom-values/' \
--header 'Authorization: Bearer <token>'
200 OK
Example Response
Body
Headers (1)
json
{
"customFields": [
{
"id": "ocQHyuzHvysMo5N5VsXc",
"name": "Select",
"fieldKey": "{{ custom_value.test }}",
"value": "test"
},
{
"id": "ocQHyuzHvysMo5N5VsXc",
"name": "Select",
"fieldKey": "{{ custom_value.test }}",
"value": "test"
}
]
}
Create custom value
URL: https://api.ecomflow.com.br/v1/custom-values/
Create custom value.
Authorization: Provide your location api key (Bearer Token). You can find here
HEADERS
Content-Type: application/json
Body
raw (json)
json
{
"name": "Custom Field",
"value": "Value"
}
Example Request
Successful response
curl
curl --location 'https://api.ecomflow.com.br/v1/custom-values/' \
--header 'Authorization: Bearer <token>' \
--data '{
"name": "Custom Field",
"value": "Value"
}'
200 OK
Example Response
Body
Headers (1)
json
{
"id": "ocQHyuzHvysMo5N5VsXc",
"name": "Select",
"fieldKey": "{{ custom_value.test }}",
"value": "test"
}
Get custom value by id
URL: https://api.ecomflow.com.br/v1/custom-values/:customValueId
Get custom value by id.
Authorization: Provide your location api key (Bearer Token). You can find here
PATH VARIABLES
| Field | Example | Description |
|---|---|---|
customValueId |
ocQHyuzHvysMo5N5VsXc |
(Required) Custom Value Id |
Example Request
Successful response
curl
curl --location 'https://api.ecomflow.com.br/v1/custom-values/ocQHyuzHvysMo5N5VsXc' \
--header 'Authorization: Bearer <token>'
200 OK
Example Response
Body
Headers (1)
json
{
"id": "ocQHyuzHvysMo5N5VsXc",
"name": "Select",
"fieldKey": "{{ custom_value.test }}",
"value": "test"
}
Form
---Location
---Note
Get note by id
URL: https://api.ecomflow.com.br/v1/contacts/:contactId/notes/:noteId
Get note by id.
Authorization: Provide your location api key (Bearer Token). You can find here
PATH VARIABLES
| Field | Example | Description |
|---|---|---|
contactId |
sx6wyHhbFdRXh302LLNR |
(Required) Contact Id |
noteId |
ocQHyuzHvysMo5N5VsXc |
(Required) Note Id |
Example Request
Successful response
curl
curl --location 'https://api.ecomflow.com.br/v1/contacts/sx6wyHhbFdRXh302LLNR/notes/ocQHyuzHvysMo5N5VsXc' \
--header 'Authorization: Bearer <token>'
200 OK
Example Response
Body
Headers (1)
json
{
"id": "Lj371SHlVMyfVlMcKiuk",
"body": "Loram ipsum",
"createdBy": "Loram ipsum",
"createdAt": "2020-10-20T12:52:17.561Z"
}
Opportunity
Get opportunity by id
URL: https://api.ecomflow.com.br/v1/pipelines/:pipelineId/opportunities/:opportunityId
Get opportunity by id.
Authorization: Provide your location api key (Bearer Token). You can find here
PATH VARIABLES
| Field | Example | Description |
|---|---|---|
pipelineId |
bCkKGpDsyPP4peuKowkG |
(Required) Pipeline Id |
opportunityId |
123akv4LFn6C9frZoy3e |
(Required) Opportunity Id |
Example Request
Successful response
curl
curl --location 'https://api.ecomflow.com.br/v1/pipelines/bCkKGpDsyPP4peuKowkG/opportunities/123akv4LFn6C9frZoy3e' \
--header 'Authorization: Bearer <token>'
200 OK
Example Response
Body
Headers (1)
json
{
"id": "7XExm1wr8gFeZpl6rQny",
"name": "First Opp",
"monetaryValue": 120,
"pipelineId": "bCkKGpDsyPP4peuKowkG",
"pipelineStageId": "8b897c8f-b859-49c1-88f2-ed590708a85c",
"assignedTo": "hxHGVRb1YJUscrCB8eXK",
"status": "open",
"source": "form",
"lastStatusChangeAt": "2020-10-29T09:39:35.472Z",
"createdAt": "2020-10-29T09:31:30.255Z",
"updatedAt": "2020-10-29T09:44:02.263Z",
"contact": {
"id": "byMEV0NQinDhq8ZfiOi2",
"name": "John Deo",
"companyName": "Tesla Inc",
"email": "john@deo.com",
"phone": "+1202-555-0107",
"tags": [
"occaecat do Lorem",
"magna ipsum in"
]
}
}
Delete opportunity
URL: https://api.ecomflow.com.br/v1/pipelines/:pipelineId/opportunities/:opportunityId
Delete opportunity.
Authorization: Provide your location api key (Bearer Token). You can find here
PATH VARIABLES
| Field | Example | Description |
|---|---|---|
pipelineId |
bCkKGpDsyPP4peuKowkG |
(Required) Pipeline Id |
opportunityId |
123akv4LFn6C9frZoy3e |
(Required) Opportunity Id |
Example Request
Successful response
curl
curl --location --request DELETE 'https://api.ecomflow.com.br/v1/pipelines/bCkKGpDsyPP4peuKowkG/opportunities/123akv4LFn6C9frZoy3e' \
--header 'Authorization: Bearer <token>'
200 OK
Example Response
Body
Headers (1)
json
""
Pipeline
---Task
---Tag
Create Tag
URL: https://api.ecomflow.com.br/v1/tags/
Create Tag.
Authorization: Provide your location api key (Bearer Token). You can find here
HEADERS
Content-Type: application/json
Body
raw (json)
json
{
"name": "first tag"
}
Example Request
Successful response
curl
curl --location 'https://api.ecomflow.com.br/v1/tags/' \
--header 'Authorization: Bearer <token>' \
--data '{
"name": "first tag"
}'
200 OK
Example Response
Body
Headers (1)
json
{
"id": "kAllGzwHkSVZC11GYKF9",
"name": "Hello"
}
Get tag by id
URL: https://api.ecomflow.com.br/v1/tags/:tagId
Get tag by id.
Authorization: Provide your location api key (Bearer Token). You can find here
PATH VARIABLES
| Field | Example | Description |
|---|---|---|
tagId |
ocQHyuzHvysMo5N5VsXc |
(Required) Tag Id |
Example Request
Successful response
curl
curl --location 'https://api.ecomflow.com.br/v1/tags/ocQHyuzHvysMo5N5VsXc' \
--header 'Authorization: Bearer <token>'
200 OK
Example Response
Body
Headers (1)
json
{
"id": "kAllGzwHkSVZC11GYKF9",
"name": "Hello"
}
Update tag
URL: https://api.ecomflow.com.br/v1/tags/:tagId
Update tag.
Authorization: Provide your location api key (Bearer Token). You can find here
HEADERS
Content-Type: application/json
PATH VARIABLES
| Field | Example | Description |
|---|---|---|
tagId |
ocQHyuzHvysMo5N5VsXc |
(Required) Tag Id |
Body
raw (json)
json
{
"name": "first tag"
}
Example Request
Successful response
curl
curl --location --request PUT 'https://api.ecomflow.com.br/v1/tags/ocQHyuzHvysMo5N5VsXc' \
--header 'Authorization: Bearer <token>' \
--data '{
"name": "first tag"
}'
200 OK
Example Response
Body
Headers (1)
json
{
"id": "kAllGzwHkSVZC11GYKF9",
"name": "Hello"
}
Delete one of tag
URL: https://api.ecomflow.com.br/v1/tags/:tagId
Delete one of tag.
Authorization: Provide your location api key (Bearer Token). You can find here
PATH VARIABLES
| Field | Example | Description |
|---|---|---|
tagId |
ocQHyuzHvysMo5N5VsXc |
(Required) Custom Value Id |
Example Request
Successful response
curl
curl --location --request DELETE 'https://api.ecomflow.com.br/v1/tags/ocQHyuzHvysMo5N5VsXc' \
--header 'Authorization: Bearer <token>'
200 OK
Example Response
Body
Headers (1)
json
""
Timezone
---Trigger Links
Create trigger link
URL: https://api.ecomflow.com.br/v1/links/
Create trigger link.
Authorization: Provide your location api key (Bearer Token). You can find here
HEADERS
Content-Type: application/json
Body
raw (json)
json
{
"name": "first tag",
"redirectTo": "https://www.google.com/"
}
Example Request
Successful response
curl
curl --location 'https://api.ecomflow.com.br/v1/links/' \
--header 'Authorization: Bearer <token>' \
--data '{
"name": "first tag",
"redirectTo": "https://www.google.com/"
}'
200 OK
Example Response
Body
Headers (1)
json
{
"id": "ikMFj5x3rrKOQgu0k8y1",
"name": "Trigger Link",
"redirectTo": "https://www.google.com/",
"fieldKey": "{{trigger_link.ClK3HFY3WH9L5McNwyy1}}",
"locationId": "Lx1EI6YIgQYMQi0ytFXv"
}
Update trigger links
URL: https://api.ecomflow.com.br/v1/links/:linkId
Update trigger links.
Authorization: Provide your location api key (Bearer Token). You can find here
HEADERS
Content-Type: application/json
PATH VARIABLES
| Field | Example | Description |
|---|---|---|
linkId |
ClK3HFY3WH9L5McNwyy1 |
(Required) Link Id |
Body
raw (json)
json
{
"name": "first tag",
"redirectTo": "https://www.google.com/"
}
Example Request
Successful response
curl
curl --location --request PUT 'https://api.ecomflow.com.br/v1/links/ClK3HFY3WH9L5McNwyy1' \
--header 'Authorization: Bearer <token>' \
--data '{
"name": "first tag",
"redirectTo": "https://www.google.com/"
}'
200 OK
Example Response
Body
Headers (1)
json
{
"id": "ikMFj5x3rrKOQgu0k8y1",
"name": "Trigger Link",
"redirectTo": "https://www.google.com/",
"fieldKey": "{{trigger_link.ClK3HFY3WH9L5McNwyy1}}",
"locationId": "Lx1EI6YIgQYMQi0ytFXv"
}
User
Find user by email
URL: https://api.ecomflow.com.br/v1/users/lookup?email=hello%40google.com
Find user by email.
Authorization: Provide your agency api key (Bearer Token). You can find it on Agency -> Settings -> API keys
PARAMS
| Field | Example | Description |
|---|---|---|
email |
hello@google.com |
(Required) Email |
Example Request
Successful response
curl
curl --location 'https://api.ecomflow.com.br/v1/users/lookup?email=hello%40google.com' \
--header 'Authorization: Bearer <token>'
200 OK
Example Response
Body
Headers (1)
json
{
"id": "3g3ltlwEJBoXArLowV3e",
"firstName": "John",
"lastName": "Deo",
"email": "john@deo.com",
"roles": {
"type": "agency",
"role": "admin",
"locationIds": [
"C2QujeCh8ZnC7al2InWR"
]
},
"permissions": {
"campaignsEnabled": true,
"campaignsReadOnly": false,
"contactsEnabled": true,
"workflowsEnabled": true,
"triggersEnabled": true,
"funnelsEnabled": true,
"websitesEnabled": false,
"opportunitiesEnabled": true,
"dashboardStatsEnabled": true,
"bulkRequestsEnabled": true,
"appointmentsEnabled": true,
"reviewsEnabled": true,
"onlineListingsEnabled": true,
"phoneCallEnabled": true,
"conversationsEnabled": true,
"assignedDataOnly": false,
"adwordsReportingEnabled": false,
"membershipEnabled": false,
"facebookAdsReportingEnabled": false,
"attributionsReportingEnabled": false,
"settingsEnabled": true,
"tagsEnabled": true,
"leadValueEnabled": true,
"marketingEnabled": true
}
}
Get agency by user id
URL: https://api.ecomflow.com.br/v1/users/:userId
Get agency by user id.
Authorization: Provide your agency api key (Bearer Token). You can find it on Agency -> Settings -> API keys
PATH VARIABLES
| Field | Example | Description |
|---|---|---|
userId |
082goXVW3lIExEQPOnd3 |
(Required) User Id |
Example Request
Successful response
curl
curl --location 'https://api.ecomflow.com.br/v1/users/082goXVW3lIExEQPOnd3' \
--header 'Authorization: Bearer <token>'
200 OK
Example Response
Body
Headers (1)
json
{
"id": "3g3ltlwEJBoXArLowV3e",
"firstName": "John",
"lastName": "Deo",
"email": "john@deo.com",
"roles": {
"type": "agency",
"role": "admin",
"locationIds": [
"C2QujeCh8ZnC7al2InWR"
]
},
"permissions": {
"campaignsEnabled": true,
"campaignsReadOnly": false,
"contactsEnabled": true,
"workflowsEnabled": true,
"triggersEnabled": true,
"funnelsEnabled": true,
"websitesEnabled": false,
"opportunitiesEnabled": true,
"dashboardStatsEnabled": true,
"bulkRequestsEnabled": true,
"appointmentsEnabled": true,
"reviewsEnabled": true,
"onlineListingsEnabled": true,
"phoneCallEnabled": true,
"conversationsEnabled": true,
"assignedDataOnly": false,
"adwordsReportingEnabled": false,
"membershipEnabled": false,
"facebookAdsReportingEnabled": false,
"attributionsReportingEnabled": false,
"settingsEnabled": true,
"tagsEnabled": true,
"leadValueEnabled": true,
"marketingEnabled": true
}
}
Saas
Update saas subscription
URL: https://api.ecomflow.com.br/v1/saas/update-saas-subscription/:locationId
Update saas subscription.
Authorization: Provide your agency api key (Bearer Token). You can find it on Agency -> Settings -> API keys
HEADERS
Content-Type: application/json
PATH VARIABLES
| Field | Example | Description |
|---|---|---|
locationId |
KXD1dw233GU1Zrvyp |
(Required) Location Id |
Body
raw (json)
json
{
"customerId": "cus_KXxx1xxxx",
"subscriptionId": "sub_1K9Rksxxxxx"
}
Example Request
Successful response
curl
curl --location --request PUT 'https://api.ecomflow.com.br/v1/saas/update-saas-subscription/KXD1dw233GU1Zrvyp' \
--header 'Authorization: Bearer <token>' \
--data '{
"customerId": "cus_KXxx1xxxx",
"subscriptionId": "sub_1K9Rksxxxxx"
}'
200 OK
Example Response
Body
Headers (1)
json
{
"locationIds": [
"F6V8F8Nxxxxxxxx",
"F6V8F8Nxxxxxxxx"
]
}
Snapshot
---Survey
Get survey submissions
URL: https://api.ecomflow.com.br/v1/surveys/submissions?page=1&limit=20&surveyId=jjusM6EOngDExnbo2DbU&q=john@deo.com&startAt=2020-11-14&endAt=2020-12-14
Get survey submissions.
Authorization: Provide your location api key (Bearer Token). You can find here
PARAMS
| Field | Example | Description |
|---|---|---|
page |
1 |
Page No. By default it will be 1 |
limit |
20 |
Limit Per Page records count. will allow maximum up to 100 and default will be 20 |
surveyId |
jjusM6EOngDExnbo2DbU |
Filter submission by survey id |
q |
john@deo.com |
Filter by contactId, name, email or phone no. |
startAt |
2020-11-14 |
Get submission by starting of this date. By default it will be same date of last month. |
endAt |
2020-12-14 |
Get submission by ending of this date. By default it will be current date. |
Example Request
Successful response
curl
curl --location 'https://api.ecomflow.com.br/v1/surveys/submissions?page=1&limit=20&surveyId=jjusM6EOngDExnbo2DbU&q=john%40deo.com&startAt=2020-11-14&endAt=2020-12-14' \
--header 'Authorization: Bearer <token>'
200 OK
Example Response
Body
Headers (1)
json
{
"submissions": [
{
"id": "be759b9a-c3ec-4b29-ba07-fc3c89c77673",
"contactId": "9NkT25Vor1v4aQatFsv2",
"__submissions_other_field__": "john@deo.com",
"__custom_field_id__": "20",
"createdAt": "2020-11-01T18:02:21.000Z",
"surveyId": "jjusM6EOngDExnbo2DbU",
"pageDetails": {
"url": "https://www.ecomflow.com.br/",
"source": "Social Media",
"referrer": "http://m.facebook.com",
"fbclid": "IwAR1JoTTltt3EKJE3O-MrQij_lTeA6BKGTy8M2wKepSzs4oUbTYhL2Lns18w"
}
},
{
"id": "be759b9a-c3ec-4b29-ba07-fc3c89c77673",
"contactId": "9NkT25Vor1v4aQatFsv2",
"__submissions_other_field__": "john@deo.com",
"__custom_field_id__": "20",
"createdAt": "2020-11-01T18:02:21.000Z",
"surveyId": "jjusM6EOngDExnbo2DbU",
"pageDetails": {
"url": "https://www.ecomflow.com.br/",
"source": "Social Media",
"referrer": "http://m.facebook.com",
"fbclid": "IwAR1JoTTltt3EKJE3O-MrQij_lTeA6BKGTy8M2wKepSzs4oUbTYhL2Lns18w"
}
}
],
"meta": {
"total": 250,
"currentPage": 2,
"nextPage": 3,
"prevPage": 1
}
}
Workflow
Get Workflow
URL: https://api.ecomflow.com.br/v1/workflows/
Get Workflow.
Authorization: Provide your location api key (Bearer Token). You can find here
Example Request
Successful response
curl
curl --location 'https://api.ecomflow.com.br/v1/workflows/' \
--header 'Authorization: Bearer <token>'
200 OK
Example Response
Body
Headers (1)
json
{
"workflow": [
{
"id": "78559bb3-b920-461e-b010-7b2a2816d2a9",
"name": "First Workflow",
"status": "draft",
"version": 2,
"createdAt": "2021-05-26T11:33:49.000Z",
"updatedAt": "2021-05-26T11:33:49.000Z"
},
{
"id": "78559bb3-b920-461e-b010-7b2a2816d2a9",
"name": "First Workflow",
"status": "draft",
"version": 2,
"createdAt": "2021-05-26T11:33:49.000Z",
"updatedAt": "2021-05-26T11:33:49.000Z"
}
]
}