Карточка клиента — переменные
Для админов

Карточка клиента — переменные

В настройках карточки клиента (Settings → Contact card) можно задать тело HTTP-запроса с шаблонными переменными. Система подставляет реальные значения контакта перед отправкой запроса.

Доступные переменные

ПеременнаяОписание
{contact_id}Внутренний UUID контакта
{external_id}Внешний ID (из виджета / API)
{internal_id}Произвольный внутренний идентификатор
{telegram_id}Telegram user ID
{vk_id}VK user ID
{email}Email контакта
{user_id}Псевдоним external_id (для совместимости)

Синтаксис шаблонов

СинтаксисПоведение
{field}Подставить значение поля (пустая строка если нет)
{?field}...{/?}Вставить блок только если поле непустое
{?!field}...{/?}Вставить блок только если поле пустое (отрицание)
{a|b|c}Первое непустое значение из перечисленных полей

Пример 1 — условный JSON с несколькими идентификаторами

Запрос передаёт тот идентификатор, который фактически есть у контакта. Условные блоки гарантируют, что в JSON попадёт только одно поле.

{
  "method": "user.get",
  "params": {
    {?external_id}"user_id": "{external_id}"{/?}{?!external_id}{?telegram_id}"telegram_id": {telegram_id}{/?}{?!telegram_id}{?vk_id}"vk_id": {vk_id}{/?}{?!vk_id}{?email}"email": "{email}"{/?}{/?}{/?}{/?}
  }
}
Порядок проверки: external_id → telegram_id → vk_id → email. Как только найден первый непустой, остальные блоки пропускаются.

Пример 2 — pipe-OR: первый непустой идентификатор

Синтаксис {a|b|c} подставляет первое непустое значение. Удобен когда API принимает любой идентификатор в одном поле.

{
  "query": "{telegram_id|vk_id|email|internal_id}",
  "source": "supporthub"
}
Если ни одно из перечисленных полей не заполнено, в запрос подставится пустая строка. Добавьте условный блок {?telegram_id|vk_id|email|internal_id}...{/?} чтобы пропустить запрос целиком.
Была ли страница полезной?