Данный метод добавляет тег к чату (контакту) в WAMM.chat по номеру телефона или ID чата. Теги помогают категоризировать диалоги — по теме, приоритету, этапу воронки или любому внутреннему признаку. Удобно для автоматизации из CRM, 1С и других систем: например, после оплаты заказа чату можно присвоить тег «Оплачен», а после эскалации — «Срочно».

Контакт должен уже существовать в базе WAMM.chat (как при получении информации о контакте). Если тег уже назначен этому чату, повторный запрос вернёт успех без дублирования — операция идемпотентна.

Список всех тегов аккаунта с количеством чатов можно получить отдельным методом API tag_list. Удаление тега с чата — в статье Теги для чата — удалить.


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

Метод работает на уровне контактов WAMM.chat и доступен для всех каналов, подключённых к API: WhatsApp, MAX Personal, Telegram Personal, Telegram Bot. Ограничение не по типу мессенджера, а по наличию чата в вашем аккаунте WAMM.


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

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

Для тега с пробелами и спецсимволами используйте urlencode в сегменте URL, например: VIP%20Client.


Параметры запроса
ПараметрТипОбязательныйОписание
tokenstringДаAPI-токен канала, полученный в настройках
phonestringДаНомер телефона в международном формате (например, 79001234567) или ID чата / никнейм для Telegram и MAX
tagstringДаНазвание тега. Передаётся в пути URL, закодированное функцией urlencode. Перенос строки в названии — символы %0A

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

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


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

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

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

    $data = json_decode($response, true);
    if (!is_array($data) || !array_key_exists('err', $data)) {
        throw new RuntimeException('Некорректный ответ API');
    }

    if ($data['err'] === 0 && ($data['result'] ?? '') === 'success') {
        return true;
    }

    throw new RuntimeException('Ошибка API: ' . (is_string($data['err']) ? $data['err'] : json_encode($data['err'])));
}

$token = 'YOUR_TOKEN';
$phone = '79001234567';
$tagName = 'VIP Client';

addTagToChat($token, $phone, $tagName);