Номер MAX подключается к Gratio веб-сеансом — так же, как web.max.ru. Gratio видит личные чаты, группы и каналы аккаунта и работает с ними от имени номера.
Подключение
В кабинете: карточка канала MAX → «Привязать номер».
По QR-коду. На телефоне откройте MAX → «Устройства» → «Войти по QR-коду» и наведите камеру на код в кабинете. QR обновляется сам, пока открыто окно, — до трёх минут.
По номеру телефона. Введите номер, пройдите проверку «Я не робот» в отдельном окне (разрешите всплывающие окна для кабинета) и введите код из SMS или приложения MAX. Если у аккаунта есть облачный пароль, кабинет попросит и его.
После входа канал подключается сам за несколько секунд, ключ API — в карточке канала.
Чтобы канал работал
- Подключайте рабочий номер, а не личный: Gratio видит все личные чаты аккаунта.
- В «Устройствах» MAX появится веб-сеанс (WEB) — это Gratio. Не завершайте его, иначе сообщения перестанут приходить и канал перейдёт в
notAuthorized. - Пока API работает с каналом, номер «в сети».
Адреса
| Что | chatId |
|---|---|
| Личный чат | id собеседника в MAX: "8695836" |
| Группа, канал | отрицательный id: "-80040066617372" |
| Написать по номеру | "79991234567@c.us" — Gratio найдёт аккаунт по номеру |
idMessage — 64-битное число строкой: "117428955282341903". Не храните его числом в JavaScript и PHP.
Особенности MAX
- Текст — до 4000 символов.
- Телефон собеседника MAX не показывает:
senderPhoneNumberвсегда0. - Статусы исходящих —
sent(сервер MAX принял) иread. Статуса «доставлено» у MAX нет. В группеread— «прочитал хотя бы один участник». - Альбом — несколько файлов в одном сообщении: первый в
fileMessageData, остальные — вadditionalFiles. - Поиск по номеру — не больше 6 в минуту; при отказе MAX — пауза 5 минут (
469). - Реакции на чужие сообщения в группах MAX сообщает только автору. Gratio следит за ними сам: в 20 самых живых группах реакции приходят за секунды, в остальных — не позже чем через ~30 минут для сообщений моложе 48 часов. См. Реакция.
- Звонки приходят событиями
incomingCallиoutgoingCall; звук звонков — если вgetCapabilitiesестьcall_audio: true. См. incomingCall и outgoingCall. - Поиск и вступление в каналы и группы — есть, см. searchChats.
- Пока нет (
501): геопозиция, контакт, опрос, пересылка, список доступных реакций, истории, кнопки, дополнительные ссылки-приглашения. - Аватар группы — только JPEG.
Проверить подключение
После привязки номера проверьте канал из своего приложения:
curl "$GRATIO_URL/waInstance$GRATIO_ID/getStateInstance/$GRATIO_TOKEN"
Ответ {"stateInstance": "authorized"} — канал работает. Что умеет канал — getCapabilities.
Если канал отключился
getStateInstance вернул notAuthorized или пришло уведомление stateInstanceChanged — сеанс завершили на телефоне или MAX его отозвал. Привяжите номер в кабинете снова: тот же номер — тот же ключ и история. См. getStateInstance.
Что дальше
- Telegram — особенности следующего канала.
- Шаг 2. Первый запрос — отправить сообщение через API.
- Поиск и вступление: правила и лимиты — каналы и группы MAX.
