Sign in
Sign up
Reference Visual Designer Tutorials
    • API Overview
      • API Endpoint
      • Authentication
      • Requests
      • Responses
      • Paging
      • Reason Codes Dictionary
    • Management APIs
      • Accounts
        • Retrieve Account
        • Create Account
        • Update Account
        • Delete Account
        • Account Roles
      • Tags
        • Create Tag
        • Update Tag
        • Get Tag list
        • Retrieve Tag
        • Delete Tag
      • Profiles
        • Create Profile
        • Update Profile
        • Unlink a Profile from an Account
        • Link a Profile to an Organization
        • Unlink a Profile to an Organization
        • Get Profiles List
        • Paging
        • Filtering & Profile Document Inclusion
        • Get Profile Details
        • Get Profile Relationship
        • Get Account Relationship
        • Delete Profile
      • Applications
      • Clients
        • Create a Client
        • Delete a Client
        • Change Client’s Password
        • Get a List of Available Clients
      • Incoming Phone Numbers
        • IncomingPhoneNumber Instance Resource
        • IncomingPhoneNumbers List Resource
        • Local IncomingPhoneNumber Factory Resource
        • Toll-Free IncomingPhoneNumber Factory Resource
        • Mobile IncomingPhoneNumber Factory Resource
        • Attach a phone number to an application
        • Delete a phone number
        • List of Phone Numbers
        • Incoming Phone Number Regex Support
      • Notifications
      • Usage Records
      • Audit Logs
    • Voice APIs
      • Calls
        • Call List Resource URI
        • Making a Call
        • Modifying Live Calls
        • Examples
        • List Filter
        • Paging Information
      • Outgoing Caller ID
      • Conference Management
        • Supported Operations
        • Conference List Resource URI
      • Conference Participants Management
        • Participants List Resource URI
      • Recordings
      • SIP Refer Support
    • SMS APIs
      • Outgoing Caller ID
      • Messages
        • Send SMS
        • Get SMS List
        • Get single SMS Information
        • SMS Attributes
      • Email
    • Turnkey Apps APIs
      • SMS for Microsoft Teams
        • Business Customer
        • Manage Mappings
        • Bot details
        • Messages
      • Smart 2FA
        • Sending One-Time Passwords
        • Verifying One-Time Passwords
        • Cancel One-Time Passwords
        • Session Detail Record (SDR)
        • Get list of One-Time Passwords
        • Get a Single One-Time Password
        • Usage Record One-Time Passwords
      • Message Exchange for Cisco UC-One
        • Create Operation
        • Read Operation
        • Update Operation
        • Delete Operation
        • Error Codes
      • Message Exchange for Cisco Webex Teams
        • Create Operation
        • Read Operation
        • Update Operation
        • Delete Operation
      • Call Queuing
        • Create Queue
        • Queue RCML
        • Enqueue RCML
      • Auto Attendant
        • Enterprise
        • User
        • Announcement
        • Auto Attendant System
        • Menu
        • Schedule
        • Phone Number
        • HMAC Key
      • Number Masking
      • Task Router
        • Create Enterprise
        • Get a List of Enterprises
        • Get Single Enterprise
        • Delete Enterprise
        • Create User
        • Get a List of Users
        • Get a Single User
        • Update User
        • Delete user
      • Campaign Manager
        • Business Customers
          • Business Customer Status
          • Create Business Customer
          • Update Business Customer
          • Delete Business Customer
          • Get List of Business Customers
          • Get Single Business Customer
        • User
          • User Role and Status
          • Create User
          • Update User
          • Delete User
        • Get List of Users
        • Get Single User
        • Manage Credits
        • Create Credit
          • Get List of Credits
          • Get Single Credit
        • Campaign
          • Campaign Status
          • Get List of Campaigns
          • Get Single Campaign
    • RCML
      • Overview
        • Interacting with Your Application
        • RCML Verbs
      • Dial
        • Client
        • Conference
        • Number
        • SIP
      • Email
      • Gather
      • Say
        • SSML Reference
      • Play
      • SMS
      • Hangup
      • Pause
      • Redirect
      • Record
      • Reject
docs 1.0
  • docs
    • 1.0
  • docs
  • CSP:Turnkey Apps APIs
  • CSP:Campaign Manager

Campaign Manager

Intoduction

Telestax Campaign Manager allows Communications Providers to deliver SMS campaign management solutions to Business Customers. Communication Providers can manage credits and users with different roles and capabilities while enabling Business Customers to send the same SMS to a list of phone numbers. For more information, access the general documentation.

This document covers the API(s) that are available to Communications Providers, thus helping to manage Business Customers, Users, and Credits while keeping track of usage.

Business Customers

Communications Providers manage Business Customers. They can create, update, read, and delete Business Customer accounts. The logical grouping of Business Customer accounts under a Communications Provider helps in managing the billing and invoices for the Business Customers.

Business Customer Status

At any given point in time, Business Customers will have one of the following statuses:

  • ACTIVE: Can use campaign manager.

  • INACTIVE: Once Business Customer is marked as INACTIVE:

    • All Business Customer Users are marked as INACTIVE and in the Restcomm Platform too they are marked as INACTIVE

    • Campaigns that are in Scheduled state will be marked as Failed

    • Campaigns that are InProgress will be stopped and marked as Failed. If there are any SMS that are yet to be delivered will not be attempted

    • In any case, credit is not returned.

    • If status is changed from INACTIVE to ACTIVE, all users in Campaign Manager and Restcomm will be moved back to ACTIVE.

      • No change in Campaigns/Credits should happen.

  • CLOSED: Once CLOSED, status cannot be changed to INACTIVE or ACTIVE.

    • Business Customer users are CLOSED in the Restcomm Platform too.

    • Campaigns that are in Scheduled state will be marked as Failed

    • Campaigns that are InProgress will be stopped and marked as Failed. If there are any SMS that are yet to be delivered will also fail.

    • In any case, credit is not returned.

Eventually once CLOSED all resources associated with Business Customers will be Deleted. However as of today resources are still kept in the database.

The following diagram shows the state transition.

enterprise status

Create Business Customer

This endpoint will be used to create a Business Customer in the Campaign Manager application. Create Business Customer will add unique Business Customer names for given Communications Providers.

Base Resource URI

https://your_custom_domain.com

Create Business Customer Resource URI

/campaignmanager/enterprises

Supported Operations

HTTP POST: Create Business Customer

Request Parameters

Parameter Description

enterpriseAdmin

Business Customer User data explained in the table below that will be assigned as the admin of this business customer.A subaccount will be created on Restcomm with these values.

name

Mandatory name of Business Customer. Name must be unique within a given Communication Provider Organisation.

configuration

Optional. Represents SMS/sec throttling assigned to the Business Customer. If not passed, the default is to use maximum throttling available at a given point of time. Configuration should be passed as JSON String body like below "configuration": "{\"campaignManager\": {\"throttle\": \"10\"}}"

status

Optional. Status of the Business Customer. Default value is ACTIVE. Possible values are ACTIVE and INACTIVE

When a Business Customer is added, that account will have 0 credits. Please review the Manage Credits section to manage credits for Business Customers.
Business Customer Admin Parameters
Business Customer Admin data Parameter Description

password

Business Customer Admin password

name

Friendly name of the Business Customer admin

emailId

Business Customer’s Admin User email ID

If a new Sub Account being added is already present in Restcomm Core, that Sub Account will now have access to Campaign Manager, however the password will not be changed.

Response Body

The Response Body will carry Code, corresponding message, and data of the Business Customer if it was successfully created. HTTP response will be 201 Created (OK).

The response returned is the JSON body as shown in the example below. Parameters are listed below.

Parameter Description

data

Business Customer data as explained in the Data Parameter below.

code

Sub-error code for response

message

Message describing error if error occurred or success message

Data Parameter
Data Parameter Description

enterpriseAdminSid

Restcomm Account SID created under Restcomm for Business Customer Admin user.

sid

Unique Business Customer ID.

accountEmail

Unique Restcomm Account that created the Business Customer.

dateCreated

Timestamp when this Business Customer was created.

dateUpdated

Timestamp when this Business Customer was updated.

name

Name of this Business Customer.

uri

Unique URI that you can call to get only this specific Business Customer.

credit

Credit associated with the Business Customer.

configuration

Configuration for the Business Customer. As of today only throttle is supported which is SMS/sec.

status

Status of the Business Customer as explained in Business Customer Status section.

enterpriseAdminEmail

Email ID of Business Customer Admin.

Create Business Customer API can also return an Error Code and corresponding HTTP Error as mentioned in Common Response Error Code. In addition, the following Errors can be returned.

Error Code HTTP Status Error Message Description Category

5000

400

Error in creating subaccount on Restcomm

If any error occurs on the Restcomm side. Error messages from Restcomm will be passed if available.

Create Business Customer, Update Business Customer

4050

409

Enterprise name not unique

Business Customer name already exists in the database

Create Business Customer, Update Business Customer

4001

400

User not unique

User already exists

Create Business Customer, Update Business Customer

Example

{
   "name":"Test Enterprise 7",
   "configuration":"{\"campaignManager\": {\"throttle\": \"10\"}}",
   "enterpriseAdmin":{
      "emailId":"EntpUser1@testent7.com",
      "password":"Telestax@123",
      "name":"Test Ent7 User1"
   }
}

From the bash terminal you can run the command below:

curl -X POST \
  https://yourdomain.com/campaignmanager/enterprises \
--user  ' {your_account_SID}:{your_account_token}' \
  -H 'Cache-Control: no-cache' \
  -H 'Content-Type: application/json' \
  -d '{
       "name": "Test Enterprise 7",
    "configuration": "{\"campaignManager\": {\"throttle\": \"10\"}}",
    "enterpriseAdmin": {
        "emailId": "EntpUser1@testent7.com",
        "password": "Telestax@123",
        "name": "Test Ent7 User1"
}’

If creation of Business Customer is successful, below is the response returned:

{
   "data":{
      "sid":"ENd32f9955825543d5a7e4d1bdb9f56b5b",
      "dateUpdated":"2020-09-11T05:23:32+0000",
      "dateCreated":"2020-09-11T05:19:55+0000",
      "accountSid":"ACb06dc1c0b555df46a02ccaea1cb11bc1",
      "accountEmail":"cspadmin1@nmorgtest1.com",
      "uri":"/campaignmanager/enterprises/search/ENd32f9955825543d5a7e4d1bdb9f56b5b",
      "name":"Test Enterprise 7",
      "credit":0,
      "configuration":"{\"campaignManager\": {\"throttle\": \"10\"}}",
      "status":"ACTIVE",
      "enterpriseAdminSid":"RCS7e9130b1534e45ca96c5a840fd47e645",
      "enterpriseAdminEmail":"EntpUser1@testent7.com"
   },
   "code":200,
   "message":"OK"
}

If creation fails, below response is returned with corresponding HTTP Error Code

{
   "code":4050,
   "message":"Enterprise name not unique",
   "data":{
      "name":"Test Enterprise 7",
      "configuration":"{\"campaignManager\": {\"throttle\": \"10\"}}",
      "enterpriseAdmin":{
         "emailId":"EntpUser1@testent7.com",
         "password":"Telestax@123",
         "name":"Test Ent7 User1"
      }
   }
}

Update Business Customer

This endpoint will be used to update a existing Business Customer.

Base Resource URI

https://your_custom_domain.com

Update Business Customer Resource URI

/campaignmanager/enterprises/{enterpriseSid}

Supported Operations

HTTP PUT: Create Business Customer

Request Parameters

Parameter Description

status

Status of Business Customer can be updated either to ACTIVE or INACTIVE

name

MOptional name of Business Customer. Names must be unique within a given Communication Provider Organisation.

configuration

Optional. SMS/sec throttling assigned to the Business Customer. If not passed or 0, the default is to use maximum throttling available at a given point of time. Configuration should be passed as JSON String body like below "configuration": "{\"campaignManager\": {\"throttle\": \"10\"}}"

Response Body

The response body will contain code, corresponding message and data of Business Customer if it was successfully updated. The HTTP response will be 201 Created (OK).

The response returned is the JSON body as shown in the example below. All parameters are listed below.

Parameter Description

data

Business Customer data as explained in the Data Parameter of Create Business Customer.

code

Sub-error code for response

message

Message describing error if error occurred or success message

Update Business Customer API can also return an Error Code and corresponding HTTP Error as mentioned in Common Response Error Code. In addition, the following are the Errors that it can return.

Error Code HTTP Status Error Message Description Category

4051

409

Enterprise not found

Business Customer Id not found

Update Business Customer, Delete Business Customer

4050

409

Enterprise name not unique

Business Customer name already exists in database

Create Business Customer, Update Business Customer

Example

{
    "configuration": "{\"campaignManager\": {\"throttle\": \"2\"}}"
}

From the bash terminal you can run the command below:

curl -X PUT \
  https://yourdomain.com/campaignmanager/enterprises/ENb6eb071d21124dbab20b095c25f1274f  \
--user  ' {your_account_SID}:{your_account_token}' \
  -H 'Cache-Control: no-cache' \
  -H 'Content-Type: application/json' \
  -d '{
         "configuration": "{\"campaignManager\": {\"throttle\": \"2\"}}"
}’

If creation of Business Customer is successful, below is the response returned:

{
   "data":{
      "sid":"ENb6eb071d21124dbab20b095c25f1274f",
      "dateUpdated":"2020-09-11T05:23:32+0000",
      "dateCreated":"2020-09-11T05:19:55+0000",
      "accountSid":"ACb06dc1c0b555df46a02ccaea1cb11bc1",
      "accountEmail":"cspadmin1@nmorgtest1.com",
      "uri":"/campaignmanager/enterprises/search/ENb6eb071d21124dbab20b095c25f1274f",
      "name":"Test Enterprise 7",
      "credit":0,
      "configuration":"{\"campaignManager\": {\"throttle\": \"2\"}}",
      "status":"ACTIVE",
      "enterpriseAdminSid":"RCS7e9130b1534e45ca96c5a840fd47e645",
      "enterpriseAdminEmail":"EntpUser1@testent7.com"
   },
   "code":200,
   "message":"OK"
}

If update fails, below response is returned with corresponding HTTP Error Code

{
  "code":4050,
  "message":"Enterprise name not unique",
   “data”:{
      "name": "Test Enterprise 7"
  }
}

Delete Business Customer

This endpoint will be used to delete an existing Business Customer.

Base Resource URI

https://your_custom_domain.com

Delete Business Customer Resource URI

/campaignmanager/enterprises/{enterpriseSid}

Supported Operations

HTTP Delete: Delete Business Customer

Request Parameters

Parameter Description

enterpriseSid

SID to uniquely identify a Business Customer

Deleting a Business Customer will mark status as CLOSED.

Response Body

Response Body will carry Code, corresponding message, and data of the Business Customer account if it was successfully deleted. HTTP response will be 200 OK.

The response returned is the JSON body as shown in the example below. All parameters are listed below.

Parameter Description

data

Business Customer data as explained in the Data Parameter of Create Business Customer

code

Sub-error code for response

message

Message describing error if error occurred or success message

Delete Business Customer API can also return an Error Code and corresponding HTTP Error as mentioned in Common Response Error Code. In addition, the following are the Errors that it can return.

Error Code HTTP Status Error Message Description Category

4051

409

Enterprise not found

Business Customer Id not found

Update Business Customer, Delete Business Customer, Get Business Customer

Example

The bash terminal you can run the command below:

curl -X DELETE \
  https://yourdomain.com/numbermasking/enterprises/ENb6eb071d21124dbab20b095c25f1274f   \
--user  ' {your_account_SID}:{your_account_token}' \
  -H 'Cache-Control: no-cache' \
  -H 'Content-Type: application/json' \

If deletion of Business Customer is successful, below is the response returned:

{
   "data":{
      "sid":"ENd32f9955825543d5a7e4d1bdb9f56b5b",
      "dateUpdated":"2020-09-11T05:23:32+0000",
      "dateCreated":"2020-09-11T05:19:55+0000",
      "accountSid":"ACb06dc1c0b555df46a02ccaea1cb11bc1",
      "accountEmail":"cspadmin1@nmorgtest1.com",
      "uri":"/campaignmanager/enterprises/search/ENd32f9955825543d5a7e4d1bdb9f56b5b",
      "name":"Test Enterprise 7",
      "credit":0,
      "configuration":"{\"campaignManager\": {\"throttle\": \"2\"}}",
      "status":"ACTIVE",
      "enterpriseAdminSid":"RCS7e9130b1534e45ca96c5a840fd47e645",
      "enterpriseAdminEmail":"EntpUser1@testent7.com"
   },
   "code":200,
   "message":"OK"
}

If delete fails, below response is returned with corresponding HTTP Error Code

{
"code":4051,
"message":"Enterprise Not Found",
“data”:{
“sid” :” ENb6eb071d21124dbab20b095c25f1274f”
   }
}

Get List of Business Customers

This endpoint will be used to search a list of Business Customers.

Base Resource URI

https://your_custom_domain.com

Get List of Business Customer Resource URI

/campaignmanager/enterprises/search

Supported Operations

HTTP Get: Get Business Customer

Paging

The following paging parameters are supported

Query Parameter Description

pageSize

Number of records returned per page

page

Which page of Business Customer records to return, starting from 0.

If search API is called without page and pageSize, by default pageSize will be 10 and page will be 0 to avoid retrieving all data in a single API call.

Filtering

Following filtering parameters are supported:

Query Parameter Description

endTime

Optional parameter. Only show Business Customers that were created on this date/time or earlier, given as an ISO-8601 date/time string, like YYYY-MM-DDTHH:MM:SS (for example 2018-10-06T02:10:03) or, if you want to omit the time, YYYY-MM-DD (for example 2018-10-06). When only a date is provided the time is assumed to be at midnight of the given date. Note that the given date/time is inclusive and is assumed to be in UTC timezone.

name

Optional parameter. Only show Business Customers that match the name text, partially or fully.

Status

Optional parameter. Only show Business Customers that have this particular status.

startTime

Optional parameter. Only show Business Customers that were created on this date/time or later, given as an ISO-8601 date/time string, like YYYY-MM-DDTHH:MM:SS (for example 2018-10-05T22:45:32) or, if you want to omit the time, YYYY-MM-DD (for example 2018-10-05). When only a date is provided the time is assumed to be at midnight of the given date. Note: that the given date/time is inclusive and is assumed to be in UTC timezone.

Sorting Information

You can use the SortBy GET query parameter to determine which attribute you want to sort by and in which direction; direction can either be 'asc' for ascending and 'desc' for descending sort ordering. Here’s the overall format: SortBy=<sorting attribute>:<direction>. If no direction parameter is provided, then the listing of calls is sorted by the attribute in ascending order. You can sort by the attributes listed below:

Parameter Description

dateCreated

Sort by created date

name

Sort by name

Response Body

Response Body will carry Code, corresponding message, and data of the User if it was successfully fetched. HTTP response will be 200 OK.

The response returned is the JSON body as shown in the example below. Parameters are as explained below

Code Description

data

data of search as explained in Data parameters in create business customer

code

Sub-error code for response

message

Message describing error if error occured or success message

Error Code HTTP Status Error Message Description Category

4051

409

Enterprise not found

Business Customer SID doesn’t exist in the system

Update Business Customer, Delete Business Customer, Get Business Customer

Data Parameters

Data Parameter Description

result

Applications data as explained in Data Parameter

pageSize

Number of records returned per page.

total

Total Number of records

page

Which page of records to return.

numPages

Total number of pages

start

Starting offset of page

end

Ending offset of page

firstPageUri

Unique URI that you can call to get records in First page

nextPageUri

Unique URI that you can call to get records in next page

uri

Unique URI that you can call to get records

Example

From the bash terminal you can run the command below:

curl -X GET \
  https://yourdomain.com/campaignmanager/enterprise/search?name=Test Enterprise 7 \
--user  ' {your_account_SID}:{your_account_token}' \
  -H 'Cache-Control: no-cache' \
  -H 'Content-Type: application/json'

Below is the response returned:

{
   "data":{
      "result":[
         {
            "sid":"ENd32f9955825543d5a7e4d1bdb9f56b5b",
            "dateUpdated":"2020-09-11T05:47:58+0000",
            "dateCreated":"2020-09-11T05:19:55+0000",
            "accountSid":"ACb06dc1c0b555df46a02ccaea1cb11bc1",
            "accountEmail":"cspadmin1@nmorgtest1.com",
            "uri":"/campaignmanager/enterprises/search/ENd32f9955825543d5a7e4d1bdb9f56b5b",
            "name":"Test Enterprise 7",
            "credit":0,
            "configuration":"{\"campaignManager\": {\"throttle\": \"2\"}}",
            "status":"ACTIVE",
            "enterpriseAdminSid":"RCS7e9130b1534e45ca96c5a840fd47e645",
            "enterpriseAdminEmail":"EntpUser1@testent7.com"
         }
      ],
      "pageSize":10,
      "total":1,
      "page":0,
      "numPages":1,
      "start":0,
      "end":0,
      "firstPageUri":"/campaignmanager/enterprises/search/?name=Test%20Enterprise%207&pageSize=10&page=0",
      "uri":"/campaignmanager/enterprises/search/?name=Test%20Enterprise%207&pageSize=10&page=0"
   },
   "code":200,
   "message":"OK"
}

Get Single Business Customer

Single Business Customer search API allows users to retrieve specific Business Customer.

Base Resource URI

https://your_custom_domain.com

Get Single Business Customer Resource URI

/campaignmanager/enterprises/search/{enterpriseId}

Supported Operations

HTTP Get: Get Specific Business Customer

Request Parameters

Parameter Description

enterpriseSid

SID to uniquely identify a Business Customer

Response Body

The response body will contain code, corresponding message and data of Business Customer if it was successfully deleted. The HTTP response will be 201 Created (OK).

The response returned is the JSON body as shown in the example below. All parameters are listed below.

Parameter Description

data

Business Customer data as explained in the Data Parameter of Create Business Customer.

code

Sub-error code for response

message

Message describing error if error occurred or success message

Error Code HTTP Status Error Message Description Category

4051

409

Enterprise not found

Business Customer Id not found

Update Business Customer, Delete Business Customer, Get Business Customer

Data Parameter

Same as explained in Data Parameter of Create Business Customer.

Example

From the bash terminal you can run the command below:

curl -X GET \
  https://yourdomain.com/campaignmanager/enterprise/search/ENd32f9955825543d5a7e4d1bdb9f56b5b \
--user  ' {your_account_SID}:{your_account_token}' \
  -H 'Cache-Control: no-cache' \
  -H 'Content-Type: application/json' \

Below is the response returned:

{
   "data":{
      "sid":"ENd32f9955825543d5a7e4d1bdb9f56b5b",
      "dateUpdated":"2020-09-11T05:47:58+0000",
      "dateCreated":"2020-09-11T05:19:55+0000",
      "accountSid":"ACb06dc1c0b555df46a02ccaea1cb11bc1",
      "accountEmail":"cspadmin1@nmorgtest1.com",
      "uri":"/campaignmanager/enterprises/search/ENd32f9955825543d5a7e4d1bdb9f56b5b",
      "name":"Test Enterprise 7",
      "credit":0,
      "configuration":"{\"campaignManager\": {\"throttle\": \"2\"}}",
      "status":"ACTIVE",
      "enterpriseAdminSid":"RCS7e9130b1534e45ca96c5a840fd47e645",
      "enterpriseAdminEmail":"EntpUser1@testent7.com"
   },
   "code":200,
   "message":"OK"
}

User

User Role and Status

Communications Providers can set following roles for the Users:

  • CP_ADMINISTRATOR:

    • CRUD Business Customers (including credit and throttle)

    • CRUD CP_ADMINISTRATOR

    • CRUD BC_TURNKEY_ADMINISTRATOR

    • CRUD CP_PROVISIONING_AGENT

    • Read CDR and Usage Records for Business Customers (**)

  • CP_PROVISIONING_AGENT:

    • CRUD Business Customers (including credit and throttle)

    • CRUD BC_TURNKEY_ADMINISTRATOR

    • Read CDR and Usage Records for Business Customers (**)

  • BC_TURNKEY_ADMINISTARTOR:

    • CRUD campaign

    • CRUD BC_TURNKEY_ADMINISTRATOR

    • Read CDR and Usage Records (**)

(**) This feature will be released soon.

Users can be in either in an ACTIVE, INACTIVE, or CLOSED state. If ACTIVE, users can carry out operations as explained above. If INACTIVE users cannot carry out any activity. Users can move between ACTIVE and INACTIVE. If CLOSED, users are permanently deleted.

Create User

This endpoint will be used to create users with specific roles as explained below.

The following rules apply:

  • If not present in Restcomm, calling Create User API will create a new Restcomm Sub -Account with the role as Administrator under logged in CP Admin account.

  • User, if present in Restcomm as Sub -Account under existing CP Admin Account, calling Create API will just provision the Campaign Manager Application to allow the user to sign into the Campaign Manager solution with a configured role.

Base Resource URI

https://your_custom_domain.com

Create Business Customer Resource URI

/campaignmanager/users

Supported Operations

HTTP POST: Create User

Request Parameters

Parameter Description

enterpriseSid

SID of the Business Customer the user belongs to. It’s Mandatory if the role of the user is “BC_TURNKEY_ADMINSTRATOR”. For the rest of the role, even if this parameter is passed, it will be ignored.

name

Optional. Full name of the user being added.

email ID

Mandatory. Email ID of the user.

password

Mandatory. Password of the user.

role

Mandatory. Possible values are as explained in status section of User.

status

Optional. Will be set to ACTIVE if not passed. Possible values are:

- ACTIVE
- INACTIVE.

throttle

Optional. SMS/sec throttling assigned to only CP_ADMINISTRATOR role users. If not passed, the default is -1 which means use maximum throttling available at a given point of time.

For example XXX as a Communications Provider has a limit with its own Service Provider on how many SMS/Sec they can do. The “throttle” set here for CP_ADMINISTRATOR makes sure this limit is adhered to.

It’s set at CP_ADMINISTRATOR level and not Organisation level because BYOC is set at user level and for example XXX can have another CP_ADMINISTRATOR pointing to another Service Provider.

Response Body

The response body will contain code, corresponding message, and data of Business Customer if it was successfully created. The HTTP response will be 201 Created (OK).

The response returned is the JSON body as shown in the example below. Parameters are listed below.

Parameter Description

data

User data as explained in the table below.

code

Sub-error code for response

message

Message describing error if error occurred or success message

Data Parameter
Data Parameter Description

enterpriseSid

Sid of the Business Customer the user belongs to. Business Customer Sid will be only present for users with role BC_Turnkey_Administrator.

sid

Unique User ID.

accountEmail

Unique Restcomm Account that created the User.

dateCreated

Timestamp when the User was created.

dateUpdated

Timestamp when the User was updated.

name

Name of the User.

emailId

Email ID of the User.

Role

Role of the User.

Status

Status of the user. Possible values are:

- ACTIVE
- INACTIVE
- CLOSED

throttle

SMS/sec throttling assigned to only the CP Administrator. If not passed, the default is -1, which means use maximum throttling available at a given point of time.

The Create User API can also return an Error Code and corresponding HTTP Error as mentioned in Common Response Error Code. In addition, the following Errors can be returned.

Error Code HTTP Status Error Message Description Category

4003

409

User Belong to another master account

User Belong to another master account

Create User, Update User

4001

409

EmailId not unique

A user already exists in the DB with provided emailId

Create User, Update User

4051

400

Enterprise not found

Business Customer for which user is to be added is not found.

Create User, Update User

4002

409

User Role cannot be assigned to an enterprise.

User Role cannot be assigned to a Business Customer

Create User, Update User

Example

{
 "name" : "James",
“emailId”:”test@telestax.com”,
“status”:”ACTIVE”,
“role”: “BC_Turnkey_Administration”,
“enterpriseSid”: “EN801e792d86504368a9385314e8c5c4d6”
}

From the bash terminal you can run the command below:

curl -X POST \
  https://yourdomain.com/campaignmanager/user  \
--user  ' {your_account_SID}:{your_account_token}' \
  -H 'Cache-Control: no-cache' \
  -H 'Content-Type: application/json' \
  -d '{
        "name" : "James",
        “accountEmail”:”test@telestax.com”,
        “status”:”ACTIVE”,
       “role”: “BC_Turnkey_Adminstrator”,
       “enterpriseSid”: “EN801e792d86504368a9385314e8c5c4d6”
}’

If creation of User is successful, below is the response returned:

{
   "data":{
      "sid":"AAEb6eb071d21124dbab20b095c25f1274f",
      "accountEmail":"cspadmin1@nmorgtest1.com",
      "dateCreated":"2019-07-22 09:53:51",
      "dateUpdated":"2019-07-22 09:53:51",
      "name":"James",
      "emailId":"test@telestax.com",
      "status":"ACTIVE",
      "role":"BC_Turnkey_Adminstrator",
      "enterpriseSid":"EN801e792d86504368a9385314e8c5c4d",
      "uri":"/campaignmanager/user/search/AAEb6eb071d21124dbab20b095c25f1274f"
   },
   "code":200,
   "message":"OK"
}

If creation fails, below response is returned with corresponding HTTP Error Code

{
  "code":460,
  "message":"Email Id not unique",
   "data":{
        "name" : "James",
        "emailId":"test@telestax.com",
        "status":"ACTIVE",
       "role": "BC_Turnkey_Administrator",
       "enterpriseSid": "EN801e792d86504368a9385314e8c5c4d6"
     }
}

Update User

This endpoint will be used to update an existing User.

Base Resource URI

https://your_custom_domain.com

Update Business Customer Resource URI

/campaignmanager/users/{UserSid}

Supported Operations

HTTP PUT: Update User

Request Parameters

Parameter Description

enterpriseSid

Optional Business Customer id. If a user wants to move users from one Business Customer to another, pass the enterpriseId of the target Business Customer.

It’s Mandatory if the role of the user is BC_Turnkey_Administrator. For the rest of the role, even if this parameter is passed, it will be ignored.

name

Friendly name of the user being added

role

Role of the user as explained in User Role and Status section

status

Status of the user, could be one of the following:

- ACTIVE
- INACTIVE

throttle

Optional. SMS/sec throttling assigned to only this CP Administrator . If not passed, the default is -1 which means use maximum throttling available at the given point of time.

Response Body

The Response Body will carry the Code, corresponding message, and data of the User if it was successfully updated. HTTP response will be 200 OK.

The response returned is JSON body as shown in the example below. Parameters are as explained below.

Parameter Description

data

User data as explained in the Data Parameter of Create User.

code

Sub-error code for response.

message

Message describing error if error occurred or success message.

The Update User API can also return an Error Code and corresponding HTTP Error as mentioned in Common Response Error Code. In addition, the following Errors can be returned.

Error Code HTTP Status Error Message Description Category

4050

409

User not found

User SID doesn’t exist in the system

Create User, Update User

4001

409

Email ID not unique

A user already exists in the DB with provided emailId

Create User, Update User

4051

409

Enterprise not found

Business Customer for which user is to be added is not found.

Create User, Update User

Example

{
    "name" : "John”
}

From the bash terminal you can run the command below:

curl -X PUT \
  https://cloud.restcomm.com/campaignmanager/user/AAEb6eb071d21124dbab20b095c25f1274f	 \
--user  ' {your_account_SID}:{your_account_token}' \
  -H 'Cache-Control: no-cache' \
  -H 'Content-Type: application/json' \
  -d '{
    "name" : "John”
}’

If creation of Business Customer is successful, below is the response returned:

{
   "data":{
      "sid":"AAEb6eb071d21124dbab20b095c25f1274f",
      "accountEmail":"cspadmin1@nmorgtest1.com",
      "dateCreated":"2019-07-22 09:53:51",
      "dateUpdated":"2019-07-22 09:53:51",
      "name":"John",
      "emailId":"test@telestax.com",
      "status":"ACTIVE",
      "role":"BC_Turnkey_Adminstrator",
      "enterpriseSid":"EN801e792d86504368a9385314e8c5c4d6",
      "uri":"/campaignmanager/user/search/ AAEb6eb071d21124dbab20b095c25f1274f"
   },
   "code":200,
   "message":"OK"
}

If update fails, below response is returned with corresponding HTTP Error Code

{
   "code":4051,
   "message":"Enterprise not found",
   "data":{
      "name":"John"
   }
}

Delete User

This endpoint will be used to delete an existing User.

Base Resource URI

https://your_custom_domain.com

Delete Business Customer Resource URI

/campaignmanager/users/{UserSid}

Supported Operations

HTTP Delete: Delete User

Request Parameters

Parameter Description

enterpriseSid

SID of the user to be deleted

Deleting User will mark status as CLOSED.

Response Body

The Response Body will carry the Code, corresponding message, and data of the User if it was successfully deleted. HTTP response will be 200 OK.

The response returned is JSON body as shown in the example below. Parameters are as explained below.

Parameter Description

data

Business Customer data as explained in the Data Parameter of Create User.

code

Sub-error code for response

message

Message describing error if error occurred or success message

The Delete User API can also return the Error Code and corresponding HTTP Error as mentioned in Common Response Error Code. In addition, the following Errors can be returned.

Error Code HTTP Status Error Message Description Category

4005

409

User not found

User SID doesn’t exist in the system

Update User, Delete user, Get User

Example

The bash terminal you can run the command below:

curl -X DELETE \
  https://cloud.restcomm.com/campaignmanager/user/AAEb6eb071d21124dbab20b095c25f1274f	 \
--user  ' {your_account_SID}:{your_account_token}' \
  -H 'Cache-Control: no-cache' \
  -H 'Content-Type: application/json'

If User delete is successful, below is the response returned:

{
   "data":{
      "sid":"AAEb6eb071d21124dbab20b095c25f1274f",
      "accountEmail":"cspadmin1@nmorgtest1.com",
      "dateCreated":"2019-07-22 09:53:51",
      "dateUpdated":"2019-07-22 09:53:51",
      "name":"John",
      "emailId":"test@telestax.com",
      "status":"ACTIVE",
      "role":"BC_Turnkey_Adminstrator",
      "enterpriseSid":"EN801e792d86504368a9385314e8c5c4d6",
      "uri":"/campaignmanager/user/search/ AAEb6eb071d21124dbab20b095c25f1274f"
   },
   "code":200,
   "message":"OK"
}

If delete fails, below response is returned with corresponding HTTP Error Code

{
   "code":470,
   "message":"User not found",
   "data":{
      "sid":"AAEb6eb071d21124dbab20b095c25f1274f"
   }
}

Get List of Users

This endpoint will be used to list an existing user.

Base Resource URI

https://your_custom_domain.com

Get List of User Resource URI

/campaignmanager/users/search

Supported Operations

HTTP Get: Get User list

Paging

The following paging parameters are supported

Query Parameter Description

pageSize

Number of records returned per page

page

Which page of Participants records to return, starting from 0.

If the search API is called without page and pageSize, by default pageSize will be 10 and page will be 0 to avoid retrieving all data in a single API call.

Filtering

The following filtering parameters are supported:

Query Parameter Description

endTime

Optional parameter. Only show Users that were created on this date/time or earlier, given as an ISO-8601 date/time string, like YYYY-MM-DDTHH:MM:SS (for example 2018-10-06T02:10:03) or, if you want to omit the time, YYYY-MM-DD (for example 2018-10-06). When only a date is provided the time is assumed to be at midnight of the given date. Note that the given date/time is inclusive and is assumed to be in UTC timezone.

name

Optional parameter. Only show Users that match the name text, partially or fully.

emailID

Optional parameter. Only show Users that match email text, partially or fully.

Role

Optional parameter. Only show users that have the particular role.

enterpriseSid

Optional Parameter. Only show users for the particular Business Customer.

Status

Optional parameter. Only show Users that have the particular status.

startTime

Optional parameter. Only show Users that were created on this date/time or later, given as an ISO-8601 date/time string, like YYYY-MM-DDTHH:MM:SS (for example 2018-10-05T22:45:32) or, if you want to omit the time, YYYY-MM-DD (for example 2018-10-05). When only a date is provided the time is assumed to be at midnight of the given date. Note: that the given date/time is inclusive and is assumed to be in UTC timezone.

Sorting Information

You can use the SortBy GET query parameter to determine which attribute you want to sort by and in which direction; direction can either be 'asc' for ascending and 'desc' for descending sort ordering. Here’s the overall format: SortBy=<sorting attribute>:<direction>. If no direction parameter is provided, then the listing of calls is sorted by the attribute in ascending order. You can sort by the following attributes:

Parameter Description

dateCreated

Sort by created date

name

Sort by name

email

Sort by email ID

Response Body

The Response Body will carry Code, corresponding message and data of the User if it was successfully searched. HTTP response will be 200 OK.

The response returned is the JSON body as shown in the example below. Parameters are as explained below:

Data Parameter Description

data

Actual data in form of a list that matches the filter criteria. Data as explained in Data Parameter in create user.

pageSize

Number of records returned per page.

total

Total Number of records

page

Which page of records to return.

numPages

Total number of pages

start

Starting offset of page

end

Ending offset of page

firstPageUri

Unique URI that you can call to get records in First page

nextPageUri

Unique URI that you can call to get records in next page

uri

Unique URI that you can call to get records

Example

From the bash terminal you can run the command below:

curl -X GET \
  https://cloud.restcomm.com/campaignmanager/user/search?name=john\
--user  ' {your_account_SID}:{your_account_token}' \
  -H 'Cache-Control: no-cache' \
  -H 'Content-Type: application/json'

Below is the response returned:

{
   "data":[
      {
         "sid":"AAEb6eb071d21124dbab20b095c25f1274f",
         "accountEmai":"aditya.dixit@telestax.com",
         "dateCreated":"2019-07-22 09:53:51",
         "dateUpdated":"2019-07-22 09:53:51",
         "name":"John",
         "emailId":"test@telestax.com",
         "status":"ACTIVE",
         "role":"BC_Turnkey_Administrator",
         "enterpriseSid":"EN801e792d86504368a9385314e8c5c4d6",
         "uri":"/campaignmanager/user/search/ AAEb6eb071d21124dbab20b095c25f1274f"
      }
   ],
   "page":0,
   "num_pages":3,
   "page_size":2,
   "total":6,
   "start":0,
   "end":1,
   "uri":"/campaignmanager/user/search",
   "first_page_uri":"/ campaignmanager/user/search?pageSize=2&page=0",
   "previous_page_uri":null,
   "next_page_uri":"/ campaignmanager/user/search?pageSize=2&page=1"
}

Get Single User

Single User search API allows users to retrieve specific User.

Base Resource URI

https://your_custom_domain.com

Get Single User Resource URI

/campaignmanager/users/search/{userId}

Supported Operations

HTTP Get: Get Specific User

Request Parameters

Parameter Description

userSid

SID of the user to be retrieved

Response Body

The Response Body will carry the Code, corresponding message, and data of the User if it was successfully deleted. HTTP response will be 200 OK.

Error Code HTTP Status Error Message Description Category

4005

409

User not found

User is not found

Delete User, Update User, Get User

The response returned is the JSON body as shown in the example below. All parameters are listed below.

Parameter Description

data

User data as explained in the Data Parameter of Create User.

code

Sub-error code for response

message

Message describing error if error occurred or success message

Example

From the bash terminal you can run the command below:

curl -X GET \
  https://cloud.restcomm.com/campaignmanager/user/search/AAEb6eb071d21124dbab20b095c25f1274f \
--user  ' {your_account_SID}:{your_account_token}' \
  -H 'Cache-Control: no-cache' \
  -H 'Content-Type: application/json' \

Below is the response returned:

{
   "data":{
      "sid":"AAEb6eb071d21124dbab20b095c25f1274f",
      "accountEmail":"cspadmin1@nmorgtest1.com",
      "dateCreated":"2019-07-22 09:53:51",
      "dateUpdated":"2019-07-22 09:53:51",
      "name":"John",
      "emailId":"test@telestax.com",
      "status":"ACTIVE",
      "role":"BC_Turnkey_Adminstrator",
      "enterpriseSid":"EN801e792d86504368a9385314e8c5c4d6",
      "uri":"/campaignmanager/user/search/ AAEb6eb071d21124dbab20b095c25f1274f"
   },
   "code":200,
   "message":"OK"
}

Manage Credits

Credit is always associated with a Business Customer.

Create Credit

This endpoint will be used to create new Credits for an existing Business Customer. Via this API call, a Communications Provider can Add or Reduce credits for a Business Customer.

Base Resource URI

https://your_custom_domain.com

Add Credit Resource URI

/campaignmanager/credits

Supported Operations

HTTP Post: Create new Credits for a Business Customer

Request Parameters

Parameter Description

description

Optional. Description explaining why this credit is added or reduced for later reference.

enterpriseSid

Mandatory. Business Customer for which Credit is getting created.

addCredit

Optional. Credit that must be added to existing Credit. Either addCredit or reduceCredit should be mandatorily passed. If both are passed, addCredit takes precedence and reduceCredit is ignored.

reduceCredit

Optional. Credit that must be reduced from existing Credit. If the reduced amount is lower than existing Credit, credit can go to negative number.

  • Whenever Campaign is scheduled, equivalent Credit is deducted.

  • If there is not enough Credit available, scheduling of Campaign will fail.

  • If Scheduled Campaign is cancelled, equivalent Credit is added back.

  • Once a Campaign progresses to InProgress state, Credit cannot be reversed, no matter what.

Response Body

The Response Body will carry the Code, corresponding message, and data of the Business Customer if it was successfully updated. HTTP response will be 200 OK.

The response returned is JSON body as shown in the example below. Parameters are as explained below.

Parameter Description

data

Credit data as explained in the Data Parameter below.

code

Sub-error code for response

message

Message describing error if error occurred or success message

Data Parameter
Data Parameter Description

enterpriseSid

SID of the Business Customer.

sid

Unique SID of Credit

dateCreated

Timestamp when the Credit was created.

dateUpdated

Timestamp when the Credit was updated.

accountSid

Account Sid of Account that added/reduced this credit.

accountEmail

Email corresponding to accountSid

description

Description passed in request

credit

Credit that was added (+ve value) or reduced (-ve value)

The add Credit API can also return the Error Code and corresponding HTTP Error as mentioned in Common Response Error Code. In addition, the following Errors can be returned.

Error Code HTTP Status Error Message Description Category

4000

409

addCredit or reduceCredit parameter is missing

Add Credit or Reduce Credit parameter is not specified

Create Credit

4051

409

Enterprise not found

BBusiness Customer SID doesn’t exist in the system

Create Credit, Update Business Customer, Delete Business Customer, Get Business Customer

Example

{
    "addCredit" :"10000"
    "description" :"Customer recharged for 10,000 units on 1 Aug 2020"
}

From the bash terminal you can run the command below:

curl -X POST \
  https://cloud.restcomm.com/campaignmanager/credits/ENb6eb071d21124dbab20b095c25f1274f  \
--user  ' {your_account_SID}:{your_account_token}' \
  -H 'Cache-Control: no-cache' \
  -H 'Content-Type: application/json' \
  -d '{
        "addCredit" : "10000"
“description”:”Customer recharged for 10,000 units on 1 Aug 2020”
}’

If update of Credit is successful, below is the response returned:

{
   "data":{
      "sid":"ENCec4ef69e91294de48862db3772ab2959",
      "dateUpdated":"2020-08-31T07:42:53+0000",
      "dateCreated":"2020-08-31T07:42:53+0000",
      "accountSid":"ACb06dc1c0b555df46a02ccaea1cb11bc1",
      "accountEmail":"cspadmin1@nmorgtest1.com",
      "credit":100,
      "description":"Customer recharged for 10,000 units on 1 Aug 2020",
      "uri":"/campaignmanager/credit/search/ENCec4ef69e91294de48862db3772ab2959"
   },
   "code":200,
   "message":"OK"
}

If update fails, below response is returned with corresponding HTTP Error Code.

{
  "code":4051,
  "message":"Enterprise not found",
  "data": "ENfda064f487ff4309b8b306d25adc6"
  }

Get List of Credits

This endpoint will be used to get list of Credits for the Business Customer.

Base Resource URI

https://your_custom_domain.com

Get List of Credit Resource URI

/campaignmanager/credits/search

Supported Operations

HTTP Get: Get list of Credits for a Business Customer

Paging

The following paging parameters are supported.

Query Parameter Description

pageSize

Number of records returned per page

page

Which page of Participants records to return, starting from 0.

If the search API is called without page and pageSize, by default pageSize will be 10 and page will be 0 to avoid retrieving all data in a single API call.

Filtering

The following filtering parameters are supported:

Query Parameter Description

endTime

Optional parameter. Only show Credits that were created on this date/time or earlier, given as an ISO-8601 date/time string, like YYYY-MM-DDTHH:MM:SS (for example 2018-10-06T02:10:03) or, if you want to omit the time, YYYY-MM-DD (for example 2018-10-06). When only a date is provided the time is assumed to be at midnight of the given date. Note that the given date/time is inclusive and is assumed to be in UTC timezone.

enterpriseSid

Mandatory. Retrieve list of Credits for given Business Customer SID.

type

Optional parameter. Only show Credits that are either credit which means added or debit which means reduced.

startTime

Optional parameter. Only show Credits that were created on this date/time or later, given as an ISO-8601 date/time string, like YYYY-MM-DDTHH:MM:SS (for example 2018-10-05T22:45:32) or, if you want to omit the time, YYYY-MM-DD (for example 2018-10-05). When only a date is provided the time is assumed to be at midnight of the given date. Note: that the given date/time is inclusive and is assumed to be in UTC timezone.

Sorting Information

You can use the SortBy GET query parameter to determine which attribute you want to sort by and in which direction; direction can either be 'asc' for ascending and 'desc' for descending sort ordering. Here’s the overall format: SortBy=<sorting attribute>:<direction>. If no direction parameter is provided, then the listing of calls is sorted by the attribute in ascending order. You can sort by the following attributes:

Parameter Description

dateCreated

Sort by created date

Response Body

The Response Body will carry Code, corresponding message and data of the Credit if it was successfully fetched. HTTP response will be 200 OK.

The response returned is the JSON body as shown in the example below. Parameters are as explained below:

Data Parameter Description

data

Actual data in form of a list that matches the filter criteria. Data as explained in Data Parameter in create Credit.

pageSize

Number of records returned per page.

total

Total Number of records

page

Which page of records to return.

numPages

Total number of pages

start

Starting offset of page

end

Ending offset of page

firstPageUri

Unique URI that you can call to get records in First page

nextPageUri

Unique URI that you can call to get records in next page

uri

Unique URI that you can call to get records

Example

From the bash terminal you can run the command below:

curl -X GET \https://cloud.restcomm.com/campaignmanager/credits/search?enterprriseSid=EN6c9dfebda23b403a959a99112437e785 \
--user  ' {your_account_SID}:{your_account_token}' \
  -H 'Cache-Control: no-cache' \
  -H 'Content-Type: application/json'

Below is the response returned:

{
    "data": {
        "result": [
            {
                "sid": "ENCd05ad50a49e445f5a4924f9862a5a6aa",
                "dateUpdated": "2020-09-04T07:57:44+0000",
                "dateCreated": "2020-09-04T07:57:44+0000",
                "accountSid": "ACb06dc1c0b555df46a02ccaea1cb11bc1",
                "accountEmail": "cspadmin1@nmorgtest1.com",
                "uri": "/campaignmanager/credits/ENCd05ad50a49e445f5a4924f9862a5a6aa",
                "description": "initial credits on 4th",
                "enterpriseSid": "ENc165d92e63f14fdf84666a9b8a57c805",
                "credit": 500
            }
        ],
        "pageSize": 10,
        "total": 1,
        "page": 0,
        "numPages": 1,
        "start": 0,
        "end": 0,
        "firstPageUri": "/campaignmanager/credits/search/?enterpriseSid=ENc165d92e63f14fdf84666a9b8a57c805&pageSize=10&page=0",
        "uri": "/campaignmanager/credits/search/?enterpriseSid=ENc165d92e63f14fdf84666a9b8a57c805&pageSize=10&page=0"
    },
    "code": 200,
    "message": "OK"
}

Get Single Credit

The Single Credit search API allows users to retrieve a specific Credit.

Base Resource URI

https://your_custom_domain.com

Get Single User Resource URI

/campaignmanager/credits/search/{creditSid}

Supported Operations

HTTP Get: Get Specific Credit

Request Parameters

Parameter Description

creditSid

SID to uniquely identify a Credit

Response Body

The Response Body will carry the Code, corresponding message, and data of the Credit if it was successfully searched. HTTP response will be 200 OK.

Error Code HTTP Status Error Message Description Category

472

409

Credit not found

Credit SID doesn’t exist in the system

Get Credit

The response returned is the JSON body as shown in the example below. Parameters are listed below.

Parameter Description

data

Credit data as explained in the Data Parameter of Create Credit.

code

Sub-error code for response

message

Message describing error if error occurred or success message

Example

From the bash terminal you can run the command below:

curl -X GET \
  https://cloud.restcomm.com/campaignmanager/credits/search/ENCee320039e3e647eaa7df7cef5e3d6b55 \
--user  ' {your_account_SID}:{your_account_token}' \
  -H 'Cache-Control: no-cache' \
  -H 'Content-Type: application/json' \

Below is the response returned:

{
    "data": {
        "sid": "ENC3807ff7ff73e46e7a9c9a95af3d85189",
        "dateUpdated": "2020-09-04T09:58:57+0000",
        "dateCreated": "2020-09-04T09:58:57+0000",
        "accountSid": ACb06dc1c0b555df46a02ccaea1cb11bc1",
        "accountEmail": "cspadmin1@nmorgtest1.com",
        "uri": "/campaignmanager/credits/ENC3807ff7ff73e46e7a9c9a95af3d85189",
        "description": "initial credits",
        "enterpriseSid": "EN671a5f2c6c5c4e88b814bdc23ca389bc",
        "credit": 500
    },
    "code": 200,
    "message": "OK"
}

Campaign

Campaign Status

A campaign can be in one of the following states:

  • Initiating: The Campaign is getting created. For example setting up From numbers, To numbers and Body. Ideally the Campaign will remain in this state for a very short time. If there are any errors in processing From or To numbers, the Campaign will directly move to a Failed state.

  • Scheduled: The Campaign is Scheduled. This means the Campaign Manager has all the resources and data it needs to execute this Campaign when Scheduled time kicks in. The only option to move Campaign, via API call, from a Scheduled state is to Cancelled state.

  • Cancelled: When a scheduled Campaign is Cancelled.

  • InProgress: The Campaign is in Progress. This state automatically kicks in when scheduled time has arrived. The only possible transition from this state is either Completed or Failed

  • Completed: Once all SMS are successfully sent to the underlying platform, the Campaign is marked as completed. It doesn’t depend on the state of SMS, for example whether it is Delivered or not.

  • Failed: If the Campaign failed for some reason or cannot setup data correctly from the initiating state.

The life cycle of Campaign’s Status is as below:

campaign status

Get List of Campaigns

This endpoint will be used to retrieve a list of existing campaigns.

Base Resource URI

https://your_custom_domain.com

Get List of Campaigns Resource URI

/campaignmanager/campaigns/search

Supported Operations

HTTP GET: List Campaigns

Paging

The following paging parameters are supported

Query Parameter Description

pageSize

Number of records returned per page

page

Which page of Campaigns records to return, starting from 0.

If the search API is called without page and pageSize, by default pageSize will be 10 and page will be 0 to avoid retrieving all data in a single API call.

Filtering

Following filtering parameters are supported:

Query Parameter Description

endTime

Optional parameter. Only show Contexts that were created on this date/time or earlier, given as an ISO-8601 date/time string, like YYYY-MM-DDTHH:MM:SS (for example 2018-10-06T02:10:03) or, if you want to omit the time, YYYY-MM-DD (for example 2018-10-06). When only a date is provided the time is assumed to be at midnight of the given date. Note that the given date/time is inclusive and is assumed to be in UTC timezone.

enterpriseSid

Mandatory. Retrieve list of Credits for given Business Customer SID.

name

Optional parameter. Only show Campaign’s that match name text, partially or fully.

status

Optional parameter. Only show campaigns having selected status. Possible value of status are as explained in campaign status section.

startTime

Optional parameter. Only show Contexts that were created on this date/time or later, given as an ISO-8601 date/time string, like YYYY-MM-DDTHH:MM:SS (for example 2018-10-05T22:45:32) or, if you want to omit the time, YYYY-MM-DD (for example 2018-10-05). When only a date is provided the time is assumed to be at midnight of the given date. Note that the given date/time is inclusive and is assumed to be in UTC timezone.

Sorting Information

You can use the SortBy GET query parameter to determine which attribute you want to sort by and in which direction; direction can either be 'asc' for ascending and 'desc' for descending sort ordering. Here’s the overall format: SortBy=<sorting attribute>:<direction>. If no direction parameter is provided, then the listing of calls is sorted by the attribute in ascending order. ou can sort by the following attributes:

Sort Attributes
Parameter Description

status

Sort by status of campaign

name

Sort by name

dateCreated

Sort by date when campaign was created

Response Parameters

Response Body will carry Code, corresponding message, and data of Campaigns if it was successfully fetched. HTTP response will be 200 OK.

The response returned is JSON body as shown in the example below. Parameters are as explained below.

Code Description

data

data of search as explained in Data parameters below

code

Sub-error code for response

message

Message describing error if error occured or success message

Data parameters
Data Parameter Description

uri

Unique URI that you can call to get records

result

campaign data as explained in Data Parameter of create campaign

pageSize

Number of records returned per page.

total

Total Number of records

page

Which page of records to return.

numPages

Total number of pages

start

Starting offset of page

end

Ending offset of page

firstPageUri

Unique URI that you can call to get records in First page

nextPageUri

Unique URI that you can call to get records in next page

Example

From the bash terminal you can run the command below:

curl -X GET \
  https://cloud.restcomm.com/campaignmanager/campaigns/search?name=test \
--user  ' {your_account_SID}:{your_account_token}' \
  -H 'Cache-Control: no-cache' \
  -H 'Content-Type: application/json'

Below is the response returned:

{
    "data": {
        "result": [
            {
        "sid": "EC2f1e91bcdeb346519612a96dd31dcd53",
        "dateUpdated": "2020-01-01T11:40:15+0000",
        "dateCreated": "2020-01-01T11:40:15+0000",
        "accountSid": "AC9f5746bbeba827841634b106f23e7395",
        "accountEmail": "teste1@testent7.com",
        "uri": "/campaignmanager/campaigns/search/EC2f1e91bcdeb346519612a96dd31dcd53",
        "name": "Test Data 1",
        "startTime": "2020-01-01T22:45:32+0000",
        "enterpriseSid": "ENfda064f487ff4309b8b306d25adc0a86",
        "total": 1,
        "status": "cancelled",
        "fromPrefix": "+91"
    },
        ],
        "pageSize": 10,
        "total": 1,
        "page": 0,
        "numPages": 1,
        "start": 0,
        "end": 0,
        "firstPageUri": "/campaignmanager/campaigns/search/?pageSize=10&page=0",
        "uri": "/campaignmanager/campaigns/search/?pageSize=10&page=0"
    },
    "code": 200,
    "message": "OK"
}

Get Single Campaign

The Single Campaign search API allows users to retrieve specific Campaigns.

Base Resource URI

https://your_custom_domain.com

Get Single Campaign Resource URI

/numbermasking/campaigns/search/{CampaignSid}

Supported Operations

HTTP GET: Specific Campaign

Request Parameters

Parameter Description

CampaignSid

Unique Campaign SID of the campaign

Response Parameters

Response Body will carry Code, corresponding message, and data of User if it was successfully searched. HTTP response will be 200 OK.

The response returned is JSON body as shown in the example below. Parameters are as explained below.

Parameter Description

data

Campaign data as explained in the data parameter of create campaign.

code

Sub-error code for response

message

Message describing error if error occured or success message

Delete Campaign API can also return Error Code and corresponding HTTP Error as mentioned in Common Response Error Code. In addition, seen below are the Errors that it can return.

Error Code HTTP Status Error Message Description Category

486

409

Enterprise campaign not found

Campaign SID doesn’t exist in the system or probably assigned to some other Organization where existing user doesn’t have permission to access.

Update Campaign, Delete Campaign, List Single Campaign

Example

From the bash terminal you can run the command below:

curl -X DELETE \
  https://cloud.restcomm.com/campaignmanager/campaigns/search/CPb6eb071d21124dbab20b095c25f1274f \
--user  ' {your_account_SID}:{your_account_token}' \
  -H 'Cache-Control: no-cache' \
  -H 'Content-Type: application/json' \

Below is the response returned:

{
    "data": {
        "sid": "EC2f1e91bcdeb346519612a96dd31dcd53",
        "dateUpdated": "2020-01-01T11:40:15+0000",
        "dateCreated": "2020-01-01T11:40:15+0000",
        "accountSid": "AC9f5746bbeba827841634b106f23e7395",
        "accountEmail": "teste1@testent7.com",
        "uri": "/campaignmanager/campaigns/search/EC2f1e91bcdeb346519612a96dd31dcd53",
        "name": "Test Data 1",
        "startTime": "2020-01-01T22:45:32+0000",
        "enterpriseSid": "ENfda064f487ff4309b8b306d25adc0a86",
        "total": 1,
        "status": "cancelled",
        "fromPrefix": "+91"
    },
    "code": 200,
    "message": "OK"
}
Contact Us

+1 (650) 263 6146

SALES

SUPPORT

GENERAL

Follow Us

Turnkey Applications

SMART 2FA

MESSAGE EXCHANGE

CISCO WEBEX

CALL QUEUE

Learn

BLOG

TERMS AND CONDITIONS

Additional Links

ABOUT

FAQ'S

PRIVACY POLICY

CONTACT