Your unique API key can be found on Main settings >> API tab. Include 'Api-Key' with this key in request headers. It is used to determine user in our system.
Every request should have 'Api-Key' as a header parameter. API URL for all requests is https://app.voiptimecloud.com/api/ You only need to add controller and parameters required. For example, to create a lead in the project in Voiptime Cloud system, use POST request https://app.voiptimecloud.com/api/leads and add Api-Key as a header parameter. Requests utilize GET, POST, PUT, PATCH and DELETE methods.
Our API allows you to:
Describes project-related operations.
View a list of existing projects
curl --request GET \ --url 'https://app.voiptimecloud.com/api/projects' \ --header 'Api-Key: {{Api-Key}}' \ --header 'content-type: application/json'
Code | Description |
---|---|
200 | OK Example value: [ { "id": 0, "name": "string", "contacts": 0, "numberOfNewContacts": 0, "schemaId": 0, "createDate": "2018-09-11T08:51:22.153Z", "owner": "string", "assignedUsers": [ "string" ] } ] |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
Name | Description |
---|---|
id integer($int64) allowEmptyValue: false |
The database generated project id |
name string allowEmptyValue: false |
Project name |
contacts integer($int64) allowEmptyValue: false |
Number of all contacts |
numberOfNewContacts integer($int64) allowEmptyValue: false |
Number of new contacts |
schemaId integer($int64) allowEmptyValue: false |
The database generated schema id |
createDate string($date-time) allowEmptyValue: false |
Project creation date |
owner string allowEmptyValue: false |
Project owner |
assignedUsers string allowEmptyValue: false |
List of users who have an access to this project |
View sources of the project
Requestcurl --request GET \ --url 'https://app.voiptimecloud.com/api/projects/{projectId}/sources' \ --header 'Api-Key: {{Api-Key}}' \ --header 'content-type: application/json'
Name | Description |
---|---|
projectId *required integer (path) |
ID of the project |
Code | Description |
---|---|
200 | OK Example value: [ { "id": 0, "name": "string", "groupId": 0, "active": false } ] |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
Name | Description |
---|---|
id integer($int64) allowEmptyValue: false |
The database generated source id |
name string allowEmptyValue: false |
Source name |
groupId integer($int64) allowEmptyValue: false |
The database generated project id |
active boolean allowEmptyValue: false |
Tells you if the source is active or not example: false |
View statuses of the project
Requestcurl --request GET \ --url 'https://app.voiptimecloud.com/api/projects/{projectId}/statuses' \ --header 'Api-Key: {{Api-Key}}' \ --header 'content-type: application/json'
Name | Description |
---|---|
projectId *required integer (path) |
ID of the project |
Code | Description |
---|---|
200 | OK Example value: [ [ { "id": 0, "name": "string", "active": false, "color": { "blue": 0, "green": 0, "red": 0 } } ] |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
Name | Description |
---|---|
id integer($int64) allowEmptyValue: false |
The database generated status id |
name string allowEmptyValue: false |
Status name |
active boolean allowEmptyValue: false |
Tells you if the status is active or not example: false |
color | Example:
blue integer($int32) green integer($int32) red integer($int32) |
Describes lead-related operations.
Create a new lead in the project
Requestcurl --request POST \ --url 'https://app.voiptimecloud.com/api/leads' \ --header 'Api-Key: {{Api-Key}}' \ --header 'content-type: application/json' \ --data '{ "groupId": {groupId}, "statusId": {statusId}, "sourceId": {sourceId}, "email": "string", "timezoneId":"America/Panama", "phones": [ { "id": {phoneId}, "label": "string", "active": true, "number": "string" } ], "name": "string", "surname": "string", "dynamicData": { "additionalProp1": "string", "additionalProp2": "string", "additionalProp3": "string" }, "comments": [ { "authorId": "string", "dateTime": "2018-10-16T09:55:53.228Z", "text": "string" } ], }Response
{ "id": 0, "groupId": 0, "statusId": 0, "sourceId": 0, "email": "string", "timezoneId":"America/Panama", "phones": [ { "active": true, "id": 0, "label": "string", "leadId": 0, "number": "string" } ], "name": "string", "surname": "string", "dynamicData": { "additionalProp1": "string", "additionalProp2": "string", "additionalProp3": "string" }, "comments": [ { "authorId": "string", "authorName": "string", "dateTime": "2018-09-12T15:19:43.272Z", "id": 0, "text": "string" } ], "createDate": "2018-09-12T15:19:43.272Z", "lastInteractionDate": "2018-09-12T15:19:43.272Z", "owner": "string" }
Name | Description |
---|---|
lead *required (body) |
lead data |
Api-Key string (header) |
Api-Key |
Code | Description |
---|---|
200 | OK |
201 | Created |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
Name | Description |
---|---|
id integer($int64) allowEmptyValue: false |
The database generated lead ID |
groupId* integer($int64) allowEmptyValue: false |
ID of the project lead will be added to |
statusId integer($int64) allowEmptyValue: false |
ID of the lead status in Voiptime Cloud |
sourceId integer($int64) allowEmptyValue: false |
ID of the lead source in Voiptime Cloud |
email* string allowEmptyValue: false |
|
name* string allowEmptyValue: false |
Lead name |
surname* string allowEmptyValue: false |
Lead last name |
timezoneID* string allowEmptyValue: false |
Timezone of the lead, according to IANA time zone database (tz database) |
phones allowEmptyValue: false |
List of phones Example: active boolean id integer($int64) label string leadId integer($int64) number string |
dynamicData string |
Custom fields that you add beforehand on the project settings |
comments | Notes you might want to post after any interaction with the lead
authorId string authorName string dateTime string($date-time) id integer($int64) text string |
createDate string($date-time) allowEmptyValue: false |
Creation date |
lastInteractionDate string($date-time) allowEmptyValue: false |
Date of the last interaction with the lead |
owner string allowEmptyValue: false |
ID of a user who owns this lead |
Update the lead in the project
curl -X PATCH \ https://app.voiptimecloud.com/api/leads/{leadId} --header 'Api-Key: {{Api-Key}}' \ --header 'content-type: application/json' \ --data ''{ "id": {leadId}, "groupId": {groupId}, "statusId": {statusId}, "sourceId": {sourceId}, "email": "testmail@gmail.com", "timezoneId":"America/Panama", "phones": [ { "id": {phoneId}, "number": "1235656", "active": true, "label": "mobile" } ], "name": "firstname", "surname": "lastname", "dynamicData": { "additionalProp1": "string" }, "comments": [ { "text": "comment", "authorId": "string", "authorName": "name", "dateTime": "2018-10-19T07:14:22.439" } ], "createDate": "2018-10-19T07:14:22.439+0000", "lastInteractionDate": "2018-10-19T07:14:22.439+0000", "webToLead": false }'
Name | Description |
---|---|
lead *required (body) |
Use only the fields which you need to update Example value: { "id": 0, "groupId": 0, "statusId": 0, "sourceId": 0, "email": "string", "timezoneId":"America/Panama", "phones": [ { "active": true, "id": 0, "label": "string", "leadId": 0, "number": "string" } ], "name": "string", "surname": "string", "dynamicData": { "additionalProp1": "string", "additionalProp2": "string", "additionalProp3": "string" }, "comments": [ { "authorId": "string", "authorName": "string", "dateTime": "2018-09-12T15:19:43.272Z", "id": 0, "text": "string" } ], "createDate": "2018-09-12T15:19:43.272Z", "lastInteractionDate": "2018-09-12T15:19:43.272Z", "owner": "string" } |
Api-Key string (header) |
Api-Key |
Code | Description |
---|---|
200 | OK |
201 | Created |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
Name | Description |
---|---|
id integer($int64) allowEmptyValue: false |
The database generated lead ID |
groupId* integer($int64) allowEmptyValue: false |
ID of the project lead will be added to |
statusId integer($int64) allowEmptyValue: false |
ID of the lead status in Voiptime Cloud |
sourceId integer($int64) allowEmptyValue: false |
ID of the lead source in Voiptime Cloud |
email* string allowEmptyValue: false |
|
name* string allowEmptyValue: false |
Lead name |
surname* string allowEmptyValue: false |
Lead last name |
timezoneID* string allowEmptyValue: false |
Timezone of the lead, according to IANA time zone database (tz database) |
phones allowEmptyValue: false |
List of phones active boolean id integer($int64) label string leadId integer($int64) number string |
dynamicData string |
Custom fields that you add beforehand on the project settings |
comments | Notes you might want to post after any interaction with the lead
authorId string authorName string dateTime string($date-time) id integer($int64) text string |
createDate string($date-time) allowEmptyValue: false |
Creation date |
lastInteractionDate string($date-time) allowEmptyValue: false |
Date of the last interaction with the lead |
owner string allowEmptyValue: false |
ID of a user who owns this lead |
Create the task (meeting or callback) for the lead
Create meeting request
curl --request POST \ --url https://app.voiptimecloud.com/api/leads/{leadId}/tasks \ --header 'Api-Key: {{Api-Key}}' \ --header 'content-type: application/json' \ --data '{ "phoneId": "{phoneId}", "email": "test@gmail.com", "userId": "{userId}", "triggerTime": "2018-10-06T07:39:02Z", "finishTime": "2018-10-07T07:39:02Z", "type": "MEETING", "teamIds": ["5b2773d179b7880001da77d5"] }'
Create callback request
curl --request POST \ --url https://app.voiptimecloud.com/api/leads/1498483/tasks \ --header 'content-type: application/json' \ --data '{ "phoneId": "{phoneId}", "email": "test@gmail.com", "userId": "{userId}", "triggerTime": "2019-01-17T11:00:02Z", "type": "CALLBACK", "teamIds": ["{teamIds}"] }'
Create meeting response
{ "id": "5bb473365d0de50001a28e7a", "leadName": "Name Surname", "leadId": {leadId}, "companyId": "{companyId}", "userId": "{userId}", "type": "MEETING", "createDate": "2018-10-03T07:43:50.104", "lastUpdateDate": "2018-10-03T07:43:50.104", "triggerTime": "2018-10-06T07:39:02", "deleted": false, "finishTime": "2018-10-07T07:39:02", "status": "OPEN", "teamIds": [ "5b2773d179b7880001da77d5" ] }
Create callback response
{ "id": "5bb473485d0de50001a28e7b", "leadName": "Name Surname", "leadId": {leadId}, "phoneNumber": "13024552004", "phoneId": {phoneId}, "companyId": "{companyId}", "userId": "{userId}", "type": "CALLBACK", "createDate": "2019-01-16T08:41:52.908", "lastUpdateDate": "2019-01-16T08:41:52.908", "triggerTime": "2019-01-17T11:00:02", "deleted": false, "status": "OPEN", "teamIds": [ "5b2773d179b7880001da77d5" ] }
Name | Description |
---|---|
leadID *required |
ID of the lead for whom you create a meeting |
Api-Key string (header) |
Api-Key |
Name | Description |
---|---|
id integer($int64) allowEmptyValue: false |
The database generated task ID |
leadName string allowEmptyValue: false |
Lead name |
leadId
integer($int64) allowEmptyValue: false |
The database generated lead ID |
companyId integer($int64) allowEmptyValue: false |
ID of the company |
userId integer($int64) allowEmptyValue: false |
ID of the user who created the task |
type string allowEmptyValue: false |
Type of the task (meeting or callback) |
createDate string($date-time) allowEmptyValue: false |
Date of creation (UTC) |
lastUpdateDate string($date-time) allowEmptyValue: false |
Task update date (UTC) |
triggerTime string($date-time) allowEmptyValue: false |
Start time (UTC) |
finishTime string($date-time) allowEmptyValue: false |
Finish time (UTC) |
status string allowEmptyValue: false |
Task status (Open, Cancelled, Done) |
deleted string allowEmptyValue: false |
If it was deleted |
teamIds integer($int64) allowEmptyValue: false |
Optional value, that allow to share the created task with the team |
Update the task (meeting or callback) for the lead
https://app.voiptimecloud.com/api/leads/{leadId}/tasks/{taskId}
Callback update request
curl --request PUT \ --url https://app.voiptimecloud.com/api/leads/{leadId}/tasks/{taskId} \ --header 'Api-Key: {{Api-Key}}' \ --header 'content-type: application/json' \ --data '{ "id": "{taskId}", "leadName": "Name Surname", "leadId": "{leadId}", "phoneNumber": "13024552004", "phoneId": "{phoneId}", "companyId": "{companyId}", "userId": "{userId}", "type": "CALLBACK", "createDate": "2019-01-16T08:41:52.908", "lastUpdateDate": "2019-01-16T08:41:52.908", "triggerTime": "2019-01-18T11:00:02", "deleted": false, "status": "OPEN", "teamIds": [ "5b2773d179b7880001da77d5" ] }'
Meeting update request
curl --request PUT \ --url https://app.voiptimecloud.com/api/leads/{leadId}/tasks/{taskId} \ --header 'Api-Key: {{Api-Key}}' \ --header 'content-type: application/json' \ --data '{ "id": "5bc5d0f0a55ef40001449dff", "leadName": "Name Surname", "leadId": {leadId}, "companyId": "{companyId}", "userId": "{userId}", "type": "MEETING", "createDate": "2018-10-16T11:52:16.916", "lastUpdateDate": "2018-10-16T11:52:16.916", "triggerTime": "2018-10-17T15:00:02", "deleted": false, "finishTime": "2018-10-17T15:39:02", "status": "DONE", "teamIds": [ "5b2773d179b7880001da77d5" ] }'
Callback update response
{ "id": "{taskId}", "leadName": "Name Surname", "leadId": "{leadId}", "phoneNumber": "13024552004", "phoneId": "{phoneId}", "companyId": "{companyId}", "userId": "{userId}", "type": "CALLBACK", "createDate": "2019-01-16T08:41:52", "lastUpdateDate": "2019-01-16T08:44:22", "triggerTime": "2019-01-18T11:00:02", "deleted": false, "status": "OPEN", "teamIds": [ "5b2773d179b7880001da77d5" ] }
Task update response
{ "id": "{taskId}", "leadName": "Name Surname", "leadId": {leadId}, "companyId": "{companyId}", "userId": "{userId}", "type": "MEETING", "createDate": "2018-10-23T13:42:40", "lastUpdateDate": "2018-10-23T13:43:15", "triggerTime": "2018-10-25T15:00:02", "deleted": false, "finishTime": "2018-10-25T15:39:02", "status": "OPEN", "teamIds": [ "5b2773d179b7880001da77d5" ] }
Name | Description |
---|---|
leadID *required |
ID of the lead for whom you create a task |
Api-Key string (header) |
Api-Key |
Name | Description |
---|---|
id integer($int64) allowEmptyValue: false |
The database generated task ID |
leadName string allowEmptyValue: false |
Lead name |
leadId integer($int64) allowEmptyValue: false |
The database generated lead ID |
companyId integer($int64) allowEmptyValue: false |
ID of the company |
userId
integer($int64) allowEmptyValue: false |
ID of the user who created the task |
type string allowEmptyValue: false |
Type of the task (meeting or callback) |
createDate string($date-time) allowEmptyValue: false |
Date of creation (UTC) |
lastUpdateDate string($date-time) allowEmptyValue: false |
Task update date (UTC) |
triggerTime string($date-time) allowEmptyValue: false |
Start time (UTC) |
finishTime string($date-time) allowEmptyValue: false |
Finish time (UTC) |
status string allowEmptyValue: false |
Task status (Open, Cancelled, Done) |
deleted string allowEmptyValue: false |
If it was deleted |
teamIds integer($int64) allowEmptyValue: false |
Optional value, that allow to share the created task with the team |
Create the note in the client card
curl --request POST \ --url https://app.voiptimecloud.com/api/leads/{leadId}/comments \ --header 'Api-Key: {{Api-Key}}' \ --header 'content-type: application/json' \ --data '{ "text": "test comment", "authorId": "{authorId}", "dateTime": "2018-10-06T08:39:02Z" }'
Code | Description |
---|---|
200 | OK |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
Name | Description |
---|---|
leadID *required |
ID of the lead for whom you create the note |
Api-Key string (header) |
Api-Key |
Name | Description |
---|---|
text string allowEmptyValue: false |
Text of the comment |
authorIdstring allowEmptyValue: false integer($int64) allowEmptyValue: false |
The database generated user ID |
dateTime string($date-time) allowEmptyValue: false |
Date of creation (UTC) |
Update the note in the client card
curl --request PUT \ --url https://app.voiptimecloud.com/api/leads/{leadId}/comments/{commentId} \ --header 'Api-Key: {{Api-Key}}' \ --header 'content-type: application/json' \ --data '{ "id": "{commentId}", "text": "test comment edited", "authorId": "{authorId}", "dateTime": "2018-10-06T10:39:02Z" }'
Code | Description |
---|---|
200 | OK |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
Name | Description |
---|---|
leadID *required |
ID of the lead for whom you create the note |
Api-Key string (header) |
Api-Key |
Name | Description |
---|---|
commentId integer($int64) allowEmptyValue: false |
The database generated comment ID |
text string allowEmptyValue: false |
Text of the comment |
authorId integer($int64) allowEmptyValue: false |
The database generated user ID |
dateTime string($date-time) allowEmptyValue: false |
Date of creation (UTC) |
Receive the notes from the client card
curl --request GET \ --url https://app.voiptimecloud.com/api/leads/{leadId}/comments/?from={dateTime}&to={dateTime} \ --header 'Api-Key: {{Api-Key}}' \ --header 'content-type: application/json'
{ "id": "{commentId}", "text": "test comment edited", "authorId": "{authorId}", "dateTime": "2018-10-06T10:39:02Z" }, '{ "id": "{commentId}", "text": "test comment 2", "authorId": "{authorId}", "dateTime": "2018-10-07T12:40:02Z" }'
Name | Description |
---|---|
leadID *required |
ID of the lead for whom you create the note |
Api-Key string (header) |
Api-Key |
Name | Description |
---|---|
commentId integer($int64) allowEmptyValue: false |
The database generated comment ID |
text string allowEmptyValue: false |
Text of the comment |
authorIdstring allowEmptyValue: false integer($int64) allowEmptyValue: false |
The database generated user ID |
dateTime string($date-time) allowEmptyValue: false |
Date of creation (UTC) |
Delete the note from the client card
curl --request DELETE \ --url https://app.voiptimecloud.com/api/leads/{leadId}/comments/{commentId} \ --header 'Api-Key: {{Api-Key}}' \ --header 'content-type: application/json'
Code | Description |
---|---|
200 | OK |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
Name | Description |
---|---|
leadID *required |
ID of the lead for whom you create the note |
commentId integer($int64) allowEmptyValue: false |
The database generated comment ID |
Api-Key string (header) |
Api-Key |
Describes campaign-related operations.
View a list of all campaigns
https://app.voiptimecloud.com/api/campaigns
curl -X GET "https://app.voiptimecloud.com/api/campaigns?offset=0&limit=10" -H "accept: application/json"
Name | Description |
---|---|
excludeIds array [string] (query) |
Allows you to exclude any campaign from the request |
includeIds array [string] (query) |
Allows you to include any campaign to the request |
offset integer (query) |
Sets the first position to return from the results of the query. If 0, the page is started at the first result. Default value : 0 |
limit integer (query) |
Specifies the page size in query, must be greater than 0 Default value : 10 |
Code | Description |
---|---|
200 | OK Example value: [ { "autoAnswerEnabled": true, "autoAnswerTimeout": 0, "id": "string", "name": "string", "gatewayId": "string", "leadAnswerTimeout": 0, "dialer": "string", "status": { "color": "string", "name": "string" }, "totalEntries": 0, "createdBy": "string", "teamsByPriority": [ "string" ], "redialingConfiguration": { "failedEntriesDialingPercentage": 0, "maxCallAttemptsPerPhone": 0, "redialingConfigurationId": "string" }, "maxPercentOfAbandonedCalls": 0 } ] |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
Name | Description |
---|---|
autoAnswerEnabled boolean |
Shows if auto-answer is enabled in the campaign settings |
autoAnswerTimeout integer($int32) |
Shows what delay is used for auto-answer |
id string allowEmptyValue: false |
The database generated campaign id |
name string allowEmptyValue: false |
Campaign name |
gatewayId string allowEmptyValue: false |
Gateway (line) through which system makes outbound campaign calls |
leadAnswerTimeout integer($int32) allowEmptyValue: false |
When lead isn’t answering phone call it will be canceled after specified timeout |
dialer string allowEmptyValue: false |
Dialing mode |
status | Campaign status color string name string |
totalEntries integer($int64) allowEmptyValue: false |
Total number of all entries in campaign |
createdBy string allowEmptyValue: false |
ID of a user who created campaign |
teamsByPriority string allowEmptyValue: false |
IDs of teams that are assigned to the campaign, ordered by priority |
redialingConfiguration | Shows the configuration of the redialing rules failedEntriesDialingPercentage integer($int32) maxCallAttemptsPerPhone integer($int32) redialingConfigurationId string |
maxPercentOfAbandonedCalls integer($int32) allowEmptyValue: false |
Max percent of abandoned calls for Predictive campaign |
Describes campaign-related operations.
Add entries to the campaign
https://app.voiptimecloud.com/api/campaigns/{campaignId}/entries/actions/generate
Name | Description |
---|---|
campaignId * required string (path) |
ID of the campaign |
entryCriterion * required (body) |
integer($int64) allowEmptyValue: false List of leads for which the campaign entries will be created Example Value { "leadIds": [ 10 ] } |
Code | Description |
---|---|
200 | OK |
201 | Created |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |