1. Общие сведения о REST API
API позволяет подключить к Облачной АТС любую вашу собственную CRM или базу данных.
Интеграция CRM и Облачной АТС решает несколько бизнес-задач:
Интеграция должна быть двухсторонней. Поэтому часть запросов CRM посылает в сторону Облачной АТС на указанные точки входа, а часть запросов, наоборот, Облачная АТС посылает в сторону CRM на единую точку входа.
Взаимодействие производится по протоколу HTTPS. Авторизация осуществляется по адресу CRM или Облачной АТС соответственно и авторизационному ключу, полученному в процессе настройки интеграции.
Для работы с API необходимо реализовать ответную часть на стороне вашей CRM или базы данных.
Если вы хотите подключить какую-либо популярную Облачную или Коробочную CRM и она не присутствует в списке интеграций, то обратитесь в службу поддержки.
2. Принцип авторизации и взаимодействия
HTTPS:
Ключ (token):
Запросы от CRM или базы данных к Облачной АТС:
Запросы от Облачной АТС к CRM или базе данных:
3. Список команд API
От Облачной АТС к CRM или базе данных:
От CRM или базы данных к Облачной АТС:
4. Команды API и примеры доступных сценариев
4.1 Команды от Облачной АТС к CRM или базе данных
Пожалуйста, реализуйте принимающую и ответную часть для этих команд.
4.1.1 Команда history (POST)
После успешного звонка в CRM отправляется запрос с данными о звонке и ссылкой на запись разговора.
Команда может быть использована для сохранения в данных ваших клиентов истории и записей входящих и исходящих звонков.
Команда доступна сразу после включения API.
Входные параметры:
Имя | Описание | Тип/формат данных | Обязательный параметр |
cmd | тип операции, в данном случае history | string | да |
type | тип звонка in/out (входящий/исходящий) | string | да |
user | идентификатор пользователя облачной АТС (необходим для сопоставления на стороне CRM) | string | да |
phone | номер телефона клиента, с которого или на который произошел звонок | string / E164 | да |
diversion | ваш номер телефона, через который пришел входящий вызов | string / E164 | да |
duration | общая длительность звонка в секундах | number | да |
callid | уникальный id звонка | string | да |
link | ссылка на запись звонка, если она включена в Облачной АТС | string | |
crm_token | ключ (token) от CRM, установленный в веб-кабинете | string | да |
status | статус входящего звонка:
Внимание! API не предусмотрена информация о не отвеченных входящих звонках. статус исходящего звонка:
| string | да |
Пример запроса:
POST https://crm.ru/crm_integration.php
cmd=history
type=in / out
status=Success
phone=79101234567
user=user
duration=124
link=https://link/file.mp3
crm_token=76fsd7tfs-fhjdgfdjsfsk-hfgsdguuuwoeiwey1111
callid=B10D0EB124F4E64AF4EA-1511
Выходные данные:
Код | Содержание | Описание |
200 | ОК | |
400 | { error: "Invalid parameters" } | Переданы некорректные параметры |
401 | { error: "Invalid token" } | Передан неверный ключ (token) |
4.1.2 Команда event (POST)
Облачная АТС отправляет в вашу CRM уведомления о событиях входящих звонков пользователям: появлении, принятии или завершении звонка. Команда может быть использована для отображения всплывающей карточки клиента в интерфейсе CRM.
Команда доступна сразу после включения API.
Входные параметры:
Имя | Описание | Тип/формат данных | Обязательный параметр |
cmd | тип операции, в данном случае event | string | да |
type | type - это тип события, связанного со звонком
| string | да |
phone | номер телефона клиента | string / E.164 | да |
diversion | ваш номер телефона, через который пришел входящий вызов | string / E.164 | |
user | идентификатор пользователя облачной АТС (необходим для сопоставления на стороне CRM) | string | да |
callid | уникальный id звонка, совпадает для всех связанных звонков | string | да |
crm_token | ключ (token) от CRM, установленный в веб-кабинете | string | да |
Пример запроса:
POST https://crm.ru/crm_integration.php
cmd=event
type=INCOMING / COMPLETED / ACCEPTED / CANCELLED
phone=79101234567
user=andy
crm_token=76fsd7tfs-fhjdgfdjsfsk-hfgsdguuuwoeiwey1111
callid=B10D0EB124F4E64AF4EA-1511
Выходные данные:
Код | Содержание | Описание |
200 | ОК | |
400 | { error: "Invalid parameters" } | Переданы некорректные параметры |
401 | { error: "Invalid token" } | Передан неверный ключ (token) |
4.1.3 Команда contact (POST)
Команда для получения информации о названии клиента и ответственном за него сотруднике по номеру его телефона. Команда вызывается при поступлении нового входящего звонка.
Команда используется для отображения на экране IP-телефона или в коммуникаторе на ПК сотрудника названия клиента.
Этот функционал доступен сразу после включения API.
Также в Облачной АТС можно включить функцию автоматического перевода каждого звонка от клиента сразу на ответственного за него менеджера, указанного в CRM.
Данная функция активируется вручную в веб-кабинете Облачной АТС.
При включении вам будет необходимо выбрать номер(а) телефона, на котором будет работать данная функция, а также определить на кого будет переведен звонок, если ответственны сотрудник не отвечает или занят.
Входные параметры:
Имя | Описание | Тип/формат данных | Обязательный параметр |
cmd | тип операции, в данном случае contact | string | да |
phone | номер телефона клиента | string / E164 | да |
crm_token | ключ (token) от CRM, установленный в веб-кабинете | string | да |
callid | уникальный id звонка, совпадает для всех связанных звонков | string | да |
Пример запроса:
POST https://crm.ru/crm_integration.php
cmd=contact
phone=79101234567
crm_token=76fsd7tfs-fhjdgfdjsfsk-hfgsdguuuwoeiwey1111
callid=B10D0EB124F4E64AF4EA-1511
Выходные данные:
Код | Содержание | Описание |
200 | { contact_name: "Менеджер ЗАО Рога и копыта", // имя контакта responsible:andy // id ответственного пользователя. Нужно для автоматической маршрутизации звонка } Ответ обязан быть в JSON. | ОК |
400 | { error: "Invalid parameters" } | Переданы некорректные параметры |
401 | { error: "Invalid token" } | Передан неверный ключ (token) |
4.2 Команды от CRM или базы данных к Облачной АТС
Пожалуйста, реализуйте отправку и приемку ответов для этих команд.
4.2.1 Команда accounts (POST)
Запрос от CRM к Облачной АТС для получения сотрудников.
Может использоваться для сопоставления пользователей в CRM и Облачной АТС. Для этого вам придётся реализовать функционал сопоставления. Вы можете так же настраивать сопоставление пользователей на вашей стороне вручную, без использования этой команды.
Команда доступна сразу после включения API.
Входные параметры:
Имя | Описание | Тип/формат данных | Обязательный параметр |
cmd | тип операции, в данном случае accounts | string | да |
token | ключ (token) Облачной АТС, полученный в веб-кабинете | string | да |
Пример запроса:
POST https://domain/sys/crm_api.wcgp
cmd=accounts
token=5f317b9f-e86c-41f7-a6fc-c76eb0da0000
Выходные параметры:
Код | Содержание | Описание |
200 | [ {"name":"test","realName":"Тестовый пользователь"}, {"name":"daria","realName":"Иванова Дария"}, {"name":"andy","realName":"Петров Андрей"}, {"name":"mike","realName":"Семенов Михаил"}, {"name":"serg","realName":"Чижиков Сергей"} ] | ОК |
400 | { error: "Invalid parameters" } | Переданы некорректные параметры |
401 | { error: "Invalid token" } | Передан неверный ключ (token) |
4.2.2 Команда makeCall (POST)
Команда необходимая для того, чтобы инициировать звонок от менеджера клиенту. В результате успешного выполнения команды, Облачная АТС сделает сначала звонок на телефон менеджера, а потом соединит его с клиентом. Команда может использоваться, например, для звонка по клику на номер клиента в вашей CRM или базе данных.
Команда доступна сразу после включения API.
Входные параметры:
Имя | Описание | Тип/формат данных | Обязательный параметр |
cmd | тип операции, в данном случае makeCall | string | да |
phone | номер, на который последует звонок | string / E164 | да |
user | пользователь Облачной АТС, от которого последует звонок | string | да |
token | ключ (token) Облачной АТС, полученный в веб-кабинете | string | да |
Пример запроса:
POST https://domain/sys/crm_api.wcgp
cmd=makeCall
phone=79101234567
user=andy
token=5f317b9f-e86c-41f7-a6fc-c76eb0da0000
Выходные данные:
Код | Содержание | Описание |
200 | ОК | |
400 | { error: "Invalid parameters" } | Переданы некорректные параметры |
401 | { error: "Invalid token" } | Передан неверный ключ (token) |
4.3 Прочие возможные сценарии использования
На основе имеющихся команд вы можете реализовать в вашей CRM другие полезные функции, например: