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