Динамічний пошук (також відомий як Search API) дозволяє полям select_one, select_multiple або text завантажувати варіанти вибору з віддаленого веб-сервісу під час виконання по мірі введення анкетером. Це правильний підхід, коли ваш список варіантів занадто великий для включення у CSV-файл, часто оновлюється або надходить з живої бази даних.


Appearance search-api()

Динамічний пошук налаштовується через стовпець appearance за допомогою функції search-api():

  search-api(method, url, post_body, value_column, display, data_path, save_path)
  

Параметри

ПараметрОпис
methodЗавжди використовуйте 'POST'
urlКінцева точка API для запиту
post_bodyТіло JSON, що надсилається до API. Використовуйте %__input__% як заповнювач для поточного тексту пошуку анкетера
value_columnКлюч у об’єкті відповіді для використання як збережене значення
displayКлюч (або шаблон) для використання як мітка у випадаючому списку. Підтримує заповнювачі ##key## та вирази @{func}
data_pathJSONPath до масиву об’єктів результатів у відповіді (наприклад, $.data, $.hits.hits.*._source)
save_pathНазва, під якою зберігається необроблена відповідь для використання іншими полями

Базовий приклад

Пошук медичного закладу, де анкетер вводить частину назви:

typenamelabelappearance
select_onefacilitySelect health facilitysearch-api('POST', 'https://api.example.com/facilities/search', '{"query": "%__input__%"}', 'id', 'name', '$.results', 'facility_data')

Розширене форматування відображення

Використання шаблонів ##key##

Показуйте кілька полів у мітці:

  search-api('POST', 'https://api.example.com/search', '{"q": "%__input__%"}', 'id', '##name## (##district##)', '$.data', 'res')
  

Використання виразів @{func}

Застосовуйте умовну логіку в мітці відображення.


Встановлення значення за замовчуванням: search-default-api()

Використовуйте search-default-api() після search-api() для попереднього заповнення поля варіантом за замовчуванням, завантаженим з окремого API-виклику.


Підтримувані типи питань

Тип питанняВаріант використання
select_oneОдиночний вибір з результатів пошуку
select_multipleМножинний вибір з результатів пошуку
textАвтодоповнення — анкетер вводить вільно, але може вибрати підказку

Найкращі практики

  1. Переконайтеся, що ваша кінцева точка API відповідає протягом 1–2 секунд.
  2. Використовуйте %__input__% у post_body, щоб API повертав лише відповідні результати.
  3. Індексуйте поле пошуку на стороні сервера для швидких відповідей.
  4. Обмежте результати до 20–50 елементів на запит.
  5. Включіть вимогу до мінімальної довжини введення в API.

Обмеження

  • Потребує підключення до мережі — не працює офлайн.
  • Заповнювач %__input__% підставляється як є; очищайте введення на стороні сервера.
Чи була ця сторінка корисною?