Этот метод возвращает историю переписки по одному контакту (номер телефона или ID чата) в рамках канала, к которому привязан API-токен. Удобен для выгрузки контекста диалога в CRM, построения отчётов и догрузки сообщений, если Webhook был недоступен. По умолчанию в JSON возвращается до 30 последних сообщений; при указании даты можно получить до 1000 записей за сутки по чату или по всему каналу. Для последних сообщений по всем чатам канала используйте Получение сообщений; для доставки в реальном времени — WebHook.
Поддерживаемые мессенджеры
Метод доступен для каналов: WhatsApp, MAX Personal, Telegram Personal, Telegram Bot и другие.
Пример запроса
GET https://wamm.chat/api2/msg_get/{token}/?phone={phone}&col={count} или
GET https://wamm.chat/api2/msg_get/{token}/{phone}/{count} Выгрузка за дату (параметр phone необязателен — все чаты канала за день):
GET https://wamm.chat/api2/msg_get/{token}/?date=2026-05-25&col=100 Параметры запроса
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| token | string | Да | API-токен канала (Настройки > Управление > API) |
| phone | string | Да* | Номер в международном формате (79001234567) или ID чата / никнейм для Telegram и MAX. Для Telegram Personal, Telegram Bot и MAX номер можно передать как внутренний ID контакта — API найдёт чат по полям id или phone. *Необязателен, если указан date без фильтра по контакту (все сообщения канала за день). |
| col | integer | Нет | Количество сообщений. По умолчанию 10. Без date: фактически не более 30 (даже если передать больше). С date: до 1000. |
| date | string | Нет | Дата в формате YYYY-MM-DD (не ранее 2023-01-01, не в будущем). Фильтр по суткам (00:00:00–23:59:59, часовой пояс сервера — Europe/Moscow). При указании date внутренний лимит col увеличивается до 1000. |
| format | string | Нет | json (по умолчанию) — ответ JSON. |
Ответ при успехе (JSON)
{
"err": 0,
"s_id": "1",
"execution_time": 0.12,
"msg_data": [
{
"msg_id": 1234567,
"from_me": 1,
"from_api": 0,
"phone_acc": "79001112233",
"phone": "79001234567",
"phone_real": "",
"chat_name": "Иван Петров",
"tip_msg": "textMessage",
"msg_text": "Добрый день!",
"msg_link": "",
"date_ins": "2026-05-24 19:52:00",
"state": "delivered",
"rassilka_id": 1234
},
{
"msg_id": 1234566,
"from_me": 0,
"from_api": 0,
"phone_acc": "79001112233",
"phone": "79001234567",
"phone_real": "",
"chat_name": "Иван Петров",
"tip_msg": "textMessage",
"msg_text": "Здравствуйте!",
"msg_link": "",
"date_ins": "2026-05-24 19:50:15",
"state": "received",
"rassilka_id": null
}
]
} Описание полей ответа
| Поле | Описание |
|---|---|
| err | 0 — успех; иначе строка с кодом ошибки |
| s_id | Идентификатор сервера обработки (служебное поле) |
| execution_time | Время выполнения запроса, секунды (служебное поле) |
| msg_data | Массив сообщений (новые сверху по msg_id) |
| msg_id | Уникальный идентификатор сообщения в WAMM.chat |
| from_me | Направление: 0 — входящее, 1 — исходящее |
| from_api | Сообщение отправлено через API: 0 / 1 |
| phone_acc | Номер или идентификатор подключённого к WAMM.chat канала |
| phone | Идентификатор контакта в переписке (для Telegram и MAX часто ID чата) |
| phone_real | Телефон или никнейм контакта, если известен (для Telegram/MAX при phone=ID чата) |
| chat_name | Имя контакта или название чата |
| tip_msg | Тип: textMessage, file_link и др. |
| msg_text | Текст сообщения; для файлов может быть файл |
| msg_link | Ссылка на файл, если применимо |
| date_ins | Дата и время отправки или получения |
| state | Статус: для исходящих — sending, sent, delivered, viewed, read и др.; для входящих — received |
| rassilka_id | ID рассылки, если сообщение из рассылки; иначе null |
Возможные ошибки
| Код ошибки | Описание |
|---|---|
| token fail | Токен недействителен, отсутствует или канал в архиве |
| acc not authorized | Канал не готов к работе (нет подключения authorized/suspended) |
| phone fail | Не указан или неверный phone (и не задан date) |
| date fail | Некорректная дата (date) |
| col fail or more .. | col не в диапазоне 1–1000 |
| msgs not be | Сообщения не найдены по условиям запроса |
Примеры использования
function getMessagesByPhone($token, $phone, $count = 20, $date = null, $format = 'json') {
$params = ['col' => (int)$count];
if ($phone !== null && $phone !== '') {
$params['phone'] = $phone;
}
if ($date) {
$params['date'] = $date;
}
if ($format === 'xlsx') {
$params['format'] = 'xlsx';
}
$url = 'https://wamm.chat/api2/msg_get/' . rawurlencode($token) . '/?' . http_build_query($params);
$response = file_get_contents($url);
if ($response === false) {
echo 'Не удалось выполнить запрос к серверу';
return false;
}
if ($format === 'xlsx') {
file_put_contents('messages_export.xlsx', $response);
return true;
}
$json = json_decode($response, true);
if (!is_array($json) || !isset($json['err'])) {
echo 'Не удалось обработать ответ от сервера';
return false;
}
if ($json['err'] === 0 && isset($json['msg_data'])) {
return $json['msg_data'];
}
echo 'Ошибка: ' . $json['err'];
return false;
}
$token = 'YOUR_TOKEN';
$messages = getMessagesByPhone($token, '79001234567', 20);
// $messages = getMessagesByPhone($token, null, 500, '2026-05-25');
// getMessagesByPhone($token, '79001234567', 100, '2026-05-25', 'xlsx');