Piani tariffari di acquisto utilizzando l'API

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

Questa sezione descrive come acquistare un piano tariffario pubblicato e fare scadere o annullare un acquisto piano tariffario, se necessario, tramite l'API.

Acquisto di un piano tariffario pubblicato utilizzando l'API

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

Per rinunciare alle commissioni di configurazione quando acquisti un piano tariffario, imposta il parametro di query waivefees a true. Questo flag è utile quando esegui la migrazione degli sviluppatori alla monetizzazione, descritta in Eseguire la migrazione degli sviluppatori alla monetizzazione.

La tabella seguente riassume le proprietà di configurazione che puoi specificare nella corpo della richiesta, i relativi valori predefiniti e se sono obbligatori 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 entrerà in vigore fino alla fine della giornata il giorno la data specificata. Ad esempio, se vuoi far scadere un piano tariffario il 1° dicembre 2017, devi impostare il valore endDate al 30-11-2017. In questo caso, il piano tariffario scadrà alla fine della giornata il 30 novembre 2017; tutte le richieste in data 1° dicembre 2017 saranno bloccate.

N/D No
developer

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

N/D
quotaTarget

Numero target di transazioni consentite allo sviluppatore di app. Puoi configurare se e Quando le notifiche vengono inviate in base alla percentuale del numero target che è stata raggiunto, ad esempio 90%, 100% o 150%. Le transazioni aggiuntive non vengono bloccate dopo il viene raggiunto il numero target.

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

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 Esplorazione della pagina Piani tariffari.

N/D
suppressWarning

Flag che specifica se eliminare 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 risolve tutti i piani tariffari acquistati che lo sviluppatore deve installare pacchetti API contenenti i prodotti API in conflitto. Poi acquista un nuovo pacchetto API per lo sviluppatore.
  • false: viene generato un errore se ci sono sovrapposizioni piano tariffario.
N/D No
waveTerminationCharge

Flag che specifica se si rinunciano alle tariffe di recesso quando viene applicato un piano tariffario attivo è stato interrotto in seguito all'attivazione del nuovo piano tariffario. Il valore può essere uno dei seguenti:

  • true - Rinuncia alla commissione di recesso alla risoluzione di un piano tariffario attivo nell'ambito dell'attivazione del nuovo piano tariffario.
  • false - Non rinunciare alla commissione di recesso quando viene applicato un piano tariffario attivo terminato nell'ambito dell'attivazione del nuovo piano tariffario.
N/D No

Ad esempio, la seguente richiesta consente di acquistare 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. Nella Questo caso, verrà restituito 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. Questo attiva un'applicazione che fornisce un'interfaccia utente alla monetizzazione per intercettare l'errore e mostrare i prodotti in conflitto allo sviluppatore per conferma (se opportuno). Se suppressWarning è impostato su true, la monetizzazione termina tutti gli acquisti i piani tariffari a disposizione dello sviluppatore per pacchetti API contenenti 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 a 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 impostare gli attributi di monetizzazione MINT_DEVELOPER_ADDRESS e MINT_DEVELOPER_LEGAL_NAME, quindi ripeti 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 il piano dettagli del piano tariffario e specifica la proprietà endDate nel corpo della richiesta in una richiesta PUT la risorsa /organizations/{org_name}/developers/{developer_or_company_id}/developer-rateplans/{developer_rateplan_id}.

Il piano tariffario rimarrà in vigore fino alla fine della giornata data specificata. Ad esempio, se vuoi far scadere un piano tariffario il 1° dicembre 2017, imposta il valore endDate al 30-11-2017. In questo caso, il piano tariffario scadrà alla fine della giornata il 30 novembre 2017; tutte le richieste il 1° dicembre 2017 verrà bloccato.

Il {developer_rateplan_id} viene restituito nella risposta al momento dell'acquisto del 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 piano tariffario sviluppatore tramite l'invio di una richiesta GET a /organizations/{org_name}/developers/{developer_id}/developer-accepted-rateplans, dove {developer_id} è l'indirizzo email dello sviluppatore. Per ulteriori informazioni informazioni, 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. Vale a dire, il piano tariffario scadrà alla fine della giornata il 30 novembre 2017; tutte le richieste del 1° dicembre 2017 saranno bloccato.

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