Головна/Посібники/Розробники
Розробники

Порожній результат чи помилка API: як розрізнити?

Розрізняйте порожній результат, часткову відповідь та помилку API ROOTE. Перевіряйте координати, фільтри, покриття та обмеження для відображення правильного повідомлення.

By ROOTE·7 хв читання
Порожній результат чи помилка API: як розрізнити?
Порожня відповідь — це не збій.

Головне за декілька секунд

Починайте з транспортного рівня HTTP, потім перевіряйте зміст і бізнес-статус. Порожній пошук не є збоєм; збій не доводить відсутність сервісів. Часткову відповідь можна використовувати з урахуванням застережень.

API без результату та API з помилкою вимагають різного підходу. Успішний пошук може не повернути жодного місця у запитаній зоні. Мережева помилка, досягнення ліміту або недоступність джерела унеможливлюють зробити висновок на основі пошуку.

Для ROOTE перевірте спочатку HTTP-відповідь, потім бізнес-статус, очікувану колекцію та покриття. Цей підхід запобігає відображенню «немає туалетів», коли виклик Сервісів провалився, або «немає зупинок» після перевищення часу очікування.

Читання трьох рівнів відповіді

РівеньЩо перевірятиМожливі висновки
ТранспортПідключення, тайм-аут і HTTP-статусЧи запит успішний?
КонтрактДійсний JSON, версія та очікувані поляЧи придатна відповідь для використання?
Бізнес-результатstatus, collections, coverage, warnings і metaЩо відомо у запитаному периметрі?

HTTP-код 200 не достатній для підтвердження пошуку. Відповідь може містити статус partial або error. На відміну від цього, 404 за маршрутом не є звичайним способом вказати порожню колекцію: перевірте URL і контракт.

Розуміння success, empty, partial і error

СтатусРекомендовані дії
successВідображати сутності після валідації та зберігати ліміти
emptyВказати, що для цього пошуку не отримано результатів
partialВідображати доступну інформацію з відповідними застереженнями
errorПоказати пошук як недоступний; не стверджувати відсутність місць

Відсутність результату стосується лише запиту і відомих джерел. Це не доказ фізичної відсутності сервісу. Неповне покриття, суворий фільтр або застосовані обмеження можуть звузити результати.

Дерево рішень для вашого інтерфейсу

1. La requête a-t-elle abouti ?
   Non → indisponibilité réseau ou délai dépassé.
2. Le statut HTTP est-il acceptable selon le contrat ?
   Non → traiter le code et le message d'erreur.
3. Le JSON respecte-t-il le schéma attendu ?
   Non → réponse inexploitable, jamais "aucun résultat".
4. Le statut métier est-il error ?
   Oui → recherche indisponible.
5. Le statut est-il partial ou la couverture limitée ?
   Oui → résultats utilisables + avertissement.
6. La collection attendue est-elle vide ?
   Oui → aucun résultat retourné dans ce périmètre.
   Non → afficher les résultats et leurs limites.

Перевірка параметрів у правильному порядку

Спершу перевірте широту і довготу, їх порядок та отримане місто. Потім перевірте одиницю радіусу і словник фільтрів. API Сервісів використовує types=toilets; URL карти — modes=toilets. Ці параметри належать до різних контрактів.

Потім розширюйте лише один параметр за раз: збільшуйте радіус у межах маршруту або видаляйте фільтр для явного тесту. Зберігайте початковий запит. Якщо розширюєте автоматично, повідомляйте користувачу новий периметр.

Побудова пошуку API на основі GPS-координат

Обробка недоступного джерела без втрати інших

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

Старі дані у кеші теж можуть бути корисні, якщо ваша політика допускає таке резервне використання. Вони мають залишатися позначеними як застарілі. Час отримання вашого запиту не молодить початкове спостереження.

Адаптація повідомлень і відновлення

СитуаціяПовідомлення для адаптації в інтерфейсіДія
emptyУ цій зоні та з цими фільтрами не повернено жодних результатівЗмінити зону або фільтри
partialДеякі результати доступні; пошук неповнийВідобразити результати і застереження
Помилка валідаціїПошук містить недійсний параметрВиправити запит
Аутентифікація чи праваЦей доступ не дозволяє цей пошукПеревірити обліковий запис або токен
Ліміт або недоступністьПошук тимчасово недоступнийДотримуватися інструкцій відновлення

У разі 429 звертайтеся до вказівок сервісу і можливого Retry-After. Помилка 400 вимагає виправлення аргументів; повторення того самого запиту не вирішує проблему. Не перетворюйте 401 на автоматичний анонімний виклик, якщо користувач надав токен.

Довідка по помилках API ROOTE

Статус сервісів ROOTE

Перевірте всі чотири стани перед публікацією

Підготуйте повні, порожні, часткові та помилкові тестові відповіді, а також недійсний JSON і перевищення часу. Перевірте відображуване повідомлення, збережені результати та кількість повторів. Головне — збій ніколи не повинен видавати твердження про відсутність сервісів.

Застосування цих правил до ІІ асистента

Розуміння форматів мобільних даних

Для розробниківROOTE Mobility API

Мобільність навколо точки.
Прямо у ваш додаток.

  • Пошук
    навколо позиції
  • Отримати
    дані про мобільність
  • Вбудувати у
    ваш додаток

Перейдіть від карти до даних: шукайте мобільність і сервіси поруч з ROOTE API.

Поширені запитання

Чи доводить порожній список відсутність туалетів?

Ні. Це лише вказує, що за цим пошуком і перевіреними джерелами не отримано результатів.

Чи можна показати часткову відповідь?

Так, якщо використані сутності валідні і збережено потрібні застереження і ліміти.

Чи слід повторювати кожну помилку?

Ні. Виправляйте помилки параметрів чи доступу; обмежуйте повтори для тимчасових інцидентів і дотримуйтесь інструкцій сервісу.

А чому б не подивитись навколо?

Досліджуйте свій район з ROOTE та знаходьте доступну інформацію для планування поїздок.

Дослідити карту ROOTE ↗