Configurare il piano tariffario con attributi personalizzati

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

Introduzione

In alcuni casi, potrebbe essere necessario che i contatori delle transazioni si basino su una variabile o un valore personalizzato. Ad esempio, potresti dover:

  • Addebita agli sviluppatori un importo variabile in base a un valore fornito nel messaggio di una chiamata API. Ad esempio, puoi addebitare agli sviluppatori di app gli addebiti in base al numero di byte trasmessi nella richiesta API.
  • Raggruppare più chiamate API in una singola transazione.

Utilizzando i piani tariffari con attributi personalizzati, puoi identificare un valore nel messaggio di una chiamata API che agisce come contatore e che viene utilizzato per calcolare i conteggi e gli addebiti delle transazioni.

Sono supportati i seguenti piani tariffari con attributi personalizzati:

  • Tariffario con attributo personalizzato
  • Notifica regolabile con attributo personalizzato

Puoi impostare un massimo di dieci attributi personalizzati per piano tariffario.

Informazioni sui calcoli di attributi personalizzati

Il modo in cui il valore dell'attributo personalizzato viene preso in considerazione nei conteggi e negli addebiti delle transazioni del piano tariffario dipende dal modello di addebito, come riepilogato nella tabella seguente.

Modello di ricarica Calcolo di attributi personalizzati
Costo fisso e volume con bande

custom attribute number * rate = charge to developer

Per un costo fisso, il numero dell'attributo personalizzato diventa il numero di transazioni che vengono moltiplicate per la tariffa. Per Banda di volume, il numero di transazioni in una banda è aumentato del numero dell'attributo personalizzato e allo sviluppatore viene addebitato il numero di transazioni. Ad esempio, se il valore di un attributo personalizzato nel messaggio è 10, allo sviluppatore vengono addebitate 10 transazioni e 10 transazioni vengono aggiunte al conteggio della banda corrente. Se per lo sviluppatore restano solo 6 transazioni nella banda corrente, 6 viene moltiplicato per il tasso relativo a quella banda. I restanti 4 vanno nella banda successiva e vengono moltiplicati per la tariffa di tale banda.

In un piano con banda di volume, se l'ultima banda di volume ha un limite (non è "illimitato") e una transazione lo supera, si verificano due casi:

Bundles

Poiché i pacchetti vengono addebitati dal gruppo, non dalla transazione, si verifica il seguente calcolo:

custom attribute number = amount added to bundle count

Ad esempio, se il numero di attributo personalizzato nel messaggio è 10, 10 viene aggiunto al numero di transazioni utilizzate nel bundle. Se lo sviluppatore disponeva di solo 6 transazioni rimanenti nel bundle corrente, quest'ultimo viene riempito e il numero di bundle successivo viene incrementato di 4. Viene addebitata la tariffa per l'eventuale bundle successivo.

Se l'ultimo bundle ha un limite (non è "illimitato") e una transazione supera questo limite, si verificano due casi:

Notifiche regolabili

Per la notifica regolabile, si verifica il seguente calcolo:

custom attribute number = amount added to transaction count

Ad esempio, se il numero di attributo personalizzato nel messaggio è 10, 10 viene aggiunto al numero totale di transazioni.

Dove il piano tariffario ottiene il valore dell'attributo personalizzato

Le norme sulla registrazione delle transazioni (sul pacchetto di prodotti API) indicano alla monetizzazione dove cercare nel messaggio il valore dell'attributo personalizzato. Definisci l'attributo personalizzato nella sezione Attributi personalizzati della norma di registrazione delle transazioni per il pacchetto di prodotti API.

Poi, puoi selezionare l'attributo personalizzato nel piano tariffario dopo aver creato un pacchetto di prodotti API contenente la norma di registrazione delle transazioni con l'attributo personalizzato definito.

Ecco il flusso generale:

  1. Definisci gli attributi personalizzati quando aggiungi un prodotto API.
  2. Crea un pacchetto di prodotti API contenente il prodotto.
    Nella norma di registrazione delle transazioni per il pacchetto di prodotti API, aggiungi gli attributi personalizzati che verranno utilizzati per definire i piani tariffari.
  3. Crea un piano tariffario di tipo tariffario o notifica modificabile per il pacchetto di prodotti API e specifica un parametro di valutazione personalizzato.

La figura seguente mostra la relazione tra l'attributo personalizzato definito nella norma di registrazione delle transazioni e la configurazione del piano tariffario. La notifica regolabile con la relazione del piano tariffario con attributo personalizzato è simile, anche se il valore con banda in base al volume non è applicabile.

Come generare il valore dell'attributo personalizzato nel messaggio

Il criterio di registrazione delle transazioni può cercare il valore dell'attributo personalizzato in diverse posizioni, ad esempio nell'intestazione della risposta, nel corpo della risposta o nelle variabili di flusso predefinite nella risposta. La richiesta non è disponibile, perché la transazione non sarà ufficiale finché non avrai ricevuto una risposta. Di seguito sono riportati alcuni esempi che mostrano come aggiungere al messaggio un'intestazione della risposta con il relativo valore numerico. In entrambi i casi, utilizzeremo le norme relative all'assegnazione dei messaggi insieme alle variabili.

Aggiunta delle dimensioni del payload della richiesta all'intestazione della risposta

In ogni richiesta di messaggio è presente una variabile client.received.content.length che contiene il numero di byte nel payload della richiesta. Allegando un criterio di assegnazione dei messaggi alla risposta dell'endpoint proxy, possiamo generare un'intestazione della risposta denominata messageSize che contiene il valore di lunghezza:

<AssignMessage async="false" continueOnError="false" enabled="true" name="Assign-Message-1">
    <DisplayName>Assign Message 1</DisplayName>
    <Set>
        <Headers>
          <Header name="messageSize">{client.received.content.length}</Header> 
        </Headers>  
    </Set>
    <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
    <AssignTo createNew="false" transport="http" type="request"/>
</AssignMessage>

Aggiunta di un valore di attributo personalizzato dell'app all'intestazione

Più o meno allo stesso modo, possiamo generare un'intestazione con il valore di un attributo personalizzato in un'app. Ad esempio, se includi un attributo personalizzato denominato apprating in ogni app per sviluppatori, come segue:

Quando utilizzi la norma di verifica della chiave API (obbligatoria per la monetizzazione), questo valore viene archiviato in una variabile chiamata verifyapikey.{policy_name}.apprating. Utilizzando il criterio Assegna messaggio associato alla risposta dell'endpoint proxy, potresti generare un'intestazione denominata apprating contenente il valore apprating dell'app:

<AssignMessage async="false" continueOnError="false" enabled="true" name="Assign-Message-1">
    <DisplayName>Assign Message 1</DisplayName>
    <Set>
        <Headers>
          <Header name="apprating">{verifyapikey.Verify-API-Key-1.apprating}</Header> 
        </Headers>  
    </Set>
    <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
    <AssignTo createNew="false" transport="http" type="request"/>
</AssignMessage>

Configurazione del piano tariffario

A parte la configurazione degli attributi personalizzati descritta sopra, il piano tariffario è configurato come di consueto (per i piani tariffari senza attributi personalizzati), ma deve soddisfare i seguenti requisiti.

Configurare il piano tariffario con attributo personalizzato utilizzando l'interfaccia utente

Configura i piani tariffari con attributi personalizzati utilizzando l'UI di Edge o la UI classica di Edge, come descritto nelle sezioni seguenti.

Perimetrale

Per configurare un piano tariffario con attributi personalizzati utilizzando l'interfaccia utente Edge:

  1. Definisci gli attributi personalizzati quando aggiungi un prodotto API.
  2. Crea un pacchetto di prodotti API contenente il prodotto. Consulta la sezione Creare pacchetti di prodotti basati su API.
    Nella norma di registrazione delle transazioni per il pacchetto di prodotti API, aggiungi gli attributi personalizzati che verranno utilizzati per definire i piani tariffari. Per maggiori dettagli, consulta l'introduzione a questo argomento e consulta Creare una norma di registrazione delle transazioni.
  3. Crea un piano tariffario per il pacchetto di prodotti API e specifica un parametro di valutazione personalizzato.

Per ulteriori informazioni, consulta Configurare i dettagli dei piani relativi al tariffario utilizzando l'interfaccia utente.

Classic Edge (private cloud)

Segui questi passaggi per creare un tariffario con un piano di attributi personalizzati utilizzando l'interfaccia utente classica di Edge:

  1. Nella norma di registrazione delle transazioni di un prodotto API, aggiungi gli attributi personalizzati che verranno utilizzati per definire i piani tariffari. Per maggiori dettagli, consulta l'introduzione a questo argomento e consulta l'articolo su come creare una norma di registrazione delle transazioni. Esegui questa operazione per ogni prodotto API che vuoi includere nel pacchetto API.
  2. Dopo aver configurato i prodotti API e i criteri di registrazione delle transazioni esattamente come vuoi, crea un pacchetto API contenente il prodotto. Vedi Creare pacchetti di API.
  3. Crea un piano tariffario per il pacchetto API, selezionando il tipo di piano tariffario di Tariffario con attributo personalizzato.
  4. Fai clic sul link Tariffario. Si apre la finestra Tariffario.

  5. Seleziona un attributo personalizzato nel menu a discesa Attributo personalizzato. Il menu elenca gli attributi personalizzati creati per il prodotto in una norma di registrazione delle transazioni. Allo sviluppatore viene addebitato un costo in base al valore dell'attributo personalizzato selezionato all'interno di ogni transazione.
    (Valore dell'attributo * tariffa = addebito allo sviluppatore)
  6. Se vuoi, configura un piano freemium come descritto in Specificare i dettagli del piano tariffario.
  7. Configura un modello di addebito come descritto in Specificare i dettagli del piano tariffario. Tuttavia, tieni presente che per il tipo di piano tariffario con attributo personalizzato, il modello di addebito si basa sull'attributo personalizzato selezionato. Ad esempio, se scegli Costo fisso come modello di addebito, allo sviluppatore viene addebitata una tariffa fissa in base all'attributo personalizzato, ad esempio il numero di byte trasmessi in ogni transazione (non una tariffa fissa per ogni transazione). Per ulteriori informazioni, consulta Calcoli.
  8. Fai clic su Salva bozza.
    Pubblica il piano solo quando hai la certezza assoluta che sia definitivo. Consulta la pagina relativa alla pubblicazione dei piani tariffari per informazioni su come impostare la data di pubblicazione e pubblicare il piano.

Per ulteriori informazioni, consulta la sezione Specificare i dettagli dei piani tariffari mediante l'interfaccia utente.

Configurazione di un piano di notifica regolabile con attributi personalizzati utilizzando l'interfaccia utente

Configura piani di notifica modificabili con attributi personalizzati, come descritto di seguito.

Perimetrale

Per configurare un piano tariffario con attributi personalizzati utilizzando l'interfaccia utente Edge:

  1. Definisci gli attributi personalizzati quando aggiungi un prodotto API.
  2. Crea un pacchetto di prodotti API contenente il prodotto. Consulta la sezione Creare pacchetti di prodotti basati su API.
    Nella norma di registrazione delle transazioni per il pacchetto di prodotti API, aggiungi gli attributi personalizzati che verranno utilizzati per definire i piani tariffari. Per maggiori dettagli, consulta l'introduzione a questo argomento e consulta Creare una norma di registrazione delle transazioni.
  3. Crea un piano tariffario per il pacchetto di prodotti API e specifica un parametro di valutazione personalizzato.

Per saperne di più, vedi Configurare un piano di notifica regolabile utilizzando l'interfaccia utente.

Classic Edge (private cloud)

Per configurare un piano tariffario con attributi personalizzati utilizzando l'interfaccia utente classica di Edge:

  1. Nella norma di registrazione delle transazioni di un prodotto API, aggiungi gli attributi personalizzati che verranno utilizzati per definire i piani tariffari. Per maggiori dettagli, consulta l'introduzione a questo argomento e consulta l'articolo su come creare una norma di registrazione delle transazioni. Esegui questa operazione per ogni prodotto API che vuoi includere nel pacchetto API.
  2. Dopo aver configurato i prodotti API e i criteri di registrazione delle transazioni esattamente come vuoi, crea un pacchetto API contenente il prodotto. Vedi Creare pacchetti di API.
  3. Crea un piano tariffario per il pacchetto API, selezionando il tipo di piano tariffario Notifica variabile con attributo personalizzato.
  4. Fai clic sul link Dettagli. Si apre la finestra Notifica regolabile.

  5. Seleziona un attributo personalizzato nel menu a discesa Attributo personalizzato. Il menu elenca gli attributi personalizzati creati per il prodotto in una norma di registrazione delle transazioni. Il numero totale di transazioni dello sviluppatore viene calcolato sul valore dell'attributo personalizzato selezionato all'interno di ciascuna transazione.
  6. Imposta la Base di aggregazione sul periodo di tempo durante il quale viene aggregato il volume delle transazioni. Seleziona un numero compreso tra 1 e 24 mesi. Per impostazione predefinita, questo valore è di 1 mese.
  7. Fai clic su Applica e chiudi.
  8. Fai clic su Salva bozza.
    Pubblica il piano solo quando hai la certezza assoluta che sia definitivo. Consulta la pagina relativa alla pubblicazione dei piani tariffari per informazioni su come impostare la data di pubblicazione e pubblicare il piano.

Per maggiori informazioni, consulta la sezione Specificare i dettagli del piano di notifica regolabile utilizzando l'interfaccia utente.

Specificare i dettagli di un piano tariffario con attributi personalizzati utilizzando l'API

Completa i seguenti passaggi preliminari:

  1. Nella norma di registrazione delle transazioni di un prodotto API, aggiungi gli attributi personalizzati che verranno utilizzati per definire i piani tariffari. Per maggiori dettagli, consulta l'introduzione a questo argomento e consulta l'articolo su come creare una norma di registrazione delle transazioni. Esegui questa operazione per ogni prodotto API che vuoi includere nel pacchetto API.
  2. Dopo aver configurato i prodotti API e i criteri di registrazione delle transazioni esattamente come vuoi, crea un pacchetto API contenente il prodotto. Vedi Creare pacchetti di API.

Successivamente, devi utilizzare l'API per creare il piano tariffario.

I dettagli di un piano tariffario con attributi personalizzati vengono specificati al momento della creazione del piano tariffario. Devi specificare i dettagli nella proprietà ratePlanDetails all'interno del corpo della richiesta in una chiamata a /organizations/{org_name}/monetization-packages/{package_id}/rate-plans. Nei dettagli, specifichi un valore parametro di valutazione che identifica il nome dell'attributo personalizzato. Puoi anche specificare un valore di parametro di valutazione che aggrega l'attributo personalizzato in un intervallo di tempo specificato.

Consulta la sezione Impostazioni di configurazione dei dettagli dei piani tariffari per un elenco completo delle opzioni relative ai dettagli dei piani tariffari.

Ad esempio, quanto riportato di seguito crea un tariffario con un piano attributo personalizzato basato su un attributo personalizzato denominato messageSize (vedi gli elementi in grassetto).

$ curl -H "Content-Type:application/json" -X POST -d \
'{
   "name": "Custom attribute-based rate card plan",
   "developer":null,
   "developerCategory":null,
   "currency": {
     "id" : "usd"
     },     
   "description": "Custom attribute-based rate card plan",
   "displayName" : "Custom attribute-based rate card plan",
   "frequencyDuration": "1",
   "frequencyDurationType": "MONTH",
   "earlyTerminationFee": "10",
   "monetizationPackage": {
      "id": "location"
        },
      "organization": {
       "id": "{org_name}"
      },    
   "paymentDueDays": "30",
   "prorate": "false",
   "published": "false",     
   "ratePlanDetails":[
      {
        "currency":{
           "id":"usd"
        },
      "duration":1,
      "durationType":"MONTH",
      "meteringType":"VOLUME",
      "paymentDueDays":"30",
      "ratingParameter":"messageSize",
      "ratingParameterUnit":"MB",
      "organization":{
         "id":"{org_name}"
      },
      "ratePlanRates":[
         {
           "rate":0.15,
           "startUnit":0,
           "type":"RATECARD",
           "endUnit":1000
         },
         {
           "rate":0.1,
           "startUnit":1000,
           "type":"RATECARD",
           "endUnit":null
         }
      ],
      "freemiumUnit":0,
      "freemiumDuration":0,
      "freemiumDurationType":"MONTH",
      "type":"RATECARD",
      "customPaymentTerm":false
      }
    ],
    "freemiumUnit":0,
    "freemiumDuration":0,
    "freemiumDurationType":"MONTH",
    "contractDuration":"1",
    "contractDurationType":"YEAR", 
    "recurringStartUnit": 1,
    "recurringType": "CALENDAR",
    "recurringFee": "10",
    "setUpFee": "10",
    "startDate": "2013-09-15 00:00:00",
    "type": "STANDARD"
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/location/rate-plans" \
-u email:password

Quanto segue crea un piano tariffario di Notifica regolabile con attributo personalizzato basato su un attributo personalizzato denominato messageSize (vedi l'elemento in grassetto).

$ curl -H "Content-Type:application/json" -X POST -d \
'{
     "name": "AdjustableNotification",
     "displayName": "Custom attribute-based adjustable notification plan",
     "description": "Custom attribute-based adjustable notification plan",
     "published": "true",  
     "organization": {
      "id": "myorg"
     },
     "startDate": "2016-04-15 00:00:00",
     "type": "STANDARD",
     "monetizationPackage": {
        "id": "p1",
        "name": "test"
     },
     "currency": {
        "id" : "usd",
        "name" : "USD"
     },
     "ratePlanDetails": [
        {
           "type": "USAGE_TARGET",
           "meteringType": "DEV_SPECIFIC",
           "duration": 1,
           "durationType": "MONTH",
           "ratingParameter": "messageSize",
           "ratingParameterUnit": "MB",
           "organization": {
             "id": "myorg"
           },
           "currency": {
             "id": "usd",
             "name": "USD"
           }
        }
     ]
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/myorg/monetization-packages/p1/rate-plans"  \
-u email:password