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

📱 WhatsApp Cloud API

WhatsApp подключается через Cloud API от Meta — официальный API с бесплатным уровнем, который позволяет отправлять и получать сообщения WhatsApp с вашего собственного сервера. Сторонний BSP (Business Solution Provider) не требуется.


Предварительные требования

  1. Аккаунт разработчика Meta на developers.facebook.com
  2. Аккаунт Meta Business (также известный как Business Manager)
  3. Номер телефона для WhatsApp, не зарегистрированный в личном WhatsApp (можно использовать SIM-карту, виртуальный номер или стационарный телефон)

Шаги настройки

1. Создание приложения Meta

  1. Перейдите на developers.facebook.com/apps
  2. Нажмите Create App
  3. Выберите тип Business
  4. Введите имя и подключите ваш Business-аккаунт

2. Добавление продукта WhatsApp

  1. В панели вашего приложения прокрутите до Add Products to Your App
  2. Нажмите Set Up на WhatsApp
  3. Выберите ваш Business-аккаунт

3. Получение учётных данных

Перейдите в WhatsApp → API Setup в панели приложения:

Учётные данныеГде найти
Phone Number IDВ разделе "From" — числовой ID вида 123456789012345
Access TokenВременный токен, показанный на этой странице. Для продакшена сгенерируйте постоянный токен через System Users.
App SecretПанель приложения → Settings → Basic → App Secret
Verify TokenСтрока, которую вы придумываете сами — любая случайная строка, например my_secret_verify_token_2024

4. Добавление канала в PulseHub

  1. Перейдите в Каналы → Добавить канал
  2. Выберите WhatsApp
  3. Заполните все четыре поля
  4. Нажмите Сохранить канал
  5. Скопируйте URL вебхука, показанный на карточке канала

5. Настройка вебхука в Meta

  1. В вашем приложении Meta перейдите в WhatsApp → Configuration
  2. Нажмите Edit рядом с разделом Webhook
  3. Callback URL: вставьте URL вебхука PulseHub
  4. Verify Token: введите ту же строку, что указали в PulseHub
  5. Нажмите Verify and Save

Meta отправит GET-запрос на URL вашего вебхука с ?hub.mode=subscribe&hub.verify_token=...&hub.challenge=.... PulseHub проверяет токен и возвращает challenge.

  1. В Webhook Fields подпишитесь на: messages

6. Тестирование

Отправьте сообщение WhatsApp на ваш бизнес-номер. Оно должно появиться как новая беседа в папке входящих PulseHub в течение нескольких секунд.


Проверка подписи

Meta включает заголовок X-Hub-Signature-256 в каждый вебхук:

X-Hub-Signature-256: sha256=abc123...

PulseHub проверяет его с помощью HMAC-SHA256 и вашего App Secret. Если проверка не проходит, вебхук возвращает 401 Signature mismatch.


Отправка сообщений

Когда агент отправляет ответ из папки входящих, PulseHub вызывает WhatsApp Cloud API:

POST https://graph.facebook.com/v18.0/{phone_number_id}/messages
Authorization: Bearer {access_token}
{
"messaging_product": "whatsapp",
"to": "{recipient_phone}",
"type": "text",
"text": {"body": "Ваш ответ здесь"}
}

Доступ к продакшену

Приложение Meta по умолчанию находится в режиме Development — оно может отправлять сообщения только на номера, добавленные как тестовые. Для выхода в продакшен:

  1. Завершите верификацию бизнеса в Meta Business Manager
  2. Отправьте ваш сценарий использования WhatsApp на проверку Meta
  3. После одобрения ваше приложение получит доступ для отправки сообщений всем пользователям WhatsApp

Частые проблемы

СимптомВероятная причина
Проверка не проходит при настройке вебхукаverify_token в PulseHub не совпадает с введённым в Meta
Ошибка несоответствия подписи в логахНеверный app_secret — скопируйте из App Settings → Basic, а не из API Setup
Сообщения не приходятПоле вебхука messages не подписано в панели Meta
Invalid phone number при отправкеФормат номера должен быть E.164 без + (например, 15551234567)
Ошибка приложения в режиме DevelopmentТолько верифицированные тестовые номера могут получать сообщения в режиме dev