Publikowanie interfejsów API

Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
Informacje

Opublikuj interfejsy API w portalu, aby udostępnić je deweloperom aplikacji, jak opisano w następnych sekcjach.

Omówienie publikowania interfejsu API

Proces publikowania interfejsów API w portalu składa się z 2 etapów:

  1. Wybierz usługę interfejsu API, którą chcesz opublikować na swoim portalu.
  2. Wygeneruj dokumentację referencyjną interfejsu API na podstawie dokumentu OpenAPI lub schematu GraphQL, aby umożliwić deweloperom aplikacji zapoznanie się z Twoimi interfejsami API. (więcej informacji o zrzutach znajdziesz w artykule Czym jest zrzut).

Co jest publikowane w portalu?

Gdy publikujesz interfejs API, w Twoim portalu automatycznie wprowadzane są te zmiany:

  • dokumentacja API, Dostępny interfejs zależy od tego, czy publikujesz interfejs API za pomocą dokumentu OpenAPI czy schematu GraphQL. Zobacz:
  • Na stronie interfejsów API dodano link do strony z informacjami o interfejsie API

    Na stronie interfejsów API (dostępnej w  próbnym portalu) znajduje się lista wszystkich interfejsów API opublikowanych w Twoim portalu. Lista jest uporządkowana alfabetycznie i zawiera linki do odpowiedniej dokumentacji referencyjnej interfejsu API, z której można uzyskać więcej informacji. Opcjonalnie możesz dostosować te opcje:

    • Obraz wyświetlany na każdej karcie interfejsu API
    • Kategorie używane do tagowania interfejsów API, aby umożliwić deweloperom znajdowanie powiązanych interfejsów API na stronie interfejsów API

    Strona interfejsów API w portalu na żywo z 2 kategoriami i użyciem obrazów

SmartDocs (OpenAPI)

Gdy opublikujesz interfejs API za pomocą dokumentu OpenAPI, do Twojego portalu zostanie dodana dokumentacja referencyjna interfejsu API SmartDocs.

Deweloperzy mogą zapoznać się z dokumentacją interfejsu API SmartDocs i użyć panelu Wypróbuj ten interfejs API, aby wysłać żądanie do interfejsu API i obejrzeć wynik. Wypróbuj ten interfejs API działa z niezabezpieczonymi lub zabezpieczonymi punktami końcowymi przy użyciu uwierzytelniania podstawowego, klucza API lub OAuth w zależności od metody zabezpieczeń zdefiniowanej w dokumencie OpenAPI. W przypadku OAuth obsługiwane są te procesy: kod autoryzacji, hasło i dane logowania klienta.

strona dokumentacji referencyjnej interfejsu API z wyróżnieniami, które pokazują, jak autoryzować wywołanie interfejsu API, odłączyć panel Wypróbuj ten interfejs API, pobrać odpowiednią specyfikację i wykonywać interfejs API;

Kliknij Pełny ekran, aby rozwinąć panel Wypróbuj ten interfejs API. Rozwinięty panel umożliwia wyświetlanie wywołań curl i przykładów kodu w różnych formatach, takich jak HTTP, Python czy Node.js, jak pokazano na poniższym rysunku.

Rozwinięty panel Wypróbuj ten interfejs API

Eksplorator GraphQL

Gdy opublikujesz interfejs API za pomocą schematu GraphQL, do Twojego portalu zostanie dodany eksplorator GraphQL. Narzędzie GraphQL Explorer to interaktywna platforma do testowania zapytań do interfejsu API. Narzędzie to opiera się na GraphiQL, czyli referencyjnej implementacji środowiska IDE GraphQL opracowanej przez Fundację GraphQL.

Za pomocą eksploratora GraphQL deweloperzy mogą przeglądać interaktywną dokumentację opartą na schemacie, tworzyć i uruchamiać zapytania, wyświetlać wyniki zapytań oraz pobierać schemat. Aby zabezpieczyć dostęp do interfejsu API, deweloperzy mogą przekazywać nagłówki autoryzacji w panelu Nagłówki żądania.

Więcej informacji o GraphQL znajdziesz na stronie graphql.org.

Narzędzie GraphQL Explorer w portalu

Co to jest snapshot?

Każdy dokument OpenAPI lub GraphQL jest źródłem informacji na temat całego cyklu życia interfejsu API. Ten sam dokument jest używany na każdym etapie cyklu życia interfejsu API, od tworzenia po publikowanie i monitorowanie. Podczas modyfikowania dokumentu musisz mieć na uwadze wpływ tych zmian na interfejs API w innych fazach cyklu życia, jak opisano w sekcji Co się stanie, jeśli zmodyfikuję dokument?.

Podczas publikowania interfejsu API tworzysz migawkę dokumentu OpenAPI lub GraphQL, aby wygenerować dokumentację referencyjną interfejsu API. Ta migawka reprezentuje konkretną wersję dokumentu. Jeśli zmodyfikujesz dokument, możesz zrobić kolejny zrzut ekranu, aby odzwierciedlić najnowsze zmiany w dokumentacji referencyjnej interfejsu API.

Adresy URL wywołania zwrotnego

Jeśli Twoje aplikacje wymagają adresu URL wywołania zwrotnego, na przykład w przypadku korzystania z typu autoryzacji za pomocą kodu OAuth 2.0 (często określanego jako trzyetapowy OAuth), możesz wymagać od deweloperów, aby podczas rejestrowania aplikacji podali adres URL wywołania zwrotnego. Adres URL wywołania zwrotnego zwykle określa adres URL aplikacji, która ma odbierać kod autoryzacji w imieniu aplikacji klienta. Więcej informacji znajdziesz w artykule Wdrażanie typu autoryzacji za pomocą kodu autoryzacji.

Podczas dodawania interfejsu API do portalu możesz skonfigurować, czy podczas rejestracji aplikacji ma być wymagany URL wywołania zwrotnego. Możesz zmienić to ustawienie w każdej chwili, zgodnie z instrukcjami podanymi w artykule Zarządzanie adresem URL wywołania zwrotnego interfejsu API.

Podczas rejestrowania aplikacji deweloperzy muszą wpisać adres URL wywołania zwrotnego dla wszystkich interfejsów API, które tego wymagają, zgodnie z opisem w artykule Rejestrowanie aplikacji.

Konfigurowanie serwera proxy interfejsu API na potrzeby funkcji „Wypróbuj ten interfejs API”

Zanim opublikujesz interfejsy API za pomocą dokumentu OpenAPI, musisz skonfigurować serwer proxy interfejsu API, aby umożliwić wysyłanie żądań w panelu Wypróbuj ten interfejs API w dokumentacji referencyjnej interfejsu API SmartDocs:

  • Dodaj obsługę CORS do swoich serwerów proxy API, aby wymuszać żądania między domenami po stronie klienta.

    CORS to standardowy mechanizm, który umożliwia wywołania XMLHttpRequest (XHR) w JavaScriptie wykonywane na stronie internetowej, aby wchodzić w interakcje z zasobami z domen innych niż domena pochodzenia. CORS to powszechnie stosowane rozwiązanie problemu związanego z zasadami dotyczącymi tej samej domeny, które są egzekwowane przez wszystkie przeglądarki.

  • Zaktualizuj konfigurację proxy interfejsu API, jeśli używasz uwierzytelniania podstawowego lub OAuth 2

Poniższa tabela zawiera podsumowanie wymagań dotyczących konfiguracji serwera proxy API, które umożliwiają obsługę panelu Wypróbuj ten interfejs API w dokumentacji referencyjnej interfejsu API SmartDocs na podstawie dostępu do uwierzytelniania.

Dostęp do uwierzytelniania Wymagania dotyczące konfiguracji zasad
Brak lub klucz interfejsu API Dodaj obsługę CORS do serwera proxy interfejsu API. Dla wygody możesz użyć przykładowego rozwiązania CORS udostępnionego na GitHubie lub wykonać czynności opisane w  artykule Dodawanie obsługi CORS do serwera proxy API.
Podstawowe uwierzytelnianie Wykonaj te czynności:
  1. Dodaj obsługę CORS do serwera proxy interfejsu API. Dla wygody możesz użyć przykładowego rozwiązania CORS udostępnionego na GitHubie lub wykonać czynności opisane w artykule Dodawanie obsługi CORS do serwera proxy API.
  2. W zasadzie Dodaj CORS AssignMessage sprawdź, czy nagłówek Access-Control-Allow-Headers zawiera atrybut authorization. Na przykład:
    <Header name="Access-Control-Allow-Headers">
      origin, x-requested-with, accept, content-type, authorization
    </Header>
OAuth2
  1. Dodaj obsługę CORS do serwera proxy interfejsu API. Dla wygody możesz użyć przykładowego rozwiązania CORS udostępnionego na GitHubie lub wykonać czynności opisane w artykule Dodawanie obsługi CORS do serwera proxy API.
  2. W zasadzie Dodaj CORS AssignMessage sprawdź, czy nagłówek Access-Control-Allow-Headers zawiera atrybut authorization. Na przykład:
    <Header name="Access-Control-Allow-Headers">
      origin, x-requested-with, accept, content-type, authorization
    </Header>
  3. W zasadach OAuth2 napraw zachowanie niezgodne z RFC. Dla wygody możesz skorzystać z przykładowego rozwiązania OAuth2 udostępnionego na GitHubie lub wykonać te czynności:
    • Upewnij się, że element <GrantType> w zasadach OAuth2 ma wartość request.formparam.grant_type (parametr formularza). Więcej informacji znajdziesz w elemencie <GrantType>.
    • Upewnij się, że wartość token_type w zasadach OAuth2 jest ustawiona na Bearer, a nie na domyślną wartość BearerToken.

Zarządzaj interfejsami API

Zarządzaj interfejsami API w sposób opisany w sekcjach, które są wskazane poniżej.

Przeglądaj interfejsy API

Aby wyświetlić interfejsy API w portalu, użyj interfejsu użytkownika lub polecenia curl.

Interfejs użytkownika

Aby wyświetlić katalog interfejsu API:

  1. Kliknij Opublikuj > Portale, a następnie wybierz swój portal.
  2. Na stronie głównej portalu kliknij Katalog interfejsów API. Możesz też wybrać Katalog interfejsów API w menu portalu na górnym pasku nawigacyjnym.

Na karcie Interfejsy API w katalogu interfejsów API znajduje się lista interfejsów API dodanych do portalu.

Karta Interfejsy API, która zawiera informacje o interfejsach API, w tym nazwę, opis, widoczność, kategorie, powiązaną specyfikację i czas modyfikacji.

Jak widać na poprzednim rysunku, na karcie Interfejsy API możesz:

curl

Aby wyświetlić listę interfejsów API:

curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs" \
    -H "Authorization: Bearer ACCESS_TOKEN"

Zastąp następujące elementy:

  • ORG_NAME nazwą organizacji. Na przykład: my-org.
  • SITE_ID z nazwą portalu w formacie ORG_NAME-PORTAL_NAME, gdzie ORG_NAME to nazwa organizacji, a PORTAL_NAME to nazwa portalu w postaci wyłącznie małych liter bez spacji i myślników. Na przykład: my-org-myportal.
  • ACCESS_TOKEN z tokenem uwierzytelniania używanym do uzyskiwania dostępu do interfejsu Apigee Edge API. Więcej informacji o uwierzytelnianiu i tokenach znajdziesz w artykule Uwierzytelnianie dostępu do interfejsu Edge API.

Instrukcje dotyczące korzystania z podziału na strony w pliku odpowiedzi znajdziesz w sekcji Uwagi dotyczące podziału na strony.

Ładunek odpowiedzi:

{
  "status": "success",
  "message": "one page of apidocs returned",
  "data": [
    {
      "id": 622759,
      "siteId": "my-org-myportal",
      "title": "Test",
      "description": "",
      "published": false,
      "visibility": false,
      "apiId": "apiproducttest18",
      "apiProductName": "apiproduct_test18",
      "edgeAPIProductName": "apiproduct_test18",
      "specId": null,
      "specContent": null,
      "specTitle": null,
      "snapshotExists": false,
      "snapshotModified": null,
      "modified": 1724144471000,
      "anonAllowed": false,
      "imageUrl": null,
      "snapshotState": null,
      "requireCallbackUrl": false,
      "categoryIds": [],
      "specFormat": null,
      "specModified": null,
      "snapshotOutdated": false,
      "snapshotSourceMissing": false,
      "graphqlSchema": null,
      "graphqlEndpointUrl": null,
      "graphqlSchemaDisplayName": null,
      "grpcFileName": null,
      "grpcZipContent": null
    }
  ],
  "code": null,
  "request_id": "1452867334",
  "error_code": null,
  "next_page_token": ""
}

Gdzie:

  • modified: czas ostatniej modyfikacji elementu w katalogu w milisekundach od początku epoki. Na przykład: 1698165480000.
  • id: identyfikator produktu w katalogu. Na przykład: 399668.

Uwagi dotyczące strony:

  • Rozmiar strony: użyj parametru pageSize, aby określić liczbę elementów listy, które mają zostać zwrócone na jednej stronie. Wartość domyślna to 25, a maksymalna – 100. Jeśli są dodatkowe strony, nextPageToken jest wypełniany za pomocą tokena:

    curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs?pageSize=PAGE_SIZE" \
       -H "Authorization: Bearer ACCESS_TOKEN"
    

    Zastąp:

    • PAGE_SIZE z liczbą elementów listy do zwrócenia na jednej stronie. Na przykład 10.

    Ładunek odpowiedzi:

    {
      "status": "success",
      "message": "one page of apidocs returned",
      "data": [
        {
          "id": 638007,
          "siteId": "tsnow-mint-liztest",
          "title": "Testing",
          "description": "",
          "published": false,
          "visibility": false,
          "apiId": "testcatalog",
          "apiProductName": "testcatalog",
          "edgeAPIProductName": "testcatalog",
          "specId": "Petstore",
          "specContent": null,
          "specTitle": null,
          "snapshotExists": true,
          "snapshotModified": 1726508367000,
          "modified": 1728582504000,
          "anonAllowed": false,
          "imageUrl": null,
          "snapshotState": "OK_SUBMITTED",
          "requireCallbackUrl": false,
          "categoryIds": [],
          "specFormat": "YAML",
          "specModified": null,
          "snapshotOutdated": false,
          "snapshotSourceMissing": false,
          "graphqlSchema": null,
          "graphqlEndpointUrl": null,
          "graphqlSchemaDisplayName": null,
          "grpcFileName": null,
          "grpcZipContent": null
        }
      ],
      "code": null,
      "request_id": "1068810934",
      "error_code": null,
      "next_page_token": ""
    }
    

  • Token strony: użyj parametru pageToken, aby pobrać kolejne strony, jeśli jest ich więcej niż 1:

    curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs?pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN" \
          -H "Authorization: Bearer ACCESS_TOKEN"
    

    Zastąp:

    • PAGE_SIZE z liczbą elementów listy do zwrócenia na jednej stronie. Na przykład 10.
    • PAGE_TOKEN z wartością nextPageToken. Na przykład: 7zcqrin9l6xhi4nbrb9.

Dodawanie interfejsu API

Aby dodać interfejsy API do portalu, użyj interfejsu użytkownika lub polecenia curl:

Interfejs użytkownika

Aby dodać interfejs API do portalu:

  1. Uzyskaj dostęp do katalogu interfejsów API.
  2. Kliknij kartę Interfejsy API, jeśli nie jest jeszcze wybrana.
  3. Kliknij + Dodaj.

    Wyświetli się okno Dodaj produkt z interfejsem API do katalogu.

  4. Wybierz usługę API, którą chcesz dodać do portalu.

  5. Kliknij Dalej. Pojawi się strona Szczegóły interfejsu API.

  6. Skonfiguruj zawartość dokumentacji na temat interfejsu API oraz jej widoczność w portalu:

    Pole Opis
    Opublikowano Aby opublikować interfejs API w portalu, wybierz Opublikowano. Jeśli nie chcesz jeszcze publikować interfejsu API, odznacz to pole. Możesz zmienić to ustawienie później, zgodnie z instrukcjami podanymi w artykule Publikowanie interfejsu API lub wycofywanie go z użycia w portalu.
    Wyświetl tytuł Zaktualizuj tytuł interfejsu API wyświetlany w katalogu. Domyślnie używana jest nazwa usługi interfejsu API. Wyświetlany tytuł możesz zmienić później, zgodnie z instrukcjami podanymi w artykule Edytuj wyświetlany tytuł i opis.
    Wyświetl opis Zaktualizuj opis interfejsu API wyświetlany w katalogu. Domyślnie używany jest opis produktu z interfejsu API. Opis wyświetlania możesz zmienić później, zgodnie z instrukcjami podanymi w artykule Edytuj wyświetlany tytuł i opis.
    Wymagaj od programistów określania adresu URL wywołania zwrotnego Włącz, jeśli chcesz wymagać od programistów aplikacji określenia adresu URL wywołania zwrotnego. Adres URL wywołania zwrotnego możesz dodać lub zaktualizować w późniejszym czasie zgodnie z instrukcjami podanymi w artykule Zarządzanie adresem URL wywołania zwrotnego interfejsu API.
    Dokumentacja API

    Aby użyć dokumentu OpenAPI:

    1. Wybierz dokument OpenAPI.
    2. Kliknij Wybierz dokument.
    3. Wykonaj jedną z tych czynności:
      • Kliknij kartę Moje specyfikacje i wybierz specyfikację ze sklepu ze specyfikacjami.
      • Kliknij kartę Prześlij plik i prześlij plik.
      • Kliknij kartę Importuj z adresu URL i zaimportuj specyfikację z adresu URL.
    4. Kliknij Wybierz.

    Aby użyć schematu GraphQL:

    1. Wybierz Schemat GraphQL.
    2. Kliknij Wybierz dokument.
    3. Przejdź do schematu GraphQL i go wybierz.
    4. Kliknij Wybierz.

    Możesz też wybrać Brak dokumentacji i dodać ją później, gdy interfejs API zostanie dodany, zgodnie z opisem w sekcji Zarządzanie migawką dokumentu.

    Widoczność interfejsu API

    Jeśli nie masz zarejestrowanej wersji beta funkcji zarządzania odbiorcami, wybierz jedną z tych opcji:

    • Anonimowi użytkownicy, aby umożliwić wszystkim użytkownikom wyświetlanie interfejsu API.
    • Zarejestrowani użytkownicy, aby umożliwić wyświetlanie interfejsu API tylko zarejestrowanym użytkownikom.

    Jeśli zapisałeś się do wersji beta funkcji zarządzania odbiorcami, wybierz jedną z tych opcji:

    • Publiczna (widoczna dla każdego), aby umożliwić wszystkim użytkownikom wyświetlanie interfejsu API.
    • Uwierzytelnieni użytkownicy, aby umożliwić wyświetlanie interfejsu API tylko zarejestrowanym użytkownikom.
    • Wybrane listy odbiorców, aby wybrać konkretne listy odbiorców, które mają mieć dostęp do interfejsu API.

    Później możesz zarządzać widocznością listy odbiorców w sposób opisany w artykule Zarządzanie widocznością interfejsu API w portalu.

    Wyświetlany obrazy Aby wyświetlić obraz na karcie interfejsu API na stronie interfejsów API, kliknij Wybierz obraz. W oknie Wybierz obraz wybierz istniejący obraz, prześlij nowy obraz lub podaj adres URL zewnętrznego obrazu, a następnie kliknij Wybierz. Wyświetl miniaturę interfejsu API i kliknij Wybierz. Możesz dodać obraz później, zgodnie z instrukcjami podanymi w artykule Zarządzanie obrazem na karcie interfejsu API. Gdy określisz obraz za pomocą zewnętrznego adresu URL, nie zostanie on przesłany do Twoich zasobów. Dodatkowo wczytywanie obrazu w zintegrowanym portalu będzie zależeć od jego dostępności, która może zostać zablokowana lub ograniczona przez zasady bezpieczeństwa treści.
    Kategorie

    Dodaj kategorie, którymi zostanie oznaczony interfejs API, aby umożliwić deweloperom aplikacji znajdowanie powiązanych interfejsów API na stronie interfejsów API. Aby zidentyfikować kategorię:

    • Wybierz kategorię z listy.
    • Aby dodać nową kategorię, wpisz jej nazwę i naciśnij Enter. Nowa kategoria zostanie dodana do strony „Kategorie” i będzie dostępna podczas dodawania lub edytowania innych interfejsów API.

  7. Kliknij Zapisz.

curl

Aby dodać interfejs API do portalu :

curl -X POST "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs" \
    -H "Authorization: Bearer ACCESS_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{
       "title": "TITLE",
       "description": "DESCRIPTION",
       "anonAllowed": ANON_TRUE_OR_FALSE,
       "imageUrl": "IMAGE_URL",
       "requireCallbackUrl": CALLBACK_TRUE_OR_FALSE,
       "categoryIds": [
         "CATEGORY_ID1",
         "CATEGORY_ID2"
       ],
       "published": PUBLISHED_TRUE_OR_FALSE,
        "apiProductName": "API_PRODUCT"
    }'

Zastąp następujące elementy:

  • ORG_NAME nazwą organizacji. Na przykład: my-org.
  • SITE_ID z nazwą portalu w formacie ORG_NAME-PORTAL_NAME, gdzie ORG_NAME to nazwa organizacji, a PORTAL_NAME to nazwa portalu w postaci wyłącznie małych liter bez spacji i myślników. Na przykład: my-org-myportal.
  • ACCESS_TOKEN z tokenem uwierzytelniania używanym do uzyskiwania dostępu do interfejsu Apigee Edge API. Więcej informacji o uwierzytelnianiu i tokenach znajdziesz w artykule Uwierzytelnianie dostępu do interfejsu Edge API.
  • TITLE z wyświetlanym tytułem. Na przykład: Hello World 2.
  • DESCRIPTION z opisem wyświetlanym na ekranie. Na przykład: Simple hello world example.
  • ANON_TRUE_OR_FALSEtrue lub false (domyślnie), gdzie: true oznacza, że ten interfejs API jest publicznie widoczny i można go wyświetlać anonimowo; w przeciwnym razie tylko zarejestrowani użytkownicy mogą go wyświetlać.
  • IMAGE_URL z adresem URL obrazu zewnętrznego używanego w przypadku produktu w katalogu lub ścieżką do pliku, na przykład plików obrazów przechowywanych na portalu,/files/book-tree.jpg. Gdy podajesz adres URL zewnętrznego obrazu, obraz ten nie zostanie przesłany do Twoich zasobów. Dodatkowo wczytywanie obrazu w zintegrowanym portalu będzie zależeć od jego dostępności, która może być zablokowana lub ograniczona przez zasady bezpieczeństwa treści.
  • CALLBACK_TRUE_OR_FALSEtrue lub false (domyślnie), gdzie true wymaga od użytkownika portalu podania adresu URL podczas zarządzania aplikacją.
  • CATEGORY_ID z identyfikatorem kategorii. Na przykład:bf6505eb-2a0f-47af-a00a-ded40ac72960. Kolejne identyfikatory kategorii oddziel przecinkami. Aby poznać identyfikator kategorii, użyj polecenia list API categories.
  • PUBLISHED_TRUE_OR_FALSEtrue lub false (domyślnie), gdzie true oznacza, że interfejs API jest dostępny publicznie. Po opublikowaniu możesz zezwolić na dostęp wszystkim użytkownikom, uwierzytelnionym użytkownikom lub określonym użytkownikom.
  • API_PRODUCT z nazwą produktu interfejsu API. Na przykład:Hello World 2.

Ładunek odpowiedzi:

{
  "status": "success",
  "message": "API created",
  "data": {
    "id": 662423,
    "siteId": "my-org-myportal",
    "title": "My Test Catalog 4",
    "description": "",
    "published": false,
    "visibility": false,
    "apiId": "uxb9wjua",
    "apiProductName": "uXB9wJUa",
    "edgeAPIProductName": "uXB9wJUa",
    "specId": null,
    "specContent": null,
    "specTitle": null,
    "snapshotExists": false,
    "snapshotModified": null,
    "modified": 1729635493000,
    "anonAllowed": false,
    "imageUrl": null,
    "snapshotState": null,
    "requireCallbackUrl": false,
    "categoryIds": [],
    "specFormat": null,
    "specModified": null,
    "snapshotOutdated": null,
    "snapshotSourceMissing": false,
    "graphqlSchema": null,
    "graphqlEndpointUrl": null,
    "graphqlSchemaDisplayName": null,
    "grpcFileName": null,
    "grpcZipContent": null
  },
  "code": null,
  "request_id": "893346193",
  "error_code": null
}

Gdzie:

  • modified: czas ostatniej modyfikacji elementu w katalogu w milisekundach od początku epoki. Na przykład: 1698165480000.
  • id: identyfikator produktu w katalogu. Na przykład: 399668.

Edytowanie interfejsu API

Po dodaniu interfejsu API możesz wprowadzić zmiany za pomocą interfejsu użytkownika lub wywołania interfejsu API.

W tej sekcji znajdziesz szczegółowy przykład modyfikacji istniejącego interfejsu API w portalu.

Szczegółowe informacje o konkretnych ustawieniach modyfikacji znajdziesz w następnych sekcjach.

Interfejs użytkownika

Aby edytować interfejs API:

  1. Uzyskaj dostęp do katalogu interfejsów API.
  2. Kliknij kartę Interfejsy API, jeśli nie jest jeszcze wybrana.
  3. Kliknij wiersz interfejsu API, który chcesz edytować.
  4. Kliknij ikona edycjiEdytuj.
  5. W sekcji Szczegóły interfejsu API wprowadź zmiany. Opcje te opisane są w sekcji Dodawanie interfejsu API.
  6. Kliknij Zapisz.

curl

Po dodaniu interfejsu API możesz wprowadzać zmiany za pomocą wywołania update.

W tym przykładzie pokażemy Ci, jak zmienić w portalu opublikowany stan interfejsu API z true na false. W razie potrzeby możesz zmienić więcej niż 1 ustawienie w 1 wywołaniu interfejsu API.

  1. Aby znaleźć wygenerowany identyfikator id, który jednoznacznie identyfikuje każdy interfejs API, pobierz listę interfejsów API w portalu zgodnie z opisem w artykule Znajdowanie interfejsów API.
  2. Zwracanie bieżących wartości dla konkretnego interfejsu API:

    curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
    -H "Authorization: Bearer ACCESS_TOKEN"
    

    Zastąp następujące elementy:

    • ORG_NAME nazwą organizacji. Na przykład: my-org.
    • SITE_ID z nazwą portalu w formacie ORG_NAME-PORTAL_NAME, gdzie ORG_NAME to nazwa organizacji, a PORTAL_NAME to nazwa portalu w postaci wyłącznie małych liter bez spacji i myślników. Na przykład: my-org-myportal.
    • API_DOC z wygenerowanym id dokumentu. Na przykład:399668. Aby znaleźć tę wartość, użyj polecenia list API docs.
    • ACCESS_TOKEN z tokenem uwierzytelniania używanym do uzyskiwania dostępu do interfejsu Apigee Edge API. Więcej informacji o uwierzytelnianiu i tokenach znajdziesz w artykule Uwierzytelnianie dostępu do interfejsu Edge API.

    Ładunek odpowiedzi:

    {
      "status": "success",
      "message": "apidoc returned",
      "data": {
        "id": 662423,
        "siteId": "my-org-myportal",
        "title": "My Test Catalog 4",
        "description": "",
        "published": false,
        "visibility": false,
        "apiId": "uxb9wjua",
        "apiProductName": "uXB9wJUa",
        "edgeAPIProductName": "uXB9wJUa",
        "specId": null,
        "specContent": null,
        "specTitle": null,
        "snapshotExists": false,
        "snapshotModified": null,
        "modified": 1729635493000,
        "anonAllowed": false,
        "imageUrl": null,
        "snapshotState": null,
        "requireCallbackUrl": false,
        "categoryIds": [],
        "specFormat": null,
        "specModified": null,
        "snapshotOutdated": false,
        "snapshotSourceMissing": false,
        "graphqlSchema": null,
        "graphqlEndpointUrl": null,
        "graphqlSchemaDisplayName": null,
        "grpcFileName": null,
        "grpcZipContent": null
      },
      "code": null,
      "request_id": "601210268",
      "error_code": null
    }
    

  1. Uwzględnij zmienne wartości, które chcesz zachować w wywołaniu update, i zmodyfikuj wartości, które chcesz zmienić. Jeśli pominiesz wiersz, zostanie użyte ustawienie domyślne. W tym przykładzie zmień ustawienie opublikowania z false na true:

    curl -X PUT "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
     -H "Authorization: Bearer ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
        "title": "TITLE",
        "anonAllowed": true,
        "published": true
     }'
    

    Zastąp następujące elementy:

    • TITLE z wyświetlanym tytułem. Na przykład: Hello World 2.

    Ładunek odpowiedzi:

    {
      "status": "success",
      "message": "ApiDoc updated",
      "data": {
        "id": 662423,
        "siteId": "my-org-myportal",
        "title": "My Test Catalog 4",
        "description": "",
        "published": true,
        "visibility": true,
        "apiId": "uxb9wjua",
        "apiProductName": "uXB9wJUa",
        "edgeAPIProductName": "uXB9wJUa",
        "specId": null,
        "specContent": null,
        "specTitle": null,
        "snapshotExists": false,
        "snapshotModified": null,
        "modified": 1729989250000,
        "anonAllowed": true,
        "imageUrl": null,
        "snapshotState": null,
        "requireCallbackUrl": false,
        "categoryIds": [],
        "specFormat": null,
        "specModified": null,
        "snapshotOutdated": null,
        "snapshotSourceMissing": false,
        "graphqlSchema": null,
        "graphqlEndpointUrl": null,
        "graphqlSchemaDisplayName": null,
        "grpcFileName": null,
        "grpcZipContent": null
      },
      "code": null,
      "request_id": "738172002",
      "error_code": null
    }
    

Zarządzanie zrzutem dokumentu

Po opublikowaniu interfejsu API możesz w dowolnym momencie wykonać nowy zrzut dokumentu OpenAPI lub GraphQL, aby zaktualizować opublikowaną w Twoim portalu dokumentację API.

Aby zarządzać zrzutem dokumentu:

  1. Uzyskaj dostęp do katalogu interfejsów API.
  2. Kliknij kartę Interfejsy API, jeśli nie jest jeszcze wybrana.
  3. Kliknij wiersz interfejsu API, który chcesz edytować.
  4. Sprawdź stan zrzutu. Jeśli jest nieaktualny, wyświetli się ten komunikat: Ikona i komunikat wskazujące, że zrzut jest nieaktualny
  5. Kliknij ikona edycji.
  6. Wykonaj jedną z tych czynności:
    • Aby odświeżyć nieaktualny zrzut dokumentu OpenAPI, kliknij Odśwież zrzut.
    • Aby zmienić dokument używany do generowania dokumentacji interfejsu API, w sekcji Dokumentacja interfejsu API kliknij Wybierz dokument i wybierz nowy dokument.
  7. Kliknij Zapisz.

Publikowanie i cofanie publikacji interfejsu API w portalu

Publikowanie to proces udostępniania interfejsów API deweloperom aplikacji.

Aby opublikować lub wycofać publikację interfejsu API w portalu, użyj interfejsu użytkownika lub polecenia curl.

Interfejs użytkownika

Aby opublikować lub wycofać publikację interfejsu API w portalu:

  1. Uzyskaj dostęp do katalogu interfejsów API.
  2. Kliknij kartę Interfejsy API, jeśli nie jest jeszcze wybrana.
  3. Kliknij wiersz interfejsu API, który chcesz edytować.
  4. Kliknij Ikona edycji Edytuj.
  5. W sekcji Szczegóły interfejsu API zaznacz lub odznacz pole Opublikowano (wyświetlany w katalogu), aby odpowiednio opublikować lub wycofać interfejs API w portalu.
  6. Kliknij Zapisz.

curl

W wywołaniu update umieść jedną z tych opcji:

"published": true,    # API is published to your portal
"published": false,   # API is not published in your portal

Aby edytować interfejs API:

  1. Zwracanie bieżących wartości:

    curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs" \
    -H "Authorization: Bearer ACCESS_TOKEN"
  2. Aby edytować interfejs API, użyj wywołania update. Uwzględnij wartości, które chcesz zmienić, i zmodyfikuj wartości, które chcesz zmienić. Jeśli pominiesz zmienne ustawienie, zostanie ono zastąpione wartością domyślną.

    curl -X PUT "https://api.enterprise.apigee.com/v1/organizations/  ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
     -H "Authorization: Bearer ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
        "title": "TITLE",
        "description": "DESCRIPTION",
        "anonAllowed": ANON_TRUE_OR_FALSE,
        "imageUrl": IMAGE_URL,
        "requireCallbackUrl": CALLBACK_TRUE_OR_FALSE,
        "categoryIds": [
          "CATEGORY_ID1",
         "CATEGORY_ID2"
        ],
        "published": PUBLISHED_TRUE_OR_FALSE
    }

Szczegółowe informacje o krokach, zmiennych i zwracanych danych znajdziesz w artykule Zarządzanie wersją dokumentu.

Zarządzanie widocznością interfejsu API w portalu

Zarządzaj widocznością interfejsu API w portalu, przyznając dostęp do:

  • Publiczna (widoczna dla każdego)
  • Uwierzytelnieni użytkownicy
  • wybrane listy odbiorców (jeśli uczestniczysz w testach beta funkcji zarządzania odbiorcami);

Aby zarządzać widocznością interfejsu API w portalu, użyj interfejsu użytkownika lub polecenia curl:

Interfejs użytkownika

Aby zarządzać widocznością interfejsu API w portalu:

  1. Uzyskaj dostęp do katalogu interfejsów API.
  2. Kliknij kartę Interfejsy API, jeśli nie jest jeszcze wybrana.
  3. Kliknij wiersz interfejsu API, który chcesz edytować.
  4. Kliknij Ikona edycji Edytuj.
  5. Wybierz ustawienie widoczności. Jeśli zapisałeś się do wersji beta funkcji list odbiorców, wybierz jedną z tych opcji:

    • Publiczna (widoczna dla wszystkich), aby umożliwić wszystkim użytkownikom wyświetlanie strony.
    • Uwierzytelnieni użytkownicy, aby umożliwić wyświetlanie strony tylko zarejestrowanym użytkownikom.
    • Wybrane listy odbiorców, aby wybrać konkretne listy odbiorców, które mają mieć możliwość wyświetlania strony. Zapoznaj się z artykułem Zarządzanie odbiorcami portalu.
    W przeciwnym razie wybierz jedną z tych opcji:
    • Anonimowi użytkownicy, aby umożliwić wszystkim użytkownikom wyświetlanie strony.
    • Zarejestrowani użytkownicy, aby zezwolić na wyświetlanie strony tylko zarejestrowanym użytkownikom.

  6. Kliknij Prześlij.

curl

Jeśli zapisałeś się do wersji beta funkcji zarządzania listami odbiorców, możesz zarządzać listami odbiorców za pomocą interfejsu użytkownika.

Jeśli nie korzystasz z funkcji zarządzania odbiorcami, widoczność jest zarządzana za pomocą anonAllowed.

W wywołaniu updateuwzględnij jedną z tych opcji:

  # When not enrolled in the beta release of the audience management feature:

  "anonAllowed": true,      # Anonymous users can see the API
  "anonAllowed": false,     # Only registered users can see the API

Aby edytować interfejs API:

  1. Zwracanie bieżących wartości:

    curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer ACCESS_TOKEN"
    
  2. Aby edytować interfejs API, użyj wywołania update. Uwzględnij wartości, które chcesz zachować, a zmodyfikuj wartości, które chcesz zmienić. Jeśli pominiesz zmienne ustawienie, zostanie użyta wartość domyślna.

    curl -X PUT "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer ACCESS_TOKEN" \
         -H "Content-Type: application/json" \
         -d '{
            "title": "TITLE",
            "description": "DESCRIPTION",
            "anonAllowed": ANON_TRUE_OR_FALSE,
            "imageUrl": IMAGE_URL,
            "requireCallbackUrl": CALLBACK_TRUE_OR_FALSE,
            "categoryIds": [
              "CATEGORY_ID1",
              "CATEGORY_ID2"
            ],
            "published": PUBLISHED_TRUE_OR_FALSE
         }'

Szczegółowe informacje o krokach, zmiennych i zwracanych danych znajdziesz w artykule Edytuj interfejs API.

Zarządzanie adresem URL wywołania zwrotnego interfejsu API

Zarządzanie adresem URL wywołania zwrotnego interfejsu API. Zobacz artykuł Informacje o adresach URL wywołań zwrotnych.

Aby zarządzać adresem URL wywołania zwrotnego interfejsu API, użyj interfejsu użytkownika lub polecenia curl:

Interfejs użytkownika

Aby zarządzać adresem URL wywołania zwrotnego interfejsu API:

  1. Uzyskaj dostęp do katalogu interfejsów API.
  2. Kliknij kartę Interfejsy API, jeśli nie jest jeszcze wybrana.
  3. Kliknij wiersz interfejsu API, który chcesz edytować.
  4. Kliknij Ikona edycji Edytuj.
  5. W sekcji Szczegóły interfejsu API zaznacz lub odznacz pole wyboru Wymagaj od programistów określania adresu URL wywołania zwrotnego.
  6. Kliknij Zapisz.

curl

W wywołaniu updateuwzględnij jedną z tych opcji:

  "requireCallbackUrl": true,    # Portal user is required to input a URL
  "requireCallbackUrl": false,   # Portal user is not required to input a URL

Aby edytować interfejs API:

  1. Zwracanie bieżących wartości:

    curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer ACCESS_TOKEN"
    
  2. Aby edytować interfejs API, użyj wywołania update. Uwzględnij wartości, które chcesz zachować, a zmodyfikuj wartości, które chcesz zmienić. Jeśli pominiesz zmienne ustawienie, zostanie użyta wartość domyślna.

    curl -X PUT "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer ACCESS_TOKEN" \
         -H "Content-Type: application/json" \
         -d '{
            "title": "TITLE",
            "description": "DESCRIPTION",
            "anonAllowed": ANON_TRUE_OR_FALSE,
            "imageUrl": IMAGE_URL,
            "requireCallbackUrl": CALLBACK_TRUE_OR_FALSE,
            "categoryIds": [
              "CATEGORY_ID1",
              "CATEGORY_ID2"
            ],
            "published": PUBLISHED_TRUE_OR_FALSE
         }'

Szczegółowe informacje o krokach, zmiennych i zwracanych danych znajdziesz w artykule Edytuj interfejs API.

Zarządzanie obrazem karty interfejsu API

Zarządzaj obrazem, który pojawia się na karcie interfejsu API na stronie interfejsów API, dodając lub zmieniając obecny obraz.

Aby zarządzać obrazem karty interfejsu API, użyj interfejsu lub polecenia curl:

Interfejs użytkownika

Aby zarządzać obrazem karty interfejsu API:

  1. Uzyskaj dostęp do katalogu interfejsów API.
  2. Kliknij kartę Interfejsy API, jeśli nie jest jeszcze wybrana.
  3. Kliknij wiersz interfejsu API, który chcesz edytować.
  4. Kliknij Ikona edycji Edytuj.
  5. W sekcji Szczegóły interfejsu API:

    • Kliknij Wybierz obraz, aby wskazać lub przesłać obraz, jeśli żaden nie został wybrany.
    • Aby wybrać lub przesłać inny obraz, kliknij Zmień obraz.
    • Aby usunąć obraz, kliknij x.

    Podczas wskazywania obrazu podaj albo obraz z zewnętrznym adresem URL używanym dla elementu katalogu, albo ścieżkę do pliku obrazu przechowywanego w portalu, np. /files/book-tree.jpg. Gdy określisz adres URL obrazu zewnętrznego, nie zostanie on przesłany do Twoich zasobów. Ponadto wczytywanie obrazu w zintegrowanym portalu będzie zależeć od jego dostępności, która może zostać zablokowana lub ograniczona przez zasady bezpieczeństwa treści.

  6. Kliknij Zapisz.

curl

W wywołaniu update należy uwzględnić:

  # Omit line for no image file

  "imageUrl": "IMAGE_URL"    # URL of the external image or name of the image file

Aby edytować interfejs API:

  1. Zwracanie bieżących wartości:

    curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer ACCESS_TOKEN"
    
  2. Aby edytować interfejs API, użyj wywołania update. Uwzględnij wartości, które chcesz zachować, a zmodyfikuj wartości, które chcesz zmienić. Jeśli pominiesz zmienne ustawienie, zostanie użyta wartość domyślna.

    curl -X PUT "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer ACCESS_TOKEN" \
         -H "Content-Type: application/json" \
         -d '{
            "title": "TITLE",
            "description": "DESCRIPTION",
            "anonAllowed": ANON_TRUE_OR_FALSE,
            "imageUrl": IMAGE_URL,
            "requireCallbackUrl": CALLBACK_TRUE_OR_FALSE,
            "categoryIds": [
              "CATEGORY_ID1",
              "CATEGORY_ID2"
            ],
            "published": PUBLISHED_TRUE_OR_FALSE
         }'

Szczegółowe informacje o krokach, zmiennych i zwracanych danych znajdziesz w artykule Edytuj interfejs API.

Oznaczanie interfejsu API za pomocą kategorii

Dzięki kategoriom deweloperzy aplikacji mogą odkrywać powiązane interfejsy API. Zobacz też Zarządzanie kategoriami.

Możesz dodać tagi do interfejsu API za pomocą kategorii na jeden z tych sposobów:

  • Podczas edytowania interfejsu API możesz zarządzać kategoriami, do których jest on przypisany.
  • Zarządzaj interfejsami API otagowanymi w ramach danej kategorii podczas edytowania kategorii.

Aby oznaczyć interfejs API za pomocą kategorii, użyj interfejsu użytkownika lub polecenia curl:

Interfejs użytkownika

Aby podczas edytowania interfejsu API dodać do niego tagi kategorii:

  1. Uzyskaj dostęp do katalogu interfejsów API.
  2. Kliknij kartę Interfejsy API, jeśli nie jest jeszcze wybrana.
  3. Kliknij wiersz interfejsu API, który chcesz edytować.
  4. Kliknij Ikona edycji Edytuj.
  5. Kliknij pole Kategorie i wykonaj jedną z tych czynności:
    • Wybierz kategorię z listy.
    • Aby dodać nową kategorię, wpisz jej nazwę i naciśnij Enter. Nowa kategoria zostanie dodana do strony „Kategorie” i będzie dostępna podczas dodawania lub edytowania innych interfejsów API.
  6. Powtórz tę czynność, aby dodać tagi do interfejsu API w większej liczbie kategorii.
  7. Kliknij Zapisz.

curl

W wywołaniu update należy uwzględnić:

  # Omit line for no categories

  "categoryIds": [
      "CATEGORY_ID1",      # A category ID number
      "CATEGORY_ID2"       # A category ID number
    ],

Aby uzyskać numery identyfikatorów kategorii, użyj polecenia list categories.

Aby edytować interfejs API:

  1. Zwracanie bieżących wartości:

    curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer ACCESS_TOKEN"
    
  2. Aby edytować interfejs API, użyj wywołania update. Uwzględnij wartości, które chcesz zachować, a zmodyfikuj wartości, które chcesz zmienić. Jeśli pominiesz zmienne ustawienie, zostanie użyta wartość domyślna.

    curl -X PUT "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer ACCESS_TOKEN" \
         -H "Content-Type: application/json" \
         -d '{
            "title": "TITLE",
            "description": "DESCRIPTION",
            "anonAllowed": ANON_TRUE_OR_FALSE,
            "imageUrl": IMAGE_URL,
            "requireCallbackUrl": CALLBACK_TRUE_OR_FALSE,
            "categoryIds": [
              "CATEGORY_ID1",
              "CATEGORY_ID2"
            ],
            "published": PUBLISHED_TRUE_OR_FALSE
         }'

Szczegółowe informacje o krokach, zmiennych i zwracanych danych znajdziesz w artykule Edytuj interfejs API.

Edytowanie wyświetlanego tytułu i opisu

Aby edytować wyświetlany tytuł i opis, użyj interfejsu lub polecenia curl:

Interfejs użytkownika

Aby edytować wyświetlany tytuł i opis:

  1. Uzyskaj dostęp do katalogu interfejsów API.
  2. Kliknij kartę Interfejsy API, jeśli nie jest jeszcze wybrana.
  3. Kliknij wiersz interfejsu API, który chcesz edytować.
  4. Kliknij Ikona edycji Edytuj.
  5. W razie potrzeby zmień pola Wyświetlany tytuł i Wyświetlany opis.
  6. Kliknij Zapisz.

curl

W wywołaniu update należy uwzględnić:

  "title": "TITLE",    # Display title
  "description": "DESCRIPTION",  # Display description

Aby edytować interfejs API:

  1. Zwracanie bieżących wartości:

    curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer ACCESS_TOKEN"
    
  2. Aby edytować interfejs API, użyj wywołania update. Uwzględnij wartości, które chcesz zachować, a zmodyfikuj wartości, które chcesz zmienić. Jeśli pominiesz zmienne ustawienie, zostanie użyta wartość domyślna.

    curl -X PUT "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer ACCESS_TOKEN" \
         -H "Content-Type: application/json" \
         -d '{
            "title": "TITLE",
            "description": "DESCRIPTION",
            "anonAllowed": ANON_TRUE_OR_FALSE,
            "imageUrl": IMAGE_URL,
            "requireCallbackUrl": CALLBACK_TRUE_OR_FALSE,
            "categoryIds": [
              "CATEGORY_ID1",
              "CATEGORY_ID2"
            ],
            "published": PUBLISHED_TRUE_OR_FALSE
         }'

Szczegółowe informacje o krokach, zmiennych i zwracanych danych znajdziesz w artykule Edytuj interfejs API.

Usuwanie interfejsu API z portalu

Aby usunąć interfejs API z portalu, użyj interfejsu użytkownika lub polecenia curl:

Interfejs użytkownika

Aby usunąć interfejs API z portalu:

  1. Uzyskaj dostęp do katalogu interfejsów API.
  2. Wybierz Interfejsy API (jeśli nie są już wybrane).
  3. Umieść kursor na interfejsie API na liście, aby wyświetlić menu działań.
  4. Kliknij Ikona usuwania Usuń.

curl

Aby usunąć interfejs API z portalu:

curl -X DELETE "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
    -H "Authorization: Bearer ACCESS_TOKEN"

Zastąp następujące elementy:

  • ORG_NAME nazwą organizacji. Na przykład: my-org.
  • SITE_ID z nazwą portalu w formacie ORG_NAME-PORTAL_NAME, gdzie ORG_NAME to nazwa organizacji, a PORTAL_NAME to nazwa portalu w postaci wyłącznie małych liter bez spacji i myślników. Na przykład: my-org-myportal.
  • API_DOC z wygenerowanym id dokumentu. Na przykład:399668. Aby znaleźć tę wartość, użyj polecenia list API docs.
  • ACCESS_TOKEN z tokenem uwierzytelniania używanym do uzyskiwania dostępu do interfejsu Apigee Edge API. Więcej informacji o uwierzytelnianiu i tokenach znajdziesz w artykule Uwierzytelnianie dostępu do interfejsu Edge API.

Ładunek odpowiedzi:

{
  "status": "success",
  "message": "Apidoc deleted",
  "data": {
  },
  "code": null,
  "request_id": "1790036484",
  "error_code": null
}

Zarządzanie dokumentacją interfejsu API

W następnych sekcjach opisano, jak aktualizować, pobierać i usuwać dokumentację interfejsu API.

Aktualizowanie dokumentacji interfejsu API

Aby przesłać inną wersję dokumentacji interfejsu API:

Interfejs użytkownika

  1. Uzyskaj dostęp do katalogu interfejsów API.
  2. Kliknij kartę Interfejsy API, jeśli nie jest jeszcze wybrana.
  3. Kliknij wiersz interfejsu API, który chcesz edytować.
  4. Sprawdź stan zrzutu. Jeśli jest nieaktualny, wyświetli się ten komunikat: Ikona i komunikat wskazujące, że zrzut jest nieaktualny
  5. Kliknij Edytuj.
  6. Wykonaj jedną z tych czynności:
    • Aby odświeżyć nieaktualny zrzut dokumentu OpenAPI, kliknij Odśwież zrzut.
    • Aby zmienić dokument używany do generowania dokumentacji interfejsu API, w sekcji Dokumentacja interfejsu API kliknij Wybierz dokument i wybierz nowy dokument.
  7. W panelu Dokumentacja interfejsu API wybierz jedną z tych opcji:
    • Dokument OpenAPI
    • Schemat GraphQL
  8. Kliknij Wybierz dokument i wybierz najnowszą wersję dokumentu.
  9. W przypadku GraphQL podaj adres URL punktu końcowego.
  10. Kliknij Zapisz.

Dokumentacja referencyjna interfejsu API jest renderowana z dokumentu i dodawana do strony referencyjnej interfejsu API. Stan zrzutu jest aktualizowany do bieżącego:

Ikona i komunikat informujący o bieżącym zrzucie

curl

Aby zaktualizować zawartość dokumentacji OpenAPI lub GraphQL:

OpenAPI

curl -X PATCH "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC/documentation" \
    -H "Authorization: Bearer ACCESS_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{"oasDocumentation": {
           "spec":{ "displayName":"DISPLAY_NAME",
                    "contents":"CONTENTS"}
            }
        }'

Zastąp następujące elementy:

  • ORG_NAME nazwą organizacji. Na przykład: my-org.
  • SITE_ID z nazwą portalu w formacie ORG_NAME-PORTAL_NAME, gdzie ORG_NAME to nazwa organizacji, a PORTAL_NAME to nazwa portalu w postaci wyłącznie małych liter bez spacji i myślników. Na przykład: my-org-myportal.
  • API_DOC z wygenerowanym id dokumentu. Na przykład:399668. Aby znaleźć tę wartość, użyj polecenia list API docs.
  • DISPLAY_NAME z wyświetlaną nazwą dokumentacji interfejsu API. Na przykład: Hello World 2.
  • CONTENTS z zakodowanym w formacie base64 ciągiem znaków z dokumentacją interfejsu API. Większość środowisk programistycznych zawiera narzędzie do konwersji base64 lub istnieje wiele narzędzi do konwersji online.

Ładunek odpowiedzi:

{
 "status":"success",
 "message":"Api documentation updated",
 "requestId":"645138278"
 "data": {
   "oasDocumentation": {
     "spec": {
        "displayName": "Hello World 2"
      },
     "Format": "YAML"
   }
 }
}

GraphQL

curl -X PATCH "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC/documentation" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"graphqlDocumentation": {
         "schema":{"displayName":"DISPLAY_NAME",
         "contents":"CONTENTS"},
         "endpointUri": "ENDPOINT_URI"
          }
      }'

Zastąp następujące elementy:

  • ORG_NAME nazwą organizacji. Na przykład: my-org.
  • SITE_ID z nazwą portalu w formacie ORG_NAME-PORTAL_NAME, gdzie ORG_NAME to nazwa organizacji, a PORTAL_NAME to nazwa portalu w postaci wyłącznie małych liter bez spacji i myślników. Na przykład: my-org-myportal.
  • API_DOC z wygenerowanym id dokumentu. Na przykład:399668. Aby znaleźć tę wartość, użyj polecenia list API docs.
  • DISPLAY_NAME z wyświetlaną nazwą dokumentacji interfejsu API. Na przykład: Hello World 2.
  • ENDPOINT_URI nazwą domeny identyfikatora URI punktu końcowego. Na przykład: https://demo.google.com/graphql.
  • CONTENTS z zakodowanym w formacie base64 ciągiem znaków z dokumentacją interfejsu API. Większość środowisk programistycznych zawiera narzędzie do konwersji base64 lub istnieje wiele narzędzi do konwersji online.

Ładunek odpowiedzi:

{
"status": "success",
"message": "ApiDocDocumentation updated",
"data": {
  "oasDocumentation": null,
  "graphqlDocumentation": {
    "schema": {
      "displayName": "schema.docs.graphql",
      "contents": ""
    },
    "endpointUri": "https://demo.google.com/graphql"
  }
},
"code": null,
"request_id": "640336173",
"error_code": null
}

Dokumentacja referencyjna interfejsu API jest renderowana z dokumentu i dodawana do strony interfejsów API w portalu.

Pobieranie dokumentacji interfejsu API

Aby pobrać dokumentację interfejsu API:

Interfejs użytkownika

curl

Aby pobrać dokumentację interfejsu API za pomocą funkcji get documentation:

curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC/documentation" \
    -H "Authorization: Bearer ACCESS_TOKEN"

Zastąp następujące elementy:

  • ORG_NAME nazwą organizacji. Na przykład: my-org.
  • SITE_ID z nazwą portalu w formacie ORG_NAME-PORTAL_NAME, gdzie ORG_NAME to nazwa organizacji, a PORTAL_NAME to nazwa portalu w postaci wyłącznie małych liter bez spacji i myślników. Na przykład: my-org-myportal.
  • API_DOC z wygenerowanym id dokumentu. Na przykład:399668. Aby znaleźć tę wartość, użyj polecenia list API docs.

    Ładunek odpowiedzi:

{
  "status": "success",
  "message": "ApiDocDocumentation returned",
  "data": {
    "oasDocumentation": {
      "spec": {
        "displayName": "mock",
        "contents": "b3BlbmFwaTogMy4wLjAKaW5mbzoKICBkZXNjcmlw ..."
      },
      "format": "YAML"
    },
    "graphqlDocumentation": null
  },
  "code": null,
  "request_id": "269996898",
  "error_code": null
}

Gdzie:

contents: zakodowany w formacie base64 ciąg znaków z dokumentacją interfejsu API.

Usuwanie dokumentacji interfejsu API

Aby usunąć dokumentację interfejsu API:

Interfejs użytkownika

  1. Uzyskaj dostęp do katalogu interfejsów API.
  2. Kliknij kartę Interfejsy API, jeśli nie jest jeszcze wybrana.
  3. Kliknij wiersz interfejsu API, który chcesz edytować.
  4. Kliknij Edytuj.
  5. W panelu Dokumentacja interfejsu API wybierz Brak dokumentacji.
  6. Kliknij Zapisz.

curl

Aby usunąć istniejące treści, użyj interfejsu update API:

curl -X PATCH "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC/documentation" \
    -H "Authorization: Bearer ACCESS_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{}'

Zastąp następujące elementy:

  • ORG_NAME nazwą organizacji. Na przykład: my-org.
  • SITE_ID z nazwą portalu w formacie ORG_NAME-PORTAL_NAME, gdzie ORG_NAME to nazwa organizacji, a PORTAL_NAME to nazwa portalu w postaci wyłącznie małych liter bez spacji i myślników. Na przykład: my-org-myportal.
  • API_DOC z wygenerowanym id dokumentu. Na przykład:399668. Aby znaleźć tę wartość, użyj polecenia list API docs.

Ładunek odpowiedzi:

{
  "status": "success",
  "message": "ApiDocDocumentation updated",
  "data": {
    "oasDocumentation": null,
    "graphqlDocumentation": null
  },
  "code": null,
  "request_id": "304329676",
  "error_code": null
}

Zarządzanie kategoriami służącymi do znajdowania powiązanych interfejsów API

Otaguj interfejs API za pomocą kategorii, aby umożliwić deweloperom aplikacji odkrywanie powiązanych interfejsów API na stronie interfejsów API w portalu na żywo. Dodawaj kategorie i zarządzaj nimi zgodnie z opisem w kolejnych sekcjach.

Odkrywaj kategorie

Aby wyświetlić interfejsy API w portalu, użyj interfejsu użytkownika lub polecenia curl.

Interfejs użytkownika

Aby wyświetlić stronę Kategorie:

  1. Kliknij Opublikuj > Portale, a następnie wybierz swój portal.
  2. Na stronie głównej portalu kliknij Katalog interfejsów API.

    Możesz też wybrać Katalog interfejsów API w menu portalu w górnym pasku nawigacji.

  3. Kliknij kartę Kategorie.

Karta Kategorie w katalogu interfejsu API zawiera listę kategorii zdefiniowanych dla Twojego portalu.

Karta Kategorie, na której widać nazwę kategorii oraz nazwy i łączną liczbę przypisanych interfejsów API.

Jak widać na poprzednim rysunku, na stronie Interfejsy API możesz:

curl

Aby wyświetlić kategorie:

curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apicategories" \
    -H "Authorization: Bearer ACCESS_TOKEN"

Zastąp następujące elementy:

  • ORG_NAME nazwą organizacji. Na przykład: my-org.
  • SITE_ID z nazwą portalu w formacie ORG_NAME-PORTAL_NAME, gdzie ORG_NAME to nazwa organizacji, a PORTAL_NAME to nazwa portalu w postaci wyłącznie małych liter bez spacji i myślników. Na przykład: my-org-myportal.
  • ACCESS_TOKEN z tokenem uwierzytelniania używanym do uzyskiwania dostępu do interfejsu Apigee Edge API. Więcej informacji o uwierzytelnianiu i tokenach znajdziesz w artykule Uwierzytelnianie dostępu do interfejsu Edge API.

Ładunek odpowiedzi:

{
  "status": "success",
  "message": "all ApiCategory items returned",
  "data": [
    {
      "id": "e0518597-ece2-4d7d-ba7c-d1793df0f8db",
      "siteId": "my-org-myportal",
      "name": "My Category"
    },
    {
      "id": "61c1014c-89c9-40e6-be3c-69cca3505620",
      "siteId": "my-org-myportal",
      "name": "test2"
    }
  ],
  "code": null,
  "request_id": "1263510680",
  "error_code": null
}

Gdzie:

  • id: identyfikator elementu kategorii. Na przykład: 61c1014c-89c9-40e6-be3c-69cca3505620.

Dodawanie kategorii

Dodaj kategorię na jeden z tych sposobów:

Nowa kategoria zostanie dodana do strony Kategorie i będzie dostępna podczas dodawania lub edytowania innych interfejsów API.

Aby dodać kategorię, użyj interfejsu lub polecenia curl:

Interfejs użytkownika

Aby ręcznie dodać kategorię:

  1. Otwórz stronę Kategorie.
  2. Kliknij + Dodaj.
  3. Wpisz nazwę nowej kategorii.
  4. Opcjonalnie wybierz co najmniej 1 interfejs API, który chcesz dodać do tej kategorii.
  5. Kliknij Utwórz.

curl

Aby dodać kategorię:

curl -X POST "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apicategories" \
    -H "Authorization: Bearer ACCESS_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{"name": "CATEGORY_NAME" }'

Zastąp następujące elementy:

  • ORG_NAME nazwą organizacji. Na przykład: my-org.
  • SITE_ID z nazwą portalu w formacie ORG_NAME-PORTAL_NAME, gdzie ORG_NAME to nazwa organizacji, a PORTAL_NAME to nazwa portalu w postaci wyłącznie małych liter bez spacji i myślników. Na przykład: my-org-myportal.
  • ACCESS_TOKEN z tokenem uwierzytelniania używanym do uzyskiwania dostępu do interfejsu Apigee Edge API. Więcej informacji o uwierzytelnianiu i tokenach znajdziesz w artykule Uwierzytelnianie dostępu do interfejsu Edge API.
  • CATEGORY_NAME z nazwą kategorii. Na przykład: demo-backend.

Ładunek odpowiedzi:

{
  "status": "success",
  "message": "API category created",
  "data": {
    "id": "61de810e-b48b-4cc1-8f22-959038aadcce",
    "siteId": "my-org-myportal",
    "name": "demo-backend"
  },
  "code": null,
  "request_id": "363146927",
  "error_code": null
}

Edytowanie kategorii

Aby edytować kategorię, użyj interfejsu lub polecenia curl:

Interfejs użytkownika

Aby edytować kategorię:

  1. Otwórz stronę Kategorie.
  2. Kliknij Edytuj.
  3. Zmień nazwę kategorii.
  4. Dodawanie i usuwanie tagów API.
  5. Kliknij Zapisz.

curl

Aby edytować kategorię:

curl -X PATCH "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apicategories/CATEGORY_ID"  \
    -H "Authorization: Bearer ACCESS_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{"name": "CATEGORY_NAME" }'

Zastąp następujące elementy:

  • ORG_NAME nazwą organizacji. Na przykład: my-org.
  • SITE_ID z nazwą portalu w formacie ORG_NAME-PORTAL_NAME, gdzie ORG_NAME to nazwa organizacji, a PORTAL_NAME to nazwa portalu w postaci wyłącznie małych liter bez spacji i myślników. Na przykład: my-org-myportal.
  • CATEGORY_ID z identyfikatorem kategorii. Na przykład:bf6505eb-2a0f-47af-a00a-ded40ac72960. Kolejne identyfikatory kategorii oddziel przecinkami. Aby poznać identyfikator kategorii, użyj polecenia list API categories.
  • ACCESS_TOKEN z tokenem uwierzytelniania używanym do uzyskiwania dostępu do interfejsu Apigee Edge API. Więcej informacji o uwierzytelnianiu i tokenach znajdziesz w artykule Uwierzytelnianie dostępu do interfejsu Edge API.
  • CATEGORY_NAME z nazwą kategorii. Na przykład: demo-backend.

Ładunek odpowiedzi:

{
  "status": "success",
  "message": "ApiCategory updated",
  "data": {
    "id": "61de810e-b48b-4cc1-8f22-959038aadcce",
    "siteId": "my-org-myportal",
    "name": "demo-backend-test"
  },
  "code": null,
  "request_id": "1976875617",
  "error_code": null
}

Usuwanie kategorii

Gdy usuniesz kategorię, zostaną też usunięte wszystkie tagi interfejsu API powiązane z nią.

Aby usunąć kategorię, użyj interfejsu lub polecenia curl:

Interfejs użytkownika

Aby usunąć kategorię:

  1. Otwórz stronę Kategorie.
  2. Umieść kursor nad kategorią, którą chcesz edytować, aby wyświetlić menu działań.
  3. Kliknij  Usuń.
  4. Kliknij Usuń, aby potwierdzić.

curl

Aby usunąć kategorię:

curl -X DELETE "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apicategories/CATEGORY_ID" \
    -H "Authorization: Bearer ACCESS_TOKEN" \
    -H "Content-Type: application/json"

Zastąp następujące elementy:

  • ORG_NAME nazwą organizacji. Na przykład: my-org.
  • SITE_ID z nazwą portalu w formacie ORG_NAME-PORTAL_NAME, gdzie ORG_NAME to nazwa organizacji, a PORTAL_NAME to nazwa portalu w postaci wyłącznie małych liter bez spacji i myślników. Na przykład: my-org-myportal.
  • CATEGORY_ID z identyfikatorem kategorii. Na przykład: bf6505eb-2a0f-47af-a00a-ded40ac72960. Aby poznać identyfikator kategorii, użyj polecenia list API categories.
  • ACCESS_TOKEN z tokenem uwierzytelniania używanym do uzyskiwania dostępu do interfejsu Apigee Edge API. Więcej informacji o uwierzytelnianiu i tokenach znajdziesz w artykule Uwierzytelnianie dostępu do interfejsu Edge API.

Ładunek odpowiedzi:

{
  "status": "success",
  "message": "ApiCategory deleted",
  "data": {
  },
  "code": null,
  "request_id": "2032819627",
  "error_code": null
}

Rozwiązywanie problemów z opublikowanymi interfejsami API

W następnych sekcjach znajdziesz informacje, które pomogą Ci rozwiązać konkretne problemy z naszych opublikowanych interfejsów API.

Błąd: nie udało się pobrać błędu zwróconego podczas korzystania z interfejsu API Try this

Jeśli podczas korzystania z narzędzia Wypróbuj ten interfejs API zostanie zwrócony błąd TypeError: Failed to fetch, sprawdź te możliwe przyczyny i rozwiązania:

  • W przypadku błędów związanych z mieszanymi treściami może być on spowodowany znanym problemem z interfejsem swagger-ui. Jednym z możliwych obejść jest określenie protokołu HTTPS przed HTTP w definicji schemes w dokumencie OpenAPI. Na przykład:

    schemes:
       - https
       - http
    
  • W przypadku błędów związanych z ograniczeniami współdzielenia zasobów pomiędzy serwerami z różnych domen (CORS) sprawdź, czy CORS jest obsługiwany przez Twoje serwery proxy API. CORS to standardowy mechanizm umożliwiający żądania z innych źródeł po stronie klienta. Zapoznaj się z artykułem Konfigurowanie serwera proxy interfejsu API na potrzeby usługi Wypróbuj ten interfejs API.

Błąd: nagłówek „Access-Control-Allow-Origin” zawiera wiele wartości „*, *”, ale dozwolona jest tylko jedna

Jeśli nagłówek Access-Control-Allow-Origin już istnieje, podczas korzystania z funkcji Wypróbuj ten interfejs API możesz zobaczyć taki komunikat o błędzie:

The Access-Control-Allow-Origin header contains multiple values '*, *', but only one is allowed.

Aby naprawić ten błąd, zmodyfikuj zasadę AssignMessage, aby używała funkcji <Set> do ustawiania nagłówków CORS zamiast funkcji <Add>, jak pokazano w wycinekcie poniżej. Więcej informacji znajdziesz w sekcji Błąd CORS : nagłówek zawiera kilka wartości „*, *”, ale dozwolona jest tylko jedna.

<AssignMessage async="false" continueOnError="false" enabled="true" name="add-cors">
    <DisplayName>Add CORS</DisplayName>
    <FaultRules/>
    <Properties/>
    <Set>
        <Headers>
            <Header name="Access-Control-Allow-Origin">{request.header.origin}</Header>
            <Header name="Access-Control-Allow-Headers">origin, x-requested-with, accept, content-type, authorization</Header>
            <Header name="Access-Control-Max-Age">3628800</Header>
            <Header name="Access-Control-Allow-Methods">GET, PUT, POST, DELETE</Header>
        </Headers>
    </Set>
    <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
    <AssignTo createNew="false" transport="http" type="response"/>
</AssignMessage>

Błąd: niedozwolone pole nagłówka żądania

Jeśli podczas korzystania z testowania interfejsu API pojawi się błąd Request header field not allowed podobny do tego poniżej, może być konieczne zaktualizowanie nagłówków obsługiwanych przez zasady CORS. Na przykład:

Access to XMLHttpRequest ... has been blocked by CORS policy: Request header field
content-type is not allowed by Access-Control-Allow-Headers in preflight response

W tym przykładzie musisz dodać nagłówek content-type do sekcji Access-Control-Allow-Headers w zasadzie CORS przypisywania wiadomości, zgodnie z opisem w artykule Dołączanie zasady dodawania CORS do nowego interfejsu API.

Błąd: odmowa dostępu podczas wywoływania serwera proxy interfejsu API przy użyciu OAuth2

Polityka OAuthV2 Apigee zwraca odpowiedź tokena, która zawiera pewne właściwości niezgodne z RFC. Na przykład zamiast wartości zgodnej z RFC, czyli Bearer, polityka zwróci token o wartości BearerToken. Ta nieprawidłowa odpowiedź token_type może spowodować błąd Access denied podczas korzystania z Testowania interfejsu API.

Aby rozwiązać ten problem, możesz utworzyć zasadę JavaScript lub AssignMessage, aby przekształcić dane wyjściowe zasady w zgodny format. Więcej informacji znajdziesz w artykule zachowanie niezgodne z RFC.