skeeks / cms-communication-max
MAX messenger bot driver for skeeks/cms-communication
Package info
github.com/skeeks-cms/cms-communication-max
Type:yii2-extension
pkg:composer/skeeks/cms-communication-max
Requires
- php: >=8.0
- ext-curl: *
- ext-json: *
- skeeks/cms-communication: ^1.15
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-10-24 18:32:23 UTC
README
Драйвер мессенджера MAX для skeeks/cms-communication: клиенты пишут боту
или в рабочий чат, где состоит бот, переписка приходит в CRM, менеджер
отвечает из CRM. Всё общее (приём, порядок, переписки, собеседники, файлы,
права, отправка) — в cms-communication (README, раздел «Боты
мессенджеров»); здесь только протокол MAX Bot API
(https://dev.max.ru/docs-api, сверено со схемой
github.com/max-messenger/api-schema 0.0.33).
Установка
composer require skeeks/cms-communication-max
Пакет сам регистрирует драйвер max (components.communication.drivers).
Бота создаёт организация, ИП или самозанятый на business.max.ru (Чат-боты →
Интеграция → токен; модерация до 48 часов, не больше 5 ботов у
организации). Чтобы бот видел сообщения группы, его нужно сделать
администратором с правом «Читать все сообщения» (read_all_messages).
Что умеет
- Приём через вебхук (
POST /subscriptionsс секретом, заголовокX-Max-Bot-Api-Secret) или опросом (GET /updatesсmarker). Подписка — на сообщения, правки, удаления, нажатия кнопок, запуск и остановку бота, добавление и удаление бота и участников, смену названия чата и прав бота. Другие подписки бота удаляются: получатель один. - Ключ события (у MAX нет номера события): тип +
mid, для правок ещё время, для кнопокcallback_id, для остальных — чат, человек и время. - Разбор: личные диалоги, группы, каналы; ответ на сообщение, пересылка
(текст и автор), файлы и картинки по ссылке, видео по ключу
(
GET /videos/{token}), аудио с расшифровкой, стикер и геопозиция текстом; контакт засчитывается своим, только еслиmax_info— сам отправитель иhashсовпадает с HMAC-SHA256 от токена. - Название группы —
GET /chats/{id}при первом сообщении (в сообщениях его нет). История чата —MaxDriver::history()(GET /messages, до 100 за раз). - Отправка: текст до 4000 знаков (длиннее — частями), оформление HTML
(b, i, u, s, a, code, pre), ответ на сообщение, кнопки-ссылки и
кнопки-действия, файл (загрузка
POST /uploads, повтор приattachment.not.ready); не больше 2 сообщений в секунду в один чат. - Ошибки: 429 — ждать (
retryAfter), 403 — бот заблокирован или нет прав, другие 4xx — отказ, 5xx и сеть — исход неизвестен (повторно не отправляется). - Ссылка
https://max.ru/<имя бота>?start=<ключ>(ключ до 128 знаков).
Адрес API
По умолчанию https://botapi.max.ru. Адрес из документации
https://platform-api2.max.ru использует сертификат российского УЦ
(Минцифры): без этого корневого сертификата на сервере PHP не устанавливает
соединение (проверено 24.10.2026). Адрес и прокси — настройки бота.
Тесты
php tests/max.php— разбор и запросы на записанном транспорте, без сети.MAX_LIVE_READ=1 MAX_BOT_TOKEN=… MAX_CHAT_ID=… php tests/max-live-read.phpна локальном сайте — только чтение настоящего API (/me,/subscriptions,/chats/{id},/messages), история в базу с откатом. Не подписывает, не опрашивает/updatesи ничего не отправляет.