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, potresti dover basare i contatori delle transazioni su un valore variabile o 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, potresti voler addebitare agli sviluppatori di app un importo in base al numero di byte trasmessi nella richiesta API.
  • Raggruppa più chiamate API in un'unica transazione.

Utilizzando i piani tariffari con attributi personalizzati, puoi identificare un valore nel messaggio di una chiamata API che funge da contatore e 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 modificabile con attributo personalizzato

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

Informazioni sui calcoli degli attributi personalizzati

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

Modello di ricarica Calcolo dell'attributo personalizzato
Tariffa fissa e fasce di volume

custom attribute number * rate = charge to developer

Per una tariffa fissa, il numero dell'attributo personalizzato diventa il numero di transazioni moltiplicate per la tariffa. Per la tariffa a fasce di volume, il numero di transazioni in una fascia viene incrementato del numero di attributi personalizzati e allo sviluppatore viene addebitato questo 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 attuale della fascia. Se lo sviluppatore aveva solo 6 transazioni rimanenti nel gruppo corrente, 6 viene moltiplicato per l'aliquota prevista per quel gruppo. I 4 rimanenti vanno alla fascia successiva e vengono moltiplicati per la tariffa della fascia.

In un piano con fasce di volume, se l'ultima fascia di volume ha un limite (non è "illimitata") e una transazione supera questo limite, si verificano due cose:

Bundle

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 dell'attributo personalizzato nel messaggio è 10, questo valore viene aggiunto al numero di transazioni utilizzate nel set. Se lo sviluppatore ha solo 6 transazioni rimanenti nel bundle corrente, questo viene completato e il conto del bundle successivo viene incrementato di 4. Viene addebitata la tariffa per l'eventuale pacchetto successivo.

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

Notifiche regolabili

Per le notifiche regolabili, viene eseguito il seguente calcolo:

custom attribute number = amount added to transaction count

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

Dove il piano tariffario ottiene il valore dell'attributo personalizzato

Le norme di registrazione delle transazioni (nel set di prodotti dell'API) indicano alla monetizzazione dove cercare nel messaggio il valore dell'attributo personalizzato. Devi definire l'attributo personalizzato nella sezione Attributi personalizzati del criterio di registrazione delle transazioni per il bundle di prodotti API.

Dopo aver creato un set di prodotti API contenente il criterio di registrazione delle transazioni con l'attributo personalizzato definito, puoi selezionare l'attributo personalizzato nel piano tariffario.

Ecco il flusso di alto livello:

  1. Definisci gli attributi personalizzati quando aggiungi un prodotto API.
  2. Crea un pacchetto di prodotti API che contenga il prodotto.
    Nelle norme di registrazione delle transazioni per il set di prodotti API, aggiungi gli attributi personalizzati che verranno utilizzati per definire i piani tariffari.
  3. Crea un piano tariffario di tipo scheda tariffaria o notifica regolabile per il pacchetto di prodotti API e specifica un parametro di classificazione personalizzato.

La figura seguente mostra la relazione tra l'attributo personalizzato definito nel criterio di registrazione delle transazioni e la configurazione del piano tariffario. La notifica aggiustabile con la relazione del piano tariffario dell'attributo personalizzato è simile, anche se il valore con fasce di 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 più posizioni, come l'intestazione della risposta, il corpo della risposta o le variabili di flusso predefinite nella risposta. La richiesta non è disponibile perché una transazione non è ufficiale finché non ricevi una risposta positiva. Di seguito sono riportati alcuni esempi che mostrano come aggiungere al messaggio un'intestazione di risposta con il relativo valore numerico. In entrambi i casi, utilizzeremo il criterio Assegna messaggio 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. Se colleghi un criterio Assegna messaggio alla risposta dell'endpoint proxy, possiamo generare un'intestazione di risposta denominata messageSize che contiene il valore della 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

In modo simile, 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 sviluppatore, come segue:

Quando utilizzi il criterio Verifica chiave API (obbligatorio per la monetizzazione), questo valore viene memorizzato in una variabile denominata 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 dell'attributo personalizzato descritta sopra, il piano tariffario viene configurato come faresti normalmente (per i piani tariffari senza attributi personalizzati), ma deve rispettare i seguenti requisiti.

Configurazione del piano tariffario con attributo personalizzato utilizzando l'interfaccia utente

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

Edge

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

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

Per ulteriori informazioni, consulta Configurare i dettagli del piano tariffario utilizzando la UI.

Edge classico (private cloud)

Per creare una tariffa con un piano di attributi personalizzati utilizzando l'interfaccia utente classica di Edge:

  1. Nelle norme di registrazione delle transazioni di un prodotto API, aggiungi gli attributi personalizzati che verranno utilizzati per definire i piani tariffari. Per i dettagli, consulta l'introduzione in questo argomento e consulta la sezione Creare una norma di registrazione delle transazioni. Ripeti l'operazione per ogni prodotto API che vuoi includere nel pacchetto API.
  2. Dopo aver configurato correttamente i prodotti API e le norme di registrazione delle transazioni nel modo desiderato, crea un pacchetto API che contenga il prodotto. Consulta Creare pacchetti API.
  3. Crea un piano tariffario per il pacchetto API, selezionando il tipo di piano tariffario Tariffario con attributo personalizzato.
  4. Fai clic sul link Tariffario. Si apre la finestra Tariffa.

  5. Seleziona un attributo personalizzato nel menu a discesa Attributo personalizzato. Il menu elenca gli attributi personalizzati creati per il prodotto in un criterio di registrazione delle transazioni. Lo sviluppatore viene addebitato 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 dei piani tariffari.
  7. Configura un modello di addebito come descritto in Specificare i dettagli del piano della scheda tariffaria. Tieni presente, tuttavia, che per il tipo di piano tariffario Tariffa con attributo personalizzato, il modello di fatturazione si basa sull'attributo personalizzato selezionato. Ad esempio, se scegli la tariffa fissa come modello di addebito, allo sviluppatore viene addebitata una tariffa fissa in base all'attributo personalizzato, come il numero di byte trasmessi in ogni transazione (non una tariffa fissa per ogni transazione). Per saperne di più, consulta la sezione Calcoli.
  8. Fai clic su Salva bozza.
    Pubblica il piano solo quando hai la certezza che sia definitivo. Per informazioni su come impostare la data di pubblicazione e pubblicare il piano, consulta la sezione Piani di frequenza di pubblicazione.

Per ulteriori informazioni, consulta Specificare i dettagli del piano tariffario utilizzando la UI.

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

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

Edge

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

  1. Definisci gli attributi personalizzati quando aggiungi un prodotto API.
  2. Crea un pacchetto di prodotti API che contenga il prodotto. Consulta Creare pacchetti di prodotti API.
    Nelle norme di registrazione delle transazioni per il set di prodotti dell'API, aggiungi gli attributi personalizzati che verranno utilizzati per definire i piani tariffari. Per maggiori dettagli, consulta l'introduzione di questo argomento e l'articolo Creare un criterio di registrazione delle transazioni.
  3. Crea un piano tariffario per il pacchetto di prodotti API e specifica un parametro di classificazione personalizzato.

Per ulteriori informazioni, consulta Configurare un piano di notifica regolabile utilizzando l'interfaccia utente.

Edge classico (private cloud)

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

  1. Nei criteri 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 di questo argomento e l'articolo Creare un criterio di registrazione delle transazioni. Ripeti l'operazione per ogni prodotto API che vuoi includere nel pacchetto API.
  2. Una volta configurati i prodotti API e i criteri di registrazione delle transazioni esattamente come preferisci, crea un pacchetto API contenente il prodotto. Consulta Creare pacchetti API.
  3. Crea un piano tariffario per il pacchetto API selezionando il tipo di piano tariffario Notifica aggiustabile 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 un criterio di registrazione delle transazioni. Il numero totale di transazioni dello sviluppatore viene calcolato in base al valore dell'attributo personalizzato selezionato all'interno di ogni transazione.
  6. Imposta 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. Questo valore è impostato in modo predefinito su 1 mese.
  7. Fai clic su Applica e chiudi.
  8. Fai clic su Salva bozza.
    Pubblica il piano solo quando hai la certezza che sia definitivo. Per informazioni su come impostare la data di pubblicazione e pubblicare il piano, consulta la sezione Piani di frequenza di pubblicazione.

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

Specifica dei dettagli per un piano tariffario con attributi personalizzati utilizzando l'API

Esegui i seguenti passaggi preliminari:

  1. Nelle norme di registrazione delle transazioni di un prodotto API, aggiungi gli attributi personalizzati che verranno utilizzati per definire i piani tariffari. Per i dettagli, consulta l'introduzione in questo argomento e consulta la sezione Creare una norma di registrazione delle transazioni. Ripeti l'operazione per ogni prodotto API che vuoi includere nel pacchetto API.
  2. Dopo aver configurato correttamente i prodotti API e le norme di registrazione delle transazioni nel modo desiderato, crea un pacchetto API che contenga il prodotto. Consulta Creare pacchetti API.

Successivamente, utilizza l'API per creare il piano tariffario.

Quando crei un piano tariffario, puoi specificare i dettagli con gli attributi personalizzati. Puoi 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, specifica un valore del parametro di classificazione che identifichi il nome dell'attributo personalizzato. Puoi anche specificare un valore del parametro di valutazione che aggrega l'attributo personalizzato in un intervallo di tempo specificato.

Consulta Impostazioni di configurazione dei dettagli del piano tariffario per un elenco completo delle opzioni di dettaglio del piano tariffario.

Ad esempio, il codice seguente crea una tariffa con un piano di attributi personalizzati basato su un attributo personalizzato chiamato 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

Di seguito viene creato un piano tariffario con notifica regolabile e attributo personalizzato in base a 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