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

Отправка сообщений в группу WhatsApp через API

Публикуйте объявления для команды, новости сообщества и ежедневные отчёты в группе WhatsApp из своего кода. Ваш привязанный номер WhatsApp отправляет их в любую группу, в которой состоит, – группа выбирается по точному названию.

Бесплатный пробный период: 50 сообщений за любые 30 дней, без карты.

Как это работает

  1. Получите API-ключ и привяжите номер

    Зарегистрируйтесь, затем привяжите номер WhatsApp на странице «Номера WhatsApp» по QR-коду или коду привязки, как WhatsApp Web. В разделе «Настройки → API-ключи» создайте ключ и скопируйте свой Client ID (где их найти, показано в руководстве по API-ключам ниже). ID на карточке номера (например, ID 678) – это ваш whatsapp_client.

  2. Убедитесь, что номер состоит в группе

    Номер-отправитель должен быть участником группы, а если писать могут только администраторы – администратором. Запишите название группы точно так, как его показывает WhatsApp, с эмодзи и знаками препинания.

  3. Отправьте в группу

    Отправьте POST на https://wbiztool.com/api/v1/send_msg/group/ с group_name и msg. Ответ с "status": 1 и msg_id означает, что сообщение поставлено в очередь.

  4. Проверьте, что оно ушло

    Группа ищется при отправке сообщения, а не при вызове API. Проверьте статус сообщения или вебхук: неверное название приводит к ошибке Group not found именно там.

Примеры кода: Сообщения в группы

Текст в группу (cURL)
curl -X POST https://wbiztool.com/api/v1/send_msg/group/ \
  -H "Content-Type: application/json" \
  -d '{
    "client_id": 12345,
    "api_key": "YOUR_API_KEY",
    "whatsapp_client": 678,
    "msg_type": 0,
    "group_name": "Sales Team Mumbai",
    "msg": "Reminder: *weekly review* starts at 4 PM today."
  }'
Python (requests)
import requests

response = requests.post(
    "https://wbiztool.com/api/v1/send_msg/group/",
    json={
        "client_id": 12345,
        "api_key": "YOUR_API_KEY",
        "whatsapp_client": 678,
        "msg_type": 0,
        "group_name": "Sales Team Mumbai",
        "msg": "Reminder: *weekly review* starts at 4 PM today.",
    },
    timeout=60,
)
result = response.json()  # read the body even when the HTTP code is 400

if result.get("status") == 1:
    print("Queued with msg_id", result["msg_id"])
else:
    print("Failed:", result.get("message"))
Python (официальный клиент)
from wbiztool_client import WbizToolClient

client = WbizToolClient(api_key="YOUR_API_KEY", client_id=12345)

result = client.send_message_to_group(
    group_name="Sales Team Mumbai",
    msg="Reminder: weekly review starts at 4 PM today.",
    whatsapp_client=678,
)
print(result)
Node.js (fetch): изображение по URL
// Node.js 18+ (built-in fetch). Save as .mjs to use top-level await.
const response = await fetch("https://wbiztool.com/api/v1/send_msg/group/", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    client_id: 12345,
    api_key: "YOUR_API_KEY",
    whatsapp_client: 678,
    msg_type: 1,
    group_name: "Sales Team Mumbai",
    img_url: "https://example.com/reports/weekly-sales.png",
    msg: "This week's sales summary",
  }),
});
console.log(await response.json());
PHP (расширение cURL)
<?php
$payload = [
    'client_id'       => 12345,
    'api_key'         => 'YOUR_API_KEY',
    'whatsapp_client' => 678,
    'msg_type'        => 0,
    'group_name'      => 'Sales Team Mumbai',
    'msg'             => 'Reminder: *weekly review* starts at 4 PM today.',
];

$ch = curl_init('https://wbiztool.com/api/v1/send_msg/group/');
curl_setopt_array($ch, [
    CURLOPT_POST           => true,
    CURLOPT_HTTPHEADER     => ['Content-Type: application/json'],
    CURLOPT_POSTFIELDS     => json_encode($payload),
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_TIMEOUT        => 60,
]);
$result = json_decode(curl_exec($ch), true);
curl_close($ch);

if (($result['status'] ?? 0) === 1) {
    echo 'Queued with msg_id ' . $result['msg_id'];
} else {
    echo 'Failed: ' . ($result['message'] ?? 'no response');
}

Что можно делать

  • Тексты, изображения и файлы

    msg_type 0 отправляет текст, 1 – изображение из img_url, 2 – файл из file_url; файл также можно загрузить как multipart form data в поле file.

  • Выбор по названию группы

    Искать ID группы не нужно: group_name – это точное название группы в WhatsApp. Пишите его с теми же заглавными и строчными буквами, что и в WhatsApp; часть названия не подойдёт.

  • Запланированное сообщение в группу

    Планирование сообщения (/api/v1/schedule_msg/) принимает group_name вместо phone, вместе с датой, временем и часовым поясом.

  • Группы и номера в одном запросе

    Отправка на несколько номеров принимает названия групп вперемешку с номерами телефонов, поэтому один вызов может охватить несколько групп.

  • Статус через вебхук

    Передайте webhook, чтобы получить POST с msg_id и SENT или FAILED, или запросите статус сообщения по msg_id.

Полезно знать

  • Отправка в группу WhatsApp через API (group_name вместо phone) работает на любом тарифе, включая пробный период.
  • Название группы не проверяется при вызове API, поэтому "status": 1 означает только постановку в очередь. Название, которое не совпадает точно, контакт с таким же именем или группа, где пишут только администраторы, а ваш номер не может, приводят к ошибке Group not found позже.
  • Если у двух групп точно одинаковые названия, сообщение уйдёт в первую из них в результатах поиска WhatsApp. Дайте каждой группе уникальное название и обновите group_name, если кто-то переименует группу.
  • Каждое сообщение в группу учитывается как одно сообщение в лимите номера – 1 000 в день в рамках честного использования.
  • Сообщения уходят с вашего собственного номера WhatsApp, поэтому действуют правила самого WhatsApp: пишите тем, кто ждёт ваших сообщений.

Вопросы и ответы

Как узнать ID группы WhatsApp?
Он не нужен. API находит группу по названию: передайте group_name точно так, как его показывает WhatsApp, с эмодзи и знаками препинания, с номера, который состоит в группе.
На каких тарифах можно отправлять в группы через API?
На любом, включая пробный период. Сообщение в группу учитывается как одно сообщение, так же как сообщение на номер телефона.
Почему сообщение в группу завершилось ошибкой Group not found?
Название не совпало с группой точно, у контакта такое же имя, ваш номер не состоит в группе, или писать могут только администраторы, а ваш номер не из их числа. Проверьте точное написание и регистр в WhatsApp.
Можно ли запланировать сообщение в группу?
Да. Отправьте POST на /api/v1/schedule_msg/ с group_name вместо phone, плюс date (дд/мм/гггг), time (ЧЧ:ММ) и timezone.
Нужны ли WhatsApp Business API или одобрение Meta?
Нет. WbizTool отправляет с вашего собственного номера WhatsApp или WhatsApp Business, привязанного как WhatsApp Web. Одобрение Meta не нужно, и согласовывать шаблоны сообщений тоже не надо.

Читайте руководства

Смотрите также

Отправьте своё первое автоматическое сообщение в WhatsApp уже сегодня

Создайте аккаунт, отсканируйте QR-код и отправьте сообщение менее чем за пять минут.

Начать бесплатно

Платные тарифы – от $25 в месяц в США. Цены