Pubblica le tue API

Stai visualizzando la documentazione di Apigee Edge.
Vai alla documentazione di Apigee X.
info

Pubblica le API nel tuo portale per renderle disponibili per l'utilizzo da parte degli sviluppatori di app, come descritto nelle sezioni seguenti.

Panoramica della pubblicazione delle API

La procedura di pubblicazione delle API nel tuo portale prevede due passaggi:

  1. Seleziona il prodotto API che vuoi pubblicare nel tuo portale.
  2. Mostra la documentazione di riferimento dell'API dal documento OpenAPI o dallo schema GraphQL per consentire agli sviluppatori di app di conoscere le tue API. Per ulteriori informazioni sugli snapshot, consulta Che cos'è uno snapshot?

Cosa viene pubblicato nel portale?

Quando pubblichi un'API, nel tuo portale vengono apportati automaticamente i seguenti aggiornamenti:

  • Documentazione di riferimento dell'API. L'interfaccia fornita dipende dal fatto che tu pubblichi l'API utilizzando un documento OpenAPI o uno schema GraphQL. Consulta:
  • Un link alla pagina di riferimento dell'API viene aggiunto alla pagina API

    La pagina API (inclusa nel portale di esempio) fornisce un elenco di tutte le API pubblicate nel tuo portale, elencate in ordine alfabetico, con link alla rispettiva documentazione di riferimento dell'API per ulteriori informazioni. Facoltativamente, puoi personalizzare quanto segue:

    • Immagine visualizzata per ogni scheda API
    • Categorie utilizzate per il tagging delle API per consentire agli sviluppatori di scoprire le API correlate nella pagina API

    Pagina API nel portale in tempo reale che mostra due categorie e l'utilizzo di immagini

SmartDocs (OpenAPI)

Quando pubblichi un'API utilizzando un documento OpenAPI, la documentazione di riferimento dell'API SmartDocs viene aggiunta al tuo portale.

Gli sviluppatori possono esaminare la documentazione di riferimento dell'API SmartDocs e utilizzare il riquadro Prova questa API per inviare una richiesta all'API e visualizzare l'output. Prova questa API funziona con endpoint non sicuri o sicuri che utilizzano autenticazione di base, chiave API o OAuth, in base al metodo di sicurezza definito nel documento OpenAPI. Per OAuth sono supportati i seguenti flussi: codice di autorizzazione, password e credenziali client.

Pagina della documentazione di riferimento dell'API con callout che mostrano come autorizzare la chiamata API, sganciare il riquadro Prova questa API, scaricare la specifica pertinente ed eseguire l'API.

Fai clic su A schermo intero per espandere il riquadro Prova questa API. Il riquadro espanso consente di visualizzare la chiamata curl e gli esempi di codice in vari formati, come HTTP, Python, Node.js e altri, come mostrato nella figura seguente.

Riquadro Prova questa API espanso

GraphQL Explorer

Quando pubblichi un'API utilizzando uno schema GraphQL, GraphQL Explorer viene aggiunto al tuo portale. GraphQL Explorer è un'area di prova interattiva per eseguire query sulla tua API. L'esploratore si basa su GraphiQL, un'implementazione di riferimento dell'IDE GraphQL sviluppata dalla GraphQL Foundation.

Gli sviluppatori possono utilizzare GraphQL Explorer per esplorare la documentazione interattiva basata su schema, creare ed eseguire query, visualizzare i risultati delle query e scaricare lo schema. Per proteggere l'accesso all'API, gli sviluppatori possono passare le intestazioni di autorizzazione nel riquadro Intestazioni richiesta.

Per saperne di più su GraphQL, consulta graphql.org.

GraphQL Explorer nel portale

Che cos'è uno snapshot?

Ogni documento OpenAPI o GraphQL funge da fonte attendibile durante tutto il ciclo di vita di un'API. Lo stesso documento viene utilizzato in ogni fase del ciclo di vita dell'API, dallo sviluppo alla pubblicazione e al monitoraggio. Quando modifichi un documento, devi essere consapevole dell'impatto delle modifiche sulla tua API durante le altre fasi del ciclo di vita, come descritto in Cosa succede se modifico un documento?.

Quando pubblichi l'API, acquisisci uno snapshot del documento OpenAPI o GraphQL per visualizzare la documentazione di riferimento dell'API. Questa istantanea rappresenta una versione specifica del documento. Se modifichi il documento, puoi decidere di acquisire un altro snapshot del documento in modo da riflettere le ultime modifiche nella documentazione di riferimento dell'API.

Informazioni sugli URL di callback

Se le tue app richiedono un URL di callback, ad esempio quando utilizzi il tipo di concessione del codice di autorizzazione OAuth 2.0 (spesso indicato come OAuth a tre token), puoi richiedere agli sviluppatori di specificare un URL di callback quando registrano le loro app. L'URL di callback specifica in genere l'URL di un'app designata per ricevere un codice di autorizzazione per conto dell'app client. Per saperne di più, consulta Implementazione del tipo di concessione del codice di autorizzazione.

Puoi configurare se richiedere o meno un URL di callback durante la registrazione dell'app quando aggiungi un'API al tuo portale. Puoi modificare questa impostazione in qualsiasi momento, come descritto in Gestire l'URL di callback per un'API.

Quando registrano un'app, gli sviluppatori devono inserire un URL di callback per tutte le API che lo richiedono, come descritto in Registrare le app.

Configurare il proxy API per supportare "Prova questa API"

Prima di pubblicare le API utilizzando un documento OpenAPI, devi configurare il proxy API in modo che supporti l'invio di richieste nel riquadro Prova questa API nella documentazione di riferimento dell'API SmartDocs, come segue:

  • Aggiungi il supporto CORS ai proxy API per applicare le richieste cross-origin lato client

    CORS è un meccanismo standard che consente alle chiamate XMLHttpRequest (XHR) di JavaScript eseguite in una pagina web di interagire con le risorse di domini diversi dall'origine. CORS è una soluzione comunemente implementata per i criteri della stessa origine applicati da tutti i browser.

  • Aggiorna la configurazione del proxy API se utilizzi l'autenticazione di base o OAuth2

La tabella seguente riassume i requisiti di configurazione del proxy API per supportare il riquadro Prova questa API nella documentazione di riferimento dell'API SmartDocs in base all'accesso all'autenticazione.

Accesso di autenticazione Requisiti di configurazione delle norme
Nessuna o chiave API Aggiungi il supporto CORS al proxy API. Per comodità, utilizza la soluzione CORS di esempio fornita su GitHub o segui i passaggi descritti in Aggiunta del supporto CORS a un proxy API.
Autenticazione di base Procedi nel seguente modo:
  1. Aggiungi il supporto CORS al proxy API. Per comodità, utilizza la soluzione CORS di esempio fornita su GitHub o segui i passaggi descritti in Aggiunta del supporto CORS a un proxy API.
  2. Nel criterio Aggiungi criterio CORS AssignMessage, assicurati che l'Access-Control-Allow-Headers intestazione includa l'attributo authorization. Ad esempio:
    <Header name="Access-Control-Allow-Headers">
      origin, x-requested-with, accept, content-type, authorization
    </Header>
OAuth2
  1. Aggiungi il supporto CORS al proxy API. Per comodità, utilizza la soluzione CORS di esempio fornita su GitHub o segui i passaggi descritti in Aggiunta del supporto CORS a un proxy API.
  2. Nel criterio Aggiungi criterio CORS AssignMessage, assicurati che l'Access-Control-Allow-Headers intestazione includa l'attributo authorization. Ad esempio:
    <Header name="Access-Control-Allow-Headers">
      origin, x-requested-with, accept, content-type, authorization
    </Header>
  3. Correggi il comportamento non conforme allo standard RFC nelle norme OAuth2. Per comodità, utilizza la soluzione OAuth2 di esempio fornita su GitHub o svolgi i seguenti passaggi:
    • Assicurati che l'elemento <GrantType> nel criterio OAuth2 sia impostato su request.formparam.grant_type (param. form). Per ulteriori informazioni, consulta <GrantType>.
    • Assicurati che token_type nel criterio OAuth2 sia impostato su Bearer e non sul valore predefinito BearerToken.

Gestione delle API

Gestisci le API come descritto nelle sezioni seguenti.

Esplora API

Utilizza l'interfaccia utente o il comando curl per visualizzare le API nel tuo portale.

UI

Per visualizzare il catalogo API:

  1. Seleziona Pubblica > Portali e seleziona il tuo portale.
  2. Fai clic su Catalogo API nella home page del portale. In alternativa, puoi selezionare Catalogo API nel menu a discesa del portale nella barra di navigazione in alto.

La scheda API nel catalogo delle API mostra un elenco delle API che sono state aggiunte al tuo portale.

Scheda API che mostra informazioni sulle API, tra cui nome, descrizione, visibilità, categorie, specifiche associate e ora di modifica

Come evidenziato nella figura precedente, la scheda API ti consente di:

curl

Per elencare le API:

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

Sostituisci quanto segue:

  • ORG_NAME con il nome dell'organizzazione. Ad esempio, my-org.
  • SITE_ID con il nome del portale, nel formato ORG_NAME-PORTAL_NAME, dove ORG_NAME è il nome dell'organizzazione e PORTAL_NAME è il nome del portale convertito in minuscolo e con spazi e trattini rimossi. Ad esempio, my-org-myportal.
  • ACCESS_TOKEN con il token di autenticazione utilizzato per accedere all'API Apigee Edge. Per ulteriori informazioni su autenticazione e token, vedi Autenticare l'accesso all'API Edge.

Consulta le Note sull'impaginazione per istruzioni sull'utilizzo dell'impaginazione nel payload della risposta.

Payload della risposta:

{
  "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": ""
}

Dove:

  • modified: data e ora dell'ultima modifica dell'elemento del catalogo in millisecondi dall'epoch. Ad esempio, 1698165480000.
  • id: l'ID dell'articolo del catalogo. Ad esempio, 399668.

Note sulla paginazione:

  • Dimensioni pagina: utilizza pageSize per specificare il numero di elementi dell'elenco da restituire in una pagina. Il valore predefinito è 25 e il massimo è 100. Se sono presenti altre pagine, nextPageToken viene compilato con un token:

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

    Sostituisci:

    • PAGE_SIZE con il numero di elementi dell'elenco da restituire in una pagina. Ad esempio, 10.

    Payload della risposta:

    {
      "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 pagina: utilizza pageToken per recuperare le pagine successive quando sono presenti più pagine:

    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"
    

    Sostituisci:

    • PAGE_SIZE con il numero di elementi dell'elenco da restituire in una pagina. Ad esempio, 10.
    • PAGE_TOKEN con il valore nextPageToken. Ad esempio, 7zcqrin9l6xhi4nbrb9.

Aggiungi un'API

Utilizza l'interfaccia utente o il comando curl per aggiungere API al tuo portale:

UI

Per aggiungere un'API al tuo portale:

  1. Accedi al catalogo delle API.
  2. Fai clic sulla scheda API, se non è già selezionata.
  3. Fai clic su + Aggiungi.

    Viene visualizzata la finestra di dialogo Aggiungi un prodotto API al catalogo.

  4. Seleziona il prodotto API che vuoi aggiungere al tuo portale.

  5. Fai clic su Avanti. Viene visualizzata la pagina Dettagli API.

  6. Configura i contenuti della documentazione di riferimento dell'API e la relativa visibilità sul portale:

    Campo Descrizione
    Pubblicato Seleziona Pubblicata per pubblicare l'API nel tuo portale. Deseleziona la casella di controllo se non vuoi ancora pubblicare l'API. Puoi modificare l'impostazione in un secondo momento, come descritto in Pubblicare o annullare la pubblicazione di un'API sul tuo portale.
    Mostra titolo Aggiorna il titolo dell'API visualizzato nel catalogo. Per impostazione predefinita, viene utilizzato il nome del prodotto dell'API. Puoi modificare il titolo visualizzato in un secondo momento, come descritto in Modificare il titolo visualizzato e la descrizione.
    Mostra descrizione Aggiorna la descrizione dell'API visualizzata nel catalogo. Per impostazione predefinita, viene utilizzata la descrizione del prodotto dell'API. Puoi modificare la descrizione visualizzata in un secondo momento, come descritto in Modificare il titolo e la descrizione visualizzati.
    Richiedi agli sviluppatori di specificare un URL di callback Attiva questa opzione se vuoi richiedere agli sviluppatori di app di specificare un URL di callback. Puoi aggiungere o aggiornare l'URL di callback in un secondo momento, come descritto in Gestire l'URL di callback per un'API.
    Documentazione relativa all'API

    Per utilizzare un documento OpenAPI:

    1. Seleziona Documento OpenAPI.
    2. Fai clic su Seleziona documento.
    3. Esegui uno dei seguenti passaggi:
      • Fai clic sulla scheda Le mie specifiche e seleziona una specifica dallo Store delle specifiche.
      • Fai clic sulla scheda Carica file e carica un file.
      • Fai clic sulla scheda Importa da un URL e importa una specifica da un URL.
    4. Fai clic su Seleziona.

    Per utilizzare uno schema GraphQL:

    1. Seleziona Schema GraphQL.
    2. Fai clic su Seleziona documento.
    3. Vai allo schema GraphQL e selezionalo.
    4. Fai clic su Seleziona.

    In alternativa, puoi selezionare Nessuna documentazione e aggiungerne una in un secondo momento dopo aver aggiunto l'API, come descritto in Gestire lo snapshot del documento.

    Visibilità API

    Se non hai eseguito la registrazione alla versione beta della funzionalità di gestione dei segmenti di pubblico, scegli una delle seguenti opzioni:

    • Utenti anonimi per consentire a tutti gli utenti di visualizzare l'API.
    • Utenti registrati per consentire solo agli utenti registrati di visualizzare l'API.

    Se hai partecipato alla versione beta della funzionalità di gestione dei segmenti di pubblico, scegli una delle seguenti opzioni:

    • Pubblica (visibile a tutti) per consentire a tutti gli utenti di visualizzare l'API.
    • Utenti autenticati per consentire solo agli utenti registrati di visualizzare l'API.
    • Segmenti di pubblico selezionati per selezionare i segmenti di pubblico specifici che vuoi che possano visualizzare l'API.

    Puoi gestire la visibilità del pubblico in un secondo momento, come descritto in Gestire la visibilità di un'API nel portale.

    Visualizza immagine Per visualizzare un'immagine nella scheda dell'API nella pagina API, fai clic su Seleziona immagine. Nella finestra di dialogo Seleziona immagine, seleziona un'immagine esistente, carica una nuova immagine o fornisci l'URL di un'immagine esterna e fai clic su Seleziona. Visualizza l'anteprima della miniatura dell'API e fai clic su Seleziona. Puoi aggiungere un'immagine in un secondo momento, come descritto in Gestire l'immagine di una scheda API. Se specifichi un'immagine con un URL esterno, l'immagine non verrà caricata nelle tue risorse. Inoltre, il caricamento dell'immagine nel portale integrato sarà soggetto alla sua disponibilità, che potrebbe essere bloccata o limitata dalle norme sulla sicurezza dei contenuti.
    Categorie

    Aggiungi le categorie a cui verrà applicato il tag dell'API per consentire agli sviluppatori di app di trovare le API correlate nella pagina API. Per identificare una categoria:

    • Seleziona una categoria dall'elenco a discesa.
    • Aggiungi una nuova categoria digitandone il nome e premendo Invio. La nuova categoria verrà aggiunta alla pagina Categorie e sarà disponibile quando aggiungi o modifichi altre API.

  7. Fai clic su Salva.

curl

Per aggiungere un'API al tuo portale :

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"
    }'

Sostituisci quanto segue:

  • ORG_NAME con il nome dell'organizzazione. Ad esempio, my-org.
  • SITE_ID con il nome del portale, nel formato ORG_NAME-PORTAL_NAME, dove ORG_NAME è il nome dell'organizzazione e PORTAL_NAME è il nome del portale convertito in minuscolo e con spazi e trattini rimossi. Ad esempio, my-org-myportal.
  • ACCESS_TOKEN con il token di autenticazione utilizzato per accedere all'API Apigee Edge. Per ulteriori informazioni su autenticazione e token, vedi Autenticare l'accesso all'API Edge.
  • TITLE con il nome visualizzato. Ad esempio, Hello World 2.
  • DESCRIPTION con la descrizione del display. Ad esempio, Simple hello world example.
  • ANON_TRUE_OR_FALSE con true o false (impostazione predefinita), dove true indica che questa API ha visibilità pubblica e può essere visualizzata in forma anonima; in caso contrario, solo gli utenti registrati possono visualizzarla.
  • IMAGE_URL con l'URL di un'immagine esterna utilizzata per l'elemento del catalogo o un percorso file per i file immagine archiviati nel portale, ad esempio /files/book-tree.jpg. Quando specifichi l'URL di un'immagine esterna, l'immagine non verrà caricata nelle tue risorse. Inoltre, il caricamento dell'immagine nel portale integrato sarà soggetto alla sua disponibilità, che potrebbe essere bloccata o limitata dalle norme sulla sicurezza dei contenuti.
  • CALLBACK_TRUE_OR_FALSE con true o false (valore predefinito), dove true richiede a un utente del portale di inserire un URL durante la gestione dell'app.
  • CATEGORY_ID con l'ID della categoria. Ad esempio, bf6505eb-2a0f-47af-a00a-ded40ac72960. Separa più ID categoria con una virgola. Ottieni l'ID categoria con il comando list API categories.
  • PUBLISHED_TRUE_OR_FALSE con true o false (valore predefinito), dove true indica che l'API è disponibile pubblicamente. Una volta pubblicata, puoi consentire l'accesso a tutti gli utenti, agli utenti autenticati o a utenti specifici.
  • API_PRODUCT con il nome del prodotto dell'API. Ad esempio, Hello World 2.

Payload della risposta:

{
  "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
}

Dove:

  • modified: data e ora dell'ultima modifica dell'elemento del catalogo in millisecondi dall'epoch. Ad esempio, 1698165480000.
  • id: l'ID dell'articolo del catalogo. Ad esempio, 399668.

Modificare un'API

Dopo aver aggiunto un'API, utilizza l'interfaccia utente o una chiamata API per apportare modifiche.

Questa sezione fornisce un esempio dettagliato dei passaggi da seguire per modificare un'API esistente nel tuo portale.

Per impostazioni di modifica specifiche, consulta le sezioni successive.

UI

Per modificare un'API:

  1. Accedi al catalogo delle API.
  2. Fai clic sulla scheda API, se non è già selezionata.
  3. Fai clic sulla riga dell'API che vuoi modificare.
  4. Fai clic su icona di modificaModifica.
  5. In Dettagli API, apporta le modifiche necessarie. Consulta le descrizioni delle opzioni in Aggiungere un'API.
  6. Fai clic su Salva.

curl

Dopo aver aggiunto un'API, utilizza la chiamata update per apportare modifiche.

Questo esempio illustra i passaggi necessari per modificare lo stato pubblicato della tua API nel tuo portale da true a false. Se necessario, puoi modificare più di un'impostazione in una chiamata API.

  1. Per individuare il valore id generato che identifica in modo univoco ogni API, ottieni un elenco delle API nel tuo portale come descritto in Esplorare le API.
  2. Restituisce i valori correnti per un'API specifica:

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

    Sostituisci quanto segue:

    • ORG_NAME con il nome dell'organizzazione. Ad esempio, my-org.
    • SITE_ID con il nome del portale, nel formato ORG_NAME-PORTAL_NAME, dove ORG_NAME è il nome dell'organizzazione e PORTAL_NAME è il nome del portale convertito in minuscolo e con spazi e trattini rimossi. Ad esempio, my-org-myportal.
    • API_DOC con il id generato del documento. Ad esempio, 399668. Utilizza il comando list API docs per trovare questo valore.
    • ACCESS_TOKEN con il token di autenticazione utilizzato per accedere all'API Apigee Edge. Per ulteriori informazioni su autenticazione e token, vedi Autenticare l'accesso all'API Edge.

    Payload della risposta:

    {
      "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. Includi i valori mutabili che vuoi conservare nella chiamata update e modifica quelli che vuoi cambiare. Se ne ometti una, viene utilizzata l'impostazione predefinita. Per questo esempio, modifica l'impostazione pubblicata da false a 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
     }'
    

    Sostituisci quanto segue:

    • TITLE con il nome visualizzato. Ad esempio, Hello World 2.

    Payload della risposta:

    {
      "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
    }
    

Gestire lo snapshot del documento

Dopo aver pubblicato l'API, puoi acquisire in qualsiasi momento un nuovo snapshot del documento OpenAPI o GraphQL per aggiornare la documentazione di riferimento dell'API pubblicata sul tuo portale.

Per gestire lo snapshot del documento:

  1. Accedi al catalogo delle API.
  2. Fai clic sulla scheda API, se non è già selezionata.
  3. Fai clic sulla riga dell'API che vuoi modificare.
  4. Controlla lo stato dello snapshot. Se non è aggiornato, viene visualizzato il seguente messaggio: Icona e messaggio che indicano che lo snapshot non è aggiornato
  5. Fai clic su icona di modifica.
  6. Esegui una delle seguenti operazioni:
    • Per aggiornare uno snapshot di un documento OpenAPI non aggiornato, fai clic su Aggiorna snapshot.
    • Per modificare il documento utilizzato per generare la documentazione dell'API, fai clic su Seleziona documento nella documentazione dell'API e seleziona il nuovo documento.
  7. Fai clic su Salva.

Pubblicare o annullare la pubblicazione di un'API sul tuo portale

La pubblicazione è il processo di messa a disposizione delle API per l'utilizzo da parte degli sviluppatori di app.

Utilizza la UI o il comando curl per pubblicare o annullare la pubblicazione di un'API sul tuo portale.

UI

Per pubblicare o annullare la pubblicazione di un'API sul tuo portale:

  1. Accedi al catalogo delle API.
  2. Fai clic sulla scheda API, se non è già selezionata.
  3. Fai clic sulla riga dell'API che vuoi modificare.
  4. Fai clic su Icona Modifica Modifica.
  5. In Dettagli API, seleziona o deseleziona Pubblicata (indicata nel catalogo) per pubblicare o annullare la pubblicazione dell'API sul tuo portale.
  6. Fai clic su Salva.

curl

Includi uno dei seguenti elementi nella chiamata di aggiornamento:

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

Per modificare l'API:

  1. Restituire i valori correnti:

    curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs" \
    -H "Authorization: Bearer ACCESS_TOKEN"
  2. Utilizza la chiamata update per modificare l'API. Includi i valori mutabili che vuoi conservare e modifica i valori che vuoi modificare. Se ometti un'impostazione mutabile, viene sovrascritta con il valore predefinito.

    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
    }

Per un esempio dettagliato dei passaggi, delle variabili e del payload restituiti, consulta Gestire la versione del documento.

Gestire la visibilità di un'API nel tuo portale

Gestisci la visibilità di un'API nel tuo portale consentendo l'accesso a:

  • Pubblica (visibile a tutti)
  • Utenti autenticati
  • Segmenti di pubblico selezionati (se hai partecipato alla versione beta della funzionalità di gestione dei segmenti di pubblico)

Utilizza la UI o il comando curl per gestire la visibilità di un'API nel tuo portale:

UI

Per gestire la visibilità di un'API nel tuo portale:

  1. Accedi al catalogo delle API.
  2. Fai clic sulla scheda API, se non è già selezionata.
  3. Fai clic sulla riga dell'API che vuoi modificare.
  4. Fai clic su Icona Modifica Modifica.
  5. Seleziona l'impostazione di visibilità. Se hai partecipato alla versione beta della funzionalità dei segmenti di pubblico, seleziona una delle seguenti opzioni:

    • Pubblica (visibile a chiunque) per consentire a tutti gli utenti di visualizzare la pagina.
    • Utenti autenticati per consentire solo agli utenti registrati di visualizzare la pagina.
    • Segmenti di pubblico selezionati per selezionare i segmenti di pubblico specifici che devono poter visualizzare la pagina. Consulta Gestire i segmenti di pubblico per il tuo portale.
    In caso contrario, seleziona una delle seguenti opzioni:
    • Utenti anonimi per consentire a tutti gli utenti di visualizzare la pagina.
    • Utenti registrati per consentire solo agli utenti registrati di visualizzare la pagina.

  6. Fai clic su Invia.

curl

Se hai partecipato alla versione beta della funzionalità di gestione dei segmenti di pubblico, utilizza la UI per gestire i segmenti di pubblico.

Se non hai eseguito la registrazione alla funzionalità di gestione dei segmenti di pubblico, la visibilità viene gestita utilizzando anonAllowed.

Includi una delle seguenti opzioni nella chiamata update:

  # 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

Per modificare l'API:

  1. Restituire i valori correnti:

    curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer ACCESS_TOKEN"
    
  2. Utilizza la chiamata update per modificare l'API. Includi i valori mutabili che vuoi conservare e modifica quelli che vuoi cambiare. Se ometti un'impostazione mutabile, viene utilizzato il valore predefinito.

    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
         }'

Consulta Modificare un'API per un esempio dettagliato dei passaggi, delle variabili e del payload restituiti.

Gestire l'URL di callback per un'API

Gestisci l'URL di callback per un'API. Consulta la sezione Informazioni sugli URL di callback.

Utilizza la UI o il comando curl per gestire l'URL di callback per un'API:

UI

Per gestire l'URL di callback per un'API:

  1. Accedi al catalogo delle API.
  2. Fai clic sulla scheda API, se non è già selezionata.
  3. Fai clic sulla riga dell'API che vuoi modificare.
  4. Fai clic su Icona Modifica Modifica.
  5. In Dettagli API, seleziona o deseleziona la casella di controllo Richiedi agli sviluppatori di specificare un URL di callback.
  6. Fai clic su Salva.

curl

Includi una delle seguenti opzioni nella chiamata update:

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

Per modificare l'API:

  1. Restituire i valori correnti:

    curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer ACCESS_TOKEN"
    
  2. Utilizza la chiamata update per modificare l'API. Includi i valori mutabili che vuoi conservare e modifica quelli che vuoi cambiare. Se ometti un'impostazione mutabile, viene utilizzato il valore predefinito.

    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
         }'

Consulta Modificare un'API per un esempio dettagliato dei passaggi, delle variabili e del payload restituiti.

Gestire l'immagine di una scheda API

Gestisci l'immagine visualizzata con una scheda API nella pagina API aggiungendo o modificando l'immagine corrente.

Utilizza l'interfaccia utente o il comando curl per gestire l'immagine di una scheda API:

UI

Per gestire l'immagine di una scheda API:

  1. Accedi al catalogo delle API.
  2. Fai clic sulla scheda API, se non è già selezionata.
  3. Fai clic sulla riga dell'API che vuoi modificare.
  4. Fai clic su Icona Modifica Modifica.
  5. In Dettagli API:

    • Fai clic su Seleziona immagine per specificare o caricare un'immagine se non ne è selezionata nessuna.
    • Fai clic su Cambia immagine per specificare o caricare un'altra immagine.
    • Fai clic su x nell'immagine per rimuoverla.

    Quando specifichi un'immagine, specifica un'immagine con un URL esterno utilizzato per l'elemento del catalogo o un percorso per i file immagine archiviati nel portale, ad esempio /files/book-tree.jpg. Quando specifichi l'URL di un'immagine esterna, l'immagine non verrà caricata nelle tue risorse. Inoltre, il caricamento dell'immagine nel portale integrato sarà soggetto alla sua disponibilità, che potrebbe essere bloccata o limitata dalle norme sulla sicurezza dei contenuti.

  6. Fai clic su Salva.

curl

Includi quanto segue nella chiamata update:

  # Omit line for no image file

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

Per modificare l'API:

  1. Restituire i valori correnti:

    curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer ACCESS_TOKEN"
    
  2. Utilizza la chiamata update per modificare l'API. Includi i valori mutabili che vuoi conservare e modifica quelli che vuoi cambiare. Se ometti un'impostazione mutabile, viene utilizzato il valore predefinito.

    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
         }'

Consulta Modificare un'API per un esempio dettagliato dei passaggi, delle variabili e del payload restituiti.

Taggare un'API utilizzando le categorie

L'utilizzo delle categorie aiuta gli sviluppatori di app a scoprire le API correlate. Consulta anche Gestire le categorie.

Tagga un'API utilizzando le categorie in uno dei seguenti modi:

  • Gestisci le categorie a cui è associato il tag di un'API durante la modifica dell'API, come descritto di seguito.
  • Gestisci le API taggate a una categoria quando modifichi la categoria.

Utilizza la UI o il comando curl per taggare un'API utilizzando le categorie:

UI

Per assegnare un tag a un'API per le categorie durante la modifica:

  1. Accedi al catalogo delle API.
  2. Fai clic sulla scheda API, se non è già selezionata.
  3. Fai clic sulla riga dell'API che vuoi modificare.
  4. Fai clic su Icona Modifica Modifica.
  5. Fai clic all'interno del campo Categorie ed esegui uno dei seguenti passaggi:
    • Seleziona una categoria dall'elenco a discesa.
    • Aggiungi una nuova categoria digitandone il nome e premendo Invio. La nuova categoria verrà aggiunta alla pagina Categorie e resa disponibile quando aggiungi o modifichi altre API.
  6. Ripeti l'operazione per taggare l'API in altre categorie.
  7. Fai clic su Salva.

curl

Includi quanto segue nella chiamata update:

  # Omit line for no categories

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

Utilizza il comando list categories per ottenere i numeri ID categoria.

Per modificare l'API:

  1. Restituire i valori correnti:

    curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer ACCESS_TOKEN"
    
  2. Utilizza la chiamata update per modificare l'API. Includi i valori mutabili che vuoi conservare e modifica quelli che vuoi cambiare. Se ometti un'impostazione mutabile, viene utilizzato il valore predefinito.

    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
         }'

Consulta Modificare un'API per un esempio dettagliato dei passaggi, delle variabili e del payload restituiti.

Modificare il titolo visualizzato e la descrizione

Utilizza l'interfaccia utente o il comando curl per modificare il titolo visualizzato e la descrizione:

UI

Per modificare il titolo e la descrizione visualizzati:

  1. Accedi al catalogo delle API.
  2. Fai clic sulla scheda API, se non è già selezionata.
  3. Fai clic sulla riga dell'API che vuoi modificare.
  4. Fai clic su Icona Modifica Modifica.
  5. Modifica i campi Titolo visualizzato e Descrizione visualizzata, se necessario.
  6. Fai clic su Salva.

curl

Includi quanto segue nella chiamata update:

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

Per modificare l'API:

  1. Restituire i valori correnti:

    curl -X GET "https://api.enterprise.apigee.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \
         -H "Authorization: Bearer ACCESS_TOKEN"
    
  2. Utilizza la chiamata update per modificare l'API. Includi i valori mutabili che vuoi conservare e modifica quelli che vuoi cambiare. Se ometti un'impostazione mutabile, viene utilizzato il valore predefinito.

    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
         }'

Consulta Modificare un'API per un esempio dettagliato dei passaggi, delle variabili e del payload restituiti.

Rimuovere un'API dal portale

Utilizza la UI o il comando curl per rimuovere un'API dal tuo portale:

UI

Per rimuovere un'API dal tuo portale:

  1. Accedi al catalogo delle API.
  2. Seleziona le API, se non sono già selezionate.
  3. Posiziona il cursore del mouse sull'API nell'elenco per visualizzare il menu delle azioni.
  4. Fai clic su Icona Elimina Elimina.

curl

Per rimuovere un'API dal tuo portale:

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

Sostituisci quanto segue:

  • ORG_NAME con il nome dell'organizzazione. Ad esempio, my-org.
  • SITE_ID con il nome del portale, nel formato ORG_NAME-PORTAL_NAME, dove ORG_NAME è il nome dell'organizzazione e PORTAL_NAME è il nome del portale convertito in minuscolo e con spazi e trattini rimossi. Ad esempio, my-org-myportal.
  • API_DOC con il id generato del documento. Ad esempio, 399668. Utilizza il comando list API docs per trovare questo valore.
  • ACCESS_TOKEN con il token di autenticazione utilizzato per accedere all'API Apigee Edge. Per ulteriori informazioni su autenticazione e token, vedi Autenticare l'accesso all'API Edge.

Payload della risposta:

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

Gestire la documentazione dell'API

Le sezioni seguenti descrivono come aggiornare, scaricare o rimuovere la documentazione dell'API.

Aggiorna la documentazione dell'API

Per caricare una versione diversa della documentazione dell'API:

UI

  1. Accedi al catalogo delle API.
  2. Fai clic sulla scheda API, se non è già selezionata.
  3. Fai clic sulla riga dell'API che vuoi modificare.
  4. Controlla lo stato dello snapshot. Se non è aggiornato, viene visualizzato il seguente messaggio: Icona e messaggio che indicano che lo snapshot non è aggiornato
  5. Fai clic su Modifica.
  6. Esegui una delle seguenti operazioni:
    • Per aggiornare uno snapshot di un documento OpenAPI non aggiornato, fai clic su Aggiorna snapshot.
    • Per modificare il documento utilizzato per generare la documentazione per l'API, fai clic su Seleziona documento nella documentazione dell'API e seleziona il nuovo documento.
  7. Nel riquadro Documentazione dell'API, seleziona una delle seguenti opzioni:
    • Documento OpenAPI
    • Schema GraphQL
  8. Fai clic su Seleziona documento e seleziona la versione più recente del documento.
  9. Per GraphQL, specifica l'URL endpoint.
  10. Fai clic su Salva.

La documentazione di riferimento dell'API viene visualizzata nel documento e aggiunta alla pagina Riferimento API. Lo stato dello snapshot viene aggiornato all'attuale:

Icona e messaggio indicano che lo snapshot è aggiornato

curl

Per aggiornare i contenuti della documentazione OpenAPI o 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"}
            }
        }'

Sostituisci quanto segue:

  • ORG_NAME con il nome dell'organizzazione. Ad esempio, my-org.
  • SITE_ID con il nome del portale, nel formato ORG_NAME-PORTAL_NAME, dove ORG_NAME è il nome dell'organizzazione e PORTAL_NAME è il nome del portale convertito in minuscolo e con spazi e trattini rimossi. Ad esempio, my-org-myportal.
  • API_DOC con il id generato del documento. Ad esempio, 399668. Utilizza il comando list API docs per trovare questo valore.
  • DISPLAY_NAME con il nome visualizzato della documentazione dell'API. Ad esempio, Hello World 2.
  • CONTENTS con la stringa codificata in base64 dei contenuti della documentazione dell'API. La maggior parte degli ambienti di sviluppo contiene un'utilità di conversione base64 oppure esistono molti strumenti di conversione online.

Payload della risposta:

{
 "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"
          }
      }'

Sostituisci quanto segue:

  • ORG_NAME con il nome dell'organizzazione. Ad esempio, my-org.
  • SITE_ID con il nome del portale, nel formato ORG_NAME-PORTAL_NAME, dove ORG_NAME è il nome dell'organizzazione e PORTAL_NAME è il nome del portale convertito in minuscolo e con spazi e trattini rimossi. Ad esempio, my-org-myportal.
  • API_DOC con il id generato del documento. Ad esempio, 399668. Utilizza il comando list API docs per trovare questo valore.
  • DISPLAY_NAME con il nome visualizzato della documentazione dell'API. Ad esempio, Hello World 2.
  • ENDPOINT_URI con il nome di dominio dell'URI dell'endpoint. Ad esempio, https://demo.google.com/graphql.
  • CONTENTS con la stringa codificata in base64 dei contenuti della documentazione dell'API. La maggior parte degli ambienti di sviluppo contiene un'utilità di conversione base64 oppure esistono molti strumenti di conversione online.

Payload della risposta:

{
"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
}

La documentazione di riferimento dell'API viene visualizzata nel documento e aggiunta alla pagina API del portale in produzione.

Scaricare la documentazione dell'API

Per scaricare la documentazione dell'API:

UI

curl

Per scaricare la documentazione dell'API utilizzando 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"

Sostituisci quanto segue:

  • ORG_NAME con il nome dell'organizzazione. Ad esempio, my-org.
  • SITE_ID con il nome del portale, nel formato ORG_NAME-PORTAL_NAME, dove ORG_NAME è il nome dell'organizzazione e PORTAL_NAME è il nome del portale convertito in minuscolo e con spazi e trattini rimossi. Ad esempio, my-org-myportal.
  • API_DOC con il id generato del documento. Ad esempio, 399668. Utilizza il comando list API docs per trovare questo valore.

    Payload della risposta:

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

Dove:

contents: la stringa con codifica Base64 dei contenuti della documentazione dell'API.

Rimuovere la documentazione dell'API

Per rimuovere la documentazione dell'API:

UI

  1. Accedi al catalogo delle API.
  2. Fai clic sulla scheda API, se non è già selezionata.
  3. Fai clic sulla riga dell'API che vuoi modificare.
  4. Fai clic su Modifica.
  5. Nel riquadro Documentazione dell'API, seleziona Nessuna documentazione.
  6. Fai clic su Salva.

curl

Per cancellare i contenuti esistenti, utilizza l'API update:

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 '{}'

Sostituisci quanto segue:

  • ORG_NAME con il nome dell'organizzazione. Ad esempio, my-org.
  • SITE_ID con il nome del portale, nel formato ORG_NAME-PORTAL_NAME, dove ORG_NAME è il nome dell'organizzazione e PORTAL_NAME è il nome del portale convertito in minuscolo e con spazi e trattini rimossi. Ad esempio, my-org-myportal.
  • API_DOC con il id generato del documento. Ad esempio, 399668. Utilizza il comando list API docs per trovare questo valore.

Payload della risposta:

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

Gestire le categorie utilizzate per trovare le API correlate

Tagga un'API utilizzando le categorie per consentire agli sviluppatori di app di scoprire le API correlate nella pagina API del portale in produzione. Aggiungi e gestisci le categorie, come descritto nelle sezioni seguenti.

Consultare le categorie

Utilizza l'interfaccia utente o il comando curl per visualizzare le API nel tuo portale.

UI

Per visualizzare la pagina Categorie:

  1. Seleziona Pubblica > Portali e seleziona il tuo portale.
  2. Fai clic su Catalogo API nella home page del portale.

    In alternativa, puoi selezionare Catalogo API nel menu a discesa del portale nella barra di navigazione in alto.

  3. Fai clic sulla scheda Categorie.

La scheda Categorie nel catalogo API mostra l'elenco delle categorie che sono state definite per il tuo portale.

Scheda Categorie che mostra il nome della categoria, i nomi e il numero totale di API assegnate

Come evidenziato nella figura precedente, la pagina API ti consente di:

curl

Per elencare le categorie:

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

Sostituisci quanto segue:

  • ORG_NAME con il nome dell'organizzazione. Ad esempio, my-org.
  • SITE_ID con il nome del portale, nel formato ORG_NAME-PORTAL_NAME, dove ORG_NAME è il nome dell'organizzazione e PORTAL_NAME è il nome del portale convertito in minuscolo e con spazi e trattini rimossi. Ad esempio, my-org-myportal.
  • ACCESS_TOKEN con il token di autenticazione utilizzato per accedere all'API Apigee Edge. Per ulteriori informazioni su autenticazione e token, vedi Autenticare l'accesso all'API Edge.

Payload della risposta:

{
  "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
}

Dove:

  • id: l'ID dell'elemento della categoria. Ad esempio, 61c1014c-89c9-40e6-be3c-69cca3505620.

Aggiunta di una categoria

Aggiungi una categoria in uno dei seguenti modi:

  • Inserisci il nome di una categoria quando aggiungi un'API al portale
  • Aggiungi manualmente una categoria come descritto di seguito

La nuova categoria verrà aggiunta alla pagina Categorie e resa disponibile quando aggiungi o modifichi altre API.

Utilizza l'interfaccia utente o il comando curl per aggiungere una categoria:

UI

Per aggiungere manualmente una categoria:

  1. Accedi alla pagina Categorie.
  2. Fai clic su + Aggiungi.
  3. Inserisci il nome della nuova categoria.
  4. Facoltativamente, seleziona una o più API da taggare alla categoria.
  5. Fai clic su Crea.

curl

Per aggiungere una categoria:

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" }'

Sostituisci quanto segue:

  • ORG_NAME con il nome dell'organizzazione. Ad esempio, my-org.
  • SITE_ID con il nome del portale, nel formato ORG_NAME-PORTAL_NAME, dove ORG_NAME è il nome dell'organizzazione e PORTAL_NAME è il nome del portale convertito in minuscolo e con spazi e trattini rimossi. Ad esempio, my-org-myportal.
  • ACCESS_TOKEN con il token di autenticazione utilizzato per accedere all'API Apigee Edge. Per ulteriori informazioni su autenticazione e token, vedi Autenticare l'accesso all'API Edge.
  • CATEGORY_NAME con il nome della categoria. Ad esempio, demo-backend.

Payload della risposta:

{
  "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
}

Modificare una categoria

Utilizza la UI o il comando curl per modificare una categoria:

UI

Per modificare una categoria:

  1. Accedi alla pagina Categorie.
  2. Fai clic su Modifica.
  3. Modifica il nome della categoria.
  4. Aggiungi o rimuovi i tag API.
  5. Fai clic su Salva.

curl

Per modificare una categoria:

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" }'

Sostituisci quanto segue:

  • ORG_NAME con il nome dell'organizzazione. Ad esempio, my-org.
  • SITE_ID con il nome del portale, nel formato ORG_NAME-PORTAL_NAME, dove ORG_NAME è il nome dell'organizzazione e PORTAL_NAME è il nome del portale convertito in minuscolo e con spazi e trattini rimossi. Ad esempio, my-org-myportal.
  • CATEGORY_ID con l'ID della categoria. Ad esempio, bf6505eb-2a0f-47af-a00a-ded40ac72960. Separa più ID categoria con una virgola. Ottieni l'ID categoria con il comando list API categories.
  • ACCESS_TOKEN con il token di autenticazione utilizzato per accedere all'API Apigee Edge. Per ulteriori informazioni su autenticazione e token, vedi Autenticare l'accesso all'API Edge.
  • CATEGORY_NAME con il nome della categoria. Ad esempio, demo-backend.

Payload della risposta:

{
  "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
}

Eliminare una categoria

Quando elimini una categoria, vengono eliminati anche tutti i tag API associati.

Utilizza la UI o il comando curl per eliminare una categoria:

UI

Per eliminare una categoria:

  1. Accedi alla pagina Categorie.
  2. Posiziona il cursore del mouse sulla categoria che vuoi modificare per visualizzare il menu delle azioni.
  3. Fai clic su Elimina.
  4. Fai clic su Elimina per confermare.

curl

Per eliminare una categoria:

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"

Sostituisci quanto segue:

  • ORG_NAME con il nome dell'organizzazione. Ad esempio, my-org.
  • SITE_ID con il nome del portale, nel formato ORG_NAME-PORTAL_NAME, dove ORG_NAME è il nome dell'organizzazione e PORTAL_NAME è il nome del portale convertito in minuscolo e con spazi e trattini rimossi. Ad esempio, my-org-myportal.
  • CATEGORY_ID con l'ID della categoria. Ad esempio, bf6505eb-2a0f-47af-a00a-ded40ac72960. Ottieni l'ID categoria con il comando list API categories.
  • ACCESS_TOKEN con il token di autenticazione utilizzato per accedere all'API Apigee Edge. Per ulteriori informazioni su autenticazione e token, vedi Autenticare l'accesso all'API Edge.

Payload della risposta:

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

Risolvere i problemi relativi alle API pubblicate

Le sezioni seguenti forniscono informazioni utili per la risoluzione di errori specifici relativi alle nostre API pubblicate.

Errore: impossibile recuperare l'errore restituito durante l'utilizzo di Prova questa API

Quando utilizzi Prova questa API, se viene restituito l'errore TypeError: Failed to fetch, valuta le seguenti possibili cause e soluzioni:

  • Per gli errori relativi ai contenuti misti, l'errore potrebbe essere causato da un problema noto di swagger-ui. Un possibile workaround è assicurarti di specificare HTTPS prima di HTTP nella definizione schemes nel documento OpenAPI. Ad esempio:

    schemes:
       - https
       - http
    
  • Per gli errori di limitazione della condivisione delle risorse tra origini (CORS), assicurati che CORS sia supportato per i proxy API. CORS è un meccanismo standard che consente le richieste cross-origin lato client. Consulta Configurare il proxy API per supportare Prova questa API.

Errore: l'intestazione "Access-Control-Allow-Origin" contiene più valori "*, *", ma ne è consentito solo uno

Quando utilizzi Prova questa API, potresti ricevere il seguente messaggio di errore se l'Access-Control-Allow-Originheader esistente:

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

Per correggere questo errore, modifica il criterio AssignMessage in modo da utilizzare <Set> per impostare le intestazioni CORS anziché <Add>, come mostrato nell'estratto di seguito. Per ulteriori informazioni, consulta Errore CORS : l'intestazione contiene più valori '*, *', ma ne è consentito solo uno.

<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>

Errore: campo dell'intestazione della richiesta non consentito

Quando utilizzi Prova questa API, se ricevi un errore Request header field not allowed, simile all'esempio riportato di seguito, potrebbe essere necessario aggiornare le intestazioni supportate nel criterio CORS. Ad esempio:

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

In questo esempio, devi aggiungere l'intestazione content-type alla sezione Access-Control-Allow-Headers del criterio CORS AssignMessage, come descritto in Aggiunta di un criterio CORS a un nuovo proxy API.

Errore: accesso negato durante la chiamata a un proxy API utilizzando OAuth2

Il criterio OAuthV2 di Apigee restituisce una risposta del token contenente determinate proprietà non conformi allo standard RFC. Ad esempio, il criterio restituirà un token con il valore BearerToken anziché il valore Bearer conforme allo standard RFC. Questa risposta token_type non valida può comportare un errore Access denied quando si utilizza Prova questa API.

Per risolvere il problema, puoi creare un criterio JavaScript o AssignMessage per trasformare l'output del criterio in un formato conforme. Per ulteriori informazioni, consulta comportamento non conforme allo standard RFC.