1С + CoMagic

Публикация № 1002200

Обмен - Обмен с другими системами

МедАнгел CoMagic Calltracking

3
Делимся опытом: интегрировали 1С и ВАТС CoMagic. Стандартные механизмы и Calltracking.

В нашей конфигурации «МедАнгел» (медицинская информационная система) реализована интеграция с сервисом CoMagic, позволяющая:

  • совершать исходящие звонки
  • отображать входящие звонки
  • получать пропущенные звонки
  • прослушивать записи разговоров
  • отслеживание рекламных компаний

Исходящий вызов
Для совершения исходящего звонка необходимо отправить  GET  или POST запрос на адрес «callapi.comagic.ru». Мы реализовали с помощью POST запроса. В тело запроса передается json вида

{
   "id": "e209c793-b062-4d8b-a637-1ef08fab086f", 
   "method": "start.simple_call",                    
   "jsonrpc": "2.0",
   "params": {
      "access_token": " КлючАутентификации ",
      "first_call": "operator",                 
      "virtual_phone_number": "ВиртуальныйНомер",
      "contact": "12",
      "operator": "НомерТелефона",
      "direction": "out"
      }
}

Параметры:
- id – ид исходящего звонка в нашей МИС
- method – имя метода
- access_token – ключ аутентификации. Можно получать двумя способами: или вызвать перед  звонком метод авторизации, который вернет ключ, или в личном кабинете CoMagic настроить статичный ключ.
- first_call – указываем, куда сначала нужно дозвониться
- virtual_phone_number – виртуальный номер, зарегистрированный в CoMagic, с которого будет осуществляться вызов
- contact – номер SIP
- operator – номер телефона, на который нужно дозвониться
- direction – направление звонка

В случае успешного выполнения запроса в синхронном режиме возвращается ответ

{
  "jsonrpc": "2.0",
  "id": "req1",
  "result": {
    "data": {
      "call_session_id": 237859081
    }
  }
}


Уведомление о входящем звонке

В личном кабинете CoMagic есть возможность настроить различные уведомления. В нашем случае это «Соединение» - когда оператор поднимает трубку, приходит уведомление и на экране открывается форма с данными звонка (номер телефона, ФИО пациента, рекламная компания).

Форма входящего звонка
Для получения уведомлений был создан http-сервис с POST методом.
Структура уведомления настраивается в личном кабинете CoMagic. В нашем случае json имеет структуру

{
  "notification_name":{{notification_name}},           //название уведомления
  "external_id":{{external_id}},                       //идентификатор звонка во внешней системе
  "contact_phone_number":{{contact_phone_number}},     //номер абонента
  "contact_id":{{contact_id}},                         //идентификатор контакта
  "employee_full_name":{{employee_full_name}},         //фио сотрудника
  "employee_id":{{employee_id}},                       //ид сотрудника
  "call_session_id":{{call_session_id}},               //идентификатор звонка
  "direction":{{direction}},                           //направление
  "campaign_id":{{campaign_id}},                       //ид рекламной компании
  "connection_time":{{connection_time}},               //дата время поднятия трубки
  "extension_phone_number":{{extension_phone_number}}  //внутренний номер сотрудника
  "communication_id":{{communication_id}}              //ид обращения
}


Благодаря параметру «campaign_id»  мы понимаем,  откуда пришел пациент и сохраняем эту информацию для дальнейшего анализа.

Пропущенные звонки

Получить полный журнал звонков, в том числе и пропущенные, можно с помощью GET запроса, в котором можно задать период, за который нужны звонки, а также дополнительные отборы

api.comagic.ru/api/v1/call /?session_key= КлючАутентификации &date_from=Дата1&date_till=Дата2

В ответ в синхронном режиме вернется json со всей необходимой информацией. 
Один из параметров «file_link» - ссылка для скачивания записи разговора.

Уведомление CoMagic об успешности звонка

При входящем звонке мы сохраняем у себя его идентификатор. Если звонок оказался успешным, т.е. произошла запись, в МИС сохраняется связь записи и звонка. В дальнейшем, после оплаты записи, мы этому звонку в CoMagic ставим тег «продажа» с указанием даты и суммы.
Для этого отправляется POST запрос на адрес  «dataapi.comagic.ru/v2.0». В тело запроса передается json вида

{
   "id": "e209c793-b062-4d8b-a637-1ef08fab086f", 
   "method": " set.tag_sales",                    
   "jsonrpc": "2.0",
   "params": {
      "access_token": " КлючАутентификации ",
      " communication_id": "идЗвонка",                 
      " communication_type": "call",
      " date_time": "ДатаОплаты",
      " transaction_value": "Сумма"
      }
}

Этот механизм используется в Calltracking  для анализа, подробнее расскажем в следующей статье. 

Тестировалось на версии платформы 8.3.14.1565.

3

Скачать файлы

Наименование Файл Версия Размер
1С + CoMagic:
.epf 7,45Kb
13.02.19
8
.epf 7,45Kb 8 Скачать

См. также

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. DNN13 8 14.02.19 19:41 Сейчас в теме
2. mvgfirst 4 15.02.19 10:21 Сейчас в теме
В случае со входящим звонком, http-сервис обрабатывает ведь Сервер 1С? Я правильно понял?
А как реализовано уведомление конкретного пользователя что ему пришел звонок?
То есть как организована передача с сервера в конкретное клиентское приложение?
3. medangel 40 15.02.19 15:21 Сейчас в теме
Всё верно, передача через регистр сведений "Очередь звонков" и обработчик ожидания.
К нам приходит событие о соединении с абонентом (в нем есть информация о внутреннем номере). У нас в МедАнгеле номер опционально привязывается к пользователю или компьютеру. Обработчик ожидания опрашивает РС "Очередь печати" и в случае совпадения внутреннего номера - вызывает окно Входящего звонка.
Понимаем, что идем на компромисс - но РС практически всё время пустой, всё отрабатывает достаточно быстро.
У нас еще подключена по умолчанию Система взаимодействия (пользователи активно используют), тестировали оповещение через неё. Но результат отрицательный, пользователям не удобно (лишнее нажатие).
Оставьте свое сообщение