Piani tariffari di acquisto utilizzando l'API

Stai visualizzando la documentazione di Apigee Edge.
Consulta la documentazione di Apigee X.
info

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

Acquistare un piano tariffario pubblicato utilizzando l'API

Dopo la pubblicazione di un piano tariffario, uno sviluppatore o un'azienda 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 dell'azienda.

Per rinunciare alle commissioni di configurazione quando acquisti un piano tariffario, imposta il waivefees parametro di query 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 riepiloga 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à in vigore fino alla fine della giornata del la data specificata. Se vuoi far scadere un piano tariffario il 1° dicembre 2017, ad esempio, devi impostare il valore di 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 sta acquistando il piano tariffario.

N/D
quotaTarget

Numero target di transazioni consentite per lo sviluppatore di app. Puoi configurare se e quando inviare le notifiche in base alla percentuale del numero target raggiunto, 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 uno sviluppatore di app.

0 No
ratePlan

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

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

N/D
suppressWarning

Flag che specifica se sopprimere 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 dallo sviluppatore per i pacchetti API che contengono i prodotti API in conflitto. Poi acquista un nuovo pacchetto API per lo sviluppatore.
  • false - Viene generato un errore nel caso in cui esista un piano tariffario sovrapposto.
N/D No
waveTerminationCharge

Flag che specifica se le commissioni di risoluzione vengono annullate quando un piano tariffario attivo viene terminato nell'ambito dell'attivazione del nuovo piano tariffario. Il valore può essere uno dei seguenti:

  • true - Annulla la commissione di risoluzione quando un piano tariffario attivo viene terminato nell'ambito dell'attivazione del nuovo piano tariffario.
  • false - Non annullare la commissione di risoluzione quando un piano tariffario attivo viene terminato nell'ambito dell'attivazione del 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, in caso di conflitto verrà generato un errore. 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 appropriato). Se suppressWarning è impostato su true, la monetizzazione termina tutti i piani tariffari acquistati dallo sviluppatore per i pacchetti API che contengono i prodotti in conflitto. Poi acquista un nuovo pacchetto API per lo sviluppatore.

La seguente richiesta acquista un piano tariffario di notifica regolabile e imposta il numero target di transazioni 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 entrambi gli esempi precedenti, se viene restituito il seguente messaggio di errore:

Developer legal name not specified. 

Devi impostare gli attributi di monetizzazione MINT_DEVELOPER_ADDRESS e MINT_DEVELOPER_LEGAL_NAME, quindi ripetere la chiamata API.

Far scadere un piano tariffario acquistato da uno sviluppatore utilizzando 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 sarà in vigore fino alla fine della giornata della data di fine specificata. Se vuoi far scadere un piano tariffario il 1° dicembre 2017, ad esempio, devi impostare il valore di 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.

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 saperne di più, consulta Visualizzare tutti i piani tariffari acquistati da uno sviluppatore.

La seguente richiesta aggiorna la data di fine al 1° dicembre 2017. Ovvero, il piano tariffario scadrà alla fine della giornata del 30 novembre 2017; tutte le richieste del 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
  }'