Введение
Добро пожаловать в документацию WhatsApp API Platform. Этот API позволяет отправлять сообщения через WhatsApp, управлять профилем, работать с реакциями на сообщения и управлять блоклистом контактов.
Все запросы к API должны содержать токен авторизации в заголовке Authorization: Bearer YOUR_TOKEN
Аутентификация
Для доступа к API необходим токен канала. Токен можно найти на странице управления каналом в панели управления.
Authorization: Bearer {YOUR_CHANNEL_TOKEN}
Важно: Для использования API необходимо иметь активную подписку с доступом к API, а канал должен быть в статусе "Готов к работе" (READY).
Эндпоинты
/api/profile
Получить информацию о профиле WhatsApp канала.
Пример запроса:
curl -X GET https://whapi.kz/api/profile \ -H "Authorization: Bearer YOUR_TOKEN"
Пример ответа:
{
"success": true,
"data": {
"name": "Имя пользователя",
"phone": "77001234567",
"status": "Доступен",
"avatar": "https://example.com/avatar.jpg"
}
}
/api/profile
Обновить информацию профиля WhatsApp канала.
Параметры запроса:
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| name | string | Нет | Имя профиля (макс. 64 символа) |
| status | string | Нет | Статус профиля (макс. 128 символов) |
Пример запроса:
curl -X PATCH https://whapi.kz/api/profile \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Новое имя",
"status": "Доступен для связи"
}'
Пример ответа:
{
"success": true,
"message": "Profile updated successfully"
}
/api/message
Отправить текстовое сообщение или медиа-файл на указанный номер телефона.
Параметры запроса:
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| to | string | Да | Номер телефона получателя с кодом страны (макс. 15 символов) |
| text | string | Да* | Текст сообщения (макс. 1024 символа). Обязателен, если не указан media |
| media | file | Нет | Медиа-файл для отправки (макс. 5MB). Может быть изображение, видео, документ |
Пример запроса (текст):
curl -X POST https://whapi.kz/api/message \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"to": "77001234567",
"text": "Привет! Это тестовое сообщение."
}'
/api/message
Удалить сообщение для себя или для всех участников чата.
Параметры запроса:
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| id | string | Да | ID сообщения для удаления (макс. 48 символов) |
| to | string | Да | Номер телефона получателя (макс. 15 символов) |
| for_everyone | boolean | Нет | Удалить для всех (по умолчанию: true) |
Пример запроса:
curl -X DELETE https://whapi.kz/api/message \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"id": "message_123456",
"to": "77001234567",
"for_everyone": true
}'
Пример ответа:
{
"success": true,
"message": "Message deleted successfully"
}
/api/message/react
Добавить реакцию (эмодзи) к сообщению.
Параметры запроса:
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| to | string | Да | Номер телефона получателя (макс. 15 символов) |
| id | string | Да | ID сообщения (макс. 48 символов) |
| reaction | string | Да | Эмодзи-реакция (макс. 16 символов, например: 👍, ❤️, 😂) |
Пример запроса:
curl -X POST https://whapi.kz/api/message/react \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"to": "77001234567",
"id": "message_123456",
"reaction": "👍"
}'
Пример ответа:
{
"success": true,
"message": "Reaction added successfully"
}
/api/message/react
Удалить реакцию с сообщения.
Параметры запроса:
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| to | string | Да | Номер телефона получателя (макс. 15 символов) |
| id | string | Да | ID сообщения (макс. 48 символов) |
Пример запроса:
curl -X DELETE https://whapi.kz/api/message/react \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"to": "77001234567",
"id": "message_123456"
}'
Пример ответа:
{
"success": true,
"message": "Reaction removed successfully"
}
/api/blocklist
Получить список заблокированных контактов.
Пример запроса:
curl -X GET https://whapi.kz/api/blocklist \ -H "Authorization: Bearer YOUR_TOKEN"
Пример ответа:
{
"success": true,
"data": [
{
"jid": "77001234567@s.whatsapp.net"
},
{
"jid": "77009876543@s.whatsapp.net"
}
]
}
/api/blocklist
Добавить номер телефона в блоклист.
Параметры запроса:
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| to | string | Да | Номер телефона для блокировки (макс. 15 символов) |
Пример запроса:
curl -X POST https://whapi.kz/api/blocklist \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"to": "77001234567"
}'
Пример ответа:
{
"success": true,
"message": "Blocklist added successfully"
}
/api/blocklist
Удалить номер телефона из блоклиста.
Параметры запроса:
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| to | string | Да | Номер телефона для разблокировки (макс. 15 символов) |
Пример запроса:
curl -X DELETE https://whapi.kz/api/blocklist \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"to": "77001234567"
}'
Пример ответа:
{
"success": true,
"message": "Blocklist removed successfully"
}
Лимиты
Лимиты отправки сообщений зависят от вашего тарифного плана:
- Дневной лимит: Количество сообщений, которые можно отправить за день
- Общий лимит: Общее количество сообщений за весь период подписки
- Rate Limit: Ограничение на количество API запросов в минуту
При превышении лимитов API будет возвращать ошибку 429 (Too Many Requests). Дневной лимит сбрасывается ежедневно в 00:00 UTC.
Коды ошибок
| Код | Описание |
|---|---|
| 400 | Неверный запрос (некорректные параметры) |
| 401 | Неверный или отсутствующий токен |
| 403 |
Доступ запрещен. Возможные причины:
|
| 429 | Превышен лимит отправки сообщений |
| 500 | Внутренняя ошибка сервера |
Webhook
Вы можете настроить Webhook URL в настройках канала для получения уведомлений о статусе отправленных сообщений.
Пример webhook payload:
{
"event": "message.sent",
"data": {
"messageId": "message_123456",
"phone": "77001234567",
"status": "delivered",
"timestamp": "2025-11-07T10:30:00Z"
}
}