Этот метод назначает для чата ответственного пользователя (оператора) или снимает назначение. Ответственный виден в интерфейсе 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

Параметры запроса
ПараметрТипОбязательныйОписание
tokenstringДаAPI-токен канала, полученный в настройках
phonestringДаНомер телефона в международном формате (например, 79001234567) или ID чата / никнейм для Telegram, ID чата для MAX
user_idstring / 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);