API. Интеграция телефонии со сторонними сервисами

Доступ к событиям телефонии осуществляется через клиент Signal Core (Websockets или long polling Connection)

Пример подключения и доступа к событиям на основе JavaScript

                    var connection = new signalR.HubConnectionBuilder()
                    .withUrl("http://crm.vuxa.by/atsHub?apiclienttoken=" + $("#apitoken").val())
                    .configureLogging(signalR.LogLevel.Information)
                    .build();


                    connection.start().done(function () {
                    $("#status").html("Connected");
                    });

                    connection.on("onCallEvent", function (data) {
                    $("#events").append("

" + JSON.stringify(data) + "

"); console.log(data); });

Скачать образец : vuxaClient_Javascript.zip

Примеры событий

{"UniqueId":"1527238123.1370","Phone":"375447778899","IsOutgoing":true,"EventName":"Dial","Extensions":["161"],"TrunkPhone":"BelTeleCom 3880903"} {"UniqueId":"1527238123.1370","Phone":"375447778899","IsOutgoing":true,"EventName":"Bridge","Extensions":["161"],"TrunkPhone":"BelTeleCom 3880903"} {"UniqueId":"1527238123.1370","Phone":"375447778899","IsOutgoing":false,"EventName":"Hangup","Extensions":[],"TrunkPhone":null} {"UniqueId":"1527238149.1373","Phone":"0447778899","IsOutgoing":false,"EventName":"Dial","Extensions":["180"],"TrunkPhone":"BelTeleCom 3880903"} {"UniqueId":"1527238149.1373","Phone":"0447778899","IsOutgoing":false,"EventName":"Dial","Extensions":["185"],"TrunkPhone":"BelTeleCom 3880903"} {"UniqueId":"1527238149.1373","Phone":"0447778899","IsOutgoing":false,"EventName":"Hangup","Extensions":[],"TrunkPhone":null}

Инициализация вызова

http://crm.vuxa.by/api/makecallexternal?clientId=#token&code=#internalPhone&phone=destinationPhone

HTTPS API

Основная информация


Каждый запрос должен содержать заголовок:
  • ("Accept", "application/json")
  • ("Content-Type", "application/json; charset=utf-8")
  • ("Client", "#clientId:#clienttoken")

Формат входных данных:
  • Дата: yyyy-MM-dd

Получить журналы вызовов

Адрес: https://crm.vuxa.by/api/v01/CallLogs, метод: POST, выходные параметры: Start,End - интервал дат

Получить запись разговора

Адрес: https://crm.vuxa.by/callrecordsexternal/#uniqueId?token=#apitoken, метод: Get, выходные параметры: uniqueId - идентификатор записи, apitoken - уникальный ключ доступа для компании

Получить список входящих смс

Адрес: https://crm.vuxa.by/api/v01/SmsIn, метод: POST, выходные параметры: Start,End - интервал дат

Получить список исходящих смс

Адрес: https://crm.vuxa.by/api/v01/SmsOut, метод: POST, выходные параметры: Start,End - интервал дат

Получение данных клиента (статические поля)

Адрес: https://crm.vuxa.by/api/v01/Customers, метод: POST, выходные параметры: updatedSince - date last client update (optional), Phone - customer phone number (optional)

Получить динамические поля клиента

Адрес: https://crm.vuxa.by/api/v01/CustomersClaims, метод: POST, выходные параметры: updatedSince - date last client update (optional), Phone - customer phone number (optional)

Обновление данных клиента (только статические поля)

Адрес: https://crm.vuxa.by/api/v01/Customers/Update, метод: POST
[{"FirstName":"Антон","SecondName":"Сергеевич","LastName":"Ваушилин","Phone":"375CC38811OO"},{"FirstName":"Сильвестр","SecondName":"Андреевич","LastName":"Булыгин","Phone":"74951XX42Z2"}]

Обновление данных клиента (динамические поля)

Адрес: https://crm.vuxa.by/api/v01/CustomersClaims/Update, метод: POST. CustomerId=phonenumber or 8 last digits
[{"CustomerId":12345678,"Name":"Email","Value":"test@example.com"},{"CustomerId":12345678,"Name":"Спрашивают ли имя","Value":"1"},{"CustomerId":47148079,"Name":"Просто Дата","Value":"2017-01-14"}]