Главная/Рецепты (Cookbook)/Просмотрите каталог ENУКРРУС API-справочник (ReDoc) ↗

Просмотрите каталог

Перечислите вендоров, отфильтруйте провайдеров по capability и прочитайте схему, под которую будете хранить.

Read-only разминка: найти провайдера, которого стоит настроить, и узнать, как должен выглядеть его credential. Всё здесь — каталожные данные, одинаковые для каждого вызывающего вашей роли.

Цель

Закончить, держа code одного провайдера и его credential_schema, пройдя путь: вендоры → отфильтрованные провайдеры → полная деталь.

Предварительные условия

  • export CREDS_BASE=... и токен пользовательской плоскости export TOKEN=... (User Plane Tokens), либо dev-auth-заголовки локально (Quickstart).

Шаги

1. Перечислите вендоров

Вызовите GET /v1/vendors:

curl -s "$CREDS_BASE/v1/vendors" -H "Authorization: Bearer $TOKEN"

Ожидаемый 200: items со сводками вендоров плюс catalog_version. Как обычная роль вы видите active и deprecated вендоров (Vendors and Providers).

2. Отфильтруйте провайдеров по тому, что они умеют

Вызовите GET /v1/providers с фильтром по capability:

curl -s "$CREDS_BASE/v1/providers?capability=translation&category=mt" \
  -H "Authorization: Bearer $TOKEN"

Ожидаемый 200: только провайдеры, у которых capabilities.translation равно true, а категория — mt; total считает все совпадения до пейджинга.

3. Прочитайте одного провайдера целиком

Вызовите GET /v1/providers/{provider_code} для кода из шага 2:

import httpx

provider = httpx.get(
    f"{CREDS_BASE}/v1/providers/{code}",
    headers={"Authorization": f"Bearer {TOKEN}"},
).json()

assert provider["credential_schema"]["type"] == "object"
required = provider["credential_schema"].get("required", [])

Ожидаемый 200: полная карточка — вендор, обе схемы, возможности (capabilities), credential_resolution, технические заметки. required — это ровно тот список секретных полей, который должен отправить следующий сценарий (Provider Schemas).

4. Докажите границу видимости

Запросите код провайдера, которого не существует:

curl -s "$CREDS_BASE/v1/providers/no_such_provider" -H "Authorization: Bearer $TOKEN"

Ожидаемый 404 с error.code = "PROVIDER_NOT_FOUND" — тот же ответ, что removed-провайдер даёт обычной роли.

Проверено тестом test_s01_browse_the_catalog.