Оглавление
Отправка сообщений
Отправка сообщения клиенту через мессенджер. Отправка асинхронная — статус доставки отслеживается через нотификации.
POST
/api/v1/sendЗаголовки запроса
| Заголовок | Значение | Обязателен |
|---|---|---|
| X-API-Key | string | Да |
| Content-Type | application/json | Да |
Тело запроса
json
{
"phone_number": "12345678901",
"text": Ваш заказ готов!,
"service": "telegram",
"bot_name": "my-bot",
"buttons": [
{"text": "Open Site", "url": "https://massaccess.net"}
]
}Поля запроса
| Имя | Тип | Обязателен | Описание |
|---|---|---|---|
| phone_number | string | Да | Номер телефона получателя в международном формате (12345678901) |
| text | string | Да | Текст сообщения |
| service | string | Да | Мессенджер: telegram, max |
| bot_name | string | Нет | Имя бота. Если не указан, используется бот по умолчанию |
| buttons | array | Нет | Array of {text, url} for inline keyboard (optional, max 10) |
Примеры
bash
curl -X POST /api/v1/send \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
-d '{
"phone_number": "12345678901",
"text": Ваш заказ готов!,
"service": "telegram",
"bot_name": "my-bot",
"buttons": [
{"text": "Open Site", "url": "https://massaccess.net"}
]
}'Коды ответов HTTP
Все ответы API возвращают HTTP-статусы. Полный справочник кодов ошибок с описанием причин и способов исправления — на странице HTTP коды ответов .
Тело ответа
json
{
"status": "accepted",
"event_id": "550e8400-e29b-41d4-a716-446655440000",
"data": {
"state": "new"
}
}Поля ответа
| Имя | Тип | Обязателен | Описание |
|---|---|---|---|
| status | string | Да | Статус запроса: "accepted" — принят в очередь на обработку |
| event_id | string (UUID) | Да | Уникальный идентификатор сообщения |
| data.state | string | Да | Статус сообщения: "new" — создано, ожидает обработки |
Нотификации
После отправки сообщения MassAccess уведомляет ваш сервер о результате доставки через HTTP POST-запрос на настроенный Webhook URL. Нотификация содержит JSON с полями state, event_id и timestamp.
Для события message.status возможны два исхода:
- Успешная доставка (state: "sent") — сообщение доставлено получателю;
- Неуспешная доставка (state: "failed") — при ошибке дополнительно передаются error_code и error_description с деталями сбоя.
Подробнее о формировании, отправке и валидации нотификации — на странице Нотификации.