CosmoAir Contact – Webvozdux

100,00 

CosmoAir Contact — чат на сайте, из которого сообщения клиентов приходят прямо в Telegram и MAX. Менеджер отвечает в привычном мессенджере — реплаем на сообщение, как в обычной переписке, — и ответ появляется у клиента на сайте через несколько секунд. Никакой отдельной панели оператора, никаких приложений на телефон, ничему не нужно учиться.

  • Telegram и MAX одновременно или по отдельности
  • Фото и видео в обе стороны
  • Кнопки быстрой связи: телефон, WhatsApp, Telegram, MAX, почта
  • Цели Яндекс Метрики и Google Analytics
  • Не конфликтует с темой и другими плагинами — виджет полностью изолирован
  • Работает на российских хостингах: сертификаты Минцифры для MAX поддерживаются из коробки

Ставится за десять минут. Пошаговая инструкция и проверка настройки — прямо в админке.

  • Лицензионный ключ приходит на почту сразу после оплаты
  • Обновления 12 месяцев — прилетают прямо в админку WordPress
  • Установка и настройка — помогаем запустить на вашем сайте
  • Техподдержка от разработчика, а не от службы первой линии

Описание

Чат на сайте, ответы — из мессенджера

Посетитель пишет в окно чата в углу сайта. Сообщение вместе с именем и телефоном приходит в вашу рабочую группу в Telegram или MAX. Менеджер отвечает там же — свайп по сообщению, написал, отправил. Клиент видит ответ в том же окне на сайте.

Так работает переписка, к которой все давно привыкли. Не нужна отдельная CRM-панель, не нужно держать открытой вкладку с чатами, не нужно устанавливать приложение оператора. Заявки видит вся смена, отвечает тот, кто свободен, история остаётся в группе.

Как это выглядит для менеджера

  1. В группу приходит: «💬 Сообщение с сайта · Мария · +7 900 000-00-00 · Сколько стоит доставка до Воронежа?»
  2. Менеджер отвечает на это сообщение реплаем: «Здравствуйте! До Воронежа 450 рублей».
  3. Хочет дописать — следующие пару минут можно писать без реплая, уйдёт тому же клиенту.
  4. Клиент прислал фото — менеджер отвечает фото или видео тем же реплаем.

Написали в группу, не ответив никому? Бот тут же подскажет: «Не понял, кому это. Ответьте на сообщение клиента». Сообщение никуда не уйдёт. Обсуждать заявки между собой в той же группе можно свободно.

Два мессенджера, один плагин

Telegram — через бота @BotFather за две минуты. MAX — через бота с business.max.ru. Можно подключить оба сразу: заявка уйдёт в обе группы, ответить достаточно в одной. Для сайтов, где Telegram недоступен, есть поле для собственного прокси Bot API — плагин пойдёт через него без правок кода.

Отдельно про MAX: его серверы подписаны сертификатами Минцифры, и на многих хостингах запросы к нему падают с ошибкой TLS. Плагин это знает: находит нужный сертификат сам, а если не находит — показывает в диагностике, что делать. Именно на этом обычно застревают самодельные интеграции с MAX.

Фото и видео в обе стороны

Клиент прикрепляет к сообщению фото (jpg, png, webp, gif до 8 МБ) или видео (mp4, mov, webm до 50 МБ). Менеджер присылает в ответ картинку или ролик — клиент видит их в чате, видео с перемоткой. Файлы проверяются по содержимому, а не по расширению, и хранятся в закрытой папке на вашем сервере под случайными именами — прямой ссылки на них нет, отдаются только владельцу диалога.

Не ломает сайт и не ломается от сайта

Виджет живёт в изолированном shadow root: стили темы на него не влияют, его стили не задевают страницу. Ни один класс, идентификатор или скрипт не пересекается с чужими. jQuery на фронте не используется. Работает с оптимизаторами LiteSpeed Cache, WP Rocket, Autoptimize — сам исключает себя из отложенной загрузки скриптов и сам сбрасывает кэш страниц при изменении настроек, чтобы посетители видели их сразу, а не через сутки.

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

Безопасность

  • Токен бота никогда не покидает сервер — ни в разметке, ни в ссылках на файлы.
  • Вебхуки закрыты секретами: подделать ответ менеджера извне нельзя.
  • Диалог привязан к браузеру через httpOnly-куку; чужую переписку не прочитать перебором.
  • Ловушка для ботов и проверка времени заполнения — на сервере, а не в JavaScript.
  • Ограничение частоты по IP: сообщения, загрузки, создание сессий.
  • Согласие на обработку персональных данных и ссылка на политику — для работы по 152-ФЗ.

Настраивается без разработчика

Шесть вкладок в админке: подключение, внешний вид, форма и поведение, диалоги, диагностика, инструкция. Цвет и положение кнопки — с живым предпросмотром. Проверка канала показывает не «поле заполнено», а «бот отвечает, чат доступен, приём ответов включён и ведёт на верный адрес». Журнал событий с причинами, если что-то не дошло. Инструкция для менеджера — два предложения, её можно просто показать сотрудникам.

Аналитика

Три цели — открыли чат, оставили контакты, написали ещё раз — уходят в Яндекс Метрику и Google Analytics, которые уже стоят на сайте. Имя цели задаётся своё, регистр сохраняется. Достаточно указать номер счётчика.

Для разработчиков

Пространство имён WebVozdux\CosmoAir\Contact, ни одной глобальной функции. Хуки: cosmoair_contact_message_sent, cosmoair_contact_manager_replied, cosmoair_contact_should_render, cosmoair_contact_after_purge. Каналы за интерфейсом — добавить третий мессенджер можно одним классом. Собственные таблицы, REST-эндпоинты под своим пространством имён, ключи транзиентов с префиксом. Покрыт тестами: логика, безопасность, рендер админки, виджет в реальном DOM, сквозной прогон по HTTP.

Требования

  • WordPress 5.6+, PHP 7.4+ (проверено до 8.4)
  • HTTPS и доступный REST API — иначе мессенджеры не смогут доставить ответы
  • Бот в Telegram и/или MAX (создаётся бесплатно за пару минут, инструкция внутри)

Что в комплекте

  • Плагин с автообновлением подписок при апгрейде
  • Скрипт переноса настроек с CosmoAir Contact 1.x
  • Сквозной тест по HTTP: одна команда — и известно, работает ли всё, включая ответ из мессенджера
  • Проба инфраструктуры для MAX: DNS, TLS, полный путь файла до чата — до того как первый клиент нажмёт скрепку