Массовая отправка через WhatsApp API (bulk_messages)
Обновлено: 11 октября 2026 · 7 мин чтения
Массовая отправка отправляет один шаблон на много номеров одним запросом. Запрос принимается и выполняется в фоне (202 Accepted): тысяча получателей это тысяча отдельных запросов к Meta, и держать HTTP-соединение столько времени нельзя.
Шаги
-
1
Кто может отправлять
Только администратор. Массовая отправка уходит с номера аккаунта тысячам клиентов и влияет на рейтинг качества Вашего аккаунта в Meta, поэтому такое решение не принимается на уровне агента.
-
2
Соберите запрос
POST /v1/accounts/{account_id}/whatsapp/bulk_messages. Поля:channel_id(обязательно)template.nameиtemplate.language(обязательно, общие для всех получателей)template.parameters: общие параметрыconversation_status:resolved,open,pendingstatus_callback: статус каждого номера приходит на Ваш адрес отдельно, задержка считается от отправки на этот номер. Поля те же, что и в одиночной отправкеrecipients(обязательно, не больше 1000). У каждого получателяphone_number(обязательно),parameters(свои для этого получателя, заменяют общие параметры) иcontact(name,email,identifier)
Чтобы обратиться к каждому по имени, передайте имя в поле
parametersполучателя:{ "channel_id": 159, "template": { "name": "kampaniya_avqust", "language": "az" }, "recipients": [ { "phone_number": "+994 50 123 45 67", "parameters": { "body": { "1": "Кенан" } }, "contact": { "name": "Кенан Рзаев" } }, { "phone_number": "+994 55 111 22 33", "parameters": { "body": { "1": "Айгюн" } } } ] } -
3
Ответ: batch_id
Ответ приходит с кодом
202 Accepted:{ "batch": { "batch_id": "7c1f2a3e-9b44-4c2e-8a11-5f0d9b6e2a77", "channel_id": 159, "template_name": "kampaniya_avqust", "total": 2, "status": "processing", "sent_count": 0, "failed_count": 0, "pending_count": 2, "recipients": [ { "index": 0, "status": "pending" }, { "index": 1, "status": "pending" } ] } } -
4
Прочитайте результат
GET /v1/accounts/{account_id}/whatsapp/bulk_messages/{batch_id}statusравенprocessing, пока не обработаны все получатели, затем становитсяcompleted. Результат по каждому получателю отдельный: приsentестьmessage_idиconversation_id, приfailedестьerror(например,"Invalid phone number: ...").Результат хранится 7 дней, потом возвращается
404. Сами сообщения и диалоги остаются в Clomni навсегда. -
5
Больше 1000 получателей
Разбейте список на части по 1000 и отправляйте запросы по очереди. Каждая часть получает свой
batch_id.- запрос с получателями больше 1000 возвращает
422:A batch can hold at most 1000 recipients - пустой список тоже даёт
422:recipients must be a non-empty array
- запрос с получателями больше 1000 возвращает
-
6
Перед отправкой
- Сначала проверьте новый шаблон на 5-10 номерах, прочитайте результат и только потом отправляйте на весь список: тысяча сообщений с ошибкой в параметрах это потеря и денег, и рейтинга.
- Получите и задокументируйте согласие клиента на получение сообщений (opt-in): массовая отправка без согласия может закончиться блокировкой номера.
- Когда клиенты выбирают «Пожаловаться» или «Заблокировать», рейтинг качества падает, а вместе с ним снижается дневной лимит.
- Добавьте в шаблон кампании кнопку быстрого ответа: следующие 24 часа переписки с ответившим клиентом бесплатны.
-
7
Скорость
Сообщения проходят через фоновую очередь. Реальную скорость определяет лимит, который Meta даёт Вашему аккаунту; обычно уходят сотни сообщений в минуту.