Данный метод возвращает подробную информацию о контакте или чате из базы WAMM.chat: имя, email, заметки, теги, ответственного, настройки чата и дополнительные поля CRM. Удобен для синхронизации с внешней CRM, проверки данных перед отправкой сообщений и для методов управления чатом — добавление контакта, теги, ответственный. Контакт должен уже существовать в WAMM.chat (например, после переписки или добавления через contact_to).

Для Telegram Personal и MAX Personal в параметре phone можно передать номер телефона, внутренний ID чата или никнейм — поиск выполняется и по полю phone, и по id контакта. Для остальных каналов указывается идентификатор контакта в формате канала (обычно номер в международном формате).


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

Метод доступен для каналов с API-токеном: WhatsApp, MAX Personal, Telegram Personal, Telegram Bot. Данные возвращаются в рамках организации и канала, к которому привязан токен запроса.


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

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

или

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

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

Ответ при успехе
{
    "err": 0,
    "data": {
        "chat_id": 12345,
        "api_id": 100,
        "tip": "user",
        "phone": "79001234567",
        "phone_real": "",
        "name": "Иван Петров",
        "email": "client@example.com",
        "web": "https://example.com",
        "avatar": "https://wamm.chat/i/avatar/example.jpg",
        "notes": "Заметка к контакту",
        "user_id": 12,
        "tags": "VIP; Повторный",
        "chat_banned": 0,
        "chat_mute": 0,
        "chat_favorite": 1,
        "fields": "Город: Москва; Источник: сайт",
        "fields_ext": [
            {
                "id": 5,
                "name": "Город",
                "value": "Москва"
            },
            {
                "id": 8,
                "name": "Источник",
                "value": "сайт"
            }
        ]
    }
}

Описание полей ответа
ПолеОписание
chat_idВнутренний идентификатор чата (контакта) в WAMM.chat
api_idНомер канала связи
tipТип контакта: user — пользователь, group — группа
phoneИдентификатор контакта в канале. Для Telegram и MAX Personal часто это ID чата
phone_realТелефон или никнейм, если известен (для Telegram и MAX, когда phone — ID чата)
nameИмя контакта или название чата
emailEmail контакта
webURL контакта
avatarURL аватара
notesЗаметка к контакту
user_idID ответственного пользователя (пусто, если не назначен). Список пользователей — метод user_list
tagsТеги чата через точку с запятой и пробел (; ), например: VIP; Повторный
chat_bannedБлокировка чата: 0 — нет, 1 — заблокирован
chat_muteУведомления: 0 — включены, 1 — отключены
chat_favoriteЗакрепление вверху списка: 0 — нет, 1 — закреплён
fieldsДополнительные поля одной строкой (имя: значение; …). Пустая строка, если полей нет
fields_extМассив дополнительных полей: id, name, value. Пустой массив, если полей нет

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

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

    $response = file_get_contents($url);

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

    $json = json_decode($response, true);

    if (!isset($json['err'])) {
        echo 'Не удалось обработать ответ от сервера';
        return null;
    }

    if ($json['err'] === 0 && isset($json['data'])) {
        return $json['data'];
    }

    echo 'Ошибка: ' . $json['err'];
    return null;
}

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

$contact = getContactInfo($token, $phone);
if ($contact) {
    echo 'Контакт: ' . $contact['name'] . ', теги: ' . $contact['tags'];
}