> For the complete documentation index, see [llms.txt](https://docs.iexexchanger.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.iexexchanger.com/guide/nastroiki/shortkody.md).

# Шорткоды

Шорткод — это специальная метка внутри текста, которую система заменяет готовым значением при формировании клиентской страницы, письма, Telegram-сообщения, инструкции или другого поддерживаемого текста.

Например, телефон поддержки можно сохранить один раз и использовать в разных шаблонах:

```
[custom:support_phone]
```

При обработке текста система заменит этот код сохранённым номером телефона. Если номер изменится, достаточно отредактировать значение шорткода — вручную обновлять каждый шаблон не потребуется.

{% hint style="info" %}
Шорткоды обрабатываются не во всех текстовых полях панели управления.

Используйте их в редакторах, где отображается кнопка **«Мои шорткоды»** или **«Доступные теги»**, либо где работа конкретного тега подтверждена проверкой.
{% endhint %}

## Возможности раздела

Через раздел можно создавать собственные значения для повторного использования в шаблонах, добавлять переводы для языков клиентского сайта и привязывать отдельные значения к заявке, пользователю или направлению обмена.

Созданные шорткоды можно включать, отключать, копировать, редактировать и удалять.

Встроенные теги заявки, пользователя, системы и уведомлений в этом разделе не редактируются. Они автоматически появляются в тех редакторах, где могут быть использованы.

## Где находится раздел

В панели управления откройте: **«Утилиты» — «Шорткоды»**

<figure><img src="/files/AyLe23lCsbd77Vw68yL8" alt=""><figcaption></figcaption></figure>

На странице находятся две вкладки:

* **«Общие»** — значения, которые не зависят от конкретной заявки, пользователя или направления;
* **«Для объектов»** — значения, привязанные к определённой заявке, пользователю или направлению обмена.

Рядом с названием вкладки отображается количество созданных записей.

Для создания используются кнопки **«Добавить общий шорткод»** и **«Добавить для объекта»**.

## Необходимые права доступа

Права назначаются для группы пользователей.

В панели управления откройте: **«Пользователи» — «Список групп пользователей»**

<figure><img src="/files/jKBfw7xpPPbqZtKxJaFs" alt=""><figcaption></figcaption></figure>

Найдите группу, к которой относится сотрудник, и откройте её редактирование. Для доступа к разделу **«Шорткоды»** отметьте хотя бы одно из прав:

* **«Общие настройки»**;
* **«Основные настройки сайта»**;
* **«Настройки уведомлений»**.

Любое из этих прав открывает просмотр, создание, изменение и удаление всех общих и объектных шорткодов.

{% hint style="warning" %}
Право **«Настройки уведомлений»** открывает управление не только шорткодами уведомлений, но и всеми пользовательскими шорткодами.

Выдавайте его только сотрудникам, которым разрешено изменять тексты клиентского сайта, платёжные инструкции и уведомления.
{% endhint %}

Сотрудник без доступа к разделу может видеть и вставлять доступные теги в редакторах, к которым у него есть отдельные права.

***

## Общие и объектные шорткоды

**Общий шорткод** имеет формат:

```
[custom:код]
```

Он используется, когда одно значение должно подставляться во всех подходящих шаблонах.

Например:

```
[custom:support_phone]
```

Во всех поддерживаемых текстах этот тег будет заменён одним сохранённым номером поддержки.

**Объектный шорткод** имеет формат:

```
[entity:код]
```

Он используется, когда значение относится к конкретной заявке, пользователю или направлению обмена.

Например, один тег:

```
[entity:payment_note]
```

может подставлять разные платёжные инструкции для разных заявок.

## Список созданных шорткодов

На вкладке **«Общие»** отображаются название, описание, формат значения, готовый код, состояние **«Доступен»** или **«Выключен»** и кнопка удаления.

На вкладке **«Для объектов»** дополнительно указывается объект, к которому привязано значение.

Само сохранённое значение в списке не отображается. Чтобы посмотреть или изменить его, нажмите название шорткода или кнопку редактирования рядом с ним.

Кнопка с иконкой копирования переносит готовый код в буфер обмена. Если браузер запретил копирование, выделите отображаемый код и скопируйте его вручную.

За один раз загружается до 100 общих и до 100 объектных шорткодов. Если записей больше, в нижней части страницы появляется кнопка **«Показать ещё»**.

## Правила заполнения кода

В поле **«Шорткод»** вводится только изменяемая часть кода. Префикс и квадратные скобки система добавляет самостоятельно.

Допускаются:

* латинские буквы;
* цифры;
* точка;
* дефис;
* нижнее подчёркивание.

Примеры корректных кодов:

```
support_phone
office.address
payment-note
company_telegram
```

Пробелы и кириллица не поддерживаются. Максимальная длина — 191 символ.

После сохранения буквы автоматически переводятся в нижний регистр. Например:

```
Support_Phone
```

будет сохранён как:

```
support_phone
```

Код общего шорткода должен быть уникальным.

Для объектных шорткодов один код можно использовать у разных объектов, но нельзя создать его повторно для одного и того же объекта.

{% hint style="warning" %}
Изменение кода не обновляет ранее сохранённые шаблоны.

После переименования старый код перестанет заменяться. Сначала найдите места его использования, обновите шаблоны и только затем меняйте код.
{% endhint %}

В шаблонах используйте полный формат:

```
[custom:support_phone]
[entity:payment_note]
```

Короткая запись:

```
[support_phone]
```

также может обрабатываться, но при совпадении с другим тегом становится неоднозначной и может остаться в тексте без замены.

***

## Создание общего шорткода

В панели управления откройте: **«Утилиты» — «Шорткоды»**

1. Нажмите **«Добавить общий шорткод»**.
2. Заполните **«Название шорткода»**.
3. Введите уникальный код в поле **«Шорткод»**.
4. Выберите **«Формат значения»**.
5. Заполните **«Значение»**.
6. При необходимости добавьте **«Описание для редакторов (необязательно)»**.
7. Настройте **«Доступен в шаблонах»**.
8. Нажмите **«Сохранить»**.

В нижней части формы отображается строка **«В шаблон нужно вставить»** с готовым кодом.

{% hint style="info" %}
Строка **«В шаблон нужно вставить»** показывает только синтаксис шорткода. Она не является предпросмотром итогового текста.
{% endhint %}

{% stepper %}
{% step %}

### Название шорткода

**«Название шорткода»** — название, по которому сотрудники будут находить запись в разделе и в окне **«Доступные теги»**.

Оно не подставляется в клиентский текст.

Название обязательно для основного языка панели управления. Максимальная длина — 191 символ.

Для разных языков можно сохранить отдельные названия.
{% endstep %}

{% step %}

### Описание для редакторов

**«Описание для редакторов (необязательно)»** — пояснение, которое помогает сотруднику понять назначение тега перед вставкой.

Описание отображается в каталоге доступных тегов, но не подставляется в шаблон.

Максимальная длина — 5000 символов.

Пример:

```
Основной телефон службы поддержки. Используется в клиентских инструкциях и уведомлениях.
```

{% endstep %}

{% step %}

### Формат значения

**«Обычный текст»** — используется для телефонов, адресов, коротких инструкций и других текстовых значений.

**«Форматированный текст (HTML)»** — используется для текста с HTML-разметкой в редакторах, которые её поддерживают.

**«Число»** — используется для сумм, процентов и других числовых значений.

Для обычного текста и HTML можно заполнить отдельные переводы. Для числового формата используется одно значение без языковых вариантов.

{% hint style="warning" %}
HTML обрабатывается не во всех каналах одинаково.

На клиентской странице разметка может отображаться правильно, а в письме или Telegram-сообщении — удаляться либо выводиться как обычный текст. Проверяйте результат отдельно в каждом канале.
{% endhint %}

Не добавляйте в HTML-значения скрипты, формы, сторонние виджеты или непроверенный пользовательский код.
{% endstep %}

{% step %}

### Числовое значение

При выборе формата **«Число»** поле должно содержать корректное числовое значение.

Для десятичной части используйте точку:

```
12.50
```

Если указать обычный текст, кнопка сохранения может стать недоступной либо система отклонит значение.
{% endstep %}

{% step %}

### Доступен в шаблонах

Если **«Доступен в шаблонах»** включён, шорткод появляется в поддерживаемых редакторах и подставляется при обработке текста. В списке он получает состояние **«Доступен»**.

Если настройка выключена, запись остаётся в разделе, но исчезает из каталога тегов и перестаёт подставляться.

Код, который уже находится в шаблоне, может остаться в клиентском тексте в исходном виде:

```
[custom:код]
```

Перед отключением проверьте все рабочие шаблоны, в которых используется этот шорткод.
{% endstep %}
{% endstepper %}

## Языковые версии значения

Для форматов **«Обычный текст»** и **«Форматированный текст (HTML)»** можно заполнить значения на нескольких языках.

При подстановке система сначала ищет перевод для языка текущей страницы или уведомления. Если он отсутствует, используется значение основного языка либо другой доступный непустой вариант.

Пример:

```
Русский: Служба поддержки работает круглосуточно.
English: Support is available 24/7.
```

На русской версии сайта клиент увидит русский текст, на английской — английский.

Проверяйте каждый язык отдельно. Не используйте пустой перевод как способ скрыть текст: система может подставить значение основного языка.

## Создание шорткода для объекта

В панели управления откройте: **«Утилиты» — «Шорткоды»**

Перейдите во вкладку **«Для объектов»**.

1. Нажмите **«Добавить для объекта»**.
2. Заполните **«Название шорткода»**.
3. Введите код в поле **«Шорткод»**.
4. В поле **«К чему привязать»** выберите тип объекта.
5. В поле **«Выберите объект»** найдите нужную запись.
6. В поле **«Что подставлять»** выберите источник значения.
7. Заполните собственное значение либо выберите поле объекта.
8. При необходимости добавьте описание.
9. Настройте **«Доступен в шаблонах»**.
10. Нажмите **«Сохранить»**.

После сохранения система сформирует код:

```
[entity:код]
```

Идентификатор выбранного объекта в код не добавляется. Нужное значение определяется по объекту, для которого формируется текст.

## Доступные типы объектов

В поле **«К чему привязать»** доступны:

* **«Заявка»**;
* **«Пользователь»**;
* **«Направление обмена»**.

Заявку можно найти по внутреннему номеру, коду ссылки или E-mail клиента.

Пользователя можно найти по номеру, имени, логину или E-mail.

Направление можно найти по номеру или техническому названию. Если валютная пара доступна, она также отображается в списке.

При изменении поля **«К чему привязать»** ранее выбранный объект и источник значения сбрасываются. После смены типа выберите их повторно.

## Что подставлять

В поле **«Что подставлять»** доступны два варианта.

{% stepper %}
{% step %}

### Заданный текст

При варианте **«Заданный текст»** значение вводится вручную и действует только для выбранного объекта.

Так можно сохранить отдельную инструкцию для заявки, персональное сообщение пользователю, особый комментарий для направления или другое исключение, которое нельзя получить из стандартного поля.

Для заданного текста доступны форматы **«Обычный текст»**, **«Форматированный текст (HTML)»** и **«Число»**.
{% endstep %}

{% step %}

### Данные выбранного объекта

При варианте **«Данные выбранного объекта»** система подставляет актуальное значение одного из полей выбранной заявки, пользователя или направления.

После выбора этого варианта появляется поле **«Какие данные подставлять»**.

Для заявки доступны внутренний номер, номер заявки, E-mail и телефон клиента, статус, сумма отдачи, сумма получения и комментарий.

Для пользователя доступны номер, имя, логин, E-mail, телефон и язык.

Для направления обмена доступны номер, статус, прибыль, прибыль в процентах, минимальная и максимальная сумма отдачи, а также минимальная и максимальная сумма получения.

Список ограничен безопасными полями. Пароли, коды доступа и другие закрытые данные выбрать нельзя.

{% hint style="warning" %}
Значения объекта подставляются в сохранённом виде.

Например, статус может выводиться как внутреннее числовое или короткое значение, а сумма — без дополнительного форматирования. Перед публикацией проверьте фактический результат.
{% endhint %}
{% endstep %}
{% endstepper %}

## Как работает привязка к объекту

Объектный шорткод срабатывает только при обработке текста для выбранного объекта.

Например, для заявки №100 создан шорткод:

```
[entity:payment_note]
```

со значением:

```
Оплатите заявку одним переводом.
```

При формировании текста для заявки №100 тег будет заменён.

Если тот же текст формируется для другой заявки, у которой значение не создано, код может остаться без замены.

Один и тот же код можно создать для разных объектов:

```
Заявка №100 — Оплатите заявку одним переводом.
Заявка №101 — Разрешены два перевода.
```

Один общий шаблон с тегом:

```
[entity:payment_note]
```

в этом случае подставит значение соответствующей заявки.

{% hint style="warning" %}
Система не переходит автоматически от заявки к связанному пользователю или направлению.

Шорткод, привязанный к пользователю, не сработает только потому, что заявка принадлежит этому пользователю. Текст должен формироваться непосредственно с данными пользователя.
{% endhint %}

Используйте объектные шорткоды только в редакторах, где они предлагаются в списке доступных тегов для текущего сценария.

***

## Использование шорткода в редакторе

В поддерживаемом текстовом поле отображается кнопка **«Мои шорткоды»** или **«Доступные теги»**.

1. Установите курсор в нужное место текста.
2. Откройте список тегов.
3. Найдите тег по коду, названию или описанию.
4. Нажмите на него.
5. Проверьте место вставки.
6. Сохраните страницу или шаблон.

Окно остаётся открытым после вставки, поэтому можно добавить несколько тегов подряд.

На кнопке может отображаться общее количество доступных тегов и количество тегов, уже использованных в текущем тексте.

Внутри каталога они группируются по назначению: **«Заявка»**, **«Система»**, **«Свои теги»**, **«Данные из базы»** и другим категориям.

Если сотруднику разрешено управление разделом, в нижней части окна доступна кнопка **«Управление шорткодами»**.

## Где используются шорткоды

Шорткоды доступны только в тех полях, где их обработка поддерживается системой.

{% stepper %}
{% step %}

### Валюты

В панели управления откройте:

**«Основное» — «Валюты» — «Список валют»**

Шорткоды могут использоваться в инструкциях, описаниях обмена, формальном тексте, дополнительных документах и уведомлениях.
{% endstep %}

{% step %}

### Направления обмена

В панели управления откройте: **«Основное» — «Направление обмена» — «Список направлений»**

Шорткоды могут использоваться в инструкциях заявки, описаниях, текстах статусов, письме о создании заявки и текстах городов.
{% endstep %}

{% step %}

### Шаблоны текста

В панели управления откройте: **«Основное» — «Шаблоны текста»**

Здесь можно использовать общие тексты для валют и направлений.
{% endstep %}

{% step %}

### Уведомления

В панели управления откройте: **«Основное» — «Уведомления»**

Шорткоды могут использоваться в клиентских сообщениях на форме обмена и странице оплаты.
{% endstep %}

{% step %}

### Мерчанты

В панели управления откройте: **«Мерчанты и API» — «Список мерчантов»**

Шорткоды могут использоваться в инструкции по оплате и комментарии для платежа.
{% endstep %}

{% step %}

### Автовыплаты

В панели управления откройте: **«Мерчанты и API» — «Список автовыплат»**

Шорткоды могут использоваться в комментарии для автоматической выплаты.
{% endstep %}

{% step %}

### Telegram-уведомления

В панели управления откройте: **«Настройки» — «Общие настройки»**

Затем перейдите в раздел **«Уведомления» — «Telegram уведомления»**.

Шорткоды могут использоваться в шаблонах Telegram-сообщений.

Общие шорткоды автоматически добавляются в редакторы, которые их поддерживают.

Объектные шорткоды появляются только там, где при формировании текста существует подходящий объект. В первую очередь это тексты заявок и связанные с ними уведомления.

{% hint style="info" %}
Основным ориентиром является кнопка **«Доступные теги»** в конкретном поле.

Если нужного объектного тега нет в списке, ручная вставка не гарантирует, что значение будет подставлено.
{% endhint %}

Теги заявки нельзя использовать в текстах, которые отображаются до её создания. В этот момент у системы ещё нет номера, суммы, реквизитов и данных клиента.
{% endstep %}
{% endstepper %}

## Встроенные теги заявки

Эти теги не создаются в разделе **«Шорткоды»**. Они автоматически появляются в редакторах, которые обрабатываются после создания заявки.

| Шорткод                   | Что подставляется                                    |
| ------------------------- | ---------------------------------------------------- |
| `[order_id]`              | Внутренний номер заявки в панели управления          |
| `[public_id]`             | Номер заявки, который видит клиент                   |
| `[order_number]`          | Номер заявки с учётом действующего способа нумерации |
| `[created_at]`            | Дата и время создания заявки                         |
| `[updated_at]`            | Дата и время последнего обновления                   |
| `[ip_address]`            | IP-адрес, с которого создана заявка                  |
| `[email]`                 | E-mail клиента из заявки                             |
| `[income_amount]`         | Сумма, которую клиент отдаёт                         |
| `[outcome_amount]`        | Сумма, которую клиент получает                       |
| `[income_code]`           | Код валюты отдачи                                    |
| `[outcome_code]`          | Код валюты получения                                 |
| `[income_currency]`       | Платёжная система и валюта отдачи                    |
| `[outcome_currency]`      | Платёжная система и валюта получения                 |
| `[city]`                  | Город клиента                                        |
| `[country]`               | Страна клиента                                       |
| `[direction_name]`        | Название направления обмена                          |
| `[course]`                | Итоговый курс заявки                                 |
| `[tracking_id]`           | Код ссылки заявки                                    |
| `[check_url]`             | Готовая ссылка на страницу заявки                    |
| `[app_name]`              | Название обменного пункта                            |
| `[profit_percent]`        | Процент прибыли направления                          |
| `[profit_s]`              | Фиксированная прибыль направления                    |
| `[city_profit_percent]`   | Процент прибыли по выбранному городу                 |
| `[city_profit_percent_s]` | Прибыль по городу с обозначением                     |
| `[city_add_comm]`         | Дополнительная комиссия города                       |
| `[account]`               | Реквизиты, на которые клиент должен выполнить оплату |
| `[from_account]`          | Реквизиты клиента для отдачи                         |
| `[to_account]`            | Реквизиты клиента для получения                      |
| `[status_reason]`         | Причина текущего статуса заявки                      |

Некоторые значения появляются только на определённом этапе обработки. Например, `[account]` не будет заполнен до получения или выдачи платёжных реквизитов.

{% hint style="danger" %}
В резервном списке некоторых редакторов может отображаться `[profit_percent_s]`. Этот тег не обрабатывается.

Для фиксированной прибыли направления используйте `[profit_s]`.
{% endhint %}

## Встроенные теги пользователя

Эти значения доступны в шаблонах, которые формируются с данными конкретного пользователя.

| Шорткод            | Что подставляется               |
| ------------------ | ------------------------------- |
| `[user_id]`        | Внутренний номер пользователя   |
| `[user_name]`      | Имя пользователя                |
| `[user_email]`     | E-mail пользователя             |
| `[user_logged_ip]` | Предыдущий сохранённый IP-адрес |
| `[user_ip]`        | Текущий IP-адрес                |

Не используйте пользовательские теги в обычном тексте направления или валюты, где пользователь ещё не определён.

## Встроенные системные теги

| Шорткод                | Что подставляется                    |
| ---------------------- | ------------------------------------ |
| `[site_name]`          | Системное название сайта             |
| `[default_email_from]` | Адрес отправителя писем по умолчанию |
| `[server_name]`        | Имя сервера текущего запроса         |
| `[locale]`             | Код текущего языка                   |
| `[now]`                | Текущие дата и время                 |
| `[today_date]`         | Текущая дата                         |

Значение `[server_name]` зависит от способа формирования текста и может быть пустым при фоновой отправке.

Если требуется постоянный адрес или название, создайте отдельный общий шорткод.

## Встроенные теги уведомлений

Эти теги предназначены для шаблонов событий. Они доступны только тогда, когда событие передало соответствующие данные.

| Шорткод              | Что подставляется                  |
| -------------------- | ---------------------------------- |
| `[message]`          | Текст сообщения события            |
| `[error_text]`       | Текст ошибки                       |
| `[provider]`         | Название провайдера                |
| `[model_id]`         | Номер объекта уведомления          |
| `[model_currency]`   | Платёжная система и валюта объекта |
| `[base_referral]`    | Сумма реферального начисления      |
| `[today_order]`      | Количество заявок за сегодня       |
| `[order_success]`    | Количество выполненных заявок      |
| `[order_waiting]`    | Количество заявок в ожидании       |
| `[cancel_order]`     | Количество отклонённых заявок      |
| `[new_users]`        | Количество новых пользователей     |
| `[amount_exchanges]` | Сумма обменов                      |

Если событие не передало нужные данные, известный тег обычно заменяется пустым значением.

## Теги городов направления

В редакторах городов направления доступны динамические теги:

```
[city_{номер_направления}_{код_города}_{поле}]
[city_{номер_записи_города}_{поле}]
```

Поддерживаются следующие поля:

* `add_comm` — дополнительная комиссия;
* `profit` — прибыль;
* `profit_s` — фиксированная прибыль;
* `bid_value` — значение заявки для города.

Примеры:

```
[city_12_MSK_add_comm]
[city_45_profit_s]
```

Используйте готовый вариант из окна **«Доступные теги»** редактора города.

При ручном составлении необходимо точно указать номер направления, код города и поддерживаемое поле.

## Условные блоки

Условный блок позволяет показать разный текст в зависимости от состояния текущего посетителя.

Пример:

```
[if:is_guest]
Текст для гостя
[else:is_guest]
Текст для авторизованного пользователя
[/if:is_guest]
```

Поддерживаются условия:

* `is_admin` — текущий посетитель является администратором;
* `is_user_banned` — пользователь заблокирован;
* `is_auth` — посетитель авторизован;
* `is_guest` — посетитель не авторизован.

Название условия в открывающем, альтернативном и закрывающем теге должно совпадать.

Условные блоки можно вкладывать друг в друга.

Если блок закрыт неправильно или указано неизвестное условие, конструкция сохранится в тексте без обработки.

{% hint style="warning" %}
Условия авторизации относятся к текущему веб-сеансу, а не к получателю письма.

Не используйте `is_auth`, `is_guest` и `is_admin` для определения получателя в отложенных E-mail или Telegram-уведомлениях.
{% endhint %}

## Форматирование значений

К тегу можно вручную добавить один или несколько фильтров:

```
[custom:support_name|trim|upper]
[income_amount|money:USDT,2]
[created_at|date:d.m.Y H:i]
```

Фильтры выполняются слева направо.

| Фильтр                  | Результат                                                         |
| ----------------------- | ----------------------------------------------------------------- |
| `upper`                 | Переводит текст в верхний регистр                                 |
| `lower`                 | Переводит текст в нижний регистр                                  |
| `trim`                  | Удаляет пробелы в начале и конце                                  |
| `fallback:значение`     | Подставляет запасное значение, если результат пустой              |
| `date:формат`           | Форматирует дату                                                  |
| `money:валюта,точность` | Форматирует сумму, добавляет валюту и указанное количество знаков |
| `escape`                | Удаляет HTML и экранирует специальные символы                     |
| `raw`                   | Преобразует значение в строку без дополнительного фильтра         |

Пример:

```
[income_amount|money:USDT,4]
```

может сформировать:

```
1 250.0000 USDT
```

Фильтры вводятся вручную. В разделе управления шорткодами нет предпросмотра результата их применения.

## Редактирование шорткода

Откройте вкладку **«Общие»** или **«Для объектов»**, затем нажмите название нужного шорткода или кнопку редактирования.

Измените название, описание, значение, формат или состояние и нажмите **«Сохранить»**.

Изменение названия и описания влияет только на отображение записи в панели управления.

Новое значение используется при следующем формировании текста. Уже отправленные письма, Telegram-сообщения и ранее сохранённые результаты не изменяются.

Если объектный шорткод использует **«Данные выбранного объекта»**, будущий результат зависит от текущего значения выбранного поля объекта.

## Отключение и удаление

Для временного отключения выключите **«Доступен в шаблонах»**. Запись останется в разделе, и её можно будет включить повторно.

Для полного удаления нажмите кнопку удаления в строке и подтвердите действие.

После удаления запись исчезает из списка и из каталога редакторов. Уже сохранённые шаблоны при этом не изменяются.

Код, который остался в шаблоне, может быть показан клиенту без замены.

На странице нет корзины и отдельной функции восстановления. При необходимости создайте шорткод повторно с тем же кодом и заполните его значения заново.

{% hint style="danger" %}
Раздел не показывает, в каких шаблонах используется шорткод.

Перед переименованием, отключением или удалением проверьте валюты, направления, текстовые шаблоны, мерчанты, автовыплаты и уведомления.
{% endhint %}

## Ограничения раздела

В текущей версии в разделе отсутствуют:

* поиск по созданным шорткодам;
* фильтры по статусу или формату;
* массовые действия;
* предпросмотр итоговой подстановки;
* список мест использования;
* история изменений;
* восстановление удалённых записей;
* отдельные права на просмотр, создание, изменение и удаление.

Значения также не отображаются непосредственно в списке. Чтобы посмотреть значение, откройте редактирование записи.

## Безопасность

Не храните в шорткодах пароли, API-ключи, секретные токены, коды подтверждения, закрытые реквизиты и другие данные, которые клиент или посторонний сотрудник не должен увидеть.

Общие шорткоды могут использоваться на клиентском сайте, в письмах и уведомлениях.

Объектные шорткоды могут содержать E-mail, телефон, суммы и другие персональные данные.

Даже если значение не отображается в основном списке, сотрудник с правом управления разделом сможет открыть запись и прочитать его.

## Проверка общего шорткода

1. Создайте тестовый общий шорткод с уникальным кодом.
2. Заполните значение для основного языка.
3. При необходимости добавьте перевод для дополнительного языка.
4. Оставьте **«Доступен в шаблонах»** включённым.
5. Откройте тестовое поле с кнопкой **«Мои шорткоды»** или **«Доступные теги»**.
6. Найдите созданный тег и вставьте его в текст.
7. Сохраните изменения.
8. Откройте соответствующую страницу клиентского сайта.
9. Убедитесь, что вместо кода отображается сохранённое значение.
10. Если добавлены переводы, переключите язык и проверьте каждую версию.
11. Измените значение шорткода и повторно откройте страницу.
12. Убедитесь, что новое значение используется при повторном формировании текста.

## Проверка объектного шорткода

1. Выберите тестовую заявку, пользователя или направление.
2. Создайте для него объектный шорткод.
3. Сохраните заданный текст или выберите поле объекта.
4. Вставьте тег в редактор, который поддерживает выбранный тип объекта.
5. Сформируйте текст для выбранного объекта.
6. Убедитесь, что значение подставилось.
7. Повторите проверку для другого объекта без такого значения.
8. Убедитесь, что данные первого объекта не были переданы второму.
9. Если используется поле объекта, измените его значение.
10. Повторно сформируйте текст и проверьте результат.

## Если шорткод не работает

<details>

<summary>Шорткод не отображается в редакторе</summary>

Откройте: **«Утилиты» — «Шорткоды»**

Найдите нужную запись и убедитесь, что **«Доступен в шаблонах»** включён.

Затем проверьте, поддерживает ли выбранное поле шорткоды и существует ли в нём подходящий объектный контекст.

Если настройки были изменены при открытом редакторе, обновите страницу и откройте список тегов повторно.

</details>

<details>

<summary>Кнопка сохранения недоступна</summary>

Проверьте, заполнено ли название для основного языка и введён ли код.

Убедитесь, что код содержит только латинские буквы, цифры, точку, дефис или нижнее подчёркивание.

Для объектного шорткода проверьте поля **«К чему привязать»**, **«Выберите объект»** и **«Что подставлять»**.

Если выбран формат **«Число»**, в значении должно находиться корректное число.

</details>

<details>

<summary>Система сообщает о совпадении кода</summary>

Для общего шорткода это означает, что такой код уже существует.

Для объектного — что код уже создан у выбранного объекта.

Откройте существующую запись или используйте другой код.

</details>

<details>

<summary>На клиентском сайте остался код в квадратных скобках</summary>

Проверьте, не был ли шорткод выключен, удалён или переименован.

Сравните код в шаблоне с кодом в разделе **«Шорткоды»**.

Используйте полный формат с `custom:` или `entity:`. Короткая запись может совпасть с другим тегом.

Для объектного шорткода также проверьте, что значение создано именно для объекта, с которым формируется текст.

Если используется фиксированная прибыль направления, укажите `[profit_s]`, а не `[profit_percent_s]`.

</details>

<details>

<summary>Вместо значения отображается пустое место</summary>

Откройте шорткод и проверьте сохранённое значение и перевод нужного языка.

Если используется встроенный тег, убедитесь, что соответствующие данные уже появились в заявке или были переданы событием уведомления.

Для объектного шорткода проверьте выбранное поле объекта и его текущее значение.

</details>

<details>

<summary>HTML отображается как обычный текст</summary>

Используемый канал не поддерживает HTML либо экранирует разметку.

Выберите формат **«Обычный текст»** или используйте только ту разметку, которую поддерживает конкретный редактор или канал уведомлений.

</details>

<details>

<summary>Кнопка копирования не переносит код</summary>

Браузер мог запретить доступ к буферу обмена.

Выделите отображаемый код и скопируйте его вручную. Перед использованием вставьте код в тестовое поле и проверьте, что он скопирован полностью.

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.iexexchanger.com/guide/nastroiki/shortkody.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
