Stai visualizzando la documentazione di Apigee Edge.
Consulta la
documentazione di Apigee X. info
Introduzione
In alcuni casi, potresti aver bisogno che i contatori delle transazioni si basino su una variabile o un valore personalizzato. Ad esempio, potresti dover:
- Addebitare agli sviluppatori un importo variabile in base a un valore fornito nel messaggio di una chiamata API call. Ad esempio, potresti voler addebitare agli sviluppatori di app un importo in base al numero di byte trasmessi nella richiesta API.
- Raggruppare 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 che viene utilizzato per calcolare il numero di transazioni e gli addebiti.
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 degli attributi personalizzati
Il modo in cui il valore dell'attributo personalizzato viene preso in considerazione nel numero di transazioni e negli addebiti del piano tariffario dipende dal modello di addebito, come riassunto nella tabella seguente.
| Modello di addebito | Calcolo dell'attributo personalizzato |
|---|---|
| Tariffa fissa e a fasce di volume |
Per una tariffa fissa, il numero di attributi personalizzati diventa il numero di transazioni che vengono moltiplicate per la tariffa. Per le 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 vengono aggiunte 10 transazioni al conteggio della fascia corrente. Se allo sviluppatore rimanevano solo 6 transazioni nella fascia corrente, 6 viene moltiplicato per la tariffa di quella fascia. Le 4 transazioni rimanenti vengono inserite nella fascia successiva e moltiplicate per la tariffa di quella fascia. In un piano a fasce di volume, se l'ultima fascia di volume ha un limite (non è "illimitata") e una transazione supera questo limite, si verificano due situazioni:
|
| Bundle |
Poiché i bundle vengono addebitati per gruppo, non per transazione, si verifica il seguente calcolo:
Ad esempio, se il numero di attributi personalizzati nel messaggio è 10, 10 viene aggiunto a il numero di transazioni utilizzate nel bundle. Se allo sviluppatore rimanevano solo 6 transazioni nel bundle corrente, il bundle viene completato e il conteggio del bundle successivo viene incrementato di 4. Viene addebitata la tariffa per il bundle successivo, se presente. addebitata. Se l'ultimo bundle ha un limite (non è "illimitato") e una transazione supera questo limite, si verificano due situazioni:
|
| Notifiche regolabili |
Per le notifiche regolabili, si verifica il seguente calcolo:
Ad esempio, se il numero di attributi personalizzati nel messaggio è 10, 10 viene aggiunto a il numero totale di transazioni. |
Dove il piano tariffario ottiene il valore dell'attributo personalizzato
Le norme sulla registrazione delle transazioni (nel bundle di prodotti API) indicano alla monetizzazione dove cercare il valore dell'attributo personalizzato nel messaggio. Definisci l'attributo personalizzato nella sezione Attributi personalizzati delle norme sulla registrazione delle transazioni per il bundle di prodotti API.
Dopodiché, puoi selezionare l'attributo personalizzato nel piano tariffario dopo aver creato un bundle di prodotti API che contiene le norme sulla registrazione delle transazioni con l' attributo personalizzato definito.
Ecco il flusso di alto livello:
- Definisci gli attributi personalizzati quando aggiungi un prodotto API.
- Crea un bundle di prodotti API che contenga il prodotto.
Nelle norme sulla registrazione delle transazioni per il bundle di prodotti API, aggiungi gli attributi personalizzati che verranno utilizzati per definire i piani tariffari. - Crea un piano tariffario di tipo tariffario o notifica regolabile per il bundle di prodotti API e specifica un parametro di valutazione personalizzato.
La figura seguente mostra la relazione tra l'attributo personalizzato definito nelle norme sulla registrazione delle transazioni e la configurazione del piano tariffario. La relazione del piano tariffario di notifica regolabile con attributo personalizzato è simile, anche se il valore a fasce di volume non è applicabile.

Come generare il valore dell'attributo personalizzato nel messaggio
Le norme sulla registrazione delle transazioni possono 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é una transazione non è ufficiale finché non ricevi una risposta positiva.) Di seguito sono riportati esempi che mostrano come aggiungere un'intestazione della risposta con il relativo valore numerico al messaggio. In entrambi i casi, utilizzeremo le norme Assegna messaggio in congiunzione con le variabili.
Aggiungere le 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 le norme Assegna messaggio alla
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>
Aggiungere un valore di attributo personalizzato dell'app all'intestazione
Allo stesso modo, possiamo generare un'intestazione con il valore di un attributo personalizzato di un'app.
Ad esempio, se includi un attributo personalizzato denominato apprating in ogni app dello sviluppatore
come segue:

Quando utilizzi le norme Verifica chiave API (obbligatorie per la monetizzazione), questo valore viene
memorizzato in una variabile denominata verifyapikey.{policy_name}.apprating. Utilizzando le norme Assegna
messaggio allegate alla risposta dell'endpoint proxy, puoi 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
Oltre alla configurazione dell'attributo personalizzato descritta sopra, il piano tariffario viene configurato normalmente come si farebbe normalmente (per i piani tariffari senza attributi personalizzati), ma deve rispettare i seguenti requisiti.
Configurare il piano tariffario con attributo personalizzato utilizzando la UI
Configura i piani tariffari con attributi personalizzati utilizzando la UI Edge o la UI Classic Edge, come descritto nelle sezioni seguenti.
Edge
Per configurare un piano tariffario con attributi personalizzati utilizzando la UI Edge:
- Definisci gli attributi personalizzati quando aggiungi un prodotto API.
- Crea un bundle di prodotti API che contenga il prodotto. Consulta Creare bundle di prodotti API.
Nelle norme sulla 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 Creare norme sulla registrazione delle transazioni. - Crea un piano tariffario per il bundle di prodotti API e specifica un parametro di valutazione personalizzato.
Per maggiori informazioni, consulta Configurare i dettagli del piano tariffario utilizzando la UI.
Classic Edge (Private Cloud)
Segui questi passaggi per creare un piano tariffario con attributo personalizzato utilizzando la UI Classic Edge:
- Nelle norme sulla 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 in questo argomento e Creare norme sulla registrazione delle transazioni. Esegui questa operazione per ogni prodotto API che vuoi includere nel pacchetto API.
- Una volta configurati i prodotti API e le norme sulla registrazione delle transazioni esattamente come li vuoi, crea un pacchetto API che contenga il prodotto. Consulta Creare pacchetti API.
- Crea un piano tariffario per il pacchetto API, selezionando il tipo di piano tariffario Tariffario con attributo personalizzato.
-
Fai clic sul link Tariffario. Si apre la finestra Tariffario.

- Seleziona un attributo personalizzato nel menu a discesa Attributo personalizzato. Il menu elenca gli attributi personalizzati
creati per il prodotto in una norma sulla registrazione delle transazioni. Allo sviluppatore viene addebitato un importo
in base al valore dell'attributo personalizzato selezionato all'interno di ogni transazione.
(Valore dell'attributo * tariffa = addebito allo sviluppatore) - (Facoltativo) Configura un piano freemium come descritto in Specificare i dettagli del piano tariffario.
- Configura un modello di addebito come descritto in Specificare i dettagli del piano tariffario. Tieni presente, tuttavia, che per il tipo di piano tariffario Tariffario con attributo personalizzato, il modello di addebito si basa sull'attributo personalizzato selezionato. Ad esempio, se scegli Tariffa fissa 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 saperne di più, consulta Calcoli.
-
Fai clic su Salva
bozza.
Pubblica il piano solo quando sei assolutamente certo che sia definitivo. Per informazioni su come impostare la data di pubblicazione e pubblicare il piano, consulta Pubblicare i piani tariffari.
Per maggiori informazioni, consulta Specificare i dettagli del piano tariffario utilizzando la UI.
Configurare un piano di notifica regolabile con attributi personalizzati utilizzando la UI
Configura i piani di notifica regolabili con attributi personalizzati, come descritto di seguito.Edge
Per configurare un piano tariffario con attributi personalizzati utilizzando la UI Edge:
- Definisci gli attributi personalizzati quando aggiungi un prodotto API.
- Crea un bundle di prodotti API che contenga il prodotto. Consulta Creare bundle di prodotti API.
Nelle norme sulla 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 Creare norme sulla registrazione delle transazioni. - Crea un piano tariffario per il bundle di prodotti API e specifica un parametro di valutazione personalizzato.
Per maggiori informazioni, consulta Configurare un piano di notifica regolabile utilizzando la UI.
Classic Edge (Private Cloud)
Per configurare un piano tariffario con attributi personalizzati utilizzando la UI Classic Edge:
- Nelle norme sulla 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 in questo argomento e Creare norme sulla registrazione delle transazioni. Esegui questa operazione per ogni prodotto API che vuoi includere nel pacchetto API.
- Una volta configurati i prodotti API e le norme sulla registrazione delle transazioni esattamente come li vuoi, crea un pacchetto API che contenga il prodotto. Consulta Creare pacchetti API.
- Crea un piano tariffario per il pacchetto API, selezionando il tipo di piano tariffario Regolabile Notifica con attributo personalizzato.
-
Fai clic sul link Dettagli. Si apre la finestra Notifica regolabile window.

- Seleziona un attributo personalizzato nel menu a discesa Attributo personalizzato. Il menu elenca gli attributi personalizzati creati per il prodotto in una norma sulla 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.
- Imposta la base di aggregazione sul periodo di tempo in cui viene aggregato il volume delle transazioni. Seleziona un numero compreso tra 1 e 24 mesi. Il valore predefinito è 1 mese.
- Fai clic su Applica e chiudi.
-
Fai clic su Salva
bozza.
Pubblica il piano solo quando sei assolutamente certo che sia definitivo. Per informazioni su come impostare la data di pubblicazione e pubblicare il piano, consulta Pubblicare i piani tariffari.
Per maggiori informazioni, consulta Specificare i dettagli del piano di notifica regolabile utilizzando la UI.
Specificare i dettagli di un piano tariffario con attributi personalizzati utilizzando l'API
Esegui i seguenti passaggi preliminari:
- Nelle norme sulla 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 in questo argomento e Creare norme sulla registrazione delle transazioni. Esegui questa operazione per ogni prodotto API che vuoi includere nel pacchetto API.
- Una volta configurati i prodotti API e le norme sulla registrazione delle transazioni esattamente come li vuoi, crea un pacchetto API che contenga il prodotto. Consulta Creare pacchetti API.
Dopodiché, utilizza l'API per creare il piano tariffario.
Specifichi i dettagli di un piano tariffario con attributi personalizzati quando crei il piano tariffario. Specifichi 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 parametro di valutazione che aggrega l'attributo personalizzato in un intervallo di tempo specificato.
Per un elenco completo delle opzioni dei dettagli del piano tariffario, consulta Impostazioni di configurazione dei dettagli del piano tariffario.
Ad esempio, il seguente comando crea un piano tariffario con 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
Il seguente comando 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