Message Exchange for Cisco Webex Teams API Overview
Create Operation
Create allows CSP Account (Restcomm Admin Account) to create WebEx Teams mappings and also create new Enterprise names for easy segregation of mappings specific to each enterprise account. For example consider Acme Service Provider as CSP will have Kohl’s, Walmart etc as Enterprise Customers. Acme Service Provider should be able to define the Enterprise and within each Enterprise add unique Message Exchange for Cisco Webex Team’s mappings
Create Enterprise
Create Enterprise will add unique Enterprise names for given CSP.
Request Parameters
Parameter |
Description |
name |
Mandatory name of Enterprise. Name must be unique within given CSP Organisation. |
Response Body
Response Body will carry Code, corresponding message and unique-id if creation of Enterprise was successful.
Code |
Description |
code |
Sub-error code for response |
message |
Message describing error if error occured or success message |
data |
Details of enterprise created |
Response Parameters
Create Enterprise API will return Error Code and corresponding HTTP Error as mentioned in Common Response Error Code. In addition below are the Error that it can return
Error Cod |
HTTP Status |
Error Message |
Description |
Category |
460 |
409 |
Enterprise name not unique |
Add Enterprise API is called for enterprise name that is already present for this Organisation. There can be same name Organisation in different Orgs. |
Create Enterprise |
Example
{ "name" : "Testing" }
From the bash terminal you can run the command below:
curl -X POST \ https://cloud.restcomm.com/webex/enterprise \ --user ' {your_account_SID}:{your_account_token}' \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \ -d '{ "name" : "Testing" }
If creation of Enterprise is successful, below is the response returned:
{ "data": { "name": "Testing", "sid": "WEM68d24872732d41449a5ae21fd149cab9", "mappingsCount": 0, "status": "ACTIVE", "dateUpdated": "Tue Sep 10 10:07:32 UTC 2019", "dateCreated": "Tue Sep 10 10:07:32 UTC 2019", "accountSid": "ACabe36038f6f9bd92e6da3977ad62e5d7", "accountEmail": "talentica@telestax.com" }, "code": 200, "message": "OK" }
Create Webex Teams Mappings
Create Webex Teams Mapping will add mapping between Webex Teams Id and SMS enabled number.
Request Parameters
Parameter |
Description |
name |
Optional friendly name of Webex Team mapping. If not passed, it will be the same as the Webex Teams UserId. |
webexAddress |
Mandatory Webex Team’s User ID to be mapped. In case of Group messaging, pass comma-separated Webex Teams ids. |
externalAddress |
Mandatory number that must be mapped to the webexAddress. The system will also SMS enable this number (the number must be unique in the whole system). |
enterpriseId |
Mandatory Enterprise id that was added via “Create Enterprise” API call. |
Response Body
Response Body will carry Code, corresponding message and unique-id if creation of Enterprise was successful.
Code |
Description |
code |
Sub-error code for response |
message |
Message describing error if error occured or success message |
data |
Details of mapping created |
Response Parameters
Create Webex Teams mapping API will return Error Code and corresponding HTTP Error as mentioned in Common Response Error Code
Error Code |
HTTP Status |
Error Message |
Description |
Category |
465 |
409 |
webexAddress not unique |
webexAddress is already in use. |
Create Mapping |
466 |
409 |
externalAddress not unique |
externalAddress is already in use. |
Create Mapping |
467 |
409 |
Enterprise not found |
Enterprise for which mapping is to be added is not found. |
Create Mapping |
Example
{ "name" : "subhahu", "webexAddress" : "subhahu@telestax.com", “externalAddress” : “1127654389” }
From the bash terminal you can run the command below:
curl -X POST \ https://cloud.restcomm.com/webex/webexteams/mappings/WEM7cc91d3200044d9fbe8e9 \ --user ' {your_account_SID}:{your_account_token}' \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \ -d '{ "name" : "subhahu", "webexAddress" : "subhahu@telestax.com", “externalAddress” : “1127654389” }
If creation of mapping is successful, below is the response returned:
{ "data": { "webexAddress": "subhahu@telestax.com", "externalAddress": "1127654389", "name": "subhahu", "dateUpdated": "Tue Sep 10 10:13:32 UTC 2019", "dateCreated": "Tue Sep 10 10:13:32 UTC 2019", "accountSid": "ACabe36038f6f9bd92e6da3977ad62e5d7", "accountEmail": "talentica@telestax.com", "enterpriseSid": "WEM7cc91d3200044d9fbe8e923788004f17", "enterpriseName": "test22", "sid": "WEMac5558ff4312422db129b0a30e7c86b8" }, "code": 200, "message": "OK" }
///webex/smskey
Update Operation
Update Enterprise
Update Enterprise will update Enterprise names for given CSP.
Request Parameters
Parameter |
Description |
EnterpriseId |
Enterprise SID that was generated by calling create Enterprise API |
name |
Mandatory name of Enterprise. Name must be unique within given CSP Organisation. |
Response Body
Response Body will carry Code, corresponding message and body of updated enterprise if update was successful.
Code |
Description |
code |
Sub-error code for response |
message |
Message describing error if error occured or success message |
data |
Details of updated enterprise |
Response Parameters
Update Enterprise API will return Error Code and corresponding HTTP Error as mentioned in Common Response Error Code. In addition below are the Error that it can return
Error Code |
HTTP Status |
Error Message |
Description |
Category |
470 |
409 |
Enterprise name not unique |
Update Enterprise API is called for enterprise name that is already present |
Update Enterprise |
471 |
409 |
Enterprise name not found |
Add Enterprise API is called for enterprise that is not present in system |
Update Enterprise |
Example
{ "name" : "Testing" }
From the bash terminal you can run the command below:
curl -X PUT \ https://cloud.restcomm.com/webexteams/enterprise/WEM68d24872732d41449a5ae21fd149cab9\ --user ' {your_account_SID}:{your_account_token}' \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \ -d '{ "name" : "Testing" }
If update of Enterprise is successful, below is the response returned:
{ "data": { "name": "Testing", "sid": "WEM68d24872732d41449a5ae21fd149cab9", "mappingsCount": 0, "status": "ACTIVE", "dateUpdated": "Tue Sep 10 10:07:32 UTC 2019", "dateCreated": "Tue Sep 10 10:07:32 UTC 2019", "accountSid": "ACabe36038f6f9bd92e6da3977ad62e5d7", "accountEmail": "talentica@telestax.com" }, "code": 200, "message": "OK" }
Update Webex Teams Mappings
Update Webex Teams Mapping will update name of mapping between Webex Teams Id and SMS enabled number.
Request Parameters
Parameter |
Description |
mappingId |
Mandatory unique Webex Teams vs SMS enabled number mapping id that was generated by calling Add Mapping API |
name |
Optional friendly name of a mapping. If not passed, it will be the same as the original record. |
Response Body
Response Body will carry Code, corresponding message and data of updated mapping if update was successful.
Code |
Description |
code |
Sub-error code for response |
message |
Message describing error if error occured or success message |
data |
Details of updated mapping |
Response Parameters
Update Webex Teams mapping API will return Error Code and corresponding HTTP Error as mentioned in Common Response Error Code
Error Code |
HTTP Status |
Error Message |
Description |
Category |
478 |
409 |
Mapping not found |
Update is called passing MappingId that is not found for give Organisation |
Update Mapping |
Example
{ "name" : "subhahuc", }
From the bash terminal you can run the command below:
curl -X PUT \ https://cloud.restcomm.com/webex/webexteams/mappings/WEMac5558ff4312422db129b0a30e7c86b8 \ --user ' {your_account_SID}:{your_account_token}' \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \ -d '{ "name" : "subhahuc" }
If update of mapping is successful, below is the response returned:
{ "data": { "webexAddress": "subhahu@telestax.com", "externalAddress": "1127654389", "name": "subhahuc", "dateUpdated": "2019-09-10 10:13:33.0", "dateCreated": "2019-09-10 10:13:33.0", "accountSid": "ACabe36038f6f9bd92e6da3977ad62e5d7", "accountEmail": "talentica@telestax.com", "enterpriseSid": "WEM7cc91d3200044d9fbe8e923788004f17", "enterpriseName": "test22", "sid": "WEMac5558ff4312422db129b0a30e7c86b8" }, "code": 200, "message": "OK" }
///webex/smskey/{smsKeyId}
Delete Operation
Delete Enterprise
Delete Enterprise will delete the underlying Enterprise if it doesn’t have any corresponding mapping
Request Parameters
Parameter |
Description |
EnterpriseId |
Enterprise SID that was generated by calling create Enterprise API |
Response Body
Response Body will carry Code, corresponding message and details of enterprise if deletion of Enterprise was successful.
Code |
Description |
code |
Sub-error code for response |
message |
Message describing error if error occured or success message |
data |
Details of enterprise that is deleted |
Response Parameters
Delete Enterprise API will return Error Code and corresponding HTTP Error as mentioned in Common Response Error Code. In addition below are the Error that it can return
Error Code |
HTTP Status |
Error Message |
Description |
Category |
482 |
409 |
Enterprise has mappings |
Delete Enterprise API is called for enterprise name that has Mappings associated. |
Update Enterprise |
481 |
409 |
Enterprise name not found |
Delete Enterprise API is called for enterprise that is not present in system |
Update Enterprise |
Example
From the bash terminal you can run the command below:
curl -X DELETE \ https://cloud.restcomm.com/webex/enterprise/WEM68d24872732d41449a5ae21fd149cab9 \ --user ' {your_account_SID}:{your_account_token}' \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \
If delete of Enterprise is successful, below is the response returned:
{ "data": { "name": "Testing", "sid": "WEM68d24872732d41449a5ae21fd149cab9", "mappingsCount": 0, "status": "ACTIVE", "dateUpdated": "2019-09-10 10:07:32.0", "dateCreated": "2019-09-10 10:07:32.0", "accountSid": "ACabe36038f6f9bd92e6da3977ad62e5d7", "accountEmail": "talentica@telestax.com" }, "code": 200, "message": "OK" }
Delete Webex Teams Mappings
Delete Webex Teams Mapping will delete mapping between Webex Teams Id and SMS enabled number.
Request Parameters
Parameter |
Description |
mappingId |
Unique Webex Teams vs SMS enabled number mapping id that was generated by calling Add Mapping API |
Response Body
Response Body will carry Code, corresponding message and details of mapping if deletion of mapping was successful.
Code |
Description |
code |
Sub-error code for response |
message |
Message describing error if error occured or success message |
data |
Details of mapping that is deleted |
Response Parameters
Delete Webex Teams mapping API will return Error Code and corresponding HTTP Error as mentioned in Common Response Error Code
Error Code |
HTTP Status |
Error Message |
Description |
Category |
485 |
409 |
Mapping not found |
Delete is called passing MappingId that is not found for give Organisation |
Delete Mapping |
Example
From the bash terminal you can run the command below:
curl -X DELETE \ https://cloud.restcomm.com/webex/webexteams/mappings/WEMac5558ff4312422db129b0a30e7c86b8 \ --user ' {your_account_SID}:{your_account_token}' \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \
If delete mapping is successful, below is the response returned:
{ "data": { "webexAddress": "subhahu@telestax.com", "externalAddress": "1127654389", "name": "subhahuc", "dateUpdated": "2019-09-10 10:24:59.0", "dateCreated": "2019-09-10 10:13:33.0", "accountSid": "ACabe36038f6f9bd92e6da3977ad62e5d7", "accountEmail": "talentica@telestax.com", "enterpriseSid": "WEM7cc91d3200044d9fbe8e923788004f17", "enterpriseName": "test22", "sid": "WEMac5558ff4312422db129b0a30e7c86b8" }, "code": 200, "message": "OK" }
Read Operation
Read Operations is basically divided into two main categories Session Detail Record that gives list of Enterprise, Mappings and Messages The UsageRecords REST resource provides a simple API to retrieve usage made by your account during and your Enterprise account in any time period. This makes it easy to build reporting and analytics tools for your application. UsageRecords make it possible to build recurring usage-based billing systems with just a few simple API calls.
Get list of Enterprise
List Enterprise API allows users to list all the Enterprise created under that “Organisation” which means under that CSP.
Paging
The following paging parameters are supported
Query Parameter |
Description |
page |
Which page of Enterprise records to return, starting from 0. |
per_page |
Number of records returned per page |
Number of records returned per page
Filtering
Following filtering parameters are supported
Query Parameter |
Description |
name |
Optional parameter. Only show Enterprises that match name text, partially or fully. |
startTime |
Optional parameter. Only show enterprises 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. |
endTime |
Optional parameter. Only show enterprises 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. |
accountSid |
Optional parameter. Only show Enterprise that match passed accountSid |
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. Below you can find the possible attributes you can sort by:
Response Parameters
Search Enterprise API will return Error Code and corresponding HTTP Error as mentioned in Common Response Error Code.
The response returned is JSON body as shown in the example below. Each SDR parameters are as explained below
Response Parameter |
Description |
sid |
Unique Enterprise Id |
accountSid |
Unique Restcomm Account that created/updated this particular Enterprise |
accountEmail |
Restcomm Account email that created/updated this particular Enterprise |
dateCreated |
Timestamp when this Enterprise was created |
dateUpdated |
Timestamp when this Enterprise was updated |
name |
Name of this Enterprise |
mappingsCount |
Number of Webex Teams to SMS enabled Numbers mappings under this Enterprise |
status |
Status of enterprise |
Example
From the bash terminal you can run the command below:
curl -X GET \ https://cloud.restcomm.com/webex/enterprise/search \ --user ' {your_account_SID}:{your_account_token}' \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \
Below is the response returned:
{ "data": { "result": [ { "name": "test2", "sid": "WEM3908bb3b60194594b9d2399bfd53f52e", "mappingsCount": 0, "status": "ACTIVE", "dateUpdated": "2019-09-03 11:25:43.0", "dateCreated": "2019-09-03 11:25:43.0", "accountSid": "ACa91f3a070d55122d9ec0069b0be27758", "accountEmail": "subhahu.reddy@telestax.com" }, { "name": "Acme Health Care", "sid": "WEM41aca11ea00c4592bc0363fbf9899414", "mappingsCount": 1, "status": "ACTIVE", "dateUpdated": "2019-09-04 16:24:57.0", "dateCreated": "2019-09-04 16:24:57.0", "accountSid": "ACae6e420f425248d6a26948c17a9e2acf", "accountEmail": "dev@telestax.com" } ], "pageSize": 10, "total": 2, "page": 0, "numPages": 1, "start": 0, "end": 2 }, "code": 200, "message": "OK" }
Get Single Enterprise
Single Enterprise search API allows users to retrieve specific Enterprise created under that “Organisation” which means under that CSP.
Response Parameters
Search Enterprise API will return Error Code and corresponding HTTP Error as mentioned in Common Response Error Code.
Error Code |
HTTP Status |
Error Message |
Description |
Category |
490 |
409 |
Invalid EnterpriseId |
Search is called passing EnterpriseId which is not present in system or doesn’t belong to same Organisation |
Search |
Example
From the bash terminal you can run the command below:
curl -X GET \ https://cloud.restcomm.com/webex/enterprise/search/WEM3908bb3b60194594b9d2399bfd53f52ec25f1274f \ --user ' {your_account_SID}:{your_account_token}' \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \
Below is the response returned:
{ "data": { "name": "test2", "sid": "WEM3908bb3b60194594b9d2399bfd53f52e", "mappingsCount": 0, "status": "ACTIVE", "dateUpdated": "2019-09-03 11:25:43.0", "dateCreated": "2019-09-03 11:25:43.0", "accountSid": "ACa91f3a070d55122d9ec0069b0be27758", "accountEmail": "subhahu.reddy@telestax.com" }, "code": 200, "message": "OK" }
Get list of Webex Teams Mappings
List Webex Teams Mappings API allows users to list all the Mappings for specific Organisation which means under that CSP.
Get List of Enterprise Resource URI
/webex/webexteams/mappings/search ==== Supported Operations HTTP GET: List all Mappings under Organisation
Paging
The following paging parameters are supported
Query Parameter |
Description |
page |
Which page of Mappings records to return, starting from 0. |
per_page |
Number of records returned per page |
Number of records returned per page
Filtering
Following filtering parameters are supported
Query Parameter |
Description |
enterpriseSid |
Optional parameter to show all mappings under that Enterprise Id |
startTime |
Optional parameter. Only show mappings 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. |
endTime |
Optional parameter. Only show mappings 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 mappings that match name text, partially or fully. |
webexAddress |
Optional parameter. Only show mappings that match webex id text, partially or fully. |
externalAddress |
Optional parameter. Only show mappings that match externalAddress text, partially or fully. |
accountSid |
Optional parameter. Only show mappings that match passed accountSid |
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. Below you can find the possible attributes you can sort by:
Response Parameters
Search Mapping API will return Error Code and corresponding HTTP Error as mentioned in Common Response Error Code.
The response returned is JSON body as shown in the example below. Each SDR parameters are as explained below
Response Parameter |
Description |
sid |
Unique Webex Team mapping Id |
enterpriseSid |
Enterprise Id under which this Mapping is created |
accountSid |
Unique Restcomm Account that created/updated this particular mapping |
dateCreated |
Timestamp when this mapping was created |
dateUpdated |
Timestamp when this mapping was updated |
name |
Friendly name of this user |
webexAddress |
Cisco Webex id of this user |
enterpriseName |
Enterprise name under which this Mapping is created |
accountEmail |
Restcomm Account email that created/updated this particular mapping |
externalAddress |
SMS enabled number mapped to this Webex id. |
Example
From the bash terminal you can run the command below:
curl -X GET \ https://cloud.restcomm.com/webex/webexteams/mappings/search \ --user ' {your_account_SID}:{your_account_token}' \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \
Below is the response returned:
{ "data": { "result": [ { "webexAddress": "jane.doe@yourcompany.com", "externalAddress": "12012852659", "name": "Aditya", "dateUpdated": "2019-09-04 13:56:29.0", "dateCreated": "2019-09-04 13:20:08.0", "accountSid": "ACabe36038f6f9bd92e6da3977ad62e5d7", "accountEmail": "talentica@telestax.com", "enterpriseSid": "WEM8888002287d54686b680c95b7d459edb", "enterpriseName": "test-1", "sid": "WEMb266d3f665884dfb8f792a3882e43ff4" }, { "webexAddress": "bobx@acmehealth.com", "externalAddress": "15713316943", "name": "Bob X", "dateUpdated": "2019-09-04 16:26:07.0", "dateCreated": "2019-09-04 16:26:07.0", "accountSid": "ACae6e420f425248d6a26948c17a9e2acf", "accountEmail": "dev@telestax.com", "enterpriseSid": "WEM41aca11ea00c4592bc0363fbf9899414", "enterpriseName": "Acme Health Care", "sid": "WEM8ba485833e274a57ac14e3d3a0f30176" }, { "webexAddress": "seongho@cisco.com", "externalAddress": "14089023882", "name": "Seongho Hong", "dateUpdated": "2019-08-30 09:57:58.0", "dateCreated": "2019-08-30 09:54:52.0", "accountSid": "AC828501aeb2a004bed46520c08a2099be", "accountEmail": "marbake2@cisco.com", "enterpriseSid": "WEM5b8f1c7e068c4b56b62a75471bcf5956", "enterpriseName": "Cisco", "sid": "WEMd59cb7261e0741909662afcc02fcbdd7" } ], "pageSize": 10, "total": 3, "page": 0, "numPages": 1, "start": 0, "end": 3 }, "code": 200, "message": "OK" }
Get Single Webex Teams Mappings
Single Webex Team Mapping search API allows users to retrieve specific mapping created under that “Organisation” which means under that CSP.
Response Parameters
Search Enterprise API will return Error Code and corresponding HTTP Error as mentioned in Common Response Error Code.
Error Code |
HTTP Status |
Error Message |
Description |
Category |
491 |
409 |
Invalid MappingId |
Search is called passing MappingId which is not present in system or doesn’t belong to same Organisation |
Search |
Example
From the bash terminal you can run the command below:
curl -X GET \ https://cloud.restcomm.com/webex/webexteams/mappings/search/WEMb266d3f665884dfb8f792a3882e43ff4 \ --user ' {your_account_SID}:{your_account_token}' \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \
Below is the response returned:
{ "data": { "webexAddress": "jane.doe@yourcompany.com", "externalAddress": "12012852659", "name": "Aditya", "dateUpdated": "2019-09-04 13:56:29.0", "dateCreated": "2019-09-04 13:20:08.0", "accountSid": "ACabe36038f6f9bd92e6da3977ad62e5d7", "accountEmail": "talentica@telestax.com", "enterpriseSid": "WEM8888002287d54686b680c95b7d459edb", "enterpriseName": "test-1", "sid": "WEMb266d3f665884dfb8f792a3882e43ff4" }, "code": 200, "message": "OK" }
Get list of Webex Teams Messages
List Webex Teams Messages API allows users to list all the Messages for specific Organisation which means under that CSP.
Paging
The following paging parameters are supported
Query Parameter |
Description |
page |
Which page of Messages records to return, starting from 0. |
per_page |
Number of records returned per page |
Number of records returned per page
Filtering
Following filtering parameters are supported
Query Parameter |
Description |
enterpriseSid |
Optional parameter to show all messages under that Enterprise Id |
startTime |
Optional parameter. Only show messages 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. |
endTime |
Optional parameter. Only show messages 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. |
to |
Optional parameter. Only Show the list of messages that are sent to this number or WebExId |
from |
Optional parameter. Only Show the list of messages that are sent from this number or WebExId |
direction |
Optional parameter.Only Show the list of messages of particular direction(INBOUND,OUTBOUND). |
Inbound means messages coming from Mobile to WebEx Id. |
Outbound means message sent from WebEx Id to Mobile |
type |
Optional parameter.Only Show the list of messages of particular type(SMS,MMS) |
channelStatus |
Optional parameter. Only include messages list that match underlying channel status, partially or fully in any position |
channelErrorCode |
Optional parameter. Only include messages list that match underlying channel Error code, partially or fully in any position |
channelErrorMessage |
Optional parameter. Only include messages list that match underlying channel error message, partially or fully in any position |
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. Below you can find the possible attributes you can sort by:
Response Parameters
Search Message API will return Error Code and corresponding HTTP Error as mentioned in Common Response Error Code.
The response returned is JSON body as shown in the example below. Each SDR parameters are as explained below
Response Parameter |
Description |
sid |
Unique Webex Team message Id |
enterpriseSid |
Enterprise Id under which this Message is created |
accountSid |
Unique Restcomm Account that created/updated this particular message |
dateCreated |
Timestamp when this message was created |
dateUpdated |
Timestamp when this message was updated |
from |
From which number/email the message is sent |
to |
To which number/email the message is sent |
direction |
Direction of message (INBOUND,OUTBOUND). 1. Inbound means messages coming from Mobile to Webex Id. 2. Outbound means message sent from Webex Id to Mobile |
type |
Type of message (SMS,MMS) |
Example
From the bash terminal you can run the command below:
curl -X GET \ https://cloud.restcomm.com/webex/webexteams/messages/search \ --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": "WEM9ee6d76e032e4ae59259c54f705bf2df", "accountSid": "ACabe36038f6f9bd92e6da3977ad62e5d7", "enterpriseSid": "WEM8888002287d54686b680c95b7d459edb", "dateCreated": "2019-08-22 12:20:09.0", "dateUpdated": "2019-08-22 12:20:09.0", "from": "12012852760", "to": "12012852659", "direction": "OUTBOUND", "type": "SMS" }, { "sid": "WEMd3ad39bff74149e5bc5a50cfef08051e", "accountSid": "ACabe36038f6f9bd92e6da3977ad62e5d7", "enterpriseSid": "WEM8888002287d54686b680c95b7d459edb", "dateCreated": "2019-08-22 12:20:49.0", "dateUpdated": "2019-08-22 12:20:49.0", "from": "12012852760", "to": "jane.doe@yourcompany.com", "direction": "INBOUND", "type": "SMS" } ], "pageSize": 10, "total": 2, "page": 0, "numPages": 1, "start": 0, "end": 2 }, "code": 200, "message": "OK" }
Get Single Webex Teams Message
Single Webex Team Message search API allows users to retrieve specific message created under that “Organisation” which means under that CSP.
Response Parameters
Search Enterprise API will return Error Code and corresponding HTTP Error as mentioned in Common Response Error Code.
|Error Code |HTTP Status |Error Message |Description |Category |491 |409 |Invalid MappingId |Search is called passing MappingId which is not present in system or doesn’t belong to same Organisation |Search
Example
From the bash terminal you can run the command below:
curl -X GET \ https://cloud.restcomm.com/webex/webexteams/messages/search/WEM9ee6d76e032e4ae59259c54f705bf2df \ --user ' {your_account_SID}:{your_account_token}' \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \
Below is the response returned:
{ "data": { "sid": "WEM9ee6d76e032e4ae59259c54f705bf2df", "accountSid": "ACabe36038f6f9bd92e6da3977ad62e5d7", "enterpriseSid": "WEM8888002287d54686b680c95b7d459edb", "dateCreated": "2019-08-22 12:20:09.0", "dateUpdated": "2019-08-22 12:20:09.0", "from": "12012852760", "to": "12012852659", "direction": "OUTBOUND", "type": "SMS" }, "code": 200, "message": "OK" }
///webex/smskey/search
Get Enterprise Usage Records
Enterprise Usage Records API provides number of Enterprise created for given time period
Filtering
Usage filter will return usage records for passed filter. Following filtering parameters are supported.
Query Parameter |
Description |
startDate |
Only include usage that has occurred on or after this date. Format is |
YYYY-MM-DD. All dates are in GMT. As a convenience, you can also specify offsets to today. For example, StartDate=-30days will make StartDate be 30 days before today. |
endDate |
Only include usage that has occurred on or before this date. Format is YYYY-MM-DD. All dates are in GMT. As a convenience, you can also specify offsets to today. For example, EndDate=+30days will make EndDate be 30 days from today. |
accountSid |
Example
From the bash terminal you can run the command below:
curl -X GET \ https://cloud.restcomm.com/webex/enterprise/usage/records \ --user ' {your_account_SID}:{your_account_token}' \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \
Below is the response returned
{ "data": [ { "description": "Enterprise created", "startDate": "2019-08-01", "endDate": "2019-08-31", "count": 3 }, { "description": "Enterprise created", "startDate": "2019-09-01", "endDate": "2019-09-30", "count": 2 } ], "code": 200, "message": "OK" }
Request Subresource
The main UsageRecords list resource supports a variety of convenience subresources. In general these take the form:
/webex/enterprise/usage/records/{Subresource}
Supported subresources are
Subresource |
Description |
daily |
Return Usage record on a daily basis. If no date filter is passed, last 30 days usage is retrieved. |
monthly |
Return Usage record on a monthly basis. If no date filter is passed, last 12 months usage is retrieved |
yearly |
Return Usage record on yearly basis. If no date filter is passed, only this year and previous year usage is retrieved. |
today |
Return Usage record on today. |
yesterday |
Return Usage record on yesterday. |
thismonth |
Return Usage record on this month. |
lastmonth |
Return Usage record on last month. |
“startDate” and “endDate” filters can also be passed with subresource to get usage date for that given time period.
Example
From the bash terminal you can run the command below:
curl -X GET \ https://cloud.restcomm.com/webexteams/enterprise/usage/records/daily \ --user ' {your_account_SID}:{your_account_token}' \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \
Below is the response returned:
{ "data": [ { "description": "Enterprise created", "startDate": "2019-09-03", "endDate": "2019-09-03", "count": 1 }, { "description": "Enterprise created", "startDate": "2019-09-04", "endDate": "2019-09-04", "count": 1 }, { "description": "Enterprise created", "startDate": "2019-08-22", "endDate": "2019-08-22", "count": 1 }, { "description": "Enterprise created", "startDate": "2019-08-23", "endDate": "2019-08-23", "count": 1 }, { "description": "Enterprise created", "startDate": "2019-08-25", "endDate": "2019-08-25", "count": 1 } ], "code": 200, "message": "OK" }
Get Mappings Usage Records
Mapping Usage Records API provides number of Mappings created for given time period
Filtering
Usage filter will return usage records for passed filter. Following filtering parameters are supported.
Query Parameter |
Description |
startDate |
Only include usage that has occurred on or after this date. Format is YYYY-MM-DD. All dates are in GMT. As a convenience, you can also specify offsets to today. For example, StartDate=-30days will make StartDate be 30 days before today. |
endDate |
Only include usage that has occurred on or before this date. Format is YYYY-MM-DD. All dates are in GMT. As a convenience, you can also specify offsets to today. For example, EndDate=+30days will make EndDate be 30 days from today. |
enterpriseSid |
Usage records only for passed enterprise ID |
accountSid |
Only include Usage record that is initiated by this specific accountSid. The accountSid should be of one of the sub account of this account. |
Example
From the bash terminal you can run the command below:
curl -X GET \ https://cloud.restcomm.com/webex/webexteams/mappings/usage/records \ --user ' {your_account_SID}:{your_account_token}' \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \
Below is the response returned
{ "data": [ { "description": "Webex mapping created", "count": 11 } ], "code": 200, "message": "OK" }
Request Subresource
The main UsageRecords list resource supports a variety of convenience subresources. In general these take the form:
/webex/webexteams/mappings/usage/records/{Subresource}
Supported subresources are
Subresource |
Description |
daily |
Return Usage record on a daily basis. If no date filter is passed, last 30 days usage is retrieved. |
monthly |
Return Usage record on a monthly basis. If no date filter is passed, last 12 months usage is retrieved |
yearly |
Return Usage record on yearly basis. If no date filter is passed, only this year and previous year usage is retrieved. |
today |
Return Usage record on today. |
yesterday |
Return Usage record on yesterday. |
thismonth |
Return Usage record on this month. |
lastmonth |
Return Usage record on last month. |
“startDate” and “endDate” filters can also be passed with subresource to get usage date for that given time period.
Example
From the bash terminal you can run the command below:
curl -X GET \ https://cloud.restcomm.com/webex/webexteams/mappings/usage/records/daily \ --user ' {your_account_SID}:{your_account_token}' \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \
Below is the response returned:
{ "data": [ { "description": "Webex mapping created", "startDate": "2019-09-03", "endDate": "2019-09-03", "count": 1 }, { "description": "Webex mapping created", "startDate": "2019-09-04", "endDate": "2019-09-04", "count": 2 }, { "description": "Webex mapping created", "startDate": "2019-08-23", "endDate": "2019-08-23", "count": 4 }, { "description": "Webex mapping created", "startDate": "2019-08-26", "endDate": "2019-08-26", "count": 1 }, { "description": "Webex mapping created", "startDate": "2019-08-27", "endDate": "2019-08-27", "count": 1 }, { "description": "Webex mapping created", "startDate": "2019-08-28", "endDate": "2019-08-28", "count": 1 }, { "description": "Webex mapping created", "startDate": "2019-08-30", "endDate": "2019-08-30", "count": 1 } ], "code": 200, "message": "OK" }
If you want usage record for specific Enterprise,pass enterpriseSId parameter in request.
Get Messages Usage Records
Messages Usage Records API provides number of Messages created for given time period
Filtering
Usage filter will return usage records for passed filter. Following filtering parameters are supported.
Query Parameter |
Description |
startDate |
Only include usage that has occurred on or after this date. Format is YYYY-MM-DD. All dates are in GMT. As a convenience, you can also specify offsets to today. For example, StartDate=-30days will make StartDate be 30 days before today. |
endDate |
Only include usage that has occurred on or before this date. Format is YYYY-MM-DD. All dates are in GMT. As a convenience, you can also specify offsets to today. For example, EndDate=+30days will make EndDate be 30 days from today. |
enterpriseSid |
Usage records only for passed enterprise ID |
from |
From which number/email the message is sent |
to |
To which number/email the message is sent |
direction |
Direction of message(INBOUND,OUTBOUND). 1. Inbound means messages coming from Mobile to Webex Id. 2. Outbound means message sent from Webex Id to Mobile |
type |
Type of message (SMS,MMS) |
channelStatus |
Usage Records With this channel status |
Example
From the bash terminal you can run the command below:
curl -X GET \ https://cloud.restcomm.com/webex/webexteams/messages/usage/records \ --user ' {your_account_SID}:{your_account_token}' \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \
Below is the response returned
{ "data": [ { "description": "Total Messages", "count": 29 } ], "code": 200, "message": "OK" }
Request Subresource
The main UsageRecords list resource supports a variety of convenience subresources. In general these take the form:
/webex/webexteams/messages/usage/records/{Subresource}
Supported subresources:
Subresource |
Description |
daily |
Return Usage record on a daily basis. If no date filter is passed, last 30 days usage is retrieved. |
monthly |
Return Usage record on a monthly basis. If no date filter is passed, last 12 months usage is retrieved |
yearly |
Return Usage record on yearly basis. If no date filter is passed, only this year and previous year usage is retrieved. |
today |
Return Usage record on today. |
yesterday |
Return Usage record on yesterday. |
thismonth |
Return Usage record on this month. |
lastmonth |
Return Usage record on last month. |
“startDate” and “endDate” filters can also be passed with subresource to get usage date for that given time period.
Example
From the bash terminal you can run the command below:
curl -X GET \ https://cloud.restcomm.com/webex/webexteams/messages/usage/records/daily \ --user ' {your_account_SID}:{your_account_token}' \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \
Below is the response returned:
{ "data": [ { "description": "Total Messages", "startDate": "2019-09-04", "endDate": "2019-09-04", "count": 6 }, { "description": "Total Messages", "startDate": "2019-09-05", "endDate": "2019-09-05", "count": 1 }, { "description": "Total Messages", "startDate": "2019-08-27", "endDate": "2019-08-27", "count": 5 }, { "description": "Total Messages", "startDate": "2019-08-28", "endDate": "2019-08-28", "count": 2 }, { "description": "Total Messages", "startDate": "2019-08-29", "endDate": "2019-08-29", "count": 1 }, { "description": "Total Messages", "startDate": "2019-08-30", "endDate": "2019-08-30", "count": 3 } ], "code": 200, "message": "OK" }
If you want a usage record for a specific Enterprise, pass enterpriseId parameter in the request.