Этот метод позволяет проверить, есть ли у указанного номера телефона, никнейма или ID чата аккаунт в мессенджере, подключённом к вашему API-токену. Удобен при загрузке списков из CRM или Excel: можно заранее отфильтровать контакты без мессенджера и снизить число ошибок при рассылках. Если контакт уже есть в базе WAMM.chat с успешной проверкой, ответ приходит быстрее; иначе выполняется запрос к мессенджеру (где канал это поддерживает).
При отправке сообщений, файлов и добавлении контактов такая проверка выполняется автоматически — отдельный вызов перед отправкой обычно не нужен.
Проверка выполняется в контексте канала, к которому привязан токен: тип мессенджера и правила идентификатора (phone) зависят от api_tip этого канала.
Поддерживаемые мессенджеры
Метод API проверки наличия мессенджера доступен для: WhatsApp, MAX Personal, MAX Bot, Telegram Personal, Telegram Bot.
Пример запроса:
GET https://wamm.chat/api2/check_phone/{token}/?phone={phone} или
GET https://wamm.chat/api2/check_phone/{token}/{phone} Параметры запроса
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| token | string | Да | API-токен канала связи из раздела Настройки > Управление > API |
| phone | string | Да | Идентификатор контакта: номер в международном формате (например, 79001234567), для Telegram — ID чата или никнейм, для MAX — ID чата. Допускаются пробелы, скобки и дефисы — номер нормализуется автоматически. |
Ответ при успехе
{"err":0,"result":"exists"} Возможные значения result при err: 0:
exists— аккаунт в мессенджере найден (для ботов — контакт есть в WAMM.chat)none— аккаунт не найден
Возможные ошибки
| Код ошибки | Описание |
|---|---|
| token fail | Токен недействителен, отсутствует или канал в архиве |
| acc not authorized | Канал не готов к работе. Допустимые состояния канала для запроса: authorized или suspended |
| phone fail | Не указан, не удалось нормализовать |
| fail execution | Не удалось выполнить проверку (сбой API мессенджера, временная недоступность, неподдерживаемый тип канала). В ответе также "result":"error" — повторите запрос позже |
Пример использования (PHP)
function checkMessengerAccount($token, $phone) {
$url = 'https://wamm.chat/api2/check_phone/' . rawurlencode($token)
. '/?phone=' . rawurlencode($phone);
$response = @file_get_contents($url);
if ($response === false) {
return ['ok' => false, 'error' => 'request failed'];
}
$data = json_decode($response, true);
if (!is_array($data) || !isset($data['err'])) {
return ['ok' => false, 'error' => 'invalid response'];
}
if ($data['err'] === 0 && isset($data['result'])) {
return [
'ok' => true,
'exists' => ($data['result'] === 'exists'),
'result' => $data['result'],
];
}
return [
'ok' => false,
'error' => is_string($data['err']) ? $data['err'] : 'unknown',
'result' => $data['result'] ?? null,
];
}
$token = 'YOUR_TOKEN';
$phone = '79001234567';
$check = checkMessengerAccount($token, $phone);
if (!$check['ok']) {
echo 'Ошибка: ' . $check['error'];
} elseif ($check['exists']) {
echo 'Аккаунт найден';
} else {
echo 'Аккаунт не найден';
}