Piani tariffari di acquisto utilizzando l'API

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

Questa sezione descrive come acquistare un piano tariffario pubblicato e, se vuoi, come far scadere o annullare un piano tariffario acquistato utilizzando l'API.

Acquisto di un piano tariffario pubblicato utilizzando l'API

Dopo la pubblicazione di un piano tariffario, uno sviluppatore o una società può acquistarlo (o "accettarlo") inviando una richiesta POST a /mint/organizations/{org_name}/developers/{developer_or_company_id}/developer-rateplans, dove {org_name} è il nome dell'organizzazione e {developer_or_company_id} è l'ID dello sviluppatore o della società.

Per evitare le commissioni di configurazione quando acquisti un piano tariffario, imposta il parametro di query waivefees su true. Questo flag è utile quando esegui la migrazione degli sviluppatori alla monetizzazione, come descritto in Eseguire la migrazione degli sviluppatori alla monetizzazione.

La tabella seguente riassume le proprietà di configurazione che puoi specificare nel corpo della richiesta, i relativi valori predefiniti e se sono obbligatorie o meno.

Nome Descrizione Predefinito Obbligatorio?
startDate

Data di inizio del piano tariffario. Ad esempio: 2017-03-24.

N/D
endDate

Data di fine del piano tariffario. Ad esempio: 2017-09-24.

Il piano tariffario sarà valido fino alla fine della giornata della data specificata. Ad esempio, se vuoi che un piano tariffario scada il 1° dicembre 2017, devi impostare il valore endDate su 2017-11-30. In questo caso, il piano tariffario scadrà alla fine della giornata del 30 novembre 2017; tutte le richieste del 1° dicembre 2017 verranno bloccate.

N/D No
developer

Proprietà id che definisce l'ID dello sviluppatore o dell'azienda che acquista il piano tariffario.

N/D
quotaTarget

Numero target di transazioni consentite per lo sviluppatore dell'app. Puoi configurare se e quando inviare le notifiche in base alla percentuale del numero target raggiunta, ad esempio 90%, 100% o 150%. Le transazioni aggiuntive non vengono bloccate dopo il raggiungimento del numero target.

Imposta questo valore su un numero intero positivo o su 0 per disattivare le notifiche per un sviluppatore di app.

0 No
ratePlan

Proprietà id che definisce l'ID del piano tariffario.

L'ID piano tariffario è diverso dal nome visualizzato. Per visualizzare i dettagli del piano tariffario, incluso l'ID, consulta la pagina Esplorazione dei piani tariffari.

N/D
suppressWarning

Indica se ignorare l'errore se lo sviluppatore tenta di acquistare un piano tariffario che si sovrappone a un altro piano tariffario acquistato. Il valore può essere uno dei seguenti:

  • true - La monetizzazione termina tutti i piani tariffari acquistati dall' sviluppatore per i pacchetti di API che contengono i prodotti API in conflitto. Acquista poi un nuovo pacchetto API per lo sviluppatore.
  • false: viene generato un errore nel caso in cui esista un piano tariffario in sovrapposizione.
N/D No
waveTerminationCharge

Indica se le spese di risoluzione vengono waived quando un piano tariffario attivo viene chiuso nell'ambito dell'attivazione del nuovo piano tariffario. Il valore può essere uno dei seguenti:

  • true - Esentare dalla tariffa di risoluzione quando un piano tariffario attivo viene risolto nell'ambito dell'attivazione del nuovo piano tariffario.
  • false - Non rinunciare alla tariffa di risoluzione quando un piano tariffario attivo viene risolto nell'ambito dell'attivazione di un nuovo piano tariffario.
N/D No

Ad esempio, la seguente richiesta acquista il piano tariffario location_&_messaging per lo sviluppatore specificato:

curl "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/developers/5cTWgdUvdr6JW3xU/developer-rateplans" \
  -X POST \
  -H "Content-Type:application/json" \
  -u email:password \
  -d '{
   "developer":{
     "id":"5cTWgdUvdr6JW3xU"
   },
   "startDate":"2017-08-30",
   "ratePlan":{
     "id":"location_&_messaging"
   },
   "suppressWarning":false
  }'

In questo esempio, la proprietà suppressWarning è impostata su false. In questo caso, verrà generato un errore in caso di conflitto. Ad esempio, se lo sviluppatore tenta di acquistare un piano tariffario che si sovrappone a un altro piano tariffario acquistato, viene generato un errore. In questo modo, un'applicazione che fornisce un'interfaccia utente per la monetizzazione può intercettare l'errore e mostrare allo sviluppatore i prodotti in conflitto per la conferma (se opportuno). Se suppressWarning è impostato su true, la monetizzazione termina tutti i piani tariffari acquistati dall'autore per i pacchetti di API contenenti i prodotti in conflitto. Quindi acquista un nuovo pacchetto API per lo sviluppatore.

La richiesta seguente acquista un piano di frequenza delle notifiche regolabile e imposta il numero di transazioni target su 4000.

curl "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/developers/5cTWgdUvdr6JW3xU/developer-rateplans" \
  -X POST \
  -H "Content-Type:application/json" \
  -u email:password \
  -d '{
   "developer":{
     "id":"5cTWgdUvdr6JW3xU"
   },
   "ratePlan":{
     "id":"adjustable-notification-plan"
   },
   "startDate": "2017-03-24",
   "quotaTarget": 4000,
   "suppressWarning":false
  }'

In uno degli esempi precedenti, se viene restituito il seguente messaggio di errore:

Developer legal name not specified. 

Poi devi impostare gli attributi di monetizzazione MINT_DEVELOPER_ADDRESS e MINT_DEVELOPER_LEGAL_NAME e ripetere la chiamata all'API.

Scadenza di un piano tariffario acquistato da uno sviluppatore che utilizza l'API

Per far scadere (o annullare) un piano tariffario acquistato da uno sviluppatore, aggiorna i dettagli del piano tariffario acquistato e specifica la proprietà endDate nel corpo della richiesta in una richiesta PUT alla risorsa /organizations/{org_name}/developers/{developer_or_company_id}/developer-rateplans/{developer_rateplan_id}.

Il piano tariffario entrerà in vigore fino alla fine della giornata della data di fine specificata. Ad esempio, se vuoi far scadere un piano tariffario il 1° dicembre 2017, devi impostare il valore endDate su 2017-11-30. In questo caso, il piano tariffario scadrà alla fine della giornata, il 30 novembre 2017. Tutte le richieste il 1° dicembre 2017 verranno bloccate.

Il valore {developer_rateplan_id} viene restituito nella risposta quando acquisti il piano tariffario pubblicato.

Ad esempio:

{
  "created": "2017-03-31 18:59:54",
  "developer": {
    ...
  },
  "id": "b1c600b8-f871-496d-8173-12b9950d6ab1",
  "quotaTarget": 3000,
  "ratePlan": {
    ...
  },
  "startDate": "2017-03-31 00:00:00",
  "updated": "2017-03-31 18:59:54",
  "waiveTerminationCharge": false
}

In alternativa, puoi ottenere il {developer-rateplan-id} per il piano tariffario dello sviluppatore inviando una richiesta GET a /organizations/{org_name}/developers/{developer_id}/developer-accepted-rateplans, dove {developer_id} è l'indirizzo email dello sviluppatore. Per scoprire di più, consulta la sezione Visualizzazione di tutti i piani tariffari acquistati da uno sviluppatore.

La seguente richiesta aggiorna la data di fine al 1° dicembre 2017. In altre parole, il piano tariffario scade alla fine della giornata del 30 novembre 2017 e tutte le richieste effettuate il 1° dicembre 2017 verranno bloccate.

curl "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/developers/dev@mycompany.com/developer-rateplans/b1c600b8-f871-496d-8173-12b9950d6ab1"
  -X PUT \
  -H "Content-Type:application/json" \
  -u email:password \
  -d '{
   "id" : "b1c600b8-f871-496d-8173-12b9950d6ab1",
   "developer":{
     "id":"dev@mycompany.com"
   },
   "ratePlan":{
     "id":"p1_adjustable-notification-plan"
   },
   "startDate": "2017-04-15 00:00:00",
   "endDate": "2017-11-30",
   "quotaTarget": 3000,
   "suppressWarning":false
  }'