ВОЙТИ

Интеграция с CoMagic

Последние изменения: 12.09.2019
добавить в избранные

Добавить интеграцию с CoMagic можно по пути: аккаунт администратора — раздел «Настройки» — подраздел «Интеграции» — кнопка «Добавить интеграцию» — опция «CoMagic».

Перед подключением интеграции необходимо выполнить несколько настроек в личном кабинете CoMagic, которые подробно описаны в этой статье.

713d994e8111b17b40e30a6a4bbc9917.png

Настройка интеграции в CoMagic

1) Проверьте наличие необходимых компонентов в настройках тарифа вашего аккаунта (Администратор — Аккаунт — Тариф и опции). Для работы интеграции должны быть включены три компонента:

  • Уведомления;
  • Call API Базовый набор;
  • Call API Управление вызовами.

Внимание: подключение интеграции возможно на всех тарифах CoMagic, кроме тарифа «Первый шаг».

28d408cf53d9d8ac2659dcfd3ec73cfb.png

2) Добавьте уведомления о наступлении нужных событий. Для этого в личном кабинете CoMagic перейдите в раздел «Уведомления» и добавьте шесть уведомлений по примеру из гиф.

files.php?filename=72c2415243bebce29365a
а) Поднятие трубки

Название уведомления: Поднятие трубки 
Тип уведомления: Поднятие трубки
Активно: ВКЛ
Выберите способ HTTP
Метод: POST
URL: Из карточки подключения интеграции в Омнидеске + /handset
Тело:

{
  "notification_name":{{notification_name}},
  "virtual_phone_number":{{virtual_phone_number}},
  "notification_time":{{notification_time}},
  "external_id": {{external_id}},
  "contact_info":{
    "contact_phone_number":{{contact_phone_number}},
    "communication_number":{{communication_number}},
    "contact_id": {{contact_id}},
    "contact_full_name": {{contact_full_name}}
  },
  "employee_info": {
    "employee_full_name": {{employee_full_name}},
    "employee_id": {{employee_id}}
  },
  "call_info": {
    "call_source": {{call_source}},
    "direction": {{direction}},
    "call_session_id":{{call_session_id}},
    "scenario_name": {{scenario_name}},
    "talk_time_duration": {{talk_time_duration}},
    "total_time_duration": {{total_time_duration}},
    "wait_time_duration": {{wait_time_duration}},
    "tag_names": {{tag_names}},
    "is_lost" : {{is_lost}}
  },
  "call_record_file_info": {
    "file_link": {{file_link}},
    "call_record_duration": {{file_duration}}
  },
  "leg_id": {{leg_id}},
  "leg_ids": {{leg_ids}}
}
б) Завершение плеча

Название уведомления: Завершение плеча 
Тип уведомления: Завершение плеча
Активно: ВКЛ
Выберите способ HTTP
Метод: POST
URL: Из карточки подключения интеграции в Омнидеске + /endleg
Тело:

{
  "notification_name":{{notification_name}},
  "virtual_phone_number":{{virtual_phone_number}},
  "notification_time":{{notification_time}},
  "external_id": {{external_id}},
  "contact_info":{
    "contact_phone_number":{{contact_phone_number}},
    "communication_number":{{communication_number}},
    "contact_id": {{contact_id}},
    "contact_full_name": {{contact_full_name}}
  },
  "employee_info": {
    "employee_full_name": {{employee_full_name}},
    "employee_id": {{employee_id}}
  },
  "call_info": {
    "call_source": {{call_source}},
    "direction": {{direction}},
    "call_session_id":{{call_session_id}},
    "scenario_name": {{scenario_name}},
    "talk_time_duration": {{talk_time_duration}},
    "total_time_duration": {{total_time_duration}},
    "wait_time_duration": {{wait_time_duration}},
    "tag_names": {{tag_names}},
    "is_lost" : {{is_lost}}
  },
  "call_record_file_info": {
    "file_link": {{file_link}},
    "call_record_duration": {{file_duration}}
  },
  "leg_id": {{leg_id}},
  "leg_ids": {{leg_ids}}
}
в) Завершение звонка

Название уведомления: Завершение звонка 
Тип уведомления: Завершение звонка
Активно: ВКЛ
Выберите способ HTTP
Метод: POST
URL: Из карточки подключения интеграции в Омнидеске + /end
Тело:

{
  "notification_name":{{notification_name}},
  "virtual_phone_number":{{virtual_phone_number}},
  "notification_time":{{notification_time}},
  "external_id": {{external_id}},
  "contact_info":{
    "contact_phone_number":{{contact_phone_number}},
    "communication_number":{{communication_number}},
    "contact_id": {{contact_id}},
    "contact_full_name": {{contact_full_name}}
  },
  "employee_info": {
    "employee_full_name": {{employee_full_name}},
    "employee_id": {{employee_id}}
  },
  "call_info": {
    "call_source": {{call_source}},
    "direction": {{direction}},
    "call_session_id":{{call_session_id}},
    "scenario_name": {{scenario_name}},
    "talk_time_duration": {{talk_time_duration}},
    "total_time_duration": {{total_time_duration}},
    "wait_time_duration": {{wait_time_duration}},
    "tag_names": {{tag_names}},
    "is_lost" : {{is_lost}}
  },
  "call_record_file_info": {
    "file_link": {{file_link}},
    "call_record_duration": {{file_duration}}
  },
  "leg_id": {{leg_id}},
  "leg_ids": {{leg_ids}}
}
г) Записанный разговор

Название уведомления: Записанный разговор 
Тип уведомления: Записанный разговор
Активно: ВКЛ
Выберите способ HTTP
Метод: POST
URL: Из карточки подключения интеграции в Омнидеске + /recording
Тело:

{
  "notification_name":{{notification_name}},
  "virtual_phone_number":{{virtual_phone_number}},
  "notification_time":{{notification_time}},
  "external_id": {{external_id}},
  "contact_info":{
    "contact_phone_number":{{contact_phone_number}},
    "communication_number":{{communication_number}},
    "contact_id": {{contact_id}},
    "contact_full_name": {{contact_full_name}}
  },
  "employee_info": {
    "employee_full_name": {{employee_full_name}},
    "employee_id": {{employee_id}}
  },
  "call_info": {
    "call_source": {{call_source}},
    "direction": {{direction}},
    "call_session_id":{{call_session_id}},
    "scenario_name": {{scenario_name}},
    "talk_time_duration": {{talk_time_duration}},
    "total_time_duration": {{total_time_duration}},
    "wait_time_duration": {{wait_time_duration}},
    "tag_names": {{tag_names}},
    "is_lost" : {{is_lost}}
  },
  "call_record_file_info": {
    "file_link": {{file_link}},
    "call_record_duration": {{file_duration}},
    "record_file_links": {{record_file_links}}
  },
  "leg_id": {{leg_id}},
  "leg_ids": {{leg_ids}}
}
д) Исходящее плечо

Название уведомления: Исходящее плечо 
Тип уведомления: Исходящее плечо
Активно: ВКЛ
Выберите способ HTTP
Метод: POST
URL: Из карточки подключения интеграции в Омнидеске + /legout
Тело:

{
  "notification_name":{{notification_name}},
  "virtual_phone_number":{{virtual_phone_number}},
  "notification_time":{{notification_time}},
  "external_id": {{external_id}},
  "contact_info":{
    "contact_phone_number":{{contact_phone_number}},
    "communication_number":{{communication_number}},
    "contact_id": {{contact_id}},
    "contact_full_name": {{contact_full_name}}
  },
  "employee_info": {
    "employee_full_name": {{employee_full_name}},
    "employee_id": {{employee_id}}
  },
  "call_info": {
    "call_source": {{call_source}},
    "direction": {{direction}},
    "call_session_id":{{call_session_id}},
    "scenario_name": {{scenario_name}},
    "talk_time_duration": {{talk_time_duration}},
    "total_time_duration": {{total_time_duration}},
    "wait_time_duration": {{wait_time_duration}},
    "tag_names": {{tag_names}},
    "is_lost" : {{is_lost}}
  },
  "call_record_file_info": {
    "file_link": {{file_link}},
    "call_record_duration": {{file_duration}}
  },
  "leg_id": {{leg_id}},
  "leg_ids": {{leg_ids}}
}
е) Исходящий звонок

Название уведомления: Исходящий звонок 
Тип уведомления: Исходящий звонок
Активно: ВКЛ
Выберите способ HTTP
Метод: POST
URL: Из карточки подключения интеграции в Омнидеске + /callout
Тело:

{
  "notification_name":{{notification_name}},
  "virtual_phone_number":{{virtual_phone_number}},
  "notification_time":{{notification_time}},
  "external_id": {{external_id}},
  "contact_info":{
    "contact_phone_number":{{contact_phone_number}},
    "communication_number":{{communication_number}},
    "contact_id": {{contact_id}},
    "contact_full_name": {{contact_full_name}}
  },
  "employee_info": {
    "employee_full_name": {{employee_full_name}},
    "employee_id": {{employee_id}}
  },
  "call_info": {
    "call_source": {{call_source}},
    "direction": {{direction}},
    "call_session_id":{{call_session_id}},
    "scenario_name": {{scenario_name}},
    "talk_time_duration": {{talk_time_duration}},
    "total_time_duration": {{total_time_duration}},
    "wait_time_duration": {{wait_time_duration}},
    "tag_names": {{tag_names}},
    "is_lost" : {{is_lost}}
  },
  "call_record_file_info": {
    "file_link": {{file_link}},
    "call_record_duration": {{file_duration}}
  },
  "leg_id": {{leg_id}},
  "leg_ids": {{leg_ids}}
}

3) Откройте доступ к использованию API CoMagic. Для этого перейдите по пути Администратор — Аккаунт —Правила и настройки безопасности — API и добавьте доступ для ip-адреса 0.0.0.0/0

files.php?filename=593fa33c8b0757380e8ef

4) Создайте API-ключ в CoMagic (Администратор — Управление пользователями — Администратор — Использовать ключ API) и вставьте его в соответствующее поле в форме подключения интеграции в Омнидеске.

files.php?filename=9e2f46172ba9baa6487a0

Работа интеграции

Чтобы подробнее ознакомиться с основными моментами по работе интеграции, рассмотрим следующие сценарии:

Входящий звонок от известного пользователя

1) Уведомление о входящем вызове отображается в правом верхнем углу. Если в Омнидеске уже есть пользователь с таким номером телефона, в уведомлении отобразятся его данные:

files.php?filename=57df96981233fcb05416f

Вы можете самостоятельно выбрать, какие данные о пользователе выводить в уведомлении. Для этого активируйте форму «Входящий звонок» у нужных полей (аккаунт администратора — раздел «Поля данных» — редактирование поля):

files.php?filename=23d0ca39c7d97d0a6163d

По умолчанию мы выводим поля: «Полное имя», «Email-адрес» и «Компания».

2) Когда сотрудник принимает звонок через софтфон, мы автоматически открываем профиль пользователя:

files.php?filename=edf43de2079d2de2cb9d1

Далее есть два варианта:

а. создать новое обращение по звонку (через ссылку над основной областью);

б. привязать звонок к одному из предыдущих обращений канала «Звонки», если пользователь повторно звонит по какому-то вопросу.

Рассмотрим подробнее каждый из вариантов.

а. В этом случае у сотрудника открывается страница создания обращения по звонку с уже заполненным полем «Пользователь». Находясь на этой странице, сотрудник может:

  • зафиксировать тему и суть звонка, заполнив соответствующие поля и нажав на кнопку «Создать». Эта информация поможет в дальнейшем быстро понять, о чём был разговор без необходимости прослушивать его запись;
  • дополнить или изменить данные пользователя, нажав на ссылку «отредактировать данного пользователя»;
  • вернуться в профиль пользователя (через ссылку «Перейти в профиль пользователя» в шапке основной области), чтобы всё-таки выбрать одно из предыдущих обращений для связки с текущим звонком.
files.php?filename=390e1f53806754e3ca788

После того, как сотрудник заполнит поля «Тема», «Суть звонка» и нажмёт на кнопку «Создать», откроется страница созданного обращения:

files.php?filename=9168e2557daa40e38c17f

Пока сотрудник продолжает общаться с пользователем, в сообщении отображается надпись «Звонок в процессе» и нет записи разговора. После окончания разговора страница обновляется и к сообщению прикрепляется запись разговора.

Важный момент: Если сотрудник, находясь на странице создания обращения по звонку, ничего не заполнит и закроет страницу или же перейдёт в другой раздел, по окончании разговора мы всё равно создадим новое обращение со стандартной темой «Входящий звонок с [номер телефона]» и статусом «открытое», где в качестве первого ответа будет пустое сообщение с плеером для прослушивания записи разговора.

files.php?filename=3d930b958caf9c493bf6f

б. Если сотрудник выбирает одно из предыдущих обращений пользователя для привязки текущего звонка, то после перехода на страницу обращения он может:

  • зафиксировать звонок в открытом обращении, нажав на соответствующую ссылку;
  • вернуться к профилю пользователя для выбора другого обращения или создания нового.
files.php?filename=17930383329c954719e62

При нажатии на ссылку «Зафиксировать звонок в текущем обращении» появляется специальное поле для указания сути звонка. После сохранения изменений в обращении появляется новое сообщение с записью звонка.

Входящий звонок от неизвестного пользователя

3) Уведомление о входящем вызове отображается в правом верхнем углу. Если в Омнидеске нет пользователя с таким номером телефона, уведомление выглядит следующим образом:

6a1de0a7863d37a78c2baaa8e2a24973.png

4) Когда сотрудник принимает звонок через софтфон, в уведомлении появляются две опции: «Найти пользователя из базы для связки» и «Создать новое обращение по звонку».

b3066c9ab9ba3618e22216c0e77665a5.png

Рассмотрим подробнее каждую из них.

а. Ссылка «Найти пользователя для связки» перебрасывает сотрудника на страницу поиска и автоматически выставляет фильтр «пользователи», чтобы в результатах поиска были только пользователи.

Сотрудник может найти нужного пользователя по любым данным: имени, email-адресу, названию компании, тексту в заметке, значениям в кастомных полях и т. д.

После того, как сотрудник нашёл нужный профиль и связал с ним звонящего пользователя, в данные пользователя автоматически добавляется номер телефона, с которого он звонит.

6b936a1428179dfe0251c0e7ffa47263.gif

Дальнейшие действия сотрудника идентичны описанным в первом примере, когда пользователь был известен в момент поступления звонка.

б. Если после ответа на звонок сотрудник выбирает «Создать новое обращение по звонку», он попадает на страницу создания обращения. В таком случае мы автоматически создаём нового пользователя по номеру телефона и даём сотруднику возможность дополнить информацию о нём, нажав на ссылку «отредактировать созданного пользователя».

files.php?filename=342036bd1d57e5f9962a7

В ситуации, когда звонок завершается до того, как сотрудник создаёт обращение, мы автоматически создаём обращение, подхватывая тему и суть звонка, если сотрудник их заполнил.

Перевод входящего звонка на другого сотрудника

5) Если сотрудник ответил на звонок, а после перевёл его на коллегу, который тоже подключен к Омнидеску, то мы воспринимаем эти события как два отдельных звонка, т.е. по разговору каждого сотрудника будет создано обращение.

Сотрудник, который принял звонок, может самостоятельно создать обращение по звонку, а после перевести разговор на коллегу, или может ничего не делать в Омнидеске и просто выполнить перевод звонка. В последнем случае мы создадим обращение со стандартной темой «Входящий звонок с [номер телефона]» и статусом закрытое.

files.php?filename=a136e89019b0b3580fb4e

Действия сотрудника, на которого перевели звонок, ничем не отличаются от уже описанных примеров работы с входящими звонками.

Исходящий звонок пользователю из текущего обращения

6) Чтобы позвонить пользователю из обращения, нажмите на иконку зелёной трубки в правом верхнем углу редактора. После этого в софтфоне отобразится входящий звонок с набираемого номера (не пугайтесь :)). Нажмите на зеленую трубку, и звонок начнётся. По такой хитрой схеме работает набор из сторонних приложений, подключенных к IP-телефонии.

files.php?filename=1a09a45ce4247705c3b4f

7) Во время дозвона в обращении отображается специальный блок:

files.php?filename=416a333c3307c7ccd4980

Если сотрудник в этот момент покинет страницу обращения, в правом верхнем углу появится уведомление с кнопкой для возвращения к обращению по текущему звонку:

files.php?filename=6b69f9539e85868f59abc

8) Если пользователь ответит на звонок, у сотрудника появится возможность зафиксировать суть звонка:

files.php?filename=5da98ac747f4af573928d

После сохранения изменений в обращении появится сообщение от имени сотрудника, к которому прикрепится запись разговора, когда звонок завершится:

files.php?filename=a3e29563c1aa95c979636

9) Если пользователь так и не ответит на звонок, мы фиксируем в обращении попытку звонка:

files.php?filename=67fcc2611dc8808f4e962

Исходящий звонок пользователю через софтфон

В этом случае мы также подтянем информацию об исходящем звонке в Омнидеск, и сотрудник сможет выполнить необходимые действия по аналогии с входящими звонками:

  • создать нового пользователя, если такого номера ещё нет в базе Омнидеска;
  • создать новое обращение по звонку;
  • привязать звонок к существующему обращению.
10695788df787e5f69c9eefd629aa231.gif

10) Если при звонке через софтфон сотрудник не открывает Омнидеск и не создаёт обращение (или прикрепляет звонок к одному из предыдущих обращений), по окончании звонка в Омнидеске автоматически создаётся обращение со статусом «закрытое» и ответственным.

Фиксация пропущенных звонков от пользователя

11) Если звонок пользователя остаётся без ответа, мы создаём обращение со стандартной темой «Пропущенный звонок с [номер телефона]» и красной иконкой трубки, чтобы сотрудникам было проще определить пропущенные звонки в общем списке обращений:

files.php?filename=7d370c2d94651594b79ba

Также в списке обращений появилась возможность активировать столбец «Телефон», чтобы вы могли сразу видеть номер телефона пользователя.

12) Пропущенные звонки от одного пользователя группируются, чтобы исключить ситуацию, когда настойчивый пользователь будет создавать десятки обращений и засорять ими список:

files.php?filename=b66561fb3fd59a848f335

Конечно, группировка пропущенных звонков в рамках одного обращения происходит лишь в случае, если между ними не было состоявшегося звонка между пользователем и сотрудником. Если разговор был, по следующему пропущенному звонку мы создадим отдельное обращение.

13) Когда в обращении по пропущенному звонку появляется исходящий звонок от сотрудника(клиент при этом должен ответить, и должна быть запись разговора), тогда цвет трубки меняется на стандартный — зелёный.

14) Если у вас есть определённые рабочие часы, и вы не хотите, чтобы в Омнидеске создавались обращения по звонкам, пропущенным в нерабочее время, нужно в интерфейсе сервиса телефонии настроить переадресацию на автоответчик.

В Омнидеске создаются обращения по звонкам только в случае, если звонок поступает на конкретного сотрудника (то есть мы знаем, кому отображать звонок). Если же звонок идёт на автоответчик и не уходит никому из сотрудников, мы его игнорируем.

Логика статусов

15) Если сотрудник принял звонок пользователя, по окончании разговора у обращения выставится статус «в ожидании».

16) У обращений, созданным по пропущенным звонкам, выставляется статус «открытое».

17) Если сотрудник перезвонит пользователю, но тот не поднимет трубки, статус «открытое» останется.

18) Когда в списке есть обращение по пропущенному звонку от пользователя, возможны следующие варианты изменения статуса такого обращения.

а. Пользователь снова звонит, сотрудник принимает звонок и создаёт новое обращение по звонку

Мы автоматически меняем статус обращения по пропущенному звонку на «закрытое», подразумевая, что пользователь с сотрудником решают все вопросы в рамках нового обращения, которое создал сотрудник.

б. Пользователь снова звонит, сотрудник принимает звонок и добавляет его в обращение по пропущенному звонку

Когда сотрудник завершит такой звонок, в обращении выставится статус «в ожидании», так как сотрудник обсудил с пользователем всё, что нужно (см. пункт 15).

в. Сотрудник набирает пользователя из обращения по пропущенному звонку, и пользователь принимает звонок

При завершении звонка обращение получит статус «в ожидании».

г. Сотрудник набирает пользователя напрямую через софтфон, тот принимает звонок, и сотрудник создаёт новое обращение по звонку

В этом случае мы также автоматически меняем статус обращения по пропущенному звонку на «закрытое», подразумевая, что пользователь с сотрудником решают все вопросы в рамках нового обращения, которое создал сотрудник.

д. Сотрудник набирает пользователя напрямую через софтфон, тот принимает звонок, и сотрудник добавляет звонок в обращение по пропущенному звонку

При завершении звонка обращение получит статус «в ожидании».

19) Если при звонке через софтфон сотрудник не открывает Омнидеск и не создаёт обращение (или прикрепляет звонок к одному из предыдущих обращений), по окончании звонка в Омнидеске автоматически создаётся обращение со статусом «закрытое» и ответственным.

Учёт в статистике

20) Подраздел «Общая нагрузка»

Поступившие обращения: сумма входящих и исходящих звонков, по которым были созданы новые обращения.

Обращения с первым ответом: количество принятых сотрудниками входящих звонков, по которым были созданы новые обращения.

21) Подраздел «Каналы обращений»

Поступившие обращения: сумма входящих и исходящих звонков, по которым были созданы новые обращения.

Закрытые обращения: обращения, у которых выставлен статус «закрытое» и есть запись разговора.

22) Подраздел «Скорость ответов»

Обращения по каналу «Звонки» не учитываются в показателях этого подраздела.

23) Подраздел «Лучшие в команде»

Закрытых обращений: закрытое обращение засчитывается сотруднику, если он изменил статус на «закрытое» и в обращении есть запись его разговора с пользователем.