Интеграция · через API и вебхуки

WhatsApp в Make: сценарии без кода через вебхук и HTTP-модуль

Обновлено

Make (бывший Integromat) собирает автоматизацию из модулей на визуальной схеме — без серверов и кода. Чтобы добавить туда WhatsApp, отдельное приложение не нужно: wapi.kz принимает обычные HTTP-запросы и сам шлёт события на адрес вебхука. В Make это два стандартных модуля — Webhooks и HTTP.

Страница для маркетологов, администраторов и владельцев бизнеса, которые собирают сценарии сами. Если нужна сложная логика с ИИ и своей базой — посмотрите n8n.

Из Make в WhatsApp
  1. Новая строка, заявка или запись
  2. сценарий Make
  3. модуль HTTP «Make a request»
  4. POST /messages/send
  5. клиент в WhatsApp
Из WhatsApp в Make
  1. Клиент пишет в WhatsApp
  2. вебхук wapi.kz
  3. модуль Custom webhook
  4. роутер: ответ, таблица или менеджер

Что можно автоматизировать

  • Роутер по типу события. Один Custom webhook принимает всё, роутер раскладывает: входящие — в одну ветку, статусы доставки — в другую, отключение номера — в третью.
  • «Где мой заказ?» Фильтр ловит слово «заказ» во входящем, модуль Google Sheets ищет строку по телефону, HTTP-модуль отвечает статусом.
  • Подтверждение записи. Новое событие в календаре или ответ в форме — клиенту уходит подтверждение с датой и адресом.
  • Неразобранные входящие — менеджеру. Всё, что не поймал ни один фильтр, уходит в Telegram-чат команды.
  • Номер отключился. Ветка session.status со статусом FAILED — письмо или сообщение администратору: пора переподключить.
  • Журнал доставки. Ветка message.ack записывает в таблицу, что сообщение прочитано, — удобно для уведомлений.

Как это устроено

Со стороны Make:

  • Webhooks → Custom webhook — выдаёт адрес, на который wapi.kz будет слать события. Make сам определяет структуру данных по первому пришедшему событию.
  • Router и фильтры — ветвление без кода: условие на каждой связи между модулями.
  • HTTP → Make a request — вызов API wapi.kz: адрес, метод, заголовок с ключом, JSON-тело.

Со стороны wapi.kz — POST /messages/send для отправки (документация) и вебхук номера (документация). Событие приходит JSON-объектом: event, payload с текстом и телефоном, wapi с id номера.

Custom webhook отвечает wapi.kz сразу, а сценарий работает дальше, — укладываться в 10 секунд не нужно. Модуль Webhook response в этой схеме не нужен.

Настройка по шагам

  1. Подключите номер в wapi.kz (как подключить) и выпустите ключ номера в его карточке.
  2. В Make создайте сценарий, первым модулем поставьте Webhooks → Custom webhook, добавьте новый вебхук и скопируйте адрес.
  3. Допишите к адресу ?token=СЕКРЕТ и укажите его вебхуком номера в кабинете wapi.kz.
  4. Нажмите в модуле определение структуры и напишите на номер с другого телефона — Make увидит поля события.
  5. Добавьте Router, на каждую ветку — фильтр, в конце веток — нужные модули.
  6. Включите сценарий и проверьте историю выполнений.

Пример настройки

Ветка «Ответ на вопрос о заказе». Фильтр между роутером и поиском в таблице:

УсловиеОператорЗначение
eventEqual tomessage
payload.fromDoes not contain@g.us
payload.bodyContains (case insensitive)заказ

Модуль HTTP → Make a request:

ПолеЗначение
URLhttps://wapi.kz/api/v1/messages/send
MethodPOST
HeadersAuthorization = Bearer ВАШ_КЛЮЧ
Body typeRaw
Content typeJSON (application/json)
Parse responseYes

В поле Request content — JSON, куда вы перетаскиваете значения из предыдущих модулей. 1 — модуль вебхука, 3.номер и 3.статус — колонки из поиска в таблице; у вас номера и названия будут свои:

{
  "to": "{{first(split(1.payload.from; "@"))}}",
  "text": "Заказ {{3.номер}}: {{3.статус}}. Если есть вопросы — напишите, ответим."
}

Если в текст попадает то, что написал человек или вернул ИИ, кавычки и переносы строк сломают JSON. Тогда соберите тело модулем JSON → Create JSON и передайте его результат в Request content.

Ответ API после Parse response доступен следующим модулям: id сообщения при успехе, code и error при ошибке. Повесьте на HTTP-модуль обработчик ошибок или фильтр по коду статуса, чтобы сбои не терялись молча.

Ограничения

  • Готового приложения wapi.kz в каталоге Make нет — работаем через Webhooks и HTTP.
  • Make считает операции: каждый модуль в каждом запуске расходует их из лимита вашего тарифа. Фильтруйте ненужные события (message.ack, группы) как можно раньше.
  • Сам файл в событии не приходит: там hasMedia: true, а файл сохраняется у нас и через несколько секунд доступен по ссылке media.url в GET /messages/{id}, где id — wapi.message_id. Чтобы забрать его в Make, добавьте HTTP-модуль с этим запросом.
  • Вебхуки wapi.kz не повторяются. Если сценарий был выключен, пропущенное заберите через GET /messages?since=….
  • С одного номера — не чаще 1 сообщения в секунду, первым сообщениям новым людям — свой суточный лимит (лимиты). Для отправки по списку ставьте модуль Sleep между итерациями.

Не хотите собирать сценарий сами? Зарегистрируйтесь, подключите номер и оставьте заявку из кабинета — поможем. Тариф — 9 900 ₸ в месяц за номер, без платы за сообщения (цены).

Частые вопросы

Нужен ли платный тариф Make?

Webhooks и HTTP доступны и на бесплатном тарифе, но операций там немного. Для рабочего потока входящих посчитайте операции заранее и сверьтесь с тарифами Make.

Почему Make не видит поля события?

Структура определяется по первому событию после нажатия кнопки определения в модуле. Нажмите её и сразу напишите на номер с другого телефона.

Можно ли сделать бота на Make?

Простой — да: фильтры по ключевым словам и ответы. Для ИИ-ответов добавьте модуль нужной модели, но помните, что бот не должен перебивать менеджера — проверяйте событие message.out. Подробнее — в гайде ИИ-бот для WhatsApp.

Как отправить файл из Make?

Вместо text передайте file с публичной ссылкой, именем и подписью — см. документацию. Файл мы скачаем сами, размер — до 2 ГБ, это лимит WhatsApp. Голосовое и видео отправляются так же — полями voice и video.

Подключите WhatsApp к Make

9 900 ₸ в месяц за номер, без платы за сообщения. Сервер в Казахстане, оплата Kaspi или счётом на ТОО/ИП. Подключение — около 5 минут.

Гайды по теме

Другие интеграции