Piani tariffari di acquisto utilizzando l'API

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

Questa sezione descrive come acquistare un piano tariffario pubblicato e come far scadere o annullare un piano tariffario acquistato, se necessario, 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 rinunciare alle 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 Migrazione degli sviluppatori alla monetizzazione.

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

Nome Descrizione Predefinito Campo obbligatorio?
startDate

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

N/A
endDate

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

Il piano tariffario sarà in vigore fino alla fine della giornata della data 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, e tutte le richieste il 1° dicembre 2017 verranno bloccate.

N/A No
developer

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

N/A
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, ad esempio 90%, 100% o 150%. Una volta raggiunto il numero target, le transazioni aggiuntive non vengono bloccate.

Imposta questo valore su un numero intero positivo o su 0 per disabilitare le notifiche per uno 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/A
suppressWarning

Flag che specifica se eliminare l'errore nel caso in cui 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 di cui lo sviluppatore deve disporre 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 un piano tariffario si sovrapponga.
N/A No
waveTerminationCharge

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

  • true - Rinuncia al costo di recesso quando un piano tariffario attivo viene risolto nell'ambito dell'attivazione del nuovo piano tariffario.
  • false - Non rinunciare alla tariffa di recesso quando un piano tariffario attivo viene risolto nell'ambito dell'attivazione di un nuovo piano tariffario.
N/A 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. Ad esempio, se lo sviluppatore tenta di acquistare un piano tariffario che si sovrappone a un altro piano tariffario acquistato, viene visualizzato un errore. Ciò consente a un'applicazione che fornisce un'interfaccia utente per la monetizzazione di intercettare l'errore e mostrare i prodotti in conflitto allo sviluppatore per la conferma (a seconda dei casi). Se il criterio suppressWarning è impostato su true, la monetizzazione termina tutti i piani tariffari acquistati di cui lo sviluppatore ha bisogno 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 con tasso 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 uno degli esempi precedenti, se viene restituito il seguente messaggio di errore:

Developer legal name not specified. 

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

Scadenza di 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 di una richiesta PUT alla risorsa /organizations/{org_name}/developers/{developer_or_company_id}/developer-rateplans/{developer_rateplan_id}.

Il piano tariffario sarà attivo 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, e tutte le richieste verranno bloccate il 1° dicembre 2017.

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 {developer-rateplan-id} per il piano tariffario per sviluppatori inviando una richiesta GET a /organizations/{org_name}/developers/{developer_id}/developer-accepted-rateplans, dove {developer_id} è l'indirizzo email dello sviluppatore. Per ulteriori informazioni, consulta la sezione Visualizzare tutti i piani tariffari acquistati da uno sviluppatore.

La seguente richiesta aggiorna la data di fine al 1° dicembre 2017. Ciò significa che il piano tariffario scadrà alla fine della giornata, il 30 novembre 2017, e tutte le richieste verranno bloccate il 1° dicembre 2017.

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
  }'