Loading...

Получение статуса сообщения


Метод позволяет получить актуальный статус ранее отправленного сообщения (доставлено, прочитано, отправляется и т.д.). Это полезно для отслеживания прогресса доставки важных сообщений и аналитики взаимодействия с вашими клиентами. Метод можно использовать в интеграциях для обновления статусов отправленных уведомлений в вашей системе.

GET /api2/msg_state/{token}/?msg_id={msg_id}
Также есть механизм WebHook, который позволяет получать в вашу систему сообщения и их статусы онлайн.

Параметры запроса
Параметр Тип Обязательный Описание
token string Да API-токен, полученный в настройках
msg_id integer Да Идентификатор сообщения, полученный при отправке

Ответ при успехе
{
    "err": 0,
    "msg_data": {
        "msg_id": "1234567",
        "phone": "79001234567",
        "state": "viewed"
    }
}

Описание полей ответа
Поле Описание
msg_id Идентификатор сообщения
phone Номер телефона получателя
state Статус сообщения (deleted, viewed, delivered, not sent, sent, failed, noAccount, notInGroup и другие)

Возможные ошибки
Код ошибки Описание
token fail Ошибка в токене
acc not authorized Подключение не авторизовано
msg_id fail Ошибка в номере сообщения
msg not be Не найден номер сообщения

Примеры использования
curl -X GET "https://wamm.chat/api2/msg_state/YOUR_TOKEN/?msg_id=1234567"
function getMessageStatus($token, $msg_id) {
    // Подготавливаем URL запроса
    $url = "https://wamm.chat/api2/msg_state/$token/?msg_id=$msg_id";
    
    // Выполняем запрос
    $response = file_get_contents($url);
    
    // Обрабатываем ответ
    if ($response !== false) {
        // Преобразуем ответ в массив
        $json_response = json_decode($response, true);
        
        // Проверяем наличие ошибок
        if (isset($json_response['err'])) {
            if ($json_response['err'] == 0 && isset($json_response['msg_data'])) {
                $status = $json_response['msg_data']['state'];
                echo "Статус сообщения: " . $status;
                return $status;
            } else {
                echo "Ошибка: " . $json_response['err'];
                return null;
            }
        } else {
            echo "Не удалось обработать ответ от сервера";
            return null;
        }
    } else {
        echo "Не удалось выполнить запрос к серверу";
        return null;
    }
}

// Используем функцию для получения статуса сообщения
$token = "YOUR_TOKEN";
$msg_id = 1234567;
$status = getMessageStatus($token, $msg_id);

// Обрабатываем статус
if ($status !== null) {
    switch ($status) {
        case 'sending':
            echo "Сообщение отправляется";
            break;
        case 'viewed':
            echo "Сообщение просмотрено";
            break;
        case 'received':
            echo "Сообщение получено";
            break;
        case 'delivered':
            echo "Сообщение доставлено";
            break;
        case 'not sent':
            echo "Сообщение не отправлено";
            break;
        case 'deleted':
            echo "Сообщение удалено";
            break;
        default:
            echo "Статус сообщения: " . $status;
    }
}

Как начать использовать

Зарегистрируетесь, подключите свои мессенджеры и работайте в WAMM.сhat!
На регистрацию и настройку не более 5 минут!
Первые 3 дня всё бесплатно!