Больше функций для своей системы: интеграция телефонии и CRM/ERP/Helpdesk. Что, как и почему?

    Любая компания стремится к росту — менеджеры к новым клиентам и большим доходам, а разработчики систем автоматизации — к увеличению важных и полезных функций сервисов.

    И их цели связаны между собой. Как минимум тем, что большинство подобных разработок помогают зарабатывать — продавать и/или общаться с клиентами. Так как одним имейлом/чатом/тикетом сыт не будешь, продают в том числе и по телефону. И для того, чтобы не использовать несколько сервисов (отдельно CRM, отдельно телефонию) и существует интеграция.

    Вот о том, как её настроить и пойдёт речь ниже.

    image


    Для чего?


    Рынок SaaS растет в СНГ каждый год на 30%, потому запросы на интеграцию и количество готовых разработок увеличивается в геометрической прогрессии. Всё больше компаний начинают внедрять в свою работу автоматизацию и технологии.

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

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

    Да, такой подход работает и приносит свою пользу. Но компания растет, и руководитель понимает, что дальше так продолжаться не может — и внедряет в работу CRM систему.

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

    Теперь каждый звонок будет автоматически записан и прикреплен к карте клиента. При входящих карточка откроется автоматически — сотрудник сразу поймет, кто звонит. Да и сам звонок будет переведен на нужного менеджера, и клиенту не придётся тратить время на объяснения сути прошлых разговоров. Результат звонка (например, заявку на выезд замерщика) можно будет оставить тут же, в один клик.

    А руководитель сможет в конце месяца выгрузить статистику и наглядно увидеть — сколько клиентов обратилось, и из каких источников (да-да, сейчас про коллтрекинг).

    И, разумеется, это еще не всё.

    Как это сделать?



    image

    Интеграция — это не только (и не сколько) про совершение звонка. Это целый список функций и возможностей. И многие уже оценили это по достоинству. Если судить по статистике — 43% пользователей нашей облачной АТС Zadarma используют наши официальные интеграции с бизнес-системами и различными приложениями. Еще примерно 5% используют сторонние и самописные решения.

    Для всех разработчиков CRM/ERP/Desk мы написали подробную инструкцию по интеграции системы с нашей телефонией. Она находится тут.

    Подробную документацию по работе с API вы можете прочитать — вот тут.

    Теперь, чуть подробнее.
    Интеграция состоит из двух частей:

    • POST- или GET- запросами со стороны вашей системы к API Zadarma
    • Системой уведомлений о звонках (webhook). POST-запросы с информацией о звонках отправляемые нашим API в сторону CRM

    Позволит делать следующее:

    Звонить из интерфейса вашей системы

    В общем-то, одна из основных функций и задач интеграции. Добавляете специальную иконку (или кнопку) возле каждого номера, что хранится в CRM – и пользователи смогут звонить в один клик. Также рекомендуем реализовать веб-телефон с номеронабирателем. Будет удобно звонить на номера не сохраненные в системе.
    Важно: на внутреннем номере виртуальной АТС должен быть настроен IP телефон или софтфон для приема и совершения звонков.

    image

    Также в скором времени предоставим виджет для звонков из браузера, со страницы вашей системы, по технологии WebRTC, об этом напишем отдельно.

    Метод реализации: GET /v1/request/callback/

    • From – трехзначный внутренний номер АТС который назначен пользователю.
    • To – номер телефона, на который хочет позвонить пользователь.


    Уведомление о входящих и исходящих вызовов с всплывающей карточкой клиента

    Во всплывающем уведомлении о звонке может указываться следующая информация:

    • Номер телефона;
    • Имя контакта\компании\лида, если номер был ранее сохранен в CRM;
    • Если звонок от нового клиента — кнопка создания компании\контакта\лида;
    • Имя ответственного сотрудника, если звонок от существующего контакта;
    • Виртуальный номер, на который поступил входящий звонок (номер подключенный к Zadarma)

    На уведомления влияют следующие ивенты:
    В самом начале разговора: NOTIFY_INTERNAL (начало входящего звонка на внутренний номер АТС) либо событие NOTIFY_OUT_START (начало исходящего звонка с АТС).

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

    image

    При получении этого уведомления может запуститься отсчет времени, показывающий длительность звонка в реальном времени. При необходимости, заголовок уведомления “Звонок от 442037691880” может быть заменен на “Разговор с 442037691880”.

    Когда звонок завершен, будет отправлено уведомление NOTIFY_END (конец входящего звонка на внутренний номер АТС) или NOTIFY_OUT_END (конец исходящего звонка с АТС).

    После этого всплывающее окно должно закрыться.

    Статистика и записи звонков

    Для начала необходимо включить запись звонков в облако в настройках внутренних номеров АТС. После того, как звонок будет завершен — в CRM будет отправлено уведомление NOTIFY_RECORD со ссылкой на файл записи.

    Автоматическое создание контактов, лидов или сделок при звонке от нового клиента

    Позволяет автоматически создавать сущности или события при входящих или исходящих звонках на неизвестные номера. Механика работы следующая: при поступлении входящего звонка (или инициации исходящего), номер сверяется с базой данных CRM и если номер не найден, появляется возможность создать новый контакт/лид/сделку/заявку.

    Для исходящего звонка создать сущность можно когда звонок инициирован (уведомление NOTIFY_OUT_START), когда звонок отвечен (уведомление NOTIFY_ANSWER), по завершению звонка (уведомление NOTIFY_OUT_END). Номер телефона, на который совершается звонок передается в параметре destination.

    Для входящего звонка создавать сущность можно когда звонок поступил на внутренний номер пользователя CRM (уведомление NOTIFY_INTERNAL, номер звонящего передается в параметре caller_id)

    Автонаправление входящего звонка от существующего клиента на ответственного менеджера

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

    Отображение имени клиента на вашем IP-телефоне при входящем звонке

    Эта опция позволяет передать имя клиента из CRM в ip-телефон или софтфон пользователя, в котором он принимает входящий звонок. Реализуется с помощью уведомления NOTIFY_START и ответа на него. В уведомлении, в параметре caller_id, передается номер звонящего, если номер уже сохранен в CRM и закреплен за клиентом/контактом/лидом, в ответе на NOTIFY_START можно передать латиницей имя клиента:

    {
    "caller_name": "IBM"
    }


    Напоминания о пропущенных звонках

    При входящем звонке от клиента, при получении уведомления NOTIFY_END, смотрим на параметр disposition. Если статус не answered, то ответственному менеджеру можно создать задачу/напоминание/уведомление о том, что был пропущенный звонок от клиента.

    Возможность использования черного списка звонков.

    Вы можете создать список номеров, вызов с которых будет отклоняться. Вносить номера можно на странице настроек телефонии. Или вы можете сделать для каждого пользователя кнопку “добавить в черный список”.

    Реализуется также на основе уведомления NOTIFY_START и ответа на него. Если номер звонящего (из параметра caller_id) находится в черном списке CRM в ответе на NOTIFY_START передаем:

    {
    "redirect": "blacklist"
    }


    Расширенные возможности


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

    • Полное управление голосовым меню (IVR) и маршрутами всех входящих звонков, возможность построить робота секретаря с многоуровневым меню прямо из вашей системы. Раньше писали об этом тут.
    • Возможность принимать SMS (вебхук SMS) и отправлять (метод /v1/sms/send/ ). Список стран доступных для приема и отправки SMS можно найти на сайте.
    • Подключение бесплатного коллтрекинга (вебхук CALL_TRACKING с множеством параметров включая UTM метки). Подробнее про коллтрекинг.


    Что ещё?


    Может вы сможете сделать что-то, о чем мы даже не подумали и не написали. В таком случае, обязательно скажите нам об этом — мы расскажем о ней всем нашим пользователям. А это, на секундочку, 1’500’000 человек.

    И помните — идеального бизнес инструмента не существует. Но интеграция позволяет максимально к этому приблизиться. А это что-то да значит.
    Zadarma
    Бесплатная облачная АТС, виртуальные номера

    Комментарии 13

      0
      Два поста про API ВАТС за сутки, интересно
      Может быть вы реализуете возможность поймать входящий звонок без вебхука?
      habr.com/ru/company/rostelecom/blog/484180/#comment_21176850
        0
        Нужно понять, что вы имеете в виду под «поймать». Узнать, что есть входящий и информацию о нем? То есть, вы для этого регулярно опрашиваете API (каждые несколько секунд) и смотрите, нет ли новых вызовов? Если так, то разочаруем — никто из крупных операторов не предложит подобного, так как это не будет работать ни под нагрузкой, ни в распределенной системе. Если кто и предложит решение, то столкнется с большими проблемами, как только появится заметная нагрузка.
        Представьте себе — 10 или 100 тысяч клиентов, которые каждые 5 секунд дергают API, чтобы посмотреть изменения. Мы от такого решения отказались изначально. Заменяется это решение работой по сокетам. Ваше приложение поднимает сокет и ждет (и никого не «флудит»). Мы можем включить поддержку сокетов для определенной интеграции по запросу. Напишите, пожалуйста, письмо по адресу integration@ zadarma.con и обсудим детальнее.
          0
          Нет, опрашивать не надо. Оператор в момент разговора или в момент дозвона (когда он видит на своем софтфоне или сип-клиенте входящий звонок) жмет кнопку в нашей программе, по кнопке отправляется запрос (либо без параметров, возвращающий таблицу активных линий и далее по ней уже фильтруем сами, либо с параметром номера или кода оператора, тогда сразу вернется 1 запись, это не принципиально), ответ на который возвращает номер звонящего. Пример функции у другого оператора ВАТС comagic.github.io/call-api/#list.calls мы ее прикрутили, клиентов устраивает
            +1
            Спросите пожалуйста у клиентов, уверен им будет куда удобнее видеть информацию в приложении сразу, вместе с уведомлением о звонке (еще один повод не пропустить звонок), ведь не зря во всех CRM так делают. Плюс во время звонка открыть приложение нажать кнопку и получить ответ, занимает время, то есть информацию о звонящем клиент получает не сразу и звонок так можно пропустить.
            Ну и половина функционала без системы вебхук-ответ в прицнипе не может существовать (как например направление на ответственного, отображение имени звонящего в телефоне, умный IVR).
            Но если вы настойчиво хотите продолжать заставлять клиентов клиентов жать кнопку (пока они не знают что можно по другому), такой способ все равно может работать с уведомлениями через сокеты (получил уведомление, дождался нажатия кнопки, отобразил информацию мгновенно). Если принципиально не хотите работать через сокеты, то тут уже помочь не можем, мы не можем делать индивидуальное решение, которое еще и можно заменить другими функциями. Тогда оставляйте все как есть, если кто-то не начнет их api регулярно и массово опрашивать, со всеми вытекающими…
              0
              Вопрос с сокетами рассмотрим, конечно, принципиального нежелания нет. Но это отдельный независимый вопрос

              Клиенту, конечно, можно сказать — ставьте веб-сервер, который наружу смотрит, будут эвенты, вебхуки, вот это всё. Они говорят — что такое веб-сервер, не понимаю, у меня ноутбук, поставите мне на ноутбук веб-сервер? Это для крупного предприятия можно систему на веб-основе, или облачную, но есть и другие сегменты, там просто не окупится подобное внедрение, проще жать на кнопку. Что касается массового опроса, то в API как правило заложены лимиты на количество запросов в минуту, час, день, и само по себе наличие метода, выдающего информацию по активным линиям ничем не чревато
            0
            исправляем почту на верную — integration@zadarma.com, по всем вопросам пишите сюда и обязательно обсудим
              0
              В понедельник еще написал, ответа нет
          0
          {«caller_name»: «IBM»}
          Отбросьте ложную скромность, опубликуйте список целиком: ibm, alphabet, amazon,…

          Спасибо за статьи и развитие функциональности продуктов.
            +2
            Спасибо за внимательность! Наши сотрудники часто показывают в мелочах чувство юмора, вы первый кто это наконец заметил.
            0
            лучше бы боролись со своей службой безопасности, тп, и отзывами в интернете.
            сам столкнулся с Вашим сервисом, от незнания, т.к. сказали с Вами можно удобно и быстро все сделать. В итоге куча гемороя и блок учетки.
            Ищу другие варианты.
              0
              напишите, пожалуйста, в личные сообщения или сюда почту, привязанную к вашему аккаунту. оперативно проверим и напишем.
                0
                написал без публичности, с мыслями, что погорячился может, а нет.
                за эти два дня вы не ответили.
                как эпично правда? ровно как средний ответ ТП на тикеты.
                К слову, клиент расстроился на наш отказ работать через вас и решил сделать сам. Угадаете результат?
                image
                  0
                  К сожалению, указанные документы не приняты. Сервис имеет право не сообщать причину отказа. Инициирован возврат всех средств на ваш счет. На момент написания вашего последнего комментария, вами уже был получен ответ о возврате средств.

            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

            Самое читаемое