Этот метод возвращает подробные данные по одной рассылке в WAMM.chat: те же сводные поля, что в списке рассылок, плюс массив messages — строки по каждому получателю (телефон, текст сообщения, статус отправки или доставки, дата, ID сообщения в WAMM.chat). Удобен для детального отчёта в CRM, выгрузки статусов по кампании и контроля хода массовой отправки без входа в личный кабинет.
Идентификатор рассылки (id) можно взять из ответа метода rassilki. Запрос выполняется только для рассылок канала, к которому привязан API-токен; чужие или несуществующие ID вернут ошибку not found. Статус отдельного отправленного сообщения при необходимости уточняйте через получение статуса сообщения (msg_state) или WebHook.
Рассылки создаются и запускаются в интерфейсе WAMM.chat (раздел «Рассылки»); API предназначен для чтения данных и аналитики, а не для создания новой рассылки.
Поддерживаемые мессенджеры
WhatsApp, MAX Personal, Telegram Personal, Telegram Bot, MAX Bot — любой канал, для которого выдан действующий API-токен. Данные относятся только к рассылкам этого канала.
Пример запроса:
GET https://wamm.chat/api2/rassilka_info/{token}/{id} или
GET https://wamm.chat/api2/rassilka_info/{token}/?id=15234 Параметр id можно передать также через POST.
Параметры запроса
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| token | string | Да | API-токен канала из раздела Настройки > Управление > API. |
| id | integer | Да | Идентификатор рассылки в WAMM.chat (поле id из метода rassilki). Передаётся в URL, в GET ?id= или в POST. |
Ответ при успехе
{
"status": "ok",
"data": {
"id": 15234,
"org_id": 100,
"api_id": 205,
"from_phone": "79001234567",
"msg_title": "Акция март",
"ras_tag": "акция",
"dt_ins": "2026-05-20 14:30:00",
"dt_start": "2026-05-20 15:00:00",
"dt_step": 5,
"dt_finish": "2026-05-20 18:45:00",
"state": 2,
"state_name": "finished",
"msg_col": 500,
"msg_col_sent": 498,
"msg_col_delivered": 480,
"msg_col_view": 320,
"msg_col_unique": 500,
"msg_col_answers": 45,
"user_id": 100,
"user_name": "Иван Петров",
"user_id_responsible": 110,
"user_name_responsible": "Мария Сидорова",
"messages": [
{
"date": "2026-05-20 15:01:12",
"phone": "79007654321",
"status": "delivered",
"msg_id": 9876543,
"text": "Здравствуйте! Для вас скидка 10%."
},
{
"date": null,
"phone": "79001112233",
"status": "no WhatsApp on the number",
"msg_id": null,
"text": "Здравствуйте! Для вас скидка 10%."
}
]
}
} Описание полей ответа
| Поле | Описание |
|---|---|
| status | При успехе всегда ok (в отличие от методов с полем err). |
| data | Объект рассылки. Поля id, msg_title, state, state_name, msg_col*, user_* — те же, что в списке рассылок. |
| state | Числовой статус рассылки: 0 — не запущена, 1 — идёт отправка, 2 — завершена. |
| state_name | Текстовый статус: idle, running, finished. |
| messages | Массив получателей рассылки (может быть пустым []). |
| messages[].date | Дата и время отправки сообщения в WAMM.chat (Y-m-d H:i:s) или null, если сообщение ещё не отправлено. |
| messages[].phone | Номер телефона или ID чата получателя (как в файле рассылки). |
| messages[].status | Статус: при отправке — из доставки мессенджера (sent, delivered, viewed, read и др.); до отправки — текст из очереди рассылки (например, no WhatsApp on the number); -- — статус ещё не определён. |
| messages[].msg_id | ID сообщения в WAMM.chat после постановки в отправку, или null, если сообщение не создано. |
| messages[].text | Текст сообщения для этого получателя (с учётом подстановок из файла рассылки). |
Возможные ошибки
| Код ошибки | Описание |
|---|---|
| token fail | Токен отсутствует, неверный или канал в архиве. Формат: {"err":"token fail"}. |
| id fail | Не указан или неверный идентификатор рассылки. Формат: {"status":"error","err":"id fail"}. |
| not found | Рассылка с таким id не найдена для канала этого токена. Формат: {"status":"error","err":"not found"}. |
Примеры использования
function getRassilkaInfo($token, $rassilkaId) {
$rassilkaId = (int) $rassilkaId;
if ($rassilkaId < 1) {
echo 'Укажите корректный id рассылки';
return null;
}
$url = 'https://wamm.chat/api2/rassilka_info/' . rawurlencode($token) . '/' . $rassilkaId;
$response = file_get_contents($url);
if ($response === false) {
echo 'Не удалось выполнить запрос к серверу';
return null;
}
$json = json_decode($response, true);
if (!is_array($json)) {
echo 'Не удалось обработать ответ от сервера';
return null;
}
if (isset($json['err'])) {
echo 'Ошибка: ' . $json['err'];
return null;
}
if (($json['status'] ?? '') === 'ok' && isset($json['data'])) {
return $json['data'];
}
if (($json['status'] ?? '') === 'error' && isset($json['err'])) {
echo 'Ошибка: ' . $json['err'];
} else {
echo 'Ошибка: неизвестный ответ';
}
return null;
}
$token = 'YOUR_TOKEN';
$rassilkaId = 15234;
$info = getRassilkaInfo($token, $rassilkaId);
if ($info !== null) {
echo "Рассылка: {$info['msg_title']}, статус: {$info['state_name']}, получателей: {$info['msg_col']}\n";
foreach ($info['messages'] as $row) {
$mid = $row['msg_id'] !== null ? $row['msg_id'] : '—';
echo " {$row['phone']}: {$row['status']}, msg_id: {$mid}\n";
}
}