Gestione di bundle di prodotti API

Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione Documentazione di Apigee X.
Informazioni

Raggruppare uno o più prodotti API in un singolo contenitore monetizzato, denominato bundle di prodotti API, come descritto nelle sezioni seguenti.

Che cos'è un bundle di prodotti API?

Un pacchetto di prodotti API è una raccolta di prodotti API presentata agli sviluppatori come gruppo e in genere associata a uno o più piani tariffari per la monetizzazione. Puoi creare più bundle di prodotti API e includere in ciascuno uno o più prodotti API. Puoi inserire lo stesso prodotto o prodotti API in pacchetti diversi e associarli a piani tariffari diversi (o uguali).

Gli sviluppatori possono registrare le loro app per l'utilizzo di un pacchetto di prodotti API solo acquistando uno dei piani tariffari attualmente in vigore. Un bundle di prodotti basati su API non diventa visibile agli sviluppatori finché non aggiungi e pubblichi (come pubblico) un piano tariffario per il pacchetto di prodotti (con una data di inizio corrispondente alla data corrente o a una data futura), come descritto in Gestione dei piani tariffari. Dopo aver aggiunto e pubblicato un piano tariffario, gli sviluppatori che accedono al portale per gli sviluppatori potranno selezionare il pacchetto di prodotti API e scegli il piano tariffario. In alternativa, puoi accettare un piano tariffario per uno sviluppatore utilizzando l'API di gestione. Per ulteriori informazioni, consulta la sezione Acquistare piani tariffari pubblicati utilizzando l'API.

Dopo aver aggiunto un prodotto API a un bundle di prodotti API, potresti dover impostare i prezzi consigliati per la prodotto basato su API. Devi eseguire questa operazione solo se tutte le seguenti condizioni sono vere:

  • Configuri un piano tariffario di condivisione delle entrate per il prodotto API.
  • Gli sviluppatori addebitano a terze parti l'utilizzo delle risorse nel prodotto API.
  • Esiste una limitazione minima o massima all'importo che gli sviluppatori possono addebitare per informare gli sviluppatori della limitazione.

Il prezzo minimo e massimo sono visualizzati nei dettagli del pacchetto di prodotti dell'API.

Esplorazione della pagina Pacchetti di prodotti

Accedi alla pagina Pacchetti di prodotti, come descritto di seguito.

Edge

Per accedere alla pagina dei bundle di prodotti API utilizzando l'interfaccia utente di Edge, seleziona Pubblica > Monetizzazione > Set di prodotti nella barra di navigazione a sinistra.

Come evidenziato nella figura precedente, la pagina Pacchetti di prodotti consente di:

Puoi gestire i prodotti API in un pacchetto di prodotti o eliminare un pacchetto di prodotti (se non sono definiti piani tariffari) utilizzando solo l'API.

Perimetrale classico (Private Cloud)

Per accedere alla pagina dei pacchetti API utilizzando l'interfaccia utente di Edge classico, seleziona Pubblica > Pacchetti nella barra di navigazione in alto.

La pagina Pacchetti API consente di:

  • Visualizza le informazioni di riepilogo per tutti i pacchetti API, inclusi i prodotti API che contiene e i piani tariffari associati
  • Aggiungi un pacchetto API
  • Modificare un pacchetto API
  • Aggiungere e gestire piani tariffari
  • Attiva/disattiva l'impostazione di accesso al piano tariffario (pubblico/privato)
  • Filtra l'elenco dei pacchetti

Puoi gestire i prodotti API in un pacchetto API o eliminare un pacchetto API (se non sono definiti piani tariffari) utilizzando solo l'API.

Aggiunta di un set di prodotti

Per aggiungere un bundle di prodotti basati su API:

  1. Fai clic su + Pacchetto di prodotti API nella pagina Pacchetti di prodotti.
  2. Inserisci un nome per il bundle di prodotti API.
  3. Inserisci il nome di un prodotto API nel campo Aggiungi prodotto.

    Quando digiti il nome di un prodotto API, viene visualizzato un elenco a discesa di prodotti API contenenti la stringa. Fai clic sul nome di un prodotto API per aggiungerlo al bundle. Ripeti la procedura per aggiungere altri prodotti API.

  4. Ripeti il passaggio 3 per aggiungere altri nomi di prodotti API.
  5. Per ogni prodotto API che aggiungi, configura il criterio di registrazione delle transazioni.
  6. Fai clic su Salva pacchetto di prodotti.

Modificare un set di prodotti

Per modificare un set di prodotti:

  1. Nella pagina Pacchetti di prodotti, fai clic all'interno della riga del set di prodotti da modificare.

    Viene visualizzato il riquadro del set di prodotti.

  2. Modifica i campi del pacchetto di prodotti, come richiesto.

    Per saperne di più, consulta la sezione Configurare il criterio di registrazione delle transazioni.

  3. Fai clic su Aggiorna pacchetto di prodotti.

Gestione di pacchetti di prodotti API tramite l'API

Le seguenti sezioni descrivono come gestire i pacchetti di prodotti API utilizzando l'API.

Creazione di un pacchetto di prodotti API mediante l'API

Per creare un bundle di prodotti API, invia una richiesta POST a /organizations/{org_name}/monetization-packages. Quando emetti la richiesta, devono:

  • Identificare i prodotti API da includere nel pacchetto di prodotti API.
  • Specifica un nome e una descrizione per il set di prodotti API.
  • Imposta un indicatore di stato per il set di prodotti API. L'indicatore di stato può avere uno dei seguenti i seguenti valori: CREATED, ACTIVE, INACTIVE. Attualmente, il valore dell'indicatore di stato specificato viene mantenuta nel bundle di prodotti API, ma non viene utilizzata per alcuno scopo.

Se vuoi, puoi specificare l'organizzazione.

Consulta le proprietà di configurazione dei pacchetti di prodotti API per un elenco delle opzioni esposte a l'API.

Ad esempio:

$ curl -H "Content-Type:application/json" -X POST -d \
'{
     "description": "payment messaging package",
     "displayName": "Payment Messaging Package",
     "name": "Payment Messaging Package",
     "organization": { "id": "{org_name}" },
     "product": [
       { "id": "messaging" },
       { "id": "payment" }
     ],
     "status": "CREATED"
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages" \
-u email:password

Di seguito viene fornito un esempio della risposta:

{
   "description" : "payment messaging package",
   "displayName" : "Payment Messaging Package",
   "id" : "payment_messaging_package",
   "name" : "Payment Messaging Package",
   "organization" : {
     "id" : "{org_name}",
     "separateInvoiceForFees" : false
   },
   "product" : [ {
     "customAtt1Name" : "user",
     "description" : "Messaging",
     "displayName" : "Messaging",
     "id" : "messaging",
     "name" : "messaging",
     "organization" : {
       "id" : "{org_name}",
       "separateInvoiceForFees" : false
     },
     "status" : "CREATED"
   }, {
     "customAtt1Name" : "user",
     "description" : "Payment",
     "displayName" : "Payment",
     "id" : "payment",
     "name" : "payment",
     "organization" : {
       "id" : "{org_name}",
       "separateInvoiceForFees" : false
     },
     "status" : "CREATED"
   }],
   "status" : "CREATED"
 }

Nota che la risposta include informazioni aggiuntive sui prodotti API e qualsiasi gli attributi specificati per i prodotti API in questione. Gli attributi personalizzati vengono specificati quando crei prodotto API.) Gli attributi personalizzati di un prodotto API possono essere presi in considerazione in vari piani tariffari. Per Ad esempio, se imposti un piano tariffario, in cui addebiti allo sviluppatore ogni transazione, puoi impostare la tariffa per il piano in base a un attributo personalizzato come il numero di byte trasmessi in una transazione.

Gestione tramite API dei prodotti API in un bundle di prodotti API

È possibile aggiungere o eliminare un prodotto API da un bundle di prodotti API utilizzando l'API, come descritto in le sezioni seguenti.

Aggiunta di un prodotto API a un bundle di prodotti API

Per aggiungere un prodotto API a un set di prodotti API, invia una richiesta POST a organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}, dove {org_name} specifica il nome della tua organizzazione, {package_id} specifica il nome del pacchetto di prodotti API e {product_id} specifica l'ID dell'API prodotto.

Ad esempio:

$ curl -H "Accept:application/json" -X POST -d \
'{}'\
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}" \
-u email:password

Aggiunta di un prodotto API a un bundle di prodotti API con API piani tariffari specifici per prodotto

Aggiungere un prodotto API a un pacchetto di prodotti API che abbia uno o più piani tariffari specifici del prodotto API. definita (tariffario o quota di condivisione delle entrate), emetti una richiesta POST organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}, dove {org_name} specifica il nome della tua organizzazione, {package_id} specifica il nome del pacchetto di prodotti API e {product_id} specifica l'ID dell'API prodotto.

Devi trasmettere i dettagli del piano tariffario per il nuovo prodotto API nel corpo della richiesta. Fatta eccezione per nell'array ratePlanRates, i valori del piano tariffario devono corrispondere a quelli specificati per tutti con altri prodotti basati su API. Per ulteriori informazioni sugli attributi dei piani tariffari che possono essere definiti, consulta Proprietà di configurazione per i piani tariffari.

Ad esempio:

$ curl -H "Content-Type:application/json" -X POST -d \
'{
    "ratePlan": [ 
        {
            "id": "mypackage_rateplan1",
            "ratePlanDetails": [
                {
                    "currency": {
                        "id": "usd"
                    },
                    "duration": 1,
                    "durationType": "MONTH",
                    "meteringType": "UNIT",
                    "organization" : {
                        "id": "{org_name}",
                    "paymentDueDays": "30",
                    "ratePlanRates": [
                        {
                            "rate": "1.99",
                            "startUnit": "0",
                            "type": "RATECARD"
                        }
                    ],
                    "ratingParameter": "VOLUME",
                    "type": "RATECARD"
                }
            ]
        }
    ]
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}" \
-u email:password

Eliminazione di un prodotto API da un bundle di prodotti API

Per eliminare un prodotto API da un bundle di prodotti API, invia una richiesta DELETE al organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}, dove {org_name} specifica il nome della tua organizzazione, {package_id} specifica il nome del pacchetto di prodotti API e {product_id} specifica l'ID dell'API prodotto.

Ad esempio:

$ curl -H "Accept:application/json" -X DELETE \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}" \
-u email:password

Visualizzazione dei pacchetti di prodotti API mediante l'API

Puoi recuperare uno specifico bundle di prodotti API o tutti i pacchetti di prodotti API di un'organizzazione. Puoi anche recupera i pacchetti di prodotti API con transazioni in un determinato intervallo di date, ovvero solo i pacchetti Quali utenti richiamano le app che accedono alle API in questi pacchetti entro un inizio e una fine specificati data.

Visualizzazione di un pacchetto di prodotti API specifico:per recuperare un pacchetto di prodotti API specifico, invia una richiesta GET a /organizations/{org_name}/monetization-packages/{package_id}, dove {package_id} è l'identificazione del set di prodotti API (l'ID viene restituito nel quando crei il pacchetto di prodotti API). Ad esempio:

$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/payment_messaging_package" \
-u email:password

Visualizzazione di tutti i bundle di prodotti API: per recuperare tutti i pacchetti di prodotti API per un'organizzazione, invia un messaggio GET richiesta a /organizations/{org_name}/monetization-packages. Ad esempio:

$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages" \
-u email:password

Puoi passare i seguenti parametri di query per filtrare i risultati:

Parametro di ricerca Descrizione
all Flag che specifica se restituire tutti i pacchetti di prodotti API. Se impostato su false, il numero di pacchetti di prodotti API restituiti per pagina è definita dal parametro di query size. Il valore predefinito è false.
size Numero di pacchetti di prodotti API restituiti per pagina. Il valore predefinito è 20. Se la query all è impostato su true, questo parametro viene ignorato.
page Numero della pagina da restituire (se i contenuti sono impaginati). Se il parametro di query all è impostato su true, questo viene ignorato.

La risposta per la visualizzazione di tutti i bundle di prodotti API in un'organizzazione dovrebbe essere simile alla seguente (solo parte della risposta:

{
  "monetizationPackage" : [ {
    "description" : "payment messaging package",
    "displayName" : "Payment Messaging Package",
    "id" : "payment_messaging_package",
    "name" : "Payment Messaging Package",
    "organization" : {
      ...
    },
    "product" : [ {
      "customAtt1Name" : "user",
      "description" : "Messaging",
      "displayName" : "Messaging",
      "id" : "messaging",
      "name" : "messaging",
      "organization" : {
        ...
      },
      "status" : "CREATED"
    }, {
      "customAtt1Name" : "user",
      "description" : "Payment",
      "displayName" : "Payment",
      "id" : "payment",
      "name" : "payment",
      "organization" : {
        ...
      },
      "status" : "CREATED"
    } ],
    "status" : "CREATED"
  }, {
    "description" : "Communications",
    "displayName" : "Communications",
    "id" : "communications",
    "name" : "Communications",
    "organization" : {
      ...
    },
    "product" : [ {
      "customAtt1Name" : "user",
      "description" : "Location",
      "displayName" : "Location",
      "id" : "location",
      "name" : "location",
      "organization" : {
        ...
      },
      "status" : "CREATED"
    }, {
      "customAtt1Name" : "user",
      "description" : "Messaging",
      "displayName" : "Messaging",
      "id" : "messaging",
      "name" : "messaging",
      "organization" : {
        ...
      },
      "status" : "CREATED"
    } ],
    "status" : "CREATED"
  }, {
    "description" : "Payment",
    "displayName" : "Payment",
    "id" : "payment",
    "name" : "Payment",
    "organization" : {
     ...
    },
    "product" : [ {
      "customAtt1Name" : "user",
      "description" : "Payment",
      "displayName" : "Payment",
      "id" : "payment",
      "name" : "payment",
      "organization" : {
        ...
      },
      "status" : "CREATED"
    } ],
    "status" : "CREATED"
  } ],
  "totalRecords" : 3
}

Visualizzazione di set di prodotti API con transazioni: per recuperare i pacchetti di prodotti API con transazioni in un di un determinato intervallo di date, emetti una richiesta GET /organizations/{org_name}/packages-with-transactions. Quando emetti la richiesta, devi specificare come parametri di query una data di inizio e una data di fine per l'intervallo di date. Per Ad esempio, la seguente richiesta recupera i pacchetti di prodotti API con transazioni durante il mese Agosto 2013.

$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/packages-with-transactions?START_DATE=2013-08-01&END_DATE=2013-08-31" \
-u email:password

La risposta dovrebbe avere un aspetto simile al seguente (è mostrata solo una parte della risposta):

{
  "monetizationPackage" : [ {
    "description" : "Payment Package",
    "displayName" : "Payment Package",
    "id" : "payment_package",
    "name" : "Payment Package",
    "organization" : {
      ...
    },
    "product" : [ {
      "customAtt1Name" : "user",
      "customAtt2Name" : "response size",
      "customAtt3Name" : "content-length",
      "description" : "payment api product",
      "displayName" : "payment",
      "id" : "payment",
      "name" : "payment",
      "organization" : {
        ...
      },
      "status" : "CREATED",
      "transactionSuccessCriteria" : "status == 'SUCCESS'"
    } ],
    "status" : "CREATED"
  }, {
    "description" : "messaging package",
    "displayName" : "Messaging Package",
    "id" : "messaging_package",
    "name" : "Messaging Package",
    "organization" : {
      ...
    },
    "product" : [ {
      "customAtt1Name" : "user",
      "customAtt2Name" : "response size",
      "customAtt3Name" : "content-length",
      "description" : "messaging api product",
      "displayName" : "messaging",
      "id" : "messaging",
      "name" : "messaging",
      "organization" : {
        ...
      },
      "status" : "CREATED",
      "transactionSuccessCriteria" : "status == 'SUCCESS'"
    } ],
    "status" : "CREATED"
  },
     ...
  } ]
}

Visualizzare i pacchetti di prodotti API accettati da uno sviluppatore o da un'azienda utilizzando l'API

Visualizzare i bundle di prodotti API accettati da uno sviluppatore o da una società specifica inviando un GET rispettivamente alle seguenti API:

  • /organizations/{org_name}/developers/{developer_id}/monetization-packages, dove {developer_id} è l'ID (indirizzo email) dello sviluppatore.
  • /organizations/{org_name}/companies/{company_id}/monetization-packages, dove {company_id} è l'ID dell'azienda.

Quando emetti la richiesta, puoi specificare i seguenti parametri di query facoltativamente:

Parametro di ricerca Descrizione Predefinito
current Flag che specifica se recuperare solo i pacchetti di prodotti API attivi (current=true) o tutti di spedizione (current=false). Tutti i piani tariffari in un pacchetto attivo sono considerati disponibili. current=false
allAvailable Flag che specifica se recuperare tutti i pacchetti di prodotti API disponibili (allAvailable=true) oppure solo bundle di prodotti basati su API disponibili appositamente per lo sviluppatore o l'azienda (allAvailable=false). "Tutti disponibili" si riferisce ai pacchetti di prodotti API disponibili per lo sviluppatore o l'azienda specificati, oltre a da parte di altri sviluppatori o aziende. I pacchetti di prodotti basati su API, disponibili specificamente per una società o uno sviluppatore, contengono solo piani tariffari disponibili esclusivamente per l'azienda o lo sviluppatore in questione. allAvailable=true

Ad esempio, la seguente richiesta recupera tutti i bundle di prodotti API accettati da una specifica sviluppatore:

$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/developers/dev1@myorg.com/monetization-packages" \
-u email:password

La seguente richiesta recupera solo i pacchetti API attivi accettati da un'azienda specifica:

$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/companies/myCompany/monetization-packages?current=true" \
-u email:password

Eliminazione di un pacchetto di prodotti API mediante l'API

Puoi eliminare un pacchetto di prodotti API solo se non sono stati definiti piani tariffari.

Per eliminare un bundle di prodotti API per cui non sono stati definiti piani tariffari, invia una richiesta DELETE per organizations/{org_name}/monetization-packages/{package_id}, dove {org_name} specifica il nome della tua organizzazione e {package_id} specifica il nome del pacchetto di prodotti API.

Ad esempio:

$ curl -H "Accept:application/json" -X DELETE \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/{package_id}" \
-u email:password

Proprietà di configurazione del bundle di prodotti API per l'API

Le seguenti opzioni di configurazione del bundle di prodotti API sono esposte all'API:

Nome Descrizione Predefinito Obbligatorio?
description

Una descrizione del bundle di prodotti API.

N/D
displayName

Il nome da visualizzare per il pacchetto di prodotti API (ad esempio, in un catalogo di API pacchi).

N/D
name

Il nome del pacchetto di prodotti API.

N/D
organization

L'organizzazione che contiene il bundle di prodotti API.

N/D No
product

Un array di uno o più prodotti nel pacchetto di prodotti API.

N/D No
status

Un indicatore di stato per il set di prodotti API. L'indicatore di stato può avere uno dei seguenti i seguenti valori: CREATED, ACTIVE, INACTIVE.

N/D