Этот метод назначает для чата ответственного пользователя (оператора) или снимает назначение. Ответственный виден в интерфейсе WAMM.chat и используется при распределении нагрузки: удобно автоматически закреплять диалог за менеджером из CRM, при эскалации или при передаче чата другому сотруднику.
Чат должен уже существовать в WAMM.chat — идентификатор контакта передаётся в параметре phone (номер или ID чата для Telegram/MAX). Список user_id берите из метода Получение списка пользователей; текущего ответственного можно проверить через Получение инфо о контакте (чате) (поле user_id). Открытые чаты оператора — в Получение открытых чатов пользователя.
Повторный запрос с тем же user_id, что уже назначен чату, возвращает успех без изменений.
Поддерживаемые мессенджеры
Метод доступен для каналов с API, у которых контакт (чат) есть в WAMM.chat: WhatsApp, MAX Personal, Telegram Personal, Telegram Bot.
Пример запроса:
GET https://wamm.chat/api2/contact_to_user/{token}/{phone}/{user_id} Назначить ответственного с user_id=100:
GET https://wamm.chat/api2/contact_to_user/YOUR_TOKEN/79001234567/100 Сбросить ответственного (никто не назначен):
GET https://wamm.chat/api2/contact_to_user/YOUR_TOKEN/79001234567/none Параметры запроса
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| token | string | Да | API-токен канала, полученный в настройках |
| phone | string | Да | Номер телефона в международном формате (например, 79001234567) или ID чата / никнейм для Telegram, ID чата для MAX |
| user_id | string / integer | Да | ID пользователя аккаунта WAMM.chat (см. Получение списка пользователей) или none — снять ответственного с чата |
Ответ при успехе
{"err":0,"result":"success"} Возможные ошибки
| Код ошибки | Описание |
|---|---|
| token fail | Ошибка в токене или канал не активен по тарифу |
| phone fail | Ошибка в номере телефона или идентификаторе чата |
| not found | Чат (контакт) не найден в WAMM.chat по указанному phone |
| user not found | Пользователь с указанным user_id не найден в аккаунте |
| user not active | Пользователь заблокирован (lock) или удалён (deleted) |
Примеры использования
function assignChatResponsible($token, $phone, $userId) {
// $userId — числовой ID пользователя или строка "none" для сброса
$url = 'https://wamm.chat/api2/contact_to_user/'
. rawurlencode($token) . '/'
. rawurlencode($phone) . '/'
. rawurlencode((string) $userId);
$response = file_get_contents($url);
if ($response === false) {
echo 'Не удалось выполнить запрос к серверу';
return;
}
$json = json_decode($response, true);
if (isset($json['err']) && $json['err'] === 0 && ($json['result'] ?? '') === 'success') {
echo 'Ответственный за чат обновлён';
} else {
echo 'Ошибка: ' . ($json['err'] ?? 'неизвестная ошибка');
}
}
$token = 'YOUR_TOKEN';
$phone = '79001234567';
$userId = 100; // назначить пользователя с user_id = 100
// $userId = 'none'; // сбросить ответственного
assignChatResponsible($token, $phone, $userId);