Этот метод возвращает историю переписки по одному контакту (номер телефона или 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

Параметры запроса
ПараметрТипОбязательныйОписание
tokenstringДаAPI-токен канала (Настройки > Управление > API)
phonestringДа*Номер в международном формате (79001234567) или ID чата / никнейм для Telegram и MAX. Для Telegram Personal, Telegram Bot и MAX номер можно передать как внутренний ID контакта — API найдёт чат по полям id или phone. *Необязателен, если указан date без фильтра по контакту (все сообщения канала за день).
colintegerНетКоличество сообщений. По умолчанию 10. Без date: фактически не более 30 (даже если передать больше). С date: до 1000.
datestringНетДата в формате YYYY-MM-DD (не ранее 2023-01-01, не в будущем). Фильтр по суткам (00:00:00–23:59:59, часовой пояс сервера — Europe/Moscow). При указании date внутренний лимит col увеличивается до 1000.
formatstringНет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
        }
    ]
}

Описание полей ответа
ПолеОписание
err0 — успех; иначе строка с кодом ошибки
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_idID рассылки, если сообщение из рассылки; иначе 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');