Метод позволяет получить актуальный статус ранее отправленного сообщения (доставлено, прочитано, отправляется и т.д.). Это полезно для отслеживания прогресса доставки важных сообщений и аналитики взаимодействия с вашими клиентами. Метод можно использовать в интеграциях для обновления статусов отправленных уведомлений в вашей системе.
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;
}
}