Maytapi/Документация/Отправка сообщений
Отправка сообщенийОдин эндпоинт для всех типов сообщенийОтправка сообщений WhatsApp через API с вашего номера
Один POST-запрос отправляет текст, файл, сообщение с кнопками или геолокацию на любой номер WhatsApp, в группу или канал. Без одобрения шаблонов, без окна диалога и без оплаты за сообщение.
- POST /sendMessage
- текст · медиа · кнопки
- группы и каналы
- статусы доставки
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": "Your order #10482 has shipped."
}'const res = await fetch(`https://api.maytapi.com/api/${PID}/${PHONE_ID}/sendMessage`, {
method: "POST",
headers: { "x-maytapi-key": TOKEN, "Content-Type": "application/json" },
body: JSON.stringify({ to_number: "7916xxxxx67", type: "text", message: "Your order #10482 has shipped." })
});
console.log(await res.json());import requests
res = requests.post(
f"https://api.maytapi.com/api/{PID}/{PHONE_ID}/sendMessage",
headers={"x-maytapi-key": TOKEN},
json={"to_number": "7916xxxxx67", "type": "text", "message": "Your order #10482 has shipped."},
timeout=10,
)
print(res.json())$ch = curl_init("https://api.maytapi.com/api/$PID/$PHONE_ID/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" => "Your order #10482 has shipped."]),
]);
echo curl_exec($ch);
Что можно отправлять через WhatsApp API
Измените поле type — и тот же эндпоинт отправит что-то другое.
-
type: text
Текст
Статусы заказов, напоминания, OTP-коды и ответы с форматированием WhatsApp.
-
type: media
Изображения, видео, файлы
Отправка по URL или в base64: счета, фото, голосовые и документы в пределах лимитов WhatsApp.
-
type: buttons
Кнопки и списки
Быстрые ответы, ссылки, кнопки звонка и копирования кода, списки и карусели.
-
type: location
Геолокация и контакты
Отправляйте метку на карте, vCard или карточку контакта WhatsApp.
Отправка сообщения WhatsApp одним запросом
Передайте токен в заголовке x-maytapi-key и отправьте JSON-тело с получателем и сообщением. API ставит сообщение в очередь на вашем номере и сразу возвращает его id.
- ✓to_number в международном формате, например 7916xxxxx67
- ✓Работает с любым языком, который умеет отправлять HTTP-запросы
- ✓В ответе есть 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": "Your order #10482 has shipped."
}'const res = await fetch(`https://api.maytapi.com/api/${PID}/${PHONE_ID}/sendMessage`, {
method: "POST",
headers: { "x-maytapi-key": TOKEN, "Content-Type": "application/json" },
body: JSON.stringify({ to_number: "7916xxxxx67", type: "text", message: "Your order #10482 has shipped." })
});
console.log(await res.json());import requests
res = requests.post(
f"https://api.maytapi.com/api/{PID}/{PHONE_ID}/sendMessage",
headers={"x-maytapi-key": TOKEN},
json={"to_number": "7916xxxxx67", "type": "text", "message": "Your order #10482 has shipped."},
timeout=10,
)
print(res.json())$ch = curl_init("https://api.maytapi.com/api/$PID/$PHONE_ID/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" => "Your order #10482 has shipped."]),
]);
echo curl_exec($ch);Отправка файлов, изображений и голосовых
Передайте публичный URL или строку base64. Добавьте подпись, имя файла или HD-качество для изображений.
- ✓PDF-счета и документы с именем файла
- ✓Изображения и видео с подписью
- ✓Стикеры, голосовые сообщения и аудио
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@c.us",
"type": "media",
"message": "https://example.com/invoice-10482.pdf",
"text": "Your invoice for order #10482",
"filename": "invoice-10482.pdf"
}'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@c.us",
"type": "media",
"message": "https://example.com/product.jpg",
"text": "New arrival",
"isHd": true
}'Кнопки, на которые можно нажать
Клиенты отвечают одним нажатием, а ответ приходит на ваш вебхук с 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@c.us",
"type": "buttons",
"message": "Your order #10482 has shipped. Want to follow it?",
"buttons": [
{
"id": "track",
"text": "Track order"
},
{
"id": "address",
"text": "Change address"
}
]
}'Отправка в группы и каналы
Укажите id группы или канала в качестве получателя. В официальном Cloud API каналов нет вообще.
- ✓Id групп заканчиваются на @g.us
- ✓Id каналов заканчиваются на @newsletter
- ✓Упоминайте участников, отправляйте опросы и события
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": "120363012345678901@g.us",
"type": "text",
"message": "Weekly update: all orders shipped."
}'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": "120363204759413821@newsletter",
"type": "text",
"message": "New collection is live."
}'Что компании отправляют через API
-
Статусы заказов и доставки
Подтверждения, отправка и доставка — прямо из вашего магазина или ERP.
-
Напоминания и подтверждения
Напоминания о записи с кнопками подтверждения и отмены.
-
Ответы поддержки
Отвечайте из CRM или дайте команде отвечать из общего ящика.
FAQ по отправке сообщений
Задайте любой вопрос поддержке в WhatsApp. Среднее время ответа — меньше 24 часов.
Центр помощи →Можно ли отправлять сообщения WhatsApp без шаблонов?
Да. Maytapi отправляет сообщения в свободной форме с вашего номера, поэтому нет ни одобрения шаблонов, ни 24-часового окна.
Можно ли делать массовые рассылки?
Отправляйте столько сообщений, сколько нужно, без оплаты за каждое. Чтобы защитить номер, пишите тем, кто ждёт ваших сообщений, меняйте текст и соблюдайте естественный темп; Safe Mode прогревает новые номера.
С какого номера приходят сообщения?
С вашего собственного номера WhatsApp, который вы привязали по QR-коду. Клиенты, как обычно, видят ваше имя и фото.
Как узнать, что сообщение доставлено?
Настройте вебхук — и вы будете получать события «отправлено», «доставлено» и «прочитано» по каждому сообщению. Очередь и статус телефона также можно проверить через API.
Какие языки программирования можно использовать?
Сколько стоит отправка?
За сообщения платить не нужно. Вы платите фиксированную цену за подключённый номер: от $24 в месяц при оплате за год или $29 при помесячной оплате.
Другие возможности WhatsApp API

Получите ключ и отправьте первое сообщение за десять минут
Без одобрения, без шаблонов, без карты. Все эндпоинты открыты на три дня.