📜 ⬆️ ⬇️

Integration of telephony with CRM: what to rely on when self-tuning

image

Today I want to talk about the integration of telephony with CRM with enhanced control of the data transmitted between systems. In order for you to accomplish this task yourself:


  1. I will show how we have implemented the ready-made integration of a virtual PBX with retailCRM on the basis of our API. The same logic can be transferred to the desired integration with your system (I’ll make a reservation that this is not an instruction, but a foundation for implementing integration of other PBXs with retailCRM or other CRMs with UIS telephony).
  2. I’ll tell you about the key data management functions that are protected in our API and on which such integration schemes rely.

An example of basic telephony integration with CRM


Let's take a look at how to integrate telephony with CRM with support for basic functionality using the example of retailCRM. In this case, we will make a reservation that we understand by the basic functionality:



Specifically, in the UIS integration scheme with retailCRM, we have implemented several more useful functions (for example, synchronization of employee status in services, etc.). However, it seems that they still go beyond the basic functionality of such integrations, so I will not dwell on them in this material.


Tools used



The article also implies that the integration server requires a connector server that provides the interaction between the cloud PBX and CRM.


The general scheme of work integration


image


Click on the diagram to view the full size.



Telephony activation in retailCRM


Telephony in retailCRM is activated by a request to / api / v4 / telephony / setting / {code} / edit . Among other things, the following parameters are indicated in the request:



Call processing


Contact popup card


A pop-up contact card in retailCRM is made by a simple request to the API / api / v4 / telephony / call / event , the trigger will be triggered notification for the “Waiting for an answer” event when the employee is already ringing the phone.


Missed calls


The call is missed or successful; you can determine it by the is_lost parameter in the call completion notification. And if the call is missed, the call status will be loaded with an API request / api / v4 / telephony / calls / upload , the fields of which can be filled with parameters from the notification.


Successful calls and saving their records in CRM


To upload a successful call to retailCRM, you first need to obtain additional information on this call, which the Data API will help you to handle.


A bit about the query layout:



What it looks like
{ "jsonrpc": "2.0", "id": 1122, "method": "get.call_legs_report", "date_from": "2017-06-01 14:34:00", "date_till": "2017-06-01 14:36:52", "params": { "access_token": "N2dw2Rf33fn23fknkmdfeJmcP", "filter": { "filters": [ { "field": "call_session_id", "operator": "=", "value": 31451224 }, { "field": "is_talked", "operator": "=", "value": true } ], "condition": "and" }, "fields": [ "id", "call_seesion_id", "call_records", "release_cause_code", "direction", "start_time", "employee_id", "called_phone_number", "contact_phone_number", "total_duration", "duration" ] } } 

The received information must be uploaded to retailCRM with an API / api / v4 / telephony / calls / upload request. If you need to expand the set of downloadable parameters, you can take them from the parameters of the “End Call” notification.


Outgoing call from retailCRM on click


When an employee tries to call by clicking on the contact number from the CRM interface, retailCRM will send you a request to the URL provided during telephony activation. Now you need to redirect this request to the telephony service to make a call. For this you can use our Call API.


What it looks like
 { "jsonrpc": "2.0", "method": "start.employee_call", "id": "number", "params": { "access_token": "N2dw2Rf33fn23fknkmdfeJmcP", "first_call": "employee", "early_switching": true, "switch_at_once": true, "show_virtual_phone_number": false, "virtual_phone_number": "88002000600", "direction": "out", "contact": "72131231111", "employee": { "id": 13421 } } } 

Synchronization of employee status in retailCRM and UIS


When you receive a notification about the change of employee status from retailCRM, you need to generate a request to the Data API in order to change the settings of this employee in accordance with the new status.


What it looks like
 { "jsonrpc": "2.0", "id": "number", "method": "update.employees", "params": { "access_token": "N2dw2Rf33fn23fknkmdfeJmcP", "id": 13421, "calls_available": false } } 

Nuances of data management through the UIS API


And now, as promised, I will talk about the key functions of controlling the data transmitted between telephony and CRM, which we have provided for in the updated UIS API.



We have planned the public launch of the functionality for July, but I’m ready to tell you more if you want to implement your integration scheme similar to the one described above, and you need the details now (I’d better write here ).


PS By the way, if you are a representative of a CRM system that lacks integration with telephony, then I will also be glad to cooperate. You will help us to work out a scheme of ready-made partner integrations in one click from the UIS Personal Account, and we will help you integrate our services for your users.


')

Source: https://habr.com/ru/post/330396/


All Articles