Webex
Cisco Webex Calling can be integrated with the Fusion platform for subscriptions whose UC is webex (see UC values). The integration is done in two steps:
- A Webex customer organization is linked to the subscription. The organization can be selected among the customer organizations available on Cisco Webex (see Get the list of Webex customer organizations and Link a Webex customer organization)
- A top level domain is set up for the integration (see Update the Webex domain)
The progress of the integration can be followed with the onboarding status API. Once the subscription is onboarded, Webex peer trunks (types webexc and webexcc, with their region) can be created on the subscription's trunk groups. See trunk groups and peer trunk group object.
Get the list of Webex customer organizations
This endpoint lists the Webex customer organizations that can be linked to the subscription.
Request
Endpoint
GET /api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/webex/customers
Infinite scrolling vs simple pagination
Like the MS Teams users list, this API is paginated with a continuation token: the total number of records is not known beforehand. When more records are available, a next token is returned and has to be passed in the following call to fetch the next records. When the last page has been reached, no next token is returned anymore.
Authorization
Required role
tenants.instance.subscriptions.instance.webex.customers.list
Path Parameters
| Parameter | Type | Description |
|---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant managing the subscription |
subscription_id | integer | Index of the subscription for which you want to list the Webex customer organizations |
URL/Query parameters
| Parameter | Type | Description | Required? |
|---|---|---|---|
page_size | integer | Used for pagination, determines the maximum number of records on one page of results | no |
next | string | A token used to get the next records in the list. This token is taken back from the results of the previous call | no |
search | string | A case insensitive search on the customer organization name | no |
filters | object | An object representing the conditions to filter out the results | no |
Response
Status codes
| Parameter | Description |
|---|---|
200 | Webex customer organizations have been found |
400 | Error while processing the request |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | The path tenant / subscription doesn't exist |
500 | Uncatched error on server side |
Success
Body
| Parameter | Type | Description | Conditional? |
|---|---|---|---|
next | string | A token used for infinite scrolling, to be used in the next call to retrieve subsequent records. Only present if the list has to be continued | yes |
customers | array | A list of Webex customer objects | no |
Webex customer object
| Parameter | Type | Description | Conditional? |
|---|---|---|---|
id | string | ID of the customer on Cisco Webex | no |
name | string | Name of the customer organization | no |
orgId | string | ID of the customer organization | no |
b64orgId | string | Base64 encoded ID of the customer organization (the value to use when linking the organization) | no |
status | string | Provisioning status of the customer on Cisco Webex. Possible values are:
| no |
Example
{
"next": "Y3Vyc29yPTIw",
"customers": [
{
"id": "Y2lzY29zcGFyazovL3VzL0NVU1RPTUVSLzEyMzQ1",
"name": "Acme Corp",
"orgId": "1eb65fdf-9643-417f-9974-ad72cae0e10f",
"b64orgId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi8xZWI2NWZkZi05NjQzLTQxN2YtOTk3NC1hZDcyY2FlMGUxMGY",
"status": "provisioned"
}
]
}Get a Webex customer organization
This endpoint retrieves the details of a specific Webex customer organization.
Request
Endpoint
GET /api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/webex/customers/{customer_org_id}
Authorization
Required role
tenants.instance.subscriptions.instance.webex.customers.read
Path Parameters
| Parameter | Type | Description |
|---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant managing the subscription |
subscription_id | integer | Index of the subscription linked to the Webex customer organization |
customer_org_id | string | ID of the customer organization (the orgId returned by the onboarding status) |
URL/Query parameters
N/A
Response
Status codes
| Parameter | Description |
|---|---|
200 | The Webex customer organization has been found |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | The customer organization or the path tenant / subscription doesn't exist |
500 | Uncatched error on server side |
Success
Body
Example
{
"id": "Y2lzY29zcGFyazovL3VzL0NVU1RPTUVSLzEyMzQ1",
"name": "Acme Corp",
"orgId": "1eb65fdf-9643-417f-9974-ad72cae0e10f",
"b64orgId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi8xZWI2NWZkZi05NjQzLTQxN2YtOTk3NC1hZDcyY2FlMGUxMGY",
"status": "provisioned"
}Link a Webex customer organization
This endpoint links an existing Webex customer organization to the subscription. This is the first step of the Webex integration.
Request
Endpoint
POST /api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/webex/customers/link
Authorization
Required role
tenants.instance.subscriptions.instance.webex.customers.link
Path Parameters
| Parameter | Type | Description |
|---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant managing the subscription |
subscription_id | integer | Index of the subscription to which the customer organization has to be linked |
URL/Query parameters
N/A
Body
| Parameter | Type | Description | Required? |
|---|---|---|---|
orgID | string | The Base64 encoded ID of the customer organization (b64orgId of the Webex customer object) | yes |
mode | string | The Webex integration mode. Possible values are: wholesale, flex | no |
Example
{
"orgID": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi8xZWI2NWZkZi05NjQzLTQxN2YtOTk3NC1hZDcyY2FlMGUxMGY"
}Response
Status codes
| Parameter | Description |
|---|---|
200 | The customer organization has been linked to the subscription |
400 | Error while processing the request |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | The customer organization or the path tenant / subscription doesn't exist |
500 | Uncatched error on server side |
Success
Body
N/A
Get the Webex onboarding status
This endpoint retrieves the status of the Webex integration of the subscription. It can be polled while the integration is ongoing, until the status is onboarded, error_organization or error_domain.
Request
Endpoint
GET /api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/webex/status
Authorization
Required role
tenants.instance.subscriptions.instance.webex.status.read
Path Parameters
| Parameter | Type | Description |
|---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant managing the subscription |
subscription_id | integer | Index of the subscription for which you want to get the Webex onboarding status |
URL/Query parameters
N/A
Response
Status codes
| Parameter | Description |
|---|---|
200 | The onboarding status is returned |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | The path tenant / subscription doesn't exist |
500 | Uncatched error on server side |
Success
Body
| Parameter | Type | Description | Conditional? |
|---|---|---|---|
status | string | The onboarding status. Possible values are:
| no |
mode | string | The Webex integration mode: wholesale or flex | yes |
orgId | string | ID of the linked customer organization | yes |
b64orgId | string | Base64 encoded ID of the linked customer organization | yes |
Example
{
"status": "onboarded",
"mode": "wholesale",
"orgId": "1eb65fdf-9643-417f-9974-ad72cae0e10f",
"b64orgId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi8xZWI2NWZkZi05NjQzLTQxN2YtOTk3NC1hZDcyY2FlMGUxMGY"
}Update the Webex domain
This endpoint sets up the top level domain of the Webex integration. This is the second step of the Webex integration, once a customer organization has been linked.
Request
Endpoint
PUT /api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/webex/domain
Authorization
Required role
tenants.instance.subscriptions.instance.webex.domain.update
Path Parameters
| Parameter | Type | Description |
|---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant managing the subscription |
subscription_id | integer | Index of the subscription for which you want to set up the Webex domain |
URL/Query parameters
N/A
Body
| Parameter | Type | Description | Required? |
|---|---|---|---|
domain | string | The top level domain to use for the Webex integration | yes |
Example
{
"domain": "acme.com"
}Response
Status codes
| Parameter | Description |
|---|---|
200 | The domain has been updated |
400 | Error while processing the request |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | The path tenant / subscription doesn't exist |
500 | Uncatched error on server side |
Success
Body
N/A
