Gestione di bundle di prodotti API

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

Raggruppa uno o più prodotti basati su API in un unico contenitore monetizzato, definito pacchetto di prodotti API, come descritto nelle sezioni seguenti.

Che cos'è un pacchetto di prodotti API?

Un pacchetto di prodotti API è una raccolta di prodotti basati su API presentata in gruppo agli sviluppatori e generalmente associata a uno o più piani tariffari per la monetizzazione. Puoi creare più pacchetti di prodotti API e includere uno o più prodotti API in ciascuno di essi. 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 utilizzare un pacchetto di prodotti API solo acquistando uno dei piani tariffari attualmente in vigore. Un pacchetto di prodotti API non diventa visibile agli sviluppatori finché non aggiungi e pubblichi (come pubblico) un piano tariffario per il pacchetto (con la data di inizio corrispondente alla data corrente o a una data futura), come descritto nella sezione Gestire i piani tariffari. Dopo aver aggiunto e pubblicato un piano tariffario, gli sviluppatori che accedono al tuo portale per sviluppatori potranno selezionare il pacchetto di prodotti API e scegliere il piano tariffario. In alternativa, puoi accettare un piano tariffario per uno sviluppatore che utilizza l'API di gestione. Per ulteriori informazioni, consulta l'articolo Acquistare piani tariffari pubblicati utilizzando l'API.

Dopo aver aggiunto un prodotto API a un pacchetto di prodotti API, potresti dover configurare i prezzi consigliati per il prodotto API. Devi eseguire questa operazione solo se si verificano tutte le seguenti condizioni:

  • Devi impostare 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 comunicarlo agli sviluppatori.

I prezzi minimo e massimo sono visualizzati nei dettagli del pacchetto di prodotti API.

Esplorare la pagina Pacchetti di prodotti

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

Perimetrale

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

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

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

Classic Edge (private cloud)

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

La pagina Pacchetti API consente di:

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

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

Aggiungere un set di prodotti

Per aggiungere un pacchetto di prodotti API:

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

    Mentre digiti il nome di un prodotto API, viene visualizzato in un menu a discesa un elenco di prodotti basati su API che contengono 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 Set di prodotti, fai clic sulla riga del set di prodotti che vuoi modificare.

    Viene visualizzato il riquadro del pacchetto di prodotti.

  2. Modifica i campi dei gruppi di prodotti come richiesto.

    Per ulteriori informazioni, consulta la sezione Configurazione del criterio di registrazione delle transazioni.

  3. Fai clic su Aggiorna pacchetto di prodotti.

Gestione di bundle di prodotti API tramite l'API

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

Creazione di un pacchetto di prodotti API utilizzando l'API

Per creare un pacchetto 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 pacchetto di prodotti API.
  • Specifica un nome e una descrizione per il pacchetto di prodotti API.
  • Imposta un indicatore di stato per il pacchetto di prodotti API. L'indicatore di stato può avere uno dei seguenti valori: CREATED, ACTIVE, INACTIVE. Attualmente, il valore dell'indicatore di stato specificato viene mantenuto nel pacchetto di prodotti dell'API, ma non viene utilizzato per alcuno scopo.

Se vuoi, puoi specificare l'organizzazione.

Consulta Proprietà di configurazione dei pacchetti di prodotti API per un elenco delle opzioni esposte all'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 ed eventuali attributi personalizzati specificati per i prodotti API. Gli attributi personalizzati vengono specificati quando crei un prodotto API. Gli attributi personalizzati di un prodotto API possono essere presi in considerazione in vari piani tariffari. Ad esempio, se imposti un piano tariffario in cui addebiti allo sviluppatore ogni transazione, puoi impostare la tariffa del piano in base a un attributo personalizzato come il numero di byte trasmessi in una transazione.

Gestione dei prodotti API in un pacchetto di prodotti API utilizzando l'API

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

Aggiunta di un prodotto API a un pacchetto di prodotti API

Per aggiungere un prodotto API a un pacchetto 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 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

Aggiunta di un prodotto API a un pacchetto di prodotti API con piani tariffari specifici del prodotto API

Per aggiungere un prodotto API a un pacchetto di prodotti API per cui sono stati definiti uno o più piani tariffari specifici del prodotto API (tariffario o quota di 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 pacchetto 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 dell'array ratePlanRates, i valori dei piani tariffari devono corrispondere a quelli specificati per tutti gli altri prodotti basati sull'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 pacchetto di prodotti API

Per eliminare un prodotto API da un pacchetto 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 pacchetto 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 pacchetti di prodotti API utilizzando l'API

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

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 pacchetto di prodotti API (l'ID viene restituito nella risposta 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 pacchetti di prodotti API: per recuperare tutti i pacchetti 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

Per filtrare i risultati, puoi passare i seguenti parametri di query:

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 è 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 è impaginato). Se il parametro di query all è impostato su true, questo parametro viene ignorato.

La risposta per la visualizzazione di tutti i pacchetti 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
}

Visualizzazione di pacchetti di prodotti API con transazioni: per recuperare i pacchetti 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 ricerca una data di inizio e una data di fine per l'intervallo di date. Ad esempio, la seguente richiesta recupera i pacchetti 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):

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

Visualizza i pacchetti di prodotti API accettati da uno sviluppatore o una società 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 i seguenti parametri di query:

Parametro di ricerca Descrizione Predefinito
current Flag che specifica se recuperare solo i pacchetti 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 pacchetti di prodotti API (allAvailable=true) o solo i pacchetti di prodotti API disponibili specificamente per lo sviluppatore o l'azienda (allAvailable=false). Tutti i pacchetti disponibili si riferiscono ai pacchetti di prodotti API disponibili per lo sviluppatore o l'azienda specificati, oltre che per altri sviluppatori o aziende. I pacchetti di prodotti API disponibili specificatamente per una società o uno sviluppatore contengono solo piani tariffari disponibili esclusivamente per l'azienda o lo sviluppatore. allAvailable=true

Ad esempio, la seguente richiesta recupera tutti i pacchetti 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 una società 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 pacchetto di prodotti API utilizzando l'API

Puoi eliminare un pacchetto di prodotti API solo se non è stato definito alcun piano tariffario.

Per eliminare un pacchetto di prodotti API in cui non sono stati definiti piani tariffari, 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 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 gruppo di prodotti API per l'API

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

Nome Descrizione Predefinito Campo obbligatorio?
description

Una descrizione del pacchetto di prodotti API.

N/A
displayName

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

N/A
name

Il nome del pacchetto di prodotti API.

N/A
organization

L'organizzazione che contiene il pacchetto di prodotti API.

N/A No
product

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

N/A No
status

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

N/A