Gestione di bundle di prodotti API

Stai visualizzando la documentazione di Apigee Edge.
Consulta la documentazione di Apigee X.
info

Raggruppa uno o più prodotti API in un unico container monetizzato, denominato bundle di prodotti API, come descritto nelle sezioni seguenti.

Che cos'è un bundle di prodotti API?

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

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

Dopo aver aggiunto un prodotto API a un bundle di prodotti API, potrebbe essere necessario configurare i punti di prezzo per il prodotto API. Devi farlo solo se sono vere tutte le seguenti condizioni:

  • Hai configurato 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 sull'importo che gli sviluppatori possono addebitare e vuoi notificare agli sviluppatori la limitazione.

I prezzi minimo e massimo vengono visualizzati nei dettagli del bundle di prodotti API.

Esplorare la pagina Bundle di prodotti

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

Edge

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

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

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

Edge classico (cloud privato)

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

La pagina Pacchetti API ti consente di:

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

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

Aggiungere un bundle di prodotti

Per aggiungere un bundle di prodotti API:

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

    Mentre digiti il nome di un prodotto API, in un elenco a discesa viene visualizzato un elenco di prodotti API che contengono la stringa. Fai clic sul nome di un prodotto API per aggiungerlo al bundle. Ripeti l'operazione 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 le norme di registrazione delle transazioni.
  6. Fai clic su Salva bundle di prodotti.

Modificare un bundle di prodotti

Per modificare un bundle di prodotti:

  1. Nella pagina Bundle di prodotti, fai clic sulla riga del bundle di prodotti che vuoi modificare.

    Viene visualizzato il riquadro del bundle di prodotti.

  2. Modifica i campi del bundle di prodotti, se necessario.

    Per ulteriori informazioni, consulta Configurare le norme di registrazione delle transazioni.

  3. Fai clic su Aggiorna bundle di prodotti.

Gestire i bundle di prodotti API utilizzando l'API

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

Creare un bundle di prodotti API utilizzando l'API

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

  • Identificare i prodotti API da includere nel bundle di prodotti API.
  • Specificare un nome e una descrizione per il bundle di prodotti API.
  • Impostare un indicatore di stato per il bundle di prodotti API. L'indicatore di stato può avere uno dei seguenti valori: CREATED, ACTIVE, INACTIVE. Al momento, il valore dell'indicatore di stato specificato viene mantenuto nel bundle di prodotti API, ma non viene utilizzato per nessuno scopo.

Facoltativamente, puoi specificare l'organizzazione.

Per un elenco delle opzioni esposte all' API, consulta Proprietà di configurazione del bundle di prodotti 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 è riportato 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"
 }

Tieni presente che la risposta include informazioni aggiuntive sui prodotti API e su eventuali attributi personalizzati specificati per questi prodotti API. Gli attributi personalizzati vengono specificati quando crei un prodotto API. Gli attributi personalizzati di un prodotto API possono essere inclusi in vari piani tariffari. Ad esempio, se configuri un piano tariffario, in cui addebiti allo sviluppatore ogni transazione, puoi impostare la tariffa per il piano in base a un attributo personalizzato, ad esempio il numero di byte trasmessi in una transazione.

Gestire i prodotti API in un bundle di prodotti API utilizzando l'API

Puoi aggiungere o eliminare un prodotto API da un bundle di prodotti API utilizzando l'API, come descritto nelle sezioni seguenti.

Aggiungere un prodotto API a un bundle di prodotti API

Per aggiungere un prodotto API a un bundle 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 bundle di prodotti API e {product_id} specifica l'ID del prodotto API.

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

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

Per aggiungere un prodotto API a un bundle di prodotti API con uno o più piani tariffari specifici per il prodotto API definiti (tariffario o condivisione delle entrate), 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 bundle di prodotti API e {product_id} specifica l'ID del prodotto API.

Devi trasmettere i dettagli del piano tariffario per il nuovo prodotto API nel corpo della richiesta. Ad eccezione di l'array ratePlanRates, i valori del piano tariffario devono corrispondere a quelli specificati per tutti gli altri prodotti API. Per ulteriori informazioni sugli attributi del piano tariffario 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

Eliminare un prodotto API da un bundle di prodotti API

Per eliminare un prodotto API da un bundle di prodotti API, invia una richiesta DELETE 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 bundle di prodotti API e {product_id} specifica l'ID del prodotto API.

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

Visualizzare i bundle di prodotti API utilizzando l'API

Puoi recuperare un bundle di prodotti API specifico o tutti i bundle di prodotti API in un'organizzazione. Puoi anche recuperare i bundle di prodotti API che hanno transazioni in un determinato intervallo di date, ovvero solo i pacchetti per i quali gli utenti richiamano le app che accedono alle API in questi pacchetti entro una data di inizio e una data di fine specificate.

Visualizzare un bundle di prodotti API specifico: per recuperare un bundle di prodotti API specifico, invia una richiesta GET a /organizations/{org_name}/monetization-packages/{package_id}, dove {package_id} è l'identificazione del bundle di prodotti API (l'ID viene restituito nella risposta quando crei il bundle 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

Visualizzare tutti i bundle di prodotti API: per recuperare tutti i bundle di prodotti API per un'organizzazione, invia una richiesta GET 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 query Descrizione
all Flag che specifica se restituire tutti i bundle di prodotti API. Se impostato su false, il numero di bundle di prodotti API restituiti per pagina è definito dal parametro di query size. Il valore predefinito è false.
size Numero di bundle di prodotti API restituiti per pagina. Il valore predefinito è 20. Se il parametro di query all è impostato su true, questo parametro viene ignorato.
page Numero della pagina che vuoi restituire (se il contenuto è paginato). Se il all parametro di query è impostato su true, questo parametro viene ignorato.

La risposta per la visualizzazione di tutti i bundle di prodotti API in un'organizzazione dovrebbe essere simile alla seguente (viene mostrata solo una 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
}

Visualizzare i bundle di prodotti API con transazioni: per recuperare i bundle di prodotti API con transazioni in un determinato intervallo di date, invia una richiesta GET a /organizations/{org_name}/packages-with-transactions. Quando invii la richiesta, devi specificare come parametri di query una data di inizio e una data di fine per l'intervallo di date. Ad esempio, la seguente richiesta recupera i bundle di prodotti API con transazioni durante il mese di 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 essere simile alla seguente (viene 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 bundle di prodotti API accettati da uno sviluppatore o da un'azienda utilizzando l'API

Visualizza i bundle di prodotti API accettati da uno sviluppatore o da un'azienda specifici inviando una richiesta GET alle seguenti API, rispettivamente:

  • /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 invii la richiesta, puoi specificare facoltativamente i seguenti parametri di query:

Parametro di query Descrizione Predefinito
current Flag che specifica se recuperare solo i bundle di prodotti API attivi (current=true) o tutti i pacchetti (current=false). Tutti i piani tariffari in un pacchetto attivo sono considerati disponibili. current=false
allAvailable Flag che specifica se recuperare tutti i bundle di prodotti API disponibili (allAvailable=true) o solo i bundle di prodotti API disponibili specificamente per lo sviluppatore o l'azienda (allAvailable=false). Tutti i bundle disponibili si riferiscono ai bundle di prodotti API disponibili per lo sviluppatore o l'azienda specifici, oltre che per altri sviluppatori o aziende. I bundle di prodotti API disponibili specificamente per un'azienda o uno sviluppatore contengono solo piani tariffari che sono disponibili esclusivamente per quell'azienda o quello sviluppatore. allAvailable=true

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

$ 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

Eliminare un bundle di prodotti API utilizzando l'API

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

Per eliminare un bundle di prodotti API senza piani tariffari definiti, invia una richiesta DELETE a organizations/{org_name}/monetization-packages/{package_id}, dove {org_name} specifica il nome della tua organizzazione e {package_id} specifica il nome del bundle 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 bundle di prodotti API (ad esempio, in un catalogo di pacchetti API ).

N/D
name

Il nome del bundle 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 bundle di prodotti API.

N/D No
status

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

N/D