Данный метод переводит чат в статус «открыт»: в интерфейсе 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} Параметры запроса
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| token | string | Да | API-токен канала, полученный в настройках |
| phone | string | Да | Номер телефона в международном формате (например, 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);