Для админов
Карточка клиента — переменные
В настройках карточки клиента (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}...{/?} чтобы пропустить запрос целиком.
Была ли страница полезной?