Configurare il piano tariffario con attributi personalizzati

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

Introduzione

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

  • Addebita agli sviluppatori un importo variabile in base a un valore fornito nel messaggio di un'API chiamata. Ad esempio, potrebbe essere opportuno addebitare agli sviluppatori di app un addebito in base al numero di byte. trasmesse nella richiesta API.
  • Raggruppa più chiamate API in un'unica transazione.

Se utilizzi i piani tariffari con attributi personalizzati, puoi identificare un valore nel messaggio di un'API che funge da contatore e 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

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

Modello di ricarica Calcolo degli attributi personalizzati
Costo fisso e a bande di volume

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 Volume a banda, il numero di transazioni in una banda viene incrementato del numero dell'attributo personalizzato e allo sviluppatore viene addebitato un costo di transazioni. Ad esempio, se un valore di attributo personalizzato nel messaggio è 10, Allo sviluppatore vengono addebitate 10 transazioni e 10 transazioni vengono aggiunte al numero di bande attuali. Se lo sviluppatore aveva solo 6 transazioni rimanenti nell'attuale banda, 6 viene moltiplicato per la tariffa di quella banda. I restanti 4 vanno alla banda successiva e vengono moltiplicati per il tasso di quella banda.

In un piano a bande di volume, se l'ultima banda di volume ha un limite (non è "Illimitato") e una transazione supera tale limite, si verificano due cose:

Bundle

Poiché i pacchetti vengono addebitati dal gruppo, non dalla transazione, quanto segue: avviene il calcolo:

custom attribute number = amount added to bundle count

Ad esempio, se il numero dell'attributo personalizzato nel messaggio è 10, viene aggiunto 10 a il numero di transazioni usato nel pacchetto. Se lo sviluppatore avesse solo 6 rimanenti nel pacchetto corrente, il pacchetto viene riempito e il conteggio dei pacchetti viene incrementato di 4. La tariffa per l'eventuale set successivo è carico.

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

Notifiche regolabili

Per la notifica modificabile, si verifica il seguente calcolo:

custom attribute number = amount added to transaction count

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

Da dove il piano tariffario ottiene valore attributo personalizzato

Le norme di registrazione delle transazioni (nel pacchetto di prodotti API) indicano alla monetizzazione dove cercare nel per il valore dell'attributo personalizzato. Tu definisci l'attributo personalizzato nella sezione Attributi personalizzati delle norme di registrazione delle transazioni per il bundle di prodotti API.

Potrai quindi selezionare l'attributo personalizzato nel piano tariffario, dopo aver creato un'API. un pacchetto di prodotti contenente le norme di registrazione delle transazioni definito come attributo personalizzato.

Ecco il flusso generale:

  1. Definisci gli attributi personalizzati quando aggiungi un prodotto API.
  2. Crea un bundle di prodotti API contenente il prodotto.
    Nel criterio di registrazione delle transazioni per il bundle 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 regolabile. 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 le norme di registrazione delle transazioni e la configurazione del piano tariffario. La la notifica regolabile con una relazione del piano tariffario degli attributi personalizzati è simile, anche se il valore in banda del volume non è applicabile.

Come generare il tag valore dell'attributo nel messaggio

Il criterio di registrazione delle transazioni può cercare il valore dell'attributo personalizzato in diverse 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 un esito positivo response.) Di seguito sono riportati alcuni esempi che mostrano come aggiungere un'intestazione della risposta con il suo valore numerico al messaggio. In entrambi i casi, utilizzeremo il criterio Assegna messaggio nella in combinazione con le variabili.

Aggiunta della dimensione del payload della richiesta all'intestazione della risposta

In ogni richiesta di messaggi, è presente una variabile client.received.content.length che contiene il numero di byte nel payload della richiesta. Se alleghi un criterio Assegna messaggio al Nella risposta dell'endpoint proxy, possiamo generare un'intestazione della 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

Analogamente, possiamo generare un'intestazione con il valore di un attributo personalizzato in un'app. Ad esempio, se includi un attributo personalizzato chiamato apprating per ogni sviluppatore come segue:

Quando utilizzi la norma "Verify API Key" (Verifica chiave API) (obbligatoria per la monetizzazione), questo valore è archiviati in una variabile denominata verifyapikey.{policy_name}.apprating. Utilizzo di Assegna al criterio dei messaggi collegato alla risposta dell'endpoint proxy, potresti generare un'intestazione denominata apprating che contiene 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>

Configurare il piano tariffario

A differenza della configurazione degli attributi personalizzati sopra descritta, il piano tariffario è configurato nello stesso modo. come faresti normalmente (per i piani tariffari senza attributi personalizzati), ma devi rispettare le i seguenti requisiti.

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

Configura i piani tariffari con attributi personalizzati utilizzando la UI di Edge o la UI 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 bundle di prodotti API contenente il prodotto. Consulta Creare pacchetti di prodotti API.
    Nel criterio di registrazione delle transazioni per il bundle di prodotti API, aggiungi gli attributi personalizzati che verranno utilizzati per definire i piani tariffari. Per i dettagli, vedi l'introduzione in questo argomento e Crea un criterio di registrazione delle transazioni.
  3. Crea un piano tariffario per il pacchetto di prodotti basati sull'API. specificare un parametro di valutazione personalizzato.

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

Perimetrale classico (Private Cloud)

Segui questi passaggi per creare un tariffario con piano attributo personalizzato utilizzando l'interfaccia utente di Edge Classic:

  1. Nelle norme per la 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 la sezione Creare una transazione di registrazione. Esegui questa operazione per ogni prodotto API che vuoi includere nel pacchetto API.
  2. Una volta configurate le norme relative ai prodotti API e alla registrazione delle transazioni, desiderato, crea un pacchetto API che contenga il prodotto. Consulta Creazione di pacchetti API.
  3. Creare un piano tariffario per il pacchetto API, selezionando il tipo di piano tariffario Tariffario con attributo personalizzato.
  4. Fai clic sul link Tariffario. Viene visualizzata la finestra Tariffario.

  5. Seleziona un attributo personalizzato nel menu a discesa Attributo personalizzato. Il menu elenca i dati creati per il prodotto in un criterio di registrazione delle transazioni. Allo sviluppatore viene addebitato l'importo in base al valore dell'attributo personalizzato selezionato in ogni transazione.
    (Valore dell'attributo * tariffa = addebito allo sviluppatore)
  6. Se vuoi, puoi configurare un piano freemium come descritto in Specificare il piano tariffario dettagli.
  7. Imposta un modello di ricarica come descritto nella sezione Specificare il piano tariffario dettagli. Tuttavia, tieni presente che per il tipo di piano tariffario con attributo personalizzato, i campi Il modello di addebito si basa sull'attributo personalizzato selezionato. Ad esempio, se scegli Piatto Tariffa come modello di addebito, allo sviluppatore viene addebitata una tariffa fissa in base al , come il numero di byte trasmessi in ogni transazione (non una tariffa fissa per ogni transazione). Per ulteriori informazioni, consulta la sezione Calcoli.
  8. Fai clic su Salva Bozza.
    Pubblica il piano solo quando hai la certezza assoluta che sia definitivo. Vedi Pubblicare piani tariffari per informazioni su come impostare la Data di pubblicazione e e il piano d'azione.

Per ulteriori informazioni, vedi Specificare i dettagli dei piani tariffari utilizzando l'interfaccia utente.

Configurazione di un piano di notifica modificabile con attributi personalizzati mediante 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 bundle di prodotti API contenente il prodotto. Consulta Creare pacchetti di prodotti API.
    Nel criterio di registrazione delle transazioni per il bundle di prodotti API, aggiungi gli attributi personalizzati che verranno utilizzati per definire i piani tariffari. Per i dettagli, vedi l'introduzione in questo argomento e Crea un criterio di registrazione delle transazioni.
  3. Crea un piano tariffario per il pacchetto di prodotti basati sull'API. specificare un parametro di valutazione personalizzato.

Per ulteriori informazioni, vedi Configurare un piano di notifica modificabile utilizzando l'interfaccia utente.

Perimetrale classico (Private Cloud)

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

  1. Nelle norme per la 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 la sezione Creare una transazione di registrazione. Esegui questa operazione per ogni prodotto API che vuoi includere nel pacchetto API.
  2. Una volta configurate le norme relative ai prodotti API e alla registrazione delle transazioni, desiderato, crea un pacchetto API che contenga il prodotto. Consulta Creazione di pacchetti API.
  3. Crea un piano tariffario per il pacchetto API, selezionando il tipo di piano tariffario Regolabile Notifica con attributo personalizzato.
  4. Fai clic sul link Dettagli. Viene visualizzata la finestra Adjustable Notification finestra.

  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. La il numero totale di transazioni dello sviluppatore viene calcolato sul valore del all'interno di ogni transazione.
  6. Imposta la base di aggregazione sul periodo di tempo durante il quale il volume di vengono aggregate. Seleziona un numero compreso tra 1 e 24 mesi. Il valore predefinito è 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. Vedi Pubblicare piani tariffari per informazioni su come impostare la Data di pubblicazione e e il piano d'azione.

Per ulteriori informazioni, vedi 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

Segui questi passaggi preliminari:

  1. Nelle norme per la 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 la sezione Creare una transazione di registrazione. Esegui questa operazione per ogni prodotto API che vuoi includere nel pacchetto API.
  2. Una volta configurate le norme relative ai prodotti API e alla registrazione delle transazioni, desiderato, crea un pacchetto API che contenga il prodotto. Consulta Creazione di pacchetti API.

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

Puoi specificare i dettagli di un piano tariffario con attributi personalizzati al momento della sua creazione. Tu specificare i dettagli nella proprietà ratePlanDetails all'interno del corpo della richiesta in un chiamata a /organizations/{org_name}/monetization-packages/{package_id}/rate-plans. Nella dettagli, devi specificare un valore del parametro di valutazione che identifichi il nome del parametro . Puoi anche specificare un valore del parametro di valutazione che aggrega l'attributo personalizzato in un intervallo di tempo specificato.

Vedi Piano tariffario impostazioni di configurazione dei dettagli per un elenco completo delle opzioni di dettaglio dei piani tariffari.

Ad esempio, quanto segue crea un tariffario con un piano di attributo personalizzato basato su un attributo denominato messageSize (vedi gli articoli 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 Notifica modificabile con attributo personalizzato basato su una attributo personalizzato denominato messageSize (vedi l'articolo 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