Функционал чатов позволяет пользователям amoCRM обмениваться мгновенными сообщениями со своими клиентами.
При этом клиенты используют для коммуникаций привычный для себя мессенджер.
Суть интеграции amoCRM и чатов заключается в том,
чтобы пользователь имел возможность получать сообщение из разных каналов в amoCRM и отвечать на них из интерфейса системы.
При базовом использовании API чатов, при отправке сообщения в новый чат – создается чат, контакт и неразобранная сделка.
Чат связан с контактом, у одного контакта может быть несколько чатов из разных каналов, а также из разных источников одного канала.
В контакте также хранится информация – имя, телефон, email, а также аватар пользователя (если передан).
В карточке контакта чат не отображается, если у него есть привязанные сделки или покупатели.
Также при входящем сообщении в систему, менеджеры получают уведомления в центр уведомлений, который располагается в нижнем левом углу экрана в web-версии.
Уведомления приходят и на телефон, если установлено мобильное приложение, поэтому просим не злоупотреблять уведомлениями, чтобы пользователь не был вынужден отключить их в своем профиле.
Диаграмма ниже демонстрирует процесс отправки и получения сообщений через аккаунт amoCRM
Ниже рассмотрим основные возможности, а также дополнительные, которые могут сделать вашу интеграцию более полезной для пользователя.
В данной статье рассмотрим описанные выше возможности с точки зрения пользователя, с технической точки зрения – в следующих статьях.
Одна из основных функций API Чатов – возможность получения сообщений из внешних каналов в amoCRM.
Интеграция выступает в роли транспорта для сообщений из сторонней чат-системы в amoCRM.
При входящем сообщении в новый чат – в amoCRM будет создано неразобранное в воронке.
Следующей основной возможностью API чатов является возможность отправлять сообщения из amoCRM во внешний канал.
Сообщения могут быть отправлены из карточки или ботом. Сообщение может содержать в себе следующую информацию:
API чатов также поддерживает статусы отправленных сообщений.
Интеграция может реализовать поддержку актуального статуса и обновлять его через API у каждого отправленного сообщения.
Статус | Когда должен быть использован статус | Enum значение статуса |
---|---|---|
Отправлено | Сообщение было отправлено из amoCRM | – |
Доставлено | Сообщение было доставлено до адресата | 1 |
Прочитано | Сообщение было прочитано адресатом | 2 |
Ошибка | Сообщение не было доставлено | -1 |
Кроме статуса отправки отправленного сообщения, интеграция может передать информацию об ошибке.
Существует несколько предустановленных типов ошибки, а также пользовательский тип.
Код ошибки | Когда должна быть передан код |
---|---|
901 | Пользователь удалил переписку |
902 | Интеграция отключена на стороне канала |
903 | Внутрення ошибка сервера |
904 | Невозможно создать переписку (Например, пользователь не зарегистрирован в WhatsApp) |
905 | Любая другая, вместе с данным кодом ошибки необходимо передать текст ошибки |
Кроме осуществления существующей переписки, интеграция может произвести импорт старых сообщений.
Импорт старых сообщений может быть произведен, как отправленных клиентом, так и отправленных менеджером, например в интерфейсе мессенеджера.
Исходящие сообщения, отправленные в стороннем приложении достаточно сложно связать с конкретным пользователем amoCRM,
поэтому мы предоставляем бота интеграции, от имени которого можно произвести импорт подобных сообщений.
Сообщения от бота отображаются в карточке с названием канала и предустановленным в системе аватаром бота.
Если у вас уже есть канал, но нет ID бота, то вы можете узнать его в технической поддержке.
При импорте также стоит учитывать, что показ истории ограничен сутками до даты создания сделки.
Для более сложных кейсов, когда история переписки нужна "здесь и сейчас", мы предоставляем специальные методы API,
которые позволяют связать созданный чат и любой контакт в аккаунте.
API чатов предоставляет метод для получения истории переписки в рамках указанного чата. Интеграция может получить доступ только к тем чатам,
которые были созданы ей.
Некоторые мессенджеры поддерживают возможность инициировать общение с клиентом первым. Для этого мы добавили функционал "Написать первым".
Идентификатором для функционала "Написать первым" является номер телефона.
Клиент может инициировать общение в карточке сделки, нажав на номер телефона и выбрав источник. Также такая возможность есть в Salesbot.
Для использования этой функции, достаточно создать карточку сделки и добавить в нее контакт с номером телефона.
Поддерживающие функцию каналы отобразится в выпадающем списке Click-To-Call.
Пользователь выбирает ваш виджет и отправляет сообщение через стандартный интерфейс написания сообщения.
После написания сообщения, мы отправим Webhook, в котором передаются идентификаторы чата, получателя и сообщения со стороны amoCRM.
Ваш сервер интеграции должен обработать запрос, и попытаться отправить сообщение получателю. По факту отправки или
невозможности отправить сообщение, интеграция должна отправить запрос в amoCRM на изменение статуса сообщения.
В amoCRM предусмотрена возможность множественных источников. Это может быть полезно для тиражируемых интеграций,
которым необходимо через 1 канал интеграции обеспечить поддержку нескольких источников в мессенджере, например несколько номеров WhatsApp.
Для поддержки множественных источников, вашей интеграции необходимо через API источников завести соответствующие сущности и с каждым сообщением передавать данные об источнике.
Одна интеграция может завести до 50 источников в одном аккаунте amoCRM.
На скришноте ниже представлен пример, в котором у нас заведено 2 источника: Support и Sales.
В карточке сделки есть 2 контакта с разными номера, на каждый из которых мы отправили сообщение.
Контакту Никита мы отправили сообщение из источника Sales на 2 доступных номера в карточке.
Фид в карточке делится в зависимости от источника и пользователя.
Если у одного пользователя есть несколько номеров телефона, в таком случае номер телефона будет добавлен справа от имени контакта в фиде.
В релизе Осень 2021 мы добавили возможность транслировать статус печати в карточку в amoCRM.
Помимо отправки данных о печати в amoCRM, мы можем уведомлять интеграцию, если пользователь печатает текст.
Вы можете получать хуки о событии печати, чтобы транслировать их в интегрируемый мессенджер.
В связи с тем, что многие интеграции ограничивают возможность писать сообщения по истечению N-ого времени,
мы добавили поддержку временных окон.
Интеграция сама определяет размер временного окна. В карточке, после каждого входящего сообщения, таймер будет обнуляться и отчитывать время до окончания временного окна.
На .com платформе, также интеграция может сообщить, что ей необходимо блокировать контрол отправки сообщения по истечению временного окна.
После блокировки контрола написания сообщения, у пользователя останется возможность выбрать шаблон для отправки.
Начиная с осени 2021, при отправке шаблона из карточки или ботом, интеграция получит в вебхуке не только итоговый текст,
но и значения маркеров, которые были заменены и идентификатор шаблона. Это особенно актуально в связке с API шаблонов.
В релизе Весна 2023 мы добавили возможность отправлять реакцию на сообщение.
Интеграция может сообщить какой набор реакций она поддерживает, тогда менеджер сможет реагировать на сообщения из карточки.
В следующих статьях мы подробно рассмотрим техническую часть, описанного выше функционала, и особенности API Чатов, а также приведём примеры реализации.