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

Перегляньте каталог

Список вендорів, фільтр провайдерів за можливостями — і схема, проти якої ви зберігатимете.

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 з фільтром за можливістю:

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.