Overview

An Element is a server instance which provides feature capability. Some examples of elements are Avaya Cloud Office, Chat Connector, Microsoft Teams and so on, Avaya Experience Platform™ allows management of elements.
An Element Type is type of element which gets registered with Inventory Service where we can install multiple instances of the elements.
Voice Service ownes and provides ability to manage different Elements such as Avaya Cloud Office, Microsoft Teams etc.

Before you begin

Refer to How to Authenticate with Avaya Experience Platform™ APIs required to invoke Voice APIs.

Voice APIs require the Account Administrator role for access.

Creating an Avaya Cloud Office Element

To create a new Avaya Cloud Office Element you should invoke Create Avaya Cloud Office. You should provide basic details such as a name, environment and didNumbers. It is recommended to have descriptive and meaningful names that convey the Avaya Cloud Office's purpose. For example, Avaya Cloud Office For Production etc.

POST /aco-elements

/v1/accounts/ABCDEF/aco-elements

Request Body:

{
 "description": "Avaya Cloud Office Description",
 "name": "Avaya Cloud Office",
 "environment": "Production",
 "didNumbers": [
 "+16062128688",
 "+12702289911"
 ]
}

After the Avaya Cloud Office Element request has been accepted an async process will be triggered to configure the element, the status of which should be monitored via /aco-elements/{elementId}.

After the Avaya Cloud Office Element has been created you will receive a elementId in the response that you should use in all subsequent requests related to that Avaya Cloud Office.

HTTP 202 Accepted

{
 "elementId": "ce8042a2-12f8-406f-5fd3-86c1c16d3a77",
 "description": "Avaya Cloud Office Description",
 "name": "Avaya Cloud Office",
 "environment": "Production",
 "didNumbers": [
 "+16062128688",
 "+12702289911"
 ],
 "elementType": "ACO",
 "status": "SUCCESS"
}

Updating an Avaya Cloud Office Element

To update an Avaya Cloud Office Element you should invoke Update Avaya Cloud Office. You should include all the details of the Avaya Cloud Office Element. Fields that are omitted from the update that were previously present will be removed.

The same basic principle applies to any updates made to the Avaya Cloud Office Element. It is treated as a complete replacement.

PUT /aco-elements/{elementId}

/v1/accounts/ABCDEF/aco-elements/c8c2909d-75e9-484a-94c0-b7e8d29771fe

Request Body:

{
 "description": "Avaya Cloud Office Description",
 "name": "Avaya Cloud Office",
 "environment": "Production",
 "didNumbers": [
 "+16062128688",
 "+12702289911"
 ]
}

HTTP 202 Accepted

{
 "elementId": "c8c2909d-75e9-484a-94c0-b7e8d29771fe",
 "description": "Avaya Cloud Office Description",
 "name": "Avaya Cloud Office",
 "environment": "Production",
 "didNumbers": [
 "+16062128688",
 "+12702289911"
 ],
 "elementType": "ACO",
 "status": "SUCCESS"
}

Deleting an Avaya Cloud Office Element

To delete an Avaya Cloud Office Element you should invoke Delete Avaya Cloud Office. No response body is returned from this request.

DELETE /aco-elements/{elementId}

/v1/accounts/ABCDEF/aco-elements/c8c2909d-75e9-484a-94c0-b7e8d29771fe

HTTP 204 No Content

After an Avaya Cloud Office Element has been deleted Get an Avaya Cloud Office will return HTTP 404 Not Found.

Creating a Microsoft Teams Element

To create a new Microsoft Teams Element you should invoke Create MS Teams. You should provide basic details such as a name, domain and didNumbers. It is recommended to have descriptive and meaningful names that convey the Microsoft Teams's purpose. For example, Microsoft Teams For Production etc.

POST /msteams-elements

/v1/accounts/ABCDEF/msteams-elements

Request Body:

{
 "description": "MS Teams Server description",
 "name": "MS Teams Server",
 "domain": "exchange.com",
 "didNumbers": [
 "+16062128688",
 "+12702289911"
 ]
}

After the Microsoft Teams Element request has been accepted an async process will be triggered to configure the element, the status of which should be monitored via /msteams-elements/{elementId}.

After the Microsoft Teams Element has been created you will receive a elementId in the response that you should use in all subsequent requests related to that Microsoft Teams.

HTTP 202 Accepted

{
 "elementId": "c8c2909d-75e9-484a-94c0-b7e8d29771fe",
 "description": "MS Teams Server description",
 "name": "MS Teams Server",
 "domain": "exchange.com",
 "didNumbers": [
 "+16062128688",
 "+12702289911"
 ],
 "elementType": "MSTeams",
 "status": "SUCCESS"
}

Updating a Microsoft Teams Element

To update a Microsoft Teams Element you should invoke Update MS Teams. You should include all the details of the Microsoft Teams Element. Fields that are omitted from the update that were previously present will be removed.

The same basic principle applies to any updates made to the Microsoft Teams Element. It is treated as a complete replacement.

PUT /msteams-elements/{elementId}

/v1/accounts/ABCDEF/msteams-elements/c8c2909d-75e9-484a-94c0-b7e8d29771fe

Request Body:

{
 "description": "MS Teams Server description",
 "name": "MS Teams Server",
 "domain": "exchange.com",
 "didNumbers": [
 "+16062128688",
 "+12702289911"
 ]
}

HTTP 202 Accepted

{
 "elementId": "c8c2909d-75e9-484a-94c0-b7e8d29771fe",
 "description": "MS Teams Server description",
 "name": "MS Teams Server",
 "domain": "exchange.com",
 "didNumbers": [
 "+16062128688",
 "+12702289911"
 ],
 "elementType": "MSTeams",
 "status": "SUCCESS"
}

Deleting a Microsoft Teams Element

To delete a Microsoft Teams Element you should invoke Delete MS Teams. No response body is returned from this request.

DELETE /msteams-elements/{elementId}

/v1/accounts/ABCDEF/msteams-elements/c8c2909d-75e9-484a-94c0-b7e8d29771fe

HTTP 204 No Content

After a Microsoft Teams Element has been deleted Get an MS Teams will return HTTP 404 Not Found.

Phone Numbers

A phone number is the entry point for contact center voice engagements.

Add Phone Number

To add new Phone Number you should invoke Add Number. You should provide basic details such as a phoneNumber, displayName, countryCode and isCallingPartyNumber. It is recommended to have porposeful displayName. For example, Toll Free number etc.

POST /phone-numbers

/v1/accounts/{accountId}/phone-numbers

Request Body:

{
 "phoneNumber": "+16479308804",
 "displayName": "private Number",
 "countryCode": "US",
 "isCallingPartyNumber": true
}

After the phone number request has been accepted an async process will be triggered to configure the number, the status of which should be monitored via /phone-numbers/{phoneNumberId}.

Once been created you will receive a phoneNumberId in the response that you should use in all subsequent requests related to that Number.

HTTP 202 Accepted

{
 "phoneNumberId": "c8c2909d-75e9-484a-94c0-b7e8d29771fe",
 "phoneNumber": "+16479308804",
 "displayName": "private Number",
 "isCallingPartyNumber": true,
 "countryCode": "US",
 "type": "UNKNOWN",
 "accountId": "ABCDEF",
 "status": "INPROGRESS"
}

Updating a Phone Number

To update a Phone Number you should invoke Update Number.
You should include all the details of the number. Fields that are omitted from the update that were previously present will be removed.

The same basic principle applies to any updates made to the Number. It is treated as a complete replacement.

PUT /phone-numbers/{phoneNumberId}

/v1/accounts/{accountId}/phone-numbers/c8c2909d-75e9-484a-94c0-b7e8d29771fe

Request Body:

{
 "displayName": "private Number",
 "isCallingPartyNumber": true
}

HTTP 202 Accepted

{
 "phoneNumberId": "c8c2909d-75e9-484a-94c0-b7e8d29771fe",
 "phoneNumber": "+16479308804",
 "displayName": "private Number",
 "countryCode": "US",
 "type": "LOCAL",
 "isCallingPartyNumber": true,
 "accountId": "ABCDEF",
 "status": "INACTIVE",
 "statusMessage": "Verification needed. Please send the necessary documents to [email protected] to activate it."
}

Releasing a Phone Number

To release a Phone Number you should invoke Delete Number.
No response body is returned from this request.

DELETE /phone-numbers/{phoneNumberId}

/v1/accounts/{accountId}/phone-numbers/c8c2909d-75e9-484a-94c0-b7e8d29771fe

HTTP 204 No Content

After a number has been deleted Get Number.
will return HTTP 404 Not Found.

Available Phone Numbers

To get Available numbers you should invoke [Available Phone Numbers]After a number has been deleted Get Number.
The available phone numbers that can be added to the contact center will be listed.

GET /available-phone-numbers

/v1/accounts/{accountId}/available-phone-numbers?countryCode=US&type=TOLLFREE&areaCode=330&phoneNumber=%2B16479308804&pageNumber=1&pageSize=5

HTTP 200 OK

{
 "pagination": {
 "pageNumber": 2,
 "pageSize": 10,
 "total": 45
 },
 "phoneNumbers": [
 {
 "phoneNumber": "+16479308804",
 "countryCode": "US",
 "type": "LOCAL",
 "documentationRequired": true
 }
 ],
 "links": {
 "prev": "/api/admin/voice/v1/accounts/ABCDEF/available-phone-numbers?pageNumber=1&pageSize=10",
 "next": "/api/admin/voice/v1/accounts/ABCDEF/available-phone-numbers?pageNumber=3&pageSize=10"
 }
}

as you will notice from response, There is a field documentationRequired which indicates if the activation of this number will be required. you should send necessary documents to [email protected] to activate it.