Перейти к содержимому

Переход с Green API

Обновлено 17 октября 2026

Gratio повторяет структуру Green API: те же пути, имена методов, поля запросов и уведомлений, адреса @c.us и @g.us в WhatsApp. Приложение на Green API переключается заменой адреса и ключа.

Что поменять

  1. Адрес. Вместо https://{префикс}.api.green-api.com — https://api.gratio.net. Путь прежний: /waInstance{idInstance}/{method}/{apiTokenInstance}; префикс /v3 для MAX тоже работает.
  2. Ключ. idInstance и apiTokenInstance — из кабинета Gratio, «Ключ API» в карточке канала.
  3. mediaUrl для uploadFile и sendFileByUpload — тот же https://api.gratio.net.
  4. Тайм-аут на отправку — не меньше 60 секунд (см. ниже).
# было
base = f"https://{id_instance[:4]}.api.green-api.com/waInstance{id_instance}"
# стало
base = f"https://api.gratio.net/waInstance{id_instance}"

Переключаетесь на рабочем номере — сначала сверьте адреса чатов: getChats у Gratio и chatId в вашей базе должны почти полностью совпасть. Перед переключением очистите очередь (clearWebhooksQueue), чтобы не получить второй раз то, что уже пришло через Green.

Отличия

Что Как в Gratio
Отправка синхронная, очереди исходящих нет: канал не на связи — сразу 400 not_authorized, повтор — на стороне приложения. showMessagesQueue всегда []
Темп Gratio сам выравнивает запросы к мессенджеру: отправка может ждать очереди до ~30 с; отказ — 429 или 469 с Retry-After
Ссылки на файлы подписанные ссылки https://api.gratio.net/media/…, скачиваются без токена
Статусы исходящих в WhatsApp — sent, delivered, read; в MAX и Telegram — sent и read
lastIncomingMessages, lastOutgoingMessages журнал Gratio с момента подключения канала; старые сообщения — getChatHistory
Вход и выход (qr, logout и др.) номер привязывают в кабинете, в API этих методов нет — 404
senderPhoneNumber в MAX всегда 0: MAX номер собеседника не показывает
Кнопки sendButtons, sendInteractiveButtons — 501 not_supported
Номер MAX «в сети» пока API работает с каналом и минуту после — иначе MAX не показывает «печатает»
WhatsApp правила качества — отказ с причиной в code; пока номер подключён, пуши на телефон сотрудника не приходят

Что есть сверх Green

Возможность Где
Идемпотентная отправка clientMessageId Надёжная отправка без дублей
getCapabilities — что умеет канал Возможности каналов
Подписки с подписью HMAC — копия ленты для второй системы subscriptions
Отравленные уведомления: getDeadNotifications, requeueDeadNotifications getDeadNotifications
eventId — ключ события в каждом уведомлении Идентификаторы чатов и сообщений
Догон после простоя без дублей и syncGap syncGap
События групп groupEvent: добавили, исключили, вышел, админы, название groupEvent
Звонки MAX событиями; звонки со звуком, запись и живой звук incomingCall и outgoingCall
Альбомы: additionalFiles Файлы и альбомы
Реакции на чужие сообщения в группах MAX Реакция
Поиск и вступление в каналы и группы (Telegram, MAX) searchChats
Истории Telegram Истории Telegram
Архив, закрепы, deleteGroup (WhatsApp) archiveChat и unarchiveChat
Канал «Почта»: IMAP и SMTP с API почтовой программы Почта через API
Подробный профиль Telegram в getContactInfo getContactInfo

Что дальше

Была ли статья полезна?