Maytapi/Документация/Getting started
Getting startedОколо 10 минутКак отправить первое сообщение WhatsApp через API
От нового аккаунта до доставленного сообщения за четыре шага: привяжите номер, скопируйте данные доступа, отправьте один запрос и получите статус доставки. Без одобрения и без шаблонов.
- привязка по QR
- pid и токен
- один POST-запрос
- доставка на вебхук

Четыре шага до первого сообщения
Всё ниже делается в консоли и терминале — без SDK.
-
step 1
Создайте аккаунт
Зарегистрируйтесь в консоли и начните бесплатный пробный период — карта не нужна.
-
step 2
Привяжите номер
Добавьте телефон и отсканируйте QR-код в WhatsApp на телефоне (Связанные устройства). Номер остаётся прежним.
-
step 3
Скопируйте данные доступа
pid и API-токен — на странице токена в консоли; phone_id указан рядом с номером.
-
step 4
Отправьте запрос
Сделайте POST на /sendMessage с заголовком x-maytapi-key и JSON-телом.
Где найти pid, phone_id и токен
Все запросы используют один базовый URL с вашими pid и phone_id, а токен — в заголовке x-maytapi-key. Список телефонов можно получить и через API.
- ✓Токен и pid: консоль → Settings → Token
- ✓phone_id: рядом с каждым номером или через /listPhones
- ✓Храните токен в секрете — он даёт полный доступ к аккаунту
curl "https://api.maytapi.com/api/$PID/listPhones" \ -H "x-maytapi-key: $TOKEN"
Отправьте первое сообщение
Отправьте текстовое сообщение на любой номер WhatsApp в международном формате. Запрос ставит сообщение в очередь телефона и сразу возвращает ответ.
- ✓to_number в международном формате, например 7916xxxxx67
- ✓type: text и message
- ✓В ответе — 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 the Maytapi WhatsApp API!"
}'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: "Hello from the Maytapi WhatsApp API!" })
});
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": "Hello from the Maytapi WhatsApp API!"},
timeout=10,
)
print(res.json())Проверьте, что сообщение дошло
Настройте вебхук для статусов доставки и прочтения или проверьте состояние телефона, если сообщение не уходит.
- ✓/setWebhook для статусов и входящих сообщений
- ✓/{phone_id}/status и /screen для сессии
- ✓/{phone_id}/queue для сообщений в очереди
curl "https://api.maytapi.com/api/$PID/$PHONE_ID/status" \ -H "x-maytapi-key: $TOKEN"
curl "https://api.maytapi.com/api/$PID/$PHONE_ID/queue" \ -H "x-maytapi-key: $TOKEN"
curl -X POST "https://api.maytapi.com/api/$PID/setWebhook" \
-H "x-maytapi-key: $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"webhook": "https://example.com/maytapi/webhook"
}'Куда двигаться дальше
-
Получайте сообщения
Настройте вебхук для входящих сообщений и статусов.
-
Добавьте кнопки
Отправляйте кнопки, списки и карусели через тот же эндпоинт.
-
Избегайте блокировок
Прогревайте новые номера и узнайте, что вызывает ограничения.
Вопросы для начала работы
Задайте любой вопрос поддержке в WhatsApp. Среднее время ответа — меньше 24 часов.
Центр помощи →Нужен ли новый номер?
Нет. Вы привязываете свой текущий номер WhatsApp по QR-коду, и он продолжает работать на телефоне как обычно.
Почему сообщение не дошло?
Сначала проверьте состояние телефона — сессия должна быть активной. Затем посмотрите очередь и логи в консоли. WhatsApp также может ограничивать первые сообщения на новые номера — см. руководство по блокировкам.
Можно попробовать бесплатно?
Да. Пробный период открывает все эндпоинты на три дня без карты.
Другие возможности WhatsApp API

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