Этот метод возвращает список рассылок, созданных в WAMM.chat для канала связи, к которому привязан API-токен. В ответе — название рассылки, даты создания и отправки, статус выполнения, сводная статистика по получателям (всего, отправлено, доставлено, прочитано, уникальные, ответы), а также создатель и ответственный. Метод удобен для мониторинга массовых отправок из CRM или отчётов без входа в личный кабинет.
За один запрос возвращается до 250 последних рассылок этого канала; активные (идущие) показываются первыми. Чтобы отфильтровать рассылки по автору, передайте user_id — идентификаторы операторов можно получить через список пользователей. Отправка отдельных сообщений в рамках рассылки выполняется через отправку сообщений; статусы доставки отдельных сообщений — через получение статуса сообщения или WebHook.
Рассылки создаются и запускаются в интерфейсе WAMM.chat (раздел «Рассылки»); API предназначен для чтения списка и аналитики, а не для создания новой рассылки.
Поддерживаемые мессенджеры
WhatsApp, MAX Personal, Telegram Personal, Telegram Bot, MAX Bot — любой канал, для которого выдан действующий API-токен. В списке будут только рассылки этого канала.
Пример запроса:
GET https://wamm.chat/api2/rassilki/{token}/ с фильтром по автору (необязательно):
GET https://wamm.chat/api2/rassilki/{token}/?user_id=100 Параметр user_id можно передать также через POST.
Параметры запроса
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| token | string | Да | API-токен канала из раздела Настройки > Управление > API. |
| user_id | integer | Нет | ID пользователя WAMM.chat — вернуть только рассылки, созданные этим оператором. Без параметра — все рассылки канала (в пределах лимита 250). |
Ответ при успехе
{
"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": "Мария Сидорова"
}
]
} Описание полей ответа
| Поле | Описание |
|---|---|
| status | При успехе всегда ok (в отличие от методов с полем err). |
| data | Массив рассылок; при отсутствии рассылок — пустой массив []. |
| id | Идентификатор рассылки в WAMM.chat. |
| api_id | Номер канала связи, через который выполнялась рассылка. |
| from_phone | Номер или идентификатор отправителя канала. |
| msg_title | Название рассылки. |
| ras_tag | Тег, присваиваемый чатам при рассылке (если задан). |
| dt_ins | Дата и время создания рассылки. |
| dt_start | Дата и время начала отправки. |
| dt_finish | Дата и время завершения (если рассылка завершена). |
| dt_step | Интервал между сообщениями в рассылке (секунды), если задан. |
| state | Числовой статус: 0 — не запущена, 1 — идёт отправка, 2 — завершена. |
| state_name | Текстовый статус: idle, running, finished. |
| msg_col | Всего получателей в рассылке. |
| msg_col_sent | Сообщений отправлено. |
| msg_col_delivered | Доставлено (статусы delivered, viewed, read и др.). |
| msg_col_view | Прочитано (viewed, read). |
| msg_col_unique | Уникальные получатели. |
| msg_col_answers | Количество ответов от клиентов. |
| user_id | ID пользователя, создавшего рассылку. |
| user_name | Имя создателя. |
| user_id_responsible | ID ответственного за рассылку (если назначен). |
| user_name_responsible | Имя ответственного. |
Возможные ошибки
| Код ошибки | Описание |
|---|---|
| token fail | Токен отсутствует, неверный или канал в архиве. |
Если рассылок для канала нет, ответ будет {"status":"ok","data":[]} — это не ошибка.
Примеры использования
function getRassilkiList($token, $userId = null) {
$url = "https://wamm.chat/api2/rassilki/" . rawurlencode($token) . "/";
if ($userId !== null && (int)$userId > 0) {
$url .= "?user_id=" . (int)$userId;
}
$response = file_get_contents($url);
if ($response === false) {
echo "Не удалось выполнить запрос к серверу";
return null;
}
$json = json_decode($response, true);
if (!is_array($json) || !isset($json['status'])) {
echo "Не удалось обработать ответ от сервера";
return null;
}
if ($json['status'] === 'ok' && isset($json['data'])) {
return $json['data'];
}
if (isset($json['err'])) {
echo "Ошибка: " . $json['err'];
} else {
echo "Ошибка: неизвестный ответ";
}
return null;
}
$token = "YOUR_TOKEN";
$list = getRassilkiList($token);
if ($list !== null) {
foreach ($list as $row) {
echo "ID: {$row['id']}, «{$row['msg_title']}», статус: {$row['state_name']}, "
. "получателей: {$row['msg_col']}, отправлено: {$row['msg_col_sent']}\n";
}
}