The Multisender API is RESTfull API.
Resouces are created by submitting an HTTP POST
to a resource URI.
Resource can be retrieved by GET
ting its URL.
Use http PUT
method to update the resource.
To delete a resource, make an HTTP DELETE
request to the resource URL.
Two HTTP headers must be passed with every request to the Multisender API: Accept and Content-Type.
Accept
application/json Application/json
is the only supported value.
Content-Type
application/jsonApplication/json
is the only supported value.
X-Access-Token
123xyz
Every request to the Multisender API must contain a valid access token.
There are three ways to pass the access token to the Multisender API.
Pass the token via HTTP header: X-Access-Token
.
X-Access-Token: 123xyz
Append the access token to the URL your trying to reach.
Parameter: access_token
/vi/accounts?access_token=123xyz
Add the access token to the POST request
Parameter: access_token
POST access_token: 123xyz
State Webhook is an HTTP POST request to the URL specified in the RSVP call's stateWebhookUrl parameter.
The State Webhook is triggered after RSVP call's state change. Possible states are waitingToActive, active, halt, complete.
Data in the state webhook body:
Parameter | Description |
---|---|
rsvpCallId | Id of the RSVP call |
state | The state of the RSVP Call. Possible values: waitingToActive, active, halt, complete |
totalDialedCalls | Amount of dialed calls |
answeredCalls | Amount of answered calls |
totalDuration | Total duration of answered calls in seconds |
acceptsReceived | Amount of accepts |
timestamp | Timestamp of the event. |
Example webhook request body
{ "rsvpCallId": "303", "state": "active", "dialedCalls": 10, "answeredCalls": 8, "totalDuration": 3600, "acceptsReceived": 5, "timestamp": "2017-01-01:00:00:00" }
Receiver Webhook is an HTTP POST request to the URL specified in the RSVP call's receiverWebhookUrl parameter.
The Receiver Webhook is triggered after a succesfull call is made to the RSVP call's receiver or after max redials to the reciever has been reached.
Data in the webhook body:
Parameter | Description |
---|---|
rsvpCallId | Id of the RSVP call |
phoneNumber | The phone number of the receiver that triggered the webhook |
accountId | The accountId of the receiver that triggered the webhook |
rsvpReply | Reply the receiver gave to the rsvp or no reply |
meta | The meta data which was specified in the RSVP Calls meta parameter |
timestamp | Timestamp of the event. |
Example webhook request body
{ "rsvpCallId": "303", "phoneNumber": "xxxx12342", "accountId": "808", "rsvpReply": "accept, decline or noReply", "meta": { 'somekey': 'some-value', 'someotherkey': 'value' }, "timestamp": "2017-01-01:00:00:00" }
Example API requests can be downloaded in Postman Collection format.
The collection, with multiple example codes, can be viewed with the Postman App.
Name | Type | Required | Description |
---|---|---|---|
X-Access-Token | string | Yes | Your authentication token |
HTTP 200 OK
[{ 'accountId':'string', 'firstName':'string', 'lastName':'string', 'nickName':'string', 'phone':'string', 'email':'string', 'address':'string', 'zip':'string', 'city':'string', 'companyName':'string', 'website':'string', 'note':'string', 'area':'string', 'gender':'string', 'yearOfBirth':'int', 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS' }, { 'accountId':'string', 'firstName':'string', 'lastName':'string', 'nickName':'string', 'phone':'string', 'email':'string', 'address':'string', 'zip':'string', 'city':'string', 'companyName':'string', 'website':'string', 'note':'string', 'area':'string', 'gender':'string', 'yearOfBirth':'int', 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS' } ]
Name | Type | Required | Description |
---|---|---|---|
X-Access-Token | string | Yes | Your authentication token |
Name | Type | Required | Description |
---|---|---|---|
accountId | id | Yes | Id of the account. Used in the URL like: /accounts/1 |
HTTP 200 OK
{ 'accountId':'string', 'firstName':'string', 'lastName':'string', 'nickName':'string', 'phone':'string', 'email':'string', 'address':'string', 'zip':'string', 'city':'string', 'companyName':'string', 'website':'string', 'note':'string', 'area':'string', 'gender':'string', 'yearOfBirth':'int', 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS' }
Name | Type | Required | Description |
---|---|---|---|
X-Access-Token | string | Yes | Your authentication token |
{ 'firstName':'string', 'lastName':'string', 'nickName':'string', 'phone':'string', 'email':'string', 'address':'string', 'zip':'string', 'city':'string', 'companyName':'string', 'website':'string', 'note':'string', 'area':'string', 'gender':'string', 'yearOfBirth':'int' }
HTTP 201 Created
Location: http://url.to/the/created/resource
{ 'accountId':'string', 'firstName':'string', 'lastName':'string', 'nickName':'string', 'phone':'string', 'email':'string', 'address':'string', 'zip':'string', 'city':'string', 'companyName':'string', 'website':'string', 'note':'string', 'area':'string', 'gender':'string', 'yearOfBirth':'int', 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS' }
Name | Type | Required | Description |
---|---|---|---|
X-Authentication-Token | string | Yes | Your authentication token |
{ 'firstName':'string', 'lastName':'string', 'nickName':'string', 'phone':'string', 'email':'string', 'address':'string', 'zip':'string', 'city':'string', 'companyName':'string', 'website':'string', 'note':'string', 'area':'string', 'gender':'string', 'yearOfBirth':'int' }
HTTP 200 OK
{ 'accountId':'string', 'firstName':'string', 'lastName':'string', 'nickName':'string', 'phone':'string', 'email':'string', 'address':'string', 'zip':'string', 'city':'string', 'companyName':'string', 'website':'string', 'note':'string', 'area':'string', 'gender':'string', 'yearOfBirth':'int', 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS' }
Name | Type | Required | Description |
---|---|---|---|
X-Authentication-Token | string | Yes | Your authentication token |
Name | Type | Required | Description |
---|---|---|---|
accountId | id | Yes | Id of the account. Used in the URL like: /accounts/1 |
HTTP 204 No Content
Name | Type | Required | Description |
---|---|---|---|
X-Authentication-Token | string | Yes | Your authentication token |
Name | Type | Required | Description |
---|---|---|---|
all | flag | No | If all is set, delete all accounts. Used in the URL like: /accounts?all |
filterId | int | No | Accounts filter id. If filterId is set, delete all accounts matching the filter. Used in the URL like: /accounts?filterId=1 |
HTTP 204 No Content
Name | Type | Required | Description |
---|---|---|---|
X-Access-Token | string | Yes | Your authentication token |
Name | Type | Required | Description |
---|---|---|---|
filters | array | Yes |
Array of filter objects. Each object must have field, operator and value properties.
Field assigns operator to some account object field and matches it with given value.
For example {'field': 'firstName', 'operator': '==', 'value': 'John'}will match all accounts with John as firstName. Allowed operators are ==, !=, >, <, >=, <=, in and contains. in-operator requires array value and will match any account with given field matching some value on array. contains-operator only operates on string fields and allows to match some substring on that field. |
{ 'filters': [ { 'field': 'firstName', 'operator': 'contains', 'value': 'somestring' }, { 'field': 'zip', 'operator': '\u003e=', 'value': '00001' }, { 'field': 'zip', 'operator': '\u003c=', 'value': '100000' }, { 'field': 'city', 'operator': 'in', 'value': ['city', 'town', 'village'] } ] }
HTTP 201 Created
Location: http://url.to/the/created/resource
{ 'filterId':'int', 'filters': 'array', 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS' }
Name | Type | Required | Description |
---|---|---|---|
X-Access-Token | string | Yes | Your authentication token |
HTTP 200 Ok
[ { 'filterId':'int', 'filters': 'array', 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS' }, { 'filterId':'int', 'filters': 'array', 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS' } ]
Name | Type | Required | Description |
---|---|---|---|
X-Access-Token | string | Yes | Your authentication token |
Name | Type | Required | Description |
---|---|---|---|
filterId | id | Yes | Id of the account filter. Used in the URL like: /accounts/filters/1 |
HTTP 200 Ok
{ 'filterId':'int', 'filters': 'array', 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS' }
Name | Type | Required | Description |
---|---|---|---|
X-Access-Token | string | Yes | Your authentication token |
Name | Type | Required | Description |
---|---|---|---|
filterId | id | Yes | Id of the account filter. Used in the URL like: /accounts/filters/1 |
HTTP 201 Ok
{ 'filterId':'int', 'filters': 'array', 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS' }
Name | Type | Required | Description |
---|---|---|---|
X-Access-Token | string | Yes | Your authentication token |
Name | Type | Required | Description |
---|---|---|---|
groupId | id | Yes | Id of the group. Used in the URL like: /groups/1/accounts |
HTTP 200 OK
[{ 'groupId':'string', 'accountId':'string', 'firstName':'string', 'lastName':'string', 'nickName':'string', 'phone':'string', 'email':'string', 'address':'string', 'zip':'string', 'city':'string', 'companyName':'string', 'website':'string', 'note':'string', 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS' }, { 'groupId':'string', 'accountId':'string', 'firstName':'string', 'lastName':'string', 'nickName':'string', 'phone':'string', 'email':'string', 'address':'string', 'zip':'string', 'city':'string', 'companyName':'string', 'website':'string', 'note':'string', 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS' } ]
Name | Type | Required | Description |
---|---|---|---|
X-Access-Token | string | Yes | Your authentication token |
Name | Type | Required | Description |
---|---|---|---|
groupId | id | Yes | Id of the group. Used in the URL like: /groups/1/accounts |
accountIds | Array of accountIds | Yes | List of accounts to be added to the group. Accounts already in the group will be ignored. |
[{ 'accountId':'string' }, { 'accountId':'string' }]
HTTP 201 OK
[{ 'groupId':'string', 'accountId':'string' }, { 'groupId':'string', 'accountId':'string' } ]
Name | Type | Required | Description |
---|---|---|---|
X-Authentication-Token | string | Yes | Your authentication token |
Name | Type | Required | Description |
---|---|---|---|
groupId | id | Yes | Id of the group. Used in the URL like: /groups/1/{accountId} |
accountId | id | Yes | Id of the removed account. Used in the URL like: /groups/{groupId}/2 |
HTTP 204 No Content
Name | Type | Required | Description |
---|---|---|---|
X-Access-Token | string | Yes | Your authentication token |
HTTP 200 OK
[{ 'groupId':'string', 'name':'string', 'description':'string', 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS', 'numberOfAccounts':'int' }, { 'groupId':'string', 'name':'string', 'description':'string', 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS', 'numberOfAccounts':'int' } ]
Name | Type | Required | Description |
---|---|---|---|
X-Access-Token | string | Yes | Your authentication token |
Name | Type | Required | Description |
---|---|---|---|
groupId | id | Yes | Id of the group. Used in the URL like: /groups/1 |
HTTP 200 OK
{ 'groupId':'string', 'name':'string', 'description':'string', 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS', 'numberOfAccounts':'int' }
Name | Type | Required | Description |
---|---|---|---|
X-Access-Token | string | Yes | Your authentication token |
Name | Type | Required | Description |
---|---|---|---|
name | string | Yes | Group name |
description | string | Yes | Description of the group |
{ 'name':'string', 'description':'string' }
HTTP 201 Created
Location: http://url.to/the/created/resource
{ 'groupId':'string', 'name':'string', 'description':'string', 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS', 'numberOfAccounts':'int' }
Name | Type | Required | Description |
---|---|---|---|
X-Authentication-Token | string | Yes | Your authentication token |
Name | Type | Required | Description |
---|---|---|---|
groupId | id | Yes | Id of the group. Used in the URL like: /groups/1 |
name | string | Yes | Group name |
description | string | Yes | Description of the group |
{ 'name':'string', 'description':'string', }
HTTP 200 OK
{ 'groupId':'string', 'name':'string', 'description':'string', 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS', 'numberOfAccounts':'int' }
Name | Type | Required | Description |
---|---|---|---|
X-Authentication-Token | string | Yes | Your authentication token |
Name | Type | Required | Description |
---|---|---|---|
groupId | id | Yes | Id of the group. Used in the URL like: /groups/1/accounts |
HTTP 204 No Content
Name | Type | Required | Description |
---|---|---|---|
X-Access-Token | string | Yes | Your authentication token |
HTTP 200 OK
[{ 'callId':'string', 'operations':'string, JSON', 'actionTime':'string, YYYY-MM-DD HH:MM:SS', 'priceEstimateInCents':'float', 'totalDuration':'int', 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS' }, { 'callId':'string', 'operations':'string, JSON', 'actionTime':'string, YYYY-MM-DD HH:MM:SS', 'priceEstimateInCents':'float', 'totalDuration':'int', 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS' } ]
Name | Type | Required | Description |
---|---|---|---|
X-Access-Token | string | Yes | Your authentication token |
Name | Type | Required | Description |
---|---|---|---|
callId | id | Yes | Id of the call. Used in the URL like: /calls/1 |
HTTP 200 OK
{ 'callId':'string', 'operations':'string, JSON', 'actionTime':'string, YYYY-MM-DD HH:MM:SS', 'priceEstimateInCents':'float', 'editable':'string, y or n', 'receivers':[ { 'receiverId': 'string', 'accountId': 'string', 'groupId': 'string', 'name': 'string', 'firstName': 'string', 'lastName': 'string', 'email': 'string', 'phone': 'string', 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS' } ], 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS' }
Name | Type | Required | Description |
---|---|---|---|
X-Access-Token | string | Yes | Your authentication token |
{ 'operations':'string, JSON', 'actionTime':'string, YYYY-MM-DD HH:MM:SS', 'receivers':[{ 'accountId': 'string', 'groupId': 'string', 'phone': 'string' } ] }
HTTP 201 Created
Location: http://url.to/the/created/resource
{ 'callId':'string', 'operations':'string, JSON', 'actionTime':'string, YYYY-MM-DD HH:MM:SS', 'priceEstimateInCents':'float', 'editable':'string, y or n', 'receivers':[{ 'receiverId': 'string', 'accountId': 'string', 'groupId': 'string', 'name': 'string', 'firstName': 'string', 'lastName': 'string', 'email': 'string', 'phone': 'string', 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS' } ], 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS' }
Name | Type | Required | Description |
---|---|---|---|
X-Authentication-Token | string | Yes | Your authentication token |
{ 'operations':'string, JSON', 'actionTime':'string, YYYY-MM-DD HH:MM:SS', 'receivers':[{ 'accountId': 'string', 'groupId': 'string', 'phone': 'string' } ] }
HTTP 200 OK
{ 'callId':'string', 'operations':'string, JSON', 'actionTime':'string, YYYY-MM-DD HH:MM:SS', 'priceEstimateInCents':'float', 'editable':'string, y or n', 'receivers':[{ 'receiverId': 'string', 'accountId': 'string', 'groupId': 'string', 'name': 'string', 'firstName': 'string', 'lastName': 'string', 'email': 'string', 'phone': 'string', 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS' } ], 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS' }
Name | Type | Required | Description |
---|---|---|---|
X-Authentication-Token | string | Yes | Your authentication token |
Name | Type | Required | Description |
---|---|---|---|
callId | id | Yes | Id of the call. Used in the URL like: /calls/1 |
HTTP 204 No Content
Name | Type | Required | Description |
---|---|---|---|
X-Access-Token | string | Yes | Your authentication token |
Name | Type | Required | Description |
---|---|---|---|
callId | id | Yes | Id of the call. Used in the URL like: /calls/1/receivers |
HTTP 200 OK
[{ 'accountId':'string or null', 'groupId':'string or null', 'firstName':'string, if receiver is account', 'lastName':'string, if receiver is account', 'phone':'string, if receiver is account', 'email':'string, if receiver is account', 'name':'string, if receiver is group', 'numberOfAccounts':'int, if receiver is group. null otherwise.', 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS' }, { 'accountId':'string or null', 'groupId':'string or null', 'firstName':'string, if receiver is account', 'lastName':'string, if receiver is account', 'phone':'string, if receiver is account', 'email':'string, if receiver is account', 'name':'string, if receiver is group', 'numberOfAccounts':'int, if receiver is group. null otherwise.', 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS' } ]
Name | Type | Required | Description |
---|---|---|---|
X-Access-Token | string | Yes | Your authentication token |
HTTP 200 OK
[{ 'clickToCallId': 'string', 'expiresAt': 'YYYY-MM-DD HH:MM:SS', 'activeFrom': 'HH:MM:SS', 'activeTo': 'HH:MM:SS', 'activeWeekdays': [ { 'weekday': 'monday', 'active': '1' }, { 'weekday': 'tuesday', 'active': '1' }, { 'weekday': 'wednesday', 'active': '1' }, { 'weekday': 'thursday', 'active': '1' }, { 'weekday': 'friday', 'active': '1' }, { 'weekday': 'saturday', 'active': '0' }, { 'weekday': 'sunday', 'active': '0' } ], 'voiceFileId': 'int', 'actionButtons': [ { 'button': '5', 'action': 'accept' }, { 'button': '9', 'action': 'decline' } ], 'receivers': [ { 'accountId': 'string or null', 'groupId': 'string or null', 'phone': 'string E.164 number', 'firsName': 'string', 'lastName': 'string', 'answered': 'int, 1 or 0', 'reply': 'string, accept, decline or noAnswer', 'callDuration': 'int', 'dialledCalls': 'int', 'latestCallAt': 'string, yyyy-mm-dd hh:mm:ss' } ], 'maxRedials': 'int', 'receiverWebhookUrl': 'http://example.com/webhook/', 'meta': { 'someparam': 'string', 'otherparam': 'string' }, 'stats': { 'totalDialedCalls': 'int', 'answeredCalls': 'int', 'totalDuration': 'int, seconds', 'acceptsReceived': 'int', 'acceptsDeclined': 'int', 'notAnsweredCalls': 'int' }, 'updatedAt':'YYYY-MM-DD HH:MM:SS', 'createdAt':'YYYY-MM-DD HH:MM:SS' }]
Name | Type | Required | Description |
---|---|---|---|
X-Access-Token | string | Yes | Your authentication token |
HTTP 200 OK
{ 'clickToCallId': 'string', 'expiresAt': 'YYYY-MM-DD HH:MM:SS', 'activeFrom': 'HH:MM:SS', 'activeTo': 'HH:MM:SS', 'activeWeekdays': [ { 'weekday': 'monday', 'active': '1' }, { 'weekday': 'tuesday', 'active': '1' }, { 'weekday': 'wednesday', 'active': '1' }, { 'weekday': 'thursday', 'active': '1' }, { 'weekday': 'friday', 'active': '1' }, { 'weekday': 'saturday', 'active': '0' }, { 'weekday': 'sunday', 'active': '0' } ], 'voiceFileId': 'int', 'actionButtons': [ { 'button': '5', 'action': 'accept' }, { 'button': '9', 'action': 'decline' } ], 'receivers': [ { 'accountId': 'string or null', 'groupId': 'string or null', 'phone': 'string E.164 number', 'firsName': 'string', 'lastName': 'string', 'answered': 'int, 1 or 0', 'reply': 'string, accept, decline or noAnswer', 'callDuration': 'int', 'dialledCalls': 'int', 'latestCallAt': 'string, yyyy-mm-dd hh:mm:ss' } ], 'maxRedials': 'int', 'receiverWebhookUrl': 'http://example.com/webhook/', 'meta': { 'someparam': 'string', 'otherparam': 'string' }, 'stats': { 'totalDialedCalls': 'int', 'answeredCalls': 'int', 'totalDuration': 'int, seconds', 'acceptsReceived': 'int', 'acceptsDeclined': 'int', 'notAnsweredCalls': 'int' }, 'updatedAt':'YYYY-MM-DD HH:MM:SS', 'createdAt':'YYYY-MM-DD HH:MM:SS' }
Name | Type | Required | Description |
---|---|---|---|
X-Access-Token | string | Yes | Your authentication token |
Name | Type | Required | Description |
---|---|---|---|
expiresAt | string | No | After this time, if the requester hasn't answered, calling is stopped. Default value is one week from now. Format: YYYY-MM-DD HH:MM:SS |
activeFrom | string | Yes | Time of day when the calls should start. Used with activeTo attribute to limit the calls time range in a day. Format: HH:MM:SS |
activeTo | string | Yes | Time of day when the calls should stop. Used with activeFrom attribute to limit the calls time range in a day. Format: HH:MM:SS |
activeWeekdays | JSON | Yes | Array of weekday-state pairs, defining on which day of the week calls can be made. In the example data calls are only made on working days. |
voiceFileId | JSON | Yes | Id of the voice file which is played during the call to the receiver |
actionButtons | JSON | Yes |
Array of action-button pairs, defining which key press on the phone is interpreted as accept or decline. Valid buttons: 0-9. Valid actions: accept and decline |
receivers | JSON | Yes | Array of receiver objects. Receiver can have either accountId, groupId or phone number in E.164 format. If phone number is given, the number is used to search for existing account which is used as the receiver. If no account is found, a new account is created with the given phone number. The receivers are called in the given order until one accepts the click to call. |
maxRedials | int | No | Number of redials to try if receiver haven't answered. Default is 3 |
receiverWebhookUrl | string | No | URL to send data about each invidual call. More info in the Receiver Webhook section |
meta | JSON | No | Client meta data, which is passed, as is, in the webhook body |
{ 'expiresAt': 'YYYY-MM-DD HH:MM:SS', 'activeFrom': 'HH:MM:SS', 'activeTo': 'HH:MM:SS', 'activeWeekdays': [ { 'weekday': 'monday', 'active': '1' }, { 'weekday': 'tuesday', 'active': '1' }, { 'weekday': 'wednesday', 'active': '1' }, { 'weekday': 'thursday', 'active': '1' }, { 'weekday': 'friday', 'active': '1' }, { 'weekday': 'saturday', 'active': '0' }, { 'weekday': 'sunday', 'active': '0' } ], 'voiceFileId': 'int', 'actionButtons': [ { 'button': '5', 'action': 'accept' }, { 'button': '9', 'action': 'decline' } ], 'receivers': [ { 'accountId': 'accountId or null', 'groupId': 'groupId or null', 'phone': 'E.164 number or null' } ], 'maxRedials': 'int', 'receiverWebhookUrl': 'http://example.com/webhook/', 'meta': { 'someparam': 'string', 'otherparam': 'string' } }
HTTP 201 Created
Location: http://url.to/the/created/resource
{ 'clickToCallId': 'string', 'expiresAt': 'YYYY-MM-DD HH:MM:SS', 'activeFrom': 'HH:MM:SS', 'activeTo': 'HH:MM:SS', 'activeWeekdays': [ { 'weekday': 'monday', 'active': '1' }, { 'weekday': 'tuesday', 'active': '1' }, { 'weekday': 'wednesday', 'active': '1' }, { 'weekday': 'thursday', 'active': '1' }, { 'weekday': 'friday', 'active': '1' }, { 'weekday': 'saturday', 'active': '0' }, { 'weekday': 'sunday', 'active': '0' } ], 'voiceFileId': 'int', 'actionButtons': [ { 'button': '5', 'action': 'accept' }, { 'button': '9', 'action': 'decline' } ], 'receivers': [ { 'accountId': 'string or null', 'groupId': 'string or null', 'phone': 'string E.164 number', 'firsName': 'string', 'lastName': 'string', 'answered': 'int, 1 or 0', 'reply': 'string, accept, decline or noAnswer', 'callDuration': 'int', 'dialledCalls': 'int', 'latestCallAt': 'string, yyyy-mm-dd hh:mm:ss' } ], 'maxRedials': 'int', 'receiverWebhookUrl': 'http://example.com/webhook/', 'meta': { 'someparam': 'string', 'otherparam': 'string' }, 'stats': { 'totalDialedCalls': 'int', 'answeredCalls': 'int', 'totalDuration': 'int, seconds', 'acceptsReceived': 'int', 'acceptsDeclined': 'int', 'notAnsweredCalls': 'int' }, 'updatedAt':'YYYY-MM-DD HH:MM:SS', 'createdAt':'YYYY-MM-DD HH:MM:SS' }
Name | Type | Required | Description |
---|---|---|---|
X-Authentication-Token | string | Yes | Your authentication token |
Name | Type | Required | Description |
---|---|---|---|
clickToCallId | id | Yes | Id of the call. Used in the URL like: /click_to_calls/1 |
HTTP 204 No Content
Name | Type | Required | Description |
---|---|---|---|
X-Access-Token | string | Yes | Your authentication token |
HTTP 200 OK
[{ 'emailId':'string', 'messageHtml':'string', 'messageText':'string', 'subject':'string', 'fromEmail':'string', 'fromName':'string', 'actionTime':'string, YYYY-MM-DD HH:MM:SS', 'priceEstimateInCents':'float', 'editable':'string, y or n', 'receivers':[{ 'receiverId': 'string', 'accountId': 'string', 'groupId': 'string', 'name': 'string', 'firstName': 'string', 'lastName': 'string', 'email': 'string', 'phone': 'string', 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS' } ], 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS' }, { 'emailId':'string', 'messageHtml':'string', 'messageText':'string', 'subject':'string', 'fromEmail':'string', 'fromName':'string', 'actionTime':'string, YYYY-MM-DD HH:MM:SS', 'priceEstimateInCents':'float', 'editable':'string, y or n', 'receivers':[{ 'receiverId': 'string', 'accountId': 'string', 'groupId': 'string', 'name': 'string', 'firstName': 'string', 'lastName': 'string', 'email': 'string', 'phone': 'string', 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS' } ], 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS' } ]
Name | Type | Required | Description |
---|---|---|---|
X-Access-Token | string | Yes | Your authentication token |
Name | Type | Required | Description |
---|---|---|---|
emailId | id | Yes | Id of the email. Used in the URL like: /emails/1 |
HTTP 200 OK
{ 'emailId':'string', 'messageHtml':'string', 'messageText':'string', 'subject':'string', 'fromEmail':'string', 'fromName':'string', 'actionTime':'string, YYYY-MM-DD HH:MM:SS', 'priceEstimateInCents':'float', 'editable':'string, y or n', 'receivers':[{ 'receiverId': 'string', 'accountId': 'string', 'groupId': 'string', 'name': 'string', 'firstName': 'string', 'lastName': 'string', 'email': 'string', 'phone': 'string', 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS' } ], 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS' }
Name | Type | Required | Description |
---|---|---|---|
X-Access-Token | string | Yes | Your authentication token |
{ 'messageHtml':'string', 'messageText':'string', 'subject':'string', 'fromEmail':'string', 'fromName':'string', 'actionTime':'string, YYYY-MM-DD HH:MM:SS', 'receivers':[{ 'accountId': 'string', 'groupId': 'string', 'email': 'string' } ] }
HTTP 201 Created
Location: http://url.to/the/created/resource
{ 'emailId':'string', 'messageHtml':'string', 'messageText':'string', 'subject':'string', 'fromEmail':'string', 'fromName':'string', 'actionTime':'string, YYYY-MM-DD HH:MM:SS', 'priceEstimateInCents':'float', 'editable':'string, y or n', 'receivers':[{ 'receiverId': 'string', 'accountId': 'string', 'groupId': 'string', 'name': 'string', 'firstName': 'string', 'lastName': 'string', 'email': 'string', 'phone': 'string', 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS' } ], 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS' }
Name | Type | Required | Description |
---|---|---|---|
X-Authentication-Token | string | Yes | Your authentication token |
{ 'messageHtml':'string', 'messageText':'string', 'subject':'string', 'fromEmail':'string', 'fromName':'string', 'actionTime':'string, YYYY-MM-DD HH:MM:SS', 'receivers':[{ 'accountId': 'string', 'groupId': 'string', 'email': 'string' } ] }
HTTP 200 OK
{ 'emailId':'string', 'messageHtml':'string', 'messageText':'string', 'subject':'string', 'fromEmail':'string', 'fromName':'string', 'actionTime':'string, YYYY-MM-DD HH:MM:SS', 'priceEstimateInCents':'float', 'editable':'string, y or n', 'receivers':[{ 'receiverId': 'string', 'accountId': 'string', 'groupId': 'string', 'name': 'string', 'firstName': 'string', 'lastName': 'string', 'email': 'string', 'phone': 'string', 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS' } ], 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS' }
Name | Type | Required | Description |
---|---|---|---|
X-Authentication-Token | string | Yes | Your authentication token |
Name | Type | Required | Description |
---|---|---|---|
emailId | id | Yes | Id of the email. Used in the URL like: /emails/1 |
HTTP 204 No Content
Name | Type | Required | Description |
---|---|---|---|
string | Yes | Registered email address | |
password | string | Yes | password |
{ 'email':'string', 'password':'string' }
HTTP 201 Created
{ 'authToken':'string' }
Name | Type | Required | Description |
---|---|---|---|
X-Access-Token | string | Yes | Your authentication token |
HTTP 200 OK
[{ 'rsvpCallId': 'string', 'state': 'waitingToActive, active, halt or complete', 'startTime': 'YYYY-MM-DD HH:MM:SS', 'endTime': 'YYYY-MM-DD HH:MM:SS', 'activeFrom': 'HH:MM:SS', 'activeTo': 'HH:MM:SS', 'activeWeekdays': [ { 'weekday': 'monday', 'active': '1' }, { 'weekday': 'tuesday', 'active': '1' }, { 'weekday': 'wednesday', 'active': '1' }, { 'weekday': 'thursday', 'active': '1' }, { 'weekday': 'friday', 'active': '1' }, { 'weekday': 'saturday', 'active': '0' }, { 'weekday': 'sunday', 'active': '0' } ], 'voiceFiles': [ { 'type': 'start', 'voiceFileId': 'string' }, { 'type': 'data', 'voiceFileId': 'string' }, { 'type': 'actionButtons', 'voiceFileId': 'string' }, { 'type': 'accept', 'voiceFileId': 'string' }, { 'type': 'end', 'voiceFileId': 'string' } ], 'actionButtons': [ { 'button': '5', 'action': 'accept' }, { 'button': '9', 'action': 'decline' } ], 'receivers': [ { 'accountId': 'string or null', 'groupId': 'string or null', 'phone': 'string E.164 number', 'firsName': 'string', 'lastName': 'string', 'answered': 'int, 1 or 0', 'rsvpReply': 'string, accept, decline or noAnswer', 'callDuration': 'int', 'dialledCalls': 'int', 'latestCallAt': 'string, yyyy-mm-dd hh:mm:ss' } ], 'acceptsWanted': 'int', 'maxRedials': 'int', 'receiverWebhookUrl': 'http://example.com/webhook/', 'stateWebhookUrl': 'http://example.com/webhook/', 'meta': { 'someparam': 'string', 'otherparam': 'string' }, 'stats': { 'totalDialedCalls': 'int', 'answeredCalls': 'int', 'totalDuration': 'int, seconds', 'acceptsReceived': 'int', 'declinesAndNoRepliesReceived': 'int', 'notAnsweredCalls': 'int' }, 'updatedAt':'YYYY-MM-DD HH:MM:SS', 'createdAt':'YYYY-MM-DD HH:MM:SS' }]
Name | Type | Required | Description |
---|---|---|---|
X-Access-Token | string | Yes | Your authentication token |
HTTP 200 OK
{ 'rsvpCallId': 'string', 'state': 'waitingToActive, active, halt or complete', 'startTime': 'YYYY-MM-DD HH:MM:SS', 'endTime': 'YYYY-MM-DD HH:MM:SS', 'activeFrom': 'HH:MM:SS', 'activeTo': 'HH:MM:SS', 'activeWeekdays': [ { 'weekday': 'monday', 'active': '1' }, { 'weekday': 'tuesday', 'active': '1' }, { 'weekday': 'wednesday', 'active': '1' }, { 'weekday': 'thursday', 'active': '1' }, { 'weekday': 'friday', 'active': '1' }, { 'weekday': 'saturday', 'active': '0' }, { 'weekday': 'sunday', 'active': '0' } ], 'voiceFiles': [ { 'type': 'start', 'voiceFileId': 'string' }, { 'type': 'data', 'voiceFileId': 'string' }, { 'type': 'actionButtons', 'voiceFileId': 'string' }, { 'type': 'accept', 'voiceFileId': 'string' }, { 'type': 'end', 'voiceFileId': 'string' } ], 'actionButtons': [ { 'button': '5', 'action': 'accept' }, { 'button': '9', 'action': 'decline' } ], 'receivers': [ { 'accountId': 'string or null', 'groupId': 'string or null', 'phone': 'string E.164 number', 'firsName': 'string', 'lastName': 'string', 'answered': 'int, 1 or 0', 'rsvpReply': 'string, accept, decline or noAnswer', 'callDuration': 'int', 'dialledCalls': 'int', 'latestCallAt': 'string, yyyy-mm-dd hh:mm:ss' } ], 'acceptsWanted': 'int', 'maxRedials': 'int', 'receiverWebhookUrl': 'http://example.com/webhook/', 'stateWebhookUrl': 'http://example.com/webhook/', 'meta': { 'someparam': 'string', 'otherparam': 'string' }, 'stats': { 'totalDialedCalls': 'int', 'answeredCalls': 'int', 'totalDuration': 'int, seconds', 'acceptsReceived': 'int', 'declinesAndNoRepliesReceived': 'int', 'notAnsweredCalls': 'int' }, 'updatedAt':'YYYY-MM-DD HH:MM:SS', 'createdAt':'YYYY-MM-DD HH:MM:SS' }
Name | Type | Required | Description |
---|---|---|---|
X-Access-Token | string | Yes | Your authentication token |
Name | Type | Required | Description |
---|---|---|---|
state | string | No | State parameter can be used to halt or resume the RSVP Calls. Possible values: active, halt |
startTime | string | No | Time to start calling the RSVP calls in UTC, if null, the call
will be made immediately. startTime over 1h in the past is not allowed. Format: YYYY-MM-DD HH:MM:SS |
endTime | string | Yes | Time to end calling the RSVP calls in UTC. After this time no more RSVP calls are made. Format: YYYY-MM-DD HH:MM:SS |
activeFrom | string | Yes | Time of day when the RSVP calls should start. Used with activeTo attribute to limit the calls time range in a day. Format: HH:MM:SS |
activeTo | string | Yes | Time of day when the RSVP calls should stop. Used with activeFrom attribute to limit the calls time range in a day. Format: HH:MM:SS |
activeWeekdays | JSON | Yes | Array of weekday-state pairs, defining on which day of the week calls can be made. In the example data calls are only made on working days. |
voiceFiles | JSON | Yes | Array of type-voiceFileId pairs, defining which audio file is played in what state of the call. Different voice file types in playing order:
|
actionButtons | JSON | Yes |
Array of action-button pairs, defining which key press on the phone is interpreted as accept or decline for the rsvp. Valid buttons: 0-9. Valid actions: accept and decline |
receivers | JSON | Yes | Array of receiver objects. Receiver can have either accountId, groupId or phone number in E.164 format. If phone number is given, the number is used to search for existing account which is used as the receiver. If no account is found, a new account is created with the given phone number. |
acceptsWanted | int | Yes | Target number of receivers who pressed accept button. Calling stops when amount of acceptsWanted is reached |
maxRedials | int | No | Number of redials to try if recipient haven't answered. Default is 3 |
receiverWebhookUrl | string | No | URL to send data about each invidual call. More info in the Receiver Webhook section |
stateWebhookUrl | string | No | URL to send data when the RSVP calls state change. More info in the State Webhook section |
meta | JSON | No | Client meta data, which is passed, as is, in the webhook body |
{ 'state': 'active or halt', 'startTime': 'YYYY-MM-DD HH:MM:SS', 'endTime': 'YYYY-MM-DD HH:MM:SS', 'activeFrom': 'HH:MM:SS', 'activeTo': 'HH:MM:SS', 'activeWeekdays': [ { 'weekday': 'monday', 'active': '1' }, { 'weekday': 'tuesday', 'active': '1' }, { 'weekday': 'wednesday', 'active': '1' }, { 'weekday': 'thursday', 'active': '1' }, { 'weekday': 'friday', 'active': '1' }, { 'weekday': 'saturday', 'active': '0' }, { 'weekday': 'sunday', 'active': '0' } ], 'voiceFiles': [ { 'type': 'start', 'voiceFileId': 'string' }, { 'type': 'data', 'voiceFileId': 'string' }, { 'type': 'actionButtons', 'voiceFileId': 'string' }, { 'type': 'accept', 'voiceFileId': 'string' }, { 'type': 'end', 'voiceFileId': 'string' } ], 'actionButtons': [ { 'button': '5', 'action': 'accept' }, { 'button': '9', 'action': 'decline' } ], 'receivers': [ { 'accountId': 'accountId or null', 'groupId': 'groupId or null', 'phone': 'E.164 number or null' } ], 'acceptsWanted': 'int', 'maxRedials': 'int', 'receiverWebhookUrl': 'http://example.com/webhook/', 'stateWebhookUrl': 'http://example.com/webhook/', 'meta': { 'someparam': 'string', 'otherparam': 'string' } }
HTTP 201 Created
Location: http://url.to/the/created/resource
{ 'rsvpCallId': 'string', 'state': 'waitingToActive, active, halt or complete', 'startTime': 'YYYY-MM-DD HH:MM:SS', 'endTime': 'YYYY-MM-DD HH:MM:SS', 'activeFrom': 'HH:MM:SS', 'activeTo': 'HH:MM:SS', 'activeWeekdays': [ { 'weekday': 'monday', 'active': '1' }, { 'weekday': 'tuesday', 'active': '1' }, { 'weekday': 'wednesday', 'active': '1' }, { 'weekday': 'thursday', 'active': '1' }, { 'weekday': 'friday', 'active': '1' }, { 'weekday': 'saturday', 'active': '0' }, { 'weekday': 'sunday', 'active': '0' } ], 'voiceFiles': [ { 'type': 'start', 'voiceFileId': 'string' }, { 'type': 'data', 'voiceFileId': 'string' }, { 'type': 'actionButtons', 'voiceFileId': 'string' }, { 'type': 'accept', 'voiceFileId': 'string' }, { 'type': 'end', 'voiceFileId': 'string' } ], 'actionButtons': [ { 'button': '5', 'action': 'accept' }, { 'button': '9', 'action': 'decline' } ], 'receivers': [ { 'accountId': 'string or null', 'groupId': 'string or null', 'phone': 'string E.164 number', 'firsName': 'string', 'lastName': 'string', 'answered': 'int, 1 or 0', 'rsvpReply': 'string, accept, decline or noAnswer', 'callDuration': 'int', 'dialledCalls': 'int', 'latestCallAt': 'string, yyyy-mm-dd hh:mm:ss' } ], 'acceptsWanted': 'int', 'maxRedials': 'int', 'receiverWebhookUrl': 'http://example.com/webhook/', 'stateWebhookUrl': 'http://example.com/webhook/', 'meta': { 'someparam': 'string', 'otherparam': 'string' }, 'stats': { 'totalDialedCalls': 'int', 'answeredCalls': 'int', 'totalDuration': 'int, seconds', 'acceptsReceived': 'int', 'declinesAndNoRepliesReceived': 'int', 'notAnsweredCalls': 'int' }, 'updatedAt':'YYYY-MM-DD HH:MM:SS', 'createdAt':'YYYY-MM-DD HH:MM:SS' }
Name | Type | Required | Description |
---|---|---|---|
X-Authentication-Token | string | Yes | Your authentication token |
Name | Type | Required | Description |
---|---|---|---|
rsvpCallId | string | Yes | Id of the RSVP call. Used in the URL like: /rsvp_calls/1 |
state | string | No | State parameter can be used to halt or resume the RSVP Calls. Updatable values: active, halt |
startTime | string | No | Time to start calling the RSVP calls in UTC, if null, the call
will be made immediately. startTime over 1h in the past is not allowed. Format: YYYY-MM-DD HH:MM:SS |
endTime | string | Yes | Time to end calling the RSVP calls in UTC. After this time no more RSVP calls are made. Format: YYYY-MM-DD HH:MM:SS |
activeFrom | string | Yes | Time of day when the RSVP calls should start. Used with activeTo attribute to limit the calls time range in a day. Format: HH:MM:SS |
activeTo | string | Yes | Time of day when the RSVP calls should stop. Used with activeFrom attribute to limit the calls time range in a day. Format: HH:MM:SS |
activeWeekdays | JSON | Yes | Array of weekday-state pairs, defining on which day of the week calls can be made. In the example data calls are only made on working days. |
voiceFiles | JSON | Yes | Array of type-voiceFileId pairs, defining which audio file is played in what state of the call. Different voice file types in playing order:
|
actionButtons | JSON | Yes |
Array of action-button pairs, defining which key press on the phone is interpreted as accept or decline for the rsvp. Valid buttons: 0-9. Valid actions: accept and decline |
acceptsWanted | int | Yes | Target number of receivers who pressed accept button. Calling stops when amount of acceptsWanted is reached |
maxRedials | int | No | Number of redials to try if recipient haven't answered. Default is 3 |
receiverWebhookUrl | string | No | URL to send data about each invidual call. More info in the Receiver Webhook section |
stateWebhookUrl | string | No | URL to send data when the RSVP calls state change. More info in the State Webhook section |
meta | JSON | No | Client meta data, which is passed, as is, in the webhook body |
{ 'state': 'active or halt', 'startTime': 'YYYY-MM-DD HH:MM:SS', 'endTime': 'YYYY-MM-DD HH:MM:SS', 'activeFrom': 'HH:MM:SS', 'activeTo': 'HH:MM:SS', 'activeWeekdays': [ { 'weekday': 'monday', 'active': '1' }, { 'weekday': 'tuesday', 'active': '1' }, { 'weekday': 'wednesday', 'active': '1' }, { 'weekday': 'thursday', 'active': '1' }, { 'weekday': 'friday', 'active': '1' }, { 'weekday': 'saturday', 'active': '0' }, { 'weekday': 'sunday', 'active': '0' } ], 'voiceFiles': [ { 'type': 'start', 'voiceFileId': 'string' }, { 'type': 'data', 'voiceFileId': 'string' }, { 'type': 'actionButtons', 'voiceFileId': 'string' }, { 'type': 'accept', 'voiceFileId': 'string' }, { 'type': 'end', 'voiceFileId': 'string' } ], 'actionbuttons': [ { 'button': '5', 'action': 'accept' }, { 'button': '9', 'action': 'decline' } ], 'acceptsWanted': 'int', 'maxRedials': 'int', 'receiverWebhookUrl': 'http://example.com/webhook/', 'stateWebhookUrl': 'http://example.com/webhook/', 'meta': { 'someparam': 'string', 'otherparam': 'string' } }
HTTP 200 OK
{ 'rsvpCallId': 'string', 'state': 'waitingToActive, active, halt or complete', 'startTime': 'YYYY-MM-DD HH:MM:SS', 'endTime': 'YYYY-MM-DD HH:MM:SS', 'activeFrom': 'HH:MM:SS', 'activeTo': 'HH:MM:SS', 'activeWeekdays': [ { 'weekday': 'monday', 'active': '1' }, { 'weekday': 'tuesday', 'active': '1' }, { 'weekday': 'wednesday', 'active': '1' }, { 'weekday': 'thursday', 'active': '1' }, { 'weekday': 'friday', 'active': '1' }, { 'weekday': 'saturday', 'active': '0' }, { 'weekday': 'sunday', 'active': '0' } ], 'voiceFiles': [ { 'type': 'start', 'voiceFileId': 'string' }, { 'type': 'data', 'voiceFileId': 'string' }, { 'type': 'actionButtons', 'voiceFileId': 'string' }, { 'type': 'accept', 'voiceFileId': 'string' }, { 'type': 'end', 'voiceFileId': 'string' } ], 'actionButtons': [ { 'button': '5', 'action': 'accept' }, { 'button': '9', 'action': 'decline' } ], 'receivers': [ { 'accountId': 'string or null', 'groupId': 'string or null', 'phone': 'string E.164 number', 'firsName': 'string', 'lastName': 'string', 'answered': 'int, 1 or 0', 'rsvpReply': 'string, accept, decline or noAnswer', 'callDuration': 'int', 'dialledCalls': 'int', 'latestCallAt': 'string, yyyy-mm-dd hh:mm:ss' } ], 'acceptsWanted': 'int', 'maxRedials': 'int', 'receiverWebhookUrl': 'http://example.com/webhook/', 'stateWebhookUrl': 'http://example.com/webhook/', 'meta': { 'someparam': 'string', 'otherparam': 'string' }, 'stats': { 'totalDialedCalls': 'int', 'answeredCalls': 'int', 'totalDuration': 'int, seconds', 'acceptsReceived': 'int', 'declinesAndNoRepliesReceived': 'int', 'notAnsweredCalls': 'int' }, 'updatedAt':'YYYY-MM-DD HH:MM:SS', 'createdAt':'YYYY-MM-DD HH:MM:SS' }
Name | Type | Required | Description |
---|---|---|---|
X-Authentication-Token | string | Yes | Your authentication token |
Name | Type | Required | Description |
---|---|---|---|
rsvpCallId | id | Yes | Id of the call. Used in the URL like: /rsvp_calls/1 |
HTTP 204 No Content
Name | Type | Required | Description |
---|---|---|---|
X-Access-Token | string | Yes | Your authentication token |
[ { 'accountId': 'accountId or null', 'groupId': 'groupId or null', 'phone': 'E.164 number or null' } ]
HTTP 201 Created
Location: http://url.to/the/created/resource
[ { 'accountId': 'string or null', 'groupId': 'string or null', 'phone': 'string E.164 number', 'firsName': 'string', 'lastName': 'string', 'answered': 'int, 1 or 0', 'rsvpReply': 'string, accept, decline or noAnswer', 'callDuration': 'int', 'totalDialledCalls': 'int', 'latestCallAt': 'string, yyyy-mm-dd hh:mm:ss' } ], 'updatedAt':'YYYY-MM-DD HH:MM:SS', 'createdAt':'YYYY-MM-DD HH:MM:SS' }
Name | Type | Required | Description |
---|---|---|---|
X-Access-Token | string | Yes | Your authentication token |
Name | Type | Required | Description |
---|---|---|---|
dialedCalls | int | No | Number of dialed calls |
answeredCalls | int | No | Number of answered calls |
totalDuration | int | No | Total duration of answered calls in seconds |
acceptsReceived | int | No | Number of accepts received |
HTTP 200 OK
{ 'totalDialedCalls': 'int', 'answeredCalls': 'int', 'totalDuration': 'int, seconds', 'acceptsReceived': 'int' }
Name | Type | Required | Description |
---|---|---|---|
X-Access-Token | string | Yes | Your authentication token |
Name | Type | Required | Description |
---|---|---|---|
accountId | int | No | AcountId of the receiver |
phoneNumber | int | No | Phone number of the receiver in E.164 format |
answered | int | No | Was
the call answered after maxRedials were reached. Possible values: 1 or 0 |
rsvpReply | int | No | Reply the receiver gave to the rsvp. Possible values: accept, decline or noReply |
callDuration | int | No | Duration of the call in seconds |
dialedCalls | int | No | Number of calls made to contact the person. |
latestCallAt | int | No | Time when the latest call was made |
HTTP 200 OK
[ { 'accountId': 'string', 'answered': 'int, 1 or 0', 'rsvpReply': 'string, accept, decline, noReply', 'callDuration': 'int', 'latestCallAt':'YYYY-MM-DD HH:MM:SS' }, { 'accountId': 'string', 'answered': 'int, 1 or 0', 'rsvpReply': 'string, accept, decline, noReply', 'callDuration': 'int', 'latestCallAt':'YYYY-MM-DD HH:MM:SS' } ]
Name | Type | Required | Description |
---|---|---|---|
X-Access-Token | string | Yes | Your authentication token |
Name | Type | Required | Description |
---|---|---|---|
smsId | id | Yes | Id of the sms. Used in the URL like: /smses/1/receivers |
HTTP 200 OK
[{ 'accountId':'string or null', 'groupId':'string or null', 'firstName':'string, if receiver is account', 'lastName':'string, if receiver is account', 'phone':'string, if receiver is account', 'email':'string, if receiver is account', 'name':'string, if receiver is group', 'numberOfAccounts':'int, if receiver is group. null otherwise.', 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS' }, { 'accountId':'string or null', 'groupId':'string or null', 'firstName':'string, if receiver is account', 'lastName':'string, if receiver is account', 'phone':'string, if receiver is account', 'email':'string, if receiver is account', 'name':'string, if receiver is group', 'numberOfAccounts':'int, if receiver is group. null otherwise.', 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS' } ]
Name | Type | Required | Description |
---|---|---|---|
X-Access-Token | string | Yes | Your authentication token |
HTTP 200 OK
[{ 'smsId':'int', 'message':'string', 'sender':'string', 'actionTime':'string, YYYY-MM-DD HH:MM:SS', 'priceEstimateInCents':'float', 'editable':'string, y or n', 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS' }, { 'smsId':'int', 'message':'string', 'sender':'string', 'actionTime':'string, YYYY-MM-DD HH:MM:SS', 'priceEstimateInCents':'float', 'editable':'string, y or n', 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS' } ]
Name | Type | Required | Description |
---|---|---|---|
X-Access-Token | string | Yes | Your authentication token |
Name | Type | Required | Description |
---|---|---|---|
smsId | id | Yes | Id of the sms. Used in the URL like: /smses/1 |
HTTP 200 OK
{ 'smsId':'string', 'message':'string', 'sender':'string', 'actionTime':'string, YYYY-MM-DD HH:MM:SS', 'priceEstimateInCents':'float', 'editable':'string, y or n', 'receivers':[{ 'receiverId': 'string', 'accountId': 'string', 'groupId': 'string', 'name': 'string', 'firstName': 'string', 'lastName': 'string', 'email': 'string', 'phone': 'string', 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS' } ], 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS' }
Name | Type | Required | Description |
---|---|---|---|
X-Access-Token | string | Yes | Your authentication token |
{ 'message':'string', 'sender':'string', 'actionTime':'string, YYYY-MM-DD HH:MM:SS', 'receivers':[{ 'accountId': 'string', 'groupId': 'string', 'phone': 'string' } ] }
HTTP 201 Created
Location: http://url.to/the/created/resource
{ 'smsId':'string', 'message':'string', 'sender':'string', 'actionTime':'string, YYYY-MM-DD HH:MM:SS', 'priceEstimateInCents':'float', 'editable':'string, y or n', 'receivers':[{ 'receiverId': 'string', 'accountId': 'string', 'groupId': 'string', 'name': 'string', 'firstName': 'string', 'lastName': 'string', 'email': 'string', 'phone': 'string', 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS' } ], 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS' }
Name | Type | Required | Description |
---|---|---|---|
X-Authentication-Token | string | Yes | Your authentication token |
{ 'message':'string', 'sender':'string', 'actionTime':'string, YYYY-MM-DD HH:MM:SS', 'receivers':[{ 'accountId': 'string', 'groupId': 'string', 'phone': 'string' } ] }
HTTP 200 OK
{ 'smsId':'string', 'message':'string', 'sender':'string', 'actionTime':'string, YYYY-MM-DD HH:MM:SS', 'priceEstimateInCents':'float', 'editable':'string, y or n', 'receivers':[{ 'receiverId': 'string', 'accountId': 'string', 'groupId': 'string', 'name': 'string', 'firstName': 'string', 'lastName': 'string', 'email': 'string', 'phone': 'string', 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS' } ], 'updatedAt':'string, YYYY-MM-DD HH:MM:SS', 'createdAt':'string, YYYY-MM-DD HH:MM:SS' }
Name | Type | Required | Description |
---|---|---|---|
X-Authentication-Token | string | Yes | Your authentication token |
Name | Type | Required | Description |
---|---|---|---|
smsId | id | Yes | Id of the sms. Used in the URL like: /smses/1 |
HTTP 204 No Content
Name | Type | Required | Description |
---|---|---|---|
X-Access-Token | string | Yes | Your authentication token |
HTTP 200 OK
[{ 'subuserId':'int', 'username':'string', 'email':'string', 'firstName':'string', 'lastName':'string', 'company':'string', 'authToken':'string', 'phone':'string', 'updatedAt':'YYYY-MM-DD HH:MM:SS', 'createdAt':'YYYY-MM-DD HH:MM:SS' }, { 'subuserId':'int', 'username':'string', 'email':'string', 'firstName':'string', 'lastName':'string', 'company':'string', 'authToken':'string', 'phone':'string', 'updatedAt':'YYYY-MM-DD HH:MM:SS', 'createdAt':'YYYY-MM-DD HH:MM:SS' } ]
Name | Type | Required | Description |
---|---|---|---|
X-Access-Token | string | Yes | Your authentication token |
Name | Type | Required | Description |
---|---|---|---|
subuserId | id | Yes | Id of the subuser. Used in the URL like: /subusers/1 |
HTTP 200 OK
{ 'subuserId':'int', 'username':'string', 'email':'string', 'firstName':'string', 'lastName':'string', 'company':'string', 'authToken':'string', 'phone':'string', 'updatedAt':'YYYY-MM-DD HH:MM:SS', 'createdAt':'YYYY-MM-DD HH:MM:SS' }
Name | Type | Required | Description |
---|---|---|---|
X-Access-Token | string | Yes | Your authentication token |
HTTP 201 Created
Location: http://url.to/the/created/resource
{ 'subuserId':'int', 'username':'string', 'email':'string', 'firstName':'string', 'lastName':'string', 'company':'string', 'authToken':'string', 'phone':'string', 'updatedAt':'YYYY-MM-DD HH:MM:SS', 'createdAt':'YYYY-MM-DD HH:MM:SS' }
Name | Type | Required | Description |
---|---|---|---|
X-Authentication-Token | string | Yes | Your authentication token |
HTTP 200 OK
{ 'subuserId':'int', 'username':'string', 'email':'string', 'firstName':'string', 'lastName':'string', 'company':'string', 'authToken':'string', 'phone':'string', 'updatedAt':'YYYY-MM-DD HH:MM:SS', 'createdAt':'YYYY-MM-DD HH:MM:SS' }
Name | Type | Required | Description |
---|---|---|---|
X-Authentication-Token | string | Yes | Your authentication token |
Name | Type | Required | Description |
---|---|---|---|
subuserId | id | Yes | Id of the subuser. Used in the URL like: /subusers/1/accounts |
HTTP 204 No Content
Name | Type | Required | Description |
---|---|---|---|
X-Access-Token | string | Yes | Your authentication token |
Name | Type | Required | Description |
---|---|---|---|
voiceFileId | string | No | Id of the voice file. |
name | string | No | Name of the voice file |
description | string | No | Description of the voice file |
url | string | Yes | URL to the orignal file |
mp3Url | string | Yes | URL to the mp3 version of the file |
wavUrl | string | Yes | URL to the wav version of the file |
duration | string | Yes | Duration of the voice file in seconds |
status | string | Yes | Status of the voice file. Only voice files with status ready can be used |
text | string | Yes | Text which is used to convert the text to speech |
voiceCode | string | Yes | Voice which was used to create the voice file |
HTTP 200 OK
[{ 'voiceFileId':'string', 'name':'string', 'description':'string', 'url':'string', 'mp3Url':'string', 'wavUrl':'string', 'duration':'int, seconds', 'status':'string, pending|ready|failed', 'text':'string', 'voiceCode':'string', 'updatedAt':'YYYY-MM-DD HH:MM:SS', 'createdAt':'YYYY-MM-DD HH:MM:SS' }, { 'voiceFileId':'string', 'name':'string', 'description':'string', 'url':'string', 'mp3Url':'string', 'wavUrl':'string', 'duration':'int, seconds', 'status':'string, pending|ready|failed', 'text':'string', 'voiceCode':'string', 'updatedAt':'YYYY-MM-DD HH:MM:SS', 'createdAt':'YYYY-MM-DD HH:MM:SS' } ]
Name | Type | Required | Description |
---|---|---|---|
X-Access-Token | string | Yes | Your authentication token |
Name | Type | Required | Description |
---|---|---|---|
voiceFileId | id | Yes | Id of the voice file. Used in the URL like: /voice_files/1 |
name | string | No | Name of the voice file |
description | string | No | Description of the voice file |
url | string | Yes | URL to the orignal file |
mp3Url | string | Yes | URL to the mp3 version of the file |
wavUrl | string | Yes | URL to the wav version of the file |
duration | string | Yes | Duration of the voice file in seconds |
status | string | Yes | Status of the voice file. Only voice files with status ready can be used |
text | string | Yes | Text which is used to convert the text to speech |
voiceCode | string | Yes | Voice which was used to create the voice file |
HTTP 200 OK
{ 'voiceFileId':'string', 'name':'string', 'description':'string', 'url':'string', 'mp3Url':'string', 'wavUrl':'string', 'duration':'int, seconds', 'status':'string, pending|ready|failed', 'text':'string', 'voiceCode':'string, en|fi', 'updatedAt':'YYYY-MM-DD HH:MM:SS', 'createdAt':'YYYY-MM-DD HH:MM:SS' }
Name | Type | Required | Description |
---|---|---|---|
X-Access-Token | string | Yes | Your authentication token |
Name | Type | Required | Description |
---|---|---|---|
voiceCode | string | No | The voice code |
description | string | No | Description of the voice code |
HTTP 200 OK
[{ 'voiceCode':'string', 'description':'string', 'updatedAt':'YYYY-MM-DD HH:MM:SS', 'createdAt':'YYYY-MM-DD HH:MM:SS' }, { 'voiceCode':'string', 'description':'string', 'updatedAt':'YYYY-MM-DD HH:MM:SS', 'createdAt':'YYYY-MM-DD HH:MM:SS' } ]
Name | Type | Required | Description |
---|---|---|---|
name | string | Yes | Name of the voice file |
text | string | Yes | Text which is used to convert the text to speech. Maximum length is 80 words |
voiceCode | string | Yes | Voice Code defines the language and gender of the voice. Available voice codes can be fetched from the /voice_files/text_to_speech/voice_codes endpoint |
{ 'name':'string', 'text':'string', 'voiceCode':'string' }
HTTP 201 Created
Location: http://url.to/the/created/resource
{ 'voiceFileId':'string', 'name':'string', 'description':'string', 'url':'string', 'mp3Url':'string', 'wavUrl':'string', 'duration':'int, seconds', 'status':'string, pending|ready|failed', 'text':'string', 'voiceCode':'string', 'updatedAt':'YYYY-MM-DD HH:MM:SS', 'createdAt':'YYYY-MM-DD HH:MM:SS' }
Name | Type | Required | Description |
---|---|---|---|
Content-Type: | multipart/form-data | Yes |
{ 'files':'path-to-file' }
HTTP 201 Created
Location: http://url.to/the/created/resource
{'files': [ { 'voiceFileId':'string', 'name':'string', 'description':'string', 'duration':'int, seconds', 'fileName':'string', 'url':'string', 'mp3Url':'string', 'wavUrl':'string', 'size':'string', 'status':'string, pending|ready|failed', 'updatedAt':'YYYY-MM-DD HH:MM:SS', 'createdAt':'YYYY-MM-DD HH:MM:SS' } ]}
Name | Type | Required | Description |
---|---|---|---|
X-Access-Token | string | Yes | Your authentication token |
Name | Type | Required | Description |
---|---|---|---|
voiceFileId | id | Yes | Id of the voice file. Used in the URL like: /voice_files/1 |
name | JSON | Yes | Name of the voice file |
description | JSON | Yes | Description of the voice file |
{ 'name':'string', 'description':'string' }
HTTP 200 OK
{ 'voiceFileId':'string', 'name':'string', 'description':'string', 'url':'string', 'mp3Url':'string', 'wavUrl':'string', 'duration':'int, seconds', 'status':'string, pending|ready|failed', 'text':'string', 'voiceCode':'string', 'updatedAt':'YYYY-MM-DD HH:MM:SS', 'createdAt':'YYYY-MM-DD HH:MM:SS' }
Name | Type | Required | Description |
---|---|---|---|
X-Access-Token | string | Yes | Your authentication token |
Name | Type | Required | Description |
---|---|---|---|
voiceFileId | id | Yes | Id of the voice file. Used in the URL like: /voice_files/1 |
HTTP 204 No Content