Новое Safe Mode прогревает новые номера и снижает риск блокировки в WhatsApp. Подробнее →

Maytapi/Документация/Руководство PHP

Руководство PHPОколо 10 минут

Как отправить сообщение WhatsApp на PHP

Отправляйте текст и медиа из PHP одним HTTP-запросом и получайте ответы на свой webhook. Обычный REST и JSON — без SDK и одобрения шаблонов.

Обновлено:

  • PHP
  • REST + JSON
  • без SDK
  • ответы через webhook
PHP
<?php
$pid = "your-pid";
$phoneId = "your-phone-id";
$token = "your-token";

$ch = curl_init("https://api.maytapi.com/api/$pid/$phoneId/sendMessage");
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => ["x-maytapi-key: $token", "Content-Type: application/json"],
    CURLOPT_POSTFIELDS => json_encode([
        "to_number" => "7916xxxxx67",
        "type" => "text",
        "message" => "Hello from PHP!",
    ]),
]);
echo curl_exec($ch);
Перед началом

Что понадобится

Четыре вещи — всё доступно в консоли за пару минут.

  • аккаунт

    Аккаунт Maytapi

    Зарегистрируйтесь и начните бесплатный пробный период — карта не нужна.

  • телефон

    Подключённый номер

    Отсканируйте QR-код в WhatsApp на телефоне. Номер продолжит работать как обычно.

  • токен

    pid и токен

    Скопируйте их на странице токена в консоли; phone_id указан рядом с номером.

  • PHP

    Среда PHP

    Достаточно актуальной версии PHP и стандартного HTTP-клиента.

Текст

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

Отправьте POST с JSON-телом на /sendMessage, передав токен в заголовке x-maytapi-key. Сообщение встаёт в очередь телефона, ответ приходит сразу.

  • ✓to_number в международном формате, например 7916xxxxx67
  • ✓type: text и текст сообщения
  • ✓В ответе — id сообщения
curl -X POST "https://api.maytapi.com/api/$PID/$PHONE_ID/sendMessage" \
  -H "x-maytapi-key: $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"to_number": "7916xxxxx67", "type": "text", "message": "Hello from PHP!"}'
Медиа

Отправьте изображение, видео или документ

Используйте тот же эндпоинт с type media и публичным URL файла или data URI в base64. Можно добавить подпись и имя файла.

  • ✓Изображения, видео, аудио, PDF и другие документы
  • ✓Подпись — в поле text
  • ✓Data URI в base64 работают так же, как URL
PHP
$ch = curl_init("https://api.maytapi.com/api/$pid/$phoneId/sendMessage");
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => ["x-maytapi-key: $token", "Content-Type: application/json"],
    CURLOPT_POSTFIELDS => json_encode([
        "to_number" => "7916xxxxx67",
        "type" => "media",
        "message" => "https://example.com/invoice-10482.pdf",
        "text" => "Your invoice for order #10482",
        "filename" => "invoice-10482.pdf",
    ]),
]);
echo curl_exec($ch);
Приём

Получайте ответы через webhook на PHP

Зарегистрируйте URL webhook один раз. Входящие сообщения и статусы доставки и прочтения приходят в JSON; отвечайте через reply-URL из каждого события.

  • ✓Сразу возвращайте 200, затем обрабатывайте событие
  • ✓Пропускайте свои сообщения по fromMe
  • ✓Отвечайте в тот же чат через event.reply
$ch = curl_init("https://api.maytapi.com/api/$pid/setWebhook");
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => ["x-maytapi-key: $token", "Content-Type: application/json"],
    CURLOPT_POSTFIELDS => json_encode(["webhook" => "https://example.com/maytapi/webhook"]),
]);
echo curl_exec($ch);
FAQ

FAQ: WhatsApp API на PHP

Задайте любой вопрос поддержке в WhatsApp. Среднее время ответа — меньше 24 часов.

Центр помощи →
Есть ли официальный SDK для PHP?

Он не нужен. API — это REST с JSON, поэтому хватает стандартного HTTP-клиента PHP, как в примерах на этой странице.

Можно ли писать в группы из PHP?

Да. Укажите id группы (оканчивается на @g.us) в to_number; эндпоинты групп доступны на всех тарифах.

Почему сообщение не дошло?

Проверьте, что статус телефона активен, затем посмотрите очередь и логи в консоли. Новые номера нужно прогреть перед массовой отправкой.

Начните работать с WhatsApp API

Получите ключ и отправьте первое сообщение за десять минут

Без одобрения, без шаблонов, без карты. Все эндпоинты открыты на три дня.