General integration guidelines
The EnreachVoice platform provides multiple extensibility points for integrators and application developers to connect EnreachVoice services.
ServerSide APIs
REST API
EnreachVoice REST API is based on a request/response model. Some of the actions achievable through the REST API include:
Get call data of certain user or service queue
Get and Set user availability and user settings
Get servicequeue status
Process callback requests
REST API endpoint address must be discovered using discovery service.
This integration model operates on a client-to-server architecture.
WebSocket API (RTE)
EnreachVoice Websocket API (RTE) offers a real-time notification channel based on WebSocket technology. This channel allows users to subscribe to specific events, providing instant updates.
This integration model operates on a client-to-server architecture.
Webhook Notifications
EnreachVoice Webhooks provides notifications for many different events happening in EnreachVoice system.
This integration model operates on a server-to-server architecture.
SmartRouting Webhooks
EnreachVoice SmartRouting Webhooks offer enhanced call control functionalities that rely on business logic and external system data.
When a specific service queue is set up for SmartRouting, incoming calls initiate HTTP POST requests to the external system, providing call-related information.
The external system, in turn, responds to these requests with instructions on how to handle the call.
This integration model operates on a server-to-server architecture.
Data exports
EnreachVoice data exports provide a method for customers to import reporting data into their Business Intelligence (BI) systems. This data is made available in the form of CSV files hosted on an SFTP server.
ClientSide APIs
Webphone API
It is possible to embed the EnreachVoice webphone into an external browser-based system. The webphone functions as a WebRTC-based softphone and comes equipped with a JavaScript API that offers a range of events and methods for integration with the external system.
Environment discovery
Each EnreachVoice customer is contained in a multi-tenanted collection of applications, called Silo.
Integrations must not hardcode endpoint addresses. Instead, the integration must discover the endpoints using https://discover.enreachvoice.com/.
Discovery is executed with a single HTTP GET request to the discovery service, supplying the username being used.
curl -H "Accept:application/json" https://discover.enreachvoice.com/api/user/?user=my.user@customer.com
[
{
"siloName":"Silo01",
"username":"my.user@customer.com",
"apiEndpoint":"https://api-theia.enreachvoice.com/",
"authority":"https://id.enreachvoice.com/realms/main/",
"authorityIdPHint":"idp-f93ae7a9-bc89-4856-adbb-5829429a46af"
}
]
Versioning and compatibility
EnreachVoice backend APIs receive updates and changes frequently. APIs strive to be backwards-compatible to reasonable extent.
Integrators must keep monitor the published release notes relevant to their application and
The release notes are found under Release notes.
© Enreach, Mannerheimintie 117, 00280 Helsinki, Finland
+358 40 450 3000, www.enreach.fi