Данный метод переводит чат в статус «открыт»: в интерфейсе WAMM.chat и в выборках API он снова считается активным. Удобен, когда диалог ранее был завершён через API или вручную, а работу с клиентом нужно продолжить без нового входящего сообщения.

Открытые чаты попадают в список открытых чатов (user_chats). Перед вызовом чат должен существовать в базе WAMM.chat — при необходимости сначала получите данные методом получения информации о контакте (contact_get) или добавьте контакт через добавление и обновление контактов.

Запрос идемпотентен: если чат уже открыт, API вернёт тот же успешный ответ. Для завершения диалога используйте установку статуса «завершён» (contact_complete). При новом входящем сообщении завершённый чат в CRM также может открыться автоматически — это поведение интерфейса, не замена данного API-метода.


Поддерживаемые мессенджеры

Метод доступен для каналов с API-токеном: WhatsApp, MAX Personal, Telegram Personal, Telegram Bot и других типов, у которых контакт уже есть в WAMM.chat. Идентификатор чата (phone) нормализуется по типу канала токена; для Telegram и MAX можно передавать ID чата или никнейм, как в contact_get.


Пример запроса:

GET https://wamm.chat/api2/contact_open/{token}/?phone={phone}

или

GET https://wamm.chat/api2/contact_open/{token}/{phone}

Параметры запроса
ПараметрТипОбязательныйОписание
tokenstringДаAPI-токен канала, полученный в настройках
phonestringДаНомер телефона в международном формате (например, 79001234567) или ID чата / никнейм для Telegram и MAX. Можно передать в URL или как GET-параметр ?phone=

Ответ при успехе
{"err":0,"result":"success"}

Ответ одинаковый, если чат только что открыт или уже был в статусе «открыт».


Возможные ошибки
Код ошибкиОписание
token failОшибка в токене или канал не в статусе оплаты active
phone failОшибка в номере телефона или идентификаторе чата (длина или формат)
not foundЧат не найден в базе WAMM.chat для данного аккаунта

Примеры использования
function openChat($token, $phone) {
    $url = 'https://wamm.chat/api2/contact_open/' . rawurlencode($token) . '/?phone=' . rawurlencode($phone);

    $response = file_get_contents($url);
    if ($response === false) {
        echo 'Не удалось выполнить запрос к серверу';
        return;
    }

    $json = json_decode($response, true);
    if (!is_array($json) || !isset($json['err'])) {
        echo 'Не удалось обработать ответ от сервера';
        return;
    }

    if ($json['err'] === 0 && ($json['result'] ?? '') === 'success') {
        echo 'Чат успешно открыт (или уже был открыт)';
    } else {
        echo 'Ошибка: ' . $json['err'];
    }
}

$token = 'YOUR_TOKEN';
$phone = '79001234567';

openChat($token, $phone);