#Справочники
value_set — имя справочника поля. Поле типа select ссылается на этот набор атрибутом value_set.
Имя состоит из латинских букв, цифр, дефиса и подчёркивания, до 64 символов. Пишите его в нижнем регистре: conditions. Регистр не важен. smartica.ai хранит имя в нижнем регистре, поэтому Conditions и conditions означают один справочник. В ответах имя тоже приходит в нижнем регистре.
Имя состоит из латинских букв, цифр, дефиса и подчёркивания. Пример имени: conditions.
#Что сюда класть
Один и тот же список можно передать двумя способами. Выберите тот, который удобнее поддерживать.
Справочник загружают один раз. В поле бланка остаётся имя value_set. Строки в каждый приём заново не передаются. Так удобно, если набор почти не меняется: поправили справочник отдельно, бланки продолжают на него ссылаться.
Тот же список можно каждый раз класть в options прямо в бланк. Отдельная загрузка и синхронизация тогда не нужны. Так проще, если варианты часто меняются или отдельный справочник вам не нужен. Это тоже подходит.
В options нельзя передать больше 100 вариантов. Более длинный список передайте справочником.
Справочник направлений и услуг в value_set не загружайте. Для него есть статья Направления и услуги.
В протоколе приходят value из справочника и официальный label.
#Список
GET /api/v1/integrations/{platform}/value-sets
Ответ содержит справочники этой интеграции. У каждой строки есть id, count и synced_at.
{
"value_sets": [
{"id": "conditions", "count": 2, "synced_at": "2026-11-05T07:00:00+00:00"}
]
}
#Загрузка
Каждый PUT заменяет справочник целиком. Разницу отправлять не нужно. Повтор с тем же телом оставляет справочник без изменений.
PUT /api/v1/integrations/{platform}/value-sets/{id}
Authorization: Bearer <ключ>
Content-Type: application/json
{
"items": [
{"value": "good", "label": "Удовлетворительное", "synonyms": ["удовл"]},
{"value": "poor", "label": "Тяжёлое", "code": "3"}
]
}
| Поле | Смысл |
|---|---|
value |
Значение, которое вернётся в протоколе. Внутри справочника value уникален |
label |
Подпись. В протоколе она приходит рядом с value |
code |
Ваш дополнительный код. Поле необязательно |
synonyms |
Другие формулировки той же строки. Поле необязательно |
Ответ содержит id, count и synced_at.
Сверьте принятый справочник запросом ниже.
GET /api/v1/integrations/{platform}/value-sets/{id}
Тело PUT можно сжать заголовком Content-Encoding: gzip.
smartica.ai отвечает 422 в любом из этих случаев:
- в справочнике меньше двух элементов;
- в
itemsповторяетсяvalue; valueдлиннее 128 символов илиlabelдлиннее 500 символов;- новый справочник слишком короткий по сравнению с уже загруженным.
У элемента не больше 20 формулировок в synonyms. Лишние smartica.ai не сохраняет.
Причина лежит в message.
В справочнике от 2 до 1000 элементов. Один вариант хранить незачем: выбирать не из чего. Тело не больше 8 МБ. Те же пределы перечислены в статье Лимиты.
Если справочника с указанным именем нет, smartica.ai не заполняет поле. В skipped приходит причина value_set_missing.
Если в справочнике нет строки с тем же смыслом, что у формулировки врача, поле приходит в skipped с причиной not_in_options. Ближайшую по словам строку smartica.ai не подставляет. Чтобы в таком случае получить текст врача, укажите у поля allow_other со значением true. Тогда в протоколе будет формулировка врача с "other": true. Так же поле заполняется, когда справочник ещё не загружен. Подробнее — в статье Типы полей бланка.