Главная/Гиды/Разработчики
Разработчики

Нет результатов или ошибка API: как отличить?

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

By ROOTE·7 минут чтения
Нет результатов или ошибка API: как отличить?
Пустой ответ — не сбой.

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

Начните с проверки HTTP-транспорта, затем проверьте содержимое и бизнес-статус. Пустой поиск — это не сбой; сбой не доказывает отсутствия сервисов. Частичный ответ можно использовать с предупреждениями.

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

Для ROOTE проверяйте HTTP-ответ, бизнес-статус, ожидаемую коллекцию и покрытие. Это поможет избежать сообщений «нет туалетов» при сбое вызова Сервисов или «нет остановок» при превышении времени ожидания.

Чтение трёх уровней ответа

УровеньЧто проверятьВозможные выводы
ТранспортСоединение, время ожидания и HTTP-статусЗапрос выполнен успешно?
КонтрактПравильность JSON, версия и ожидаемые поляОтвет пригоден для использования?
Бизнес-результатstatus, collections, coverage, warnings и metaЧто известно в запрашиваемом диапазоне?

HTTP-код 200 недостаточен для валидации поиска. Ответ может содержать частичное выполнение или статус 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 Services использует types=toilets; карта — modes=toilets. Эти параметры принадлежат разным контрактам.

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

Формирование API-запроса с помощью GPS-координат

Обработка недоступных источников без потери других

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

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

Адаптация сообщений и поведение при повторных попытках

СитуацияСообщение для интерфейсаДействие
emptyВ этом районе с текущими фильтрами нет результатовИзмените район или фильтры
partialНекоторые результаты доступны; поиск неполныйПоказывать результаты и предупреждение
Ошибка валидацииПоиск содержит неверный параметрИсправьте запрос
Аутентификация или праваДоступ не разрешен для этого поискаПроверьте аккаунт или токен
Лимит или недоступностьПоиск временно недоступенСледуйте инструкциям по повторным попыткам

Для 429 смотрите инструкцию сервиса и заголовок Retry-After. Ошибка 400 требует исправления аргументов; повторы не помогут. Не превращайте 401 в автоматический анонимный вызов, если пользователь предоставил токен.

Справочник ошибок API ROOTE

Статус сервисов ROOTE

Проверьте все четыре состояния перед публикацией

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

Применение правил в ИИ-помощнике

Понимание форматов данных мобильности

Для разработчиковROOTE Mobility API

Мобильность вокруг точки.
Прямо в вашем приложении.

  • Поиск
    вокруг позиции
  • Доступ к
    данным о мобильности
  • Интегрировать в
    ваше приложение

Перейдите от карты к данным: ищите мобильность и сервисы рядом с помощью API ROOTE.

Часто задаваемые вопросы

Доказывает ли пустой список отсутствие туалетов?

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

Можно ли показать частичный ответ?

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

Нужно ли повторять каждый сбой?

Нет. Исправляйте ошибки параметров или доступа; ограничивайте повторы для временных инцидентов и следуйте инструкциям сервиса.

А не посмотреть ли вокруг себя?

Исследуйте свой район с ROOTE и найдите доступную информацию для подготовки поездки.

Исследовать карту ROOTE ↗