Stai visualizzando la documentazione di Apigee Edge.
Vai alla documentazione di Apigee X. info
Che cos'è un webhook?
Un webhook definisce un gestore di callback HTTP attivato da un evento. In alternativa all'utilizzo dei modelli di notifica sulla monetizzazione, puoi creare webhook e configurarli per la gestione delle notifiche degli eventi, come descritto in Configurare le notifiche utilizzando i modelli di notifica.
Per configurare le notifiche utilizzando i webhook, completa i seguenti passaggi utilizzando l'interfaccia utente di Edge Management o l'API Management and Monetization:
- Aggiungi webhook che definiscono i gestori di callback per gli eventi di notifica utilizzando l'interfaccia utente o l'API.
- Configura il gestore del callback.
- Configura la notifica per un piano tariffario regolabile utilizzando l'interfaccia utente o l'API.
Gestione dei webhook
Aggiungi e gestisci i webhook che definiscono i gestori dei callback per gli eventi di notifica utilizzando la UI o l'API.
Gestione degli webhook tramite l'interfaccia utente
Aggiungi e gestisci gli webhook che definiscono i gestori dei callback per gli eventi di notifica utilizzando l'interfaccia utente, come descritto nelle sezioni seguenti.
- Esplorare la pagina Webhook
- Aggiunta di un webhook utilizzando l'interfaccia utente
- Modificare un webhook utilizzando l'interfaccia utente
- Eliminazione di un webhook utilizzando l'interfaccia utente
Esplorazione della pagina Webhook
Accedi alla pagina Webhook, come descritto di seguito.
Edge
Per accedere alla pagina Webhook utilizzando l'interfaccia utente di Edge:
- Accedi ad apigee.com/edge.
- Seleziona Pubblica > Monetizzazione > Webhook nella barra di navigazione a sinistra.
Viene visualizzata la pagina Webhook.
Come evidenziato nella figura, la pagina Webhook ti consente di:
- Visualizza i dettagli dei webhook esistenti.
- Aggiungi un webhook.
- Attiva o disattiva, modifica o elimina un webhook.
- Cerca nell'elenco di webhook.
Edge classico (private cloud)
Per accedere alla pagina Webhook utilizzando l'interfaccia utente Edge classica:
- Accedi a
http://ms-ip:9000
, dove ms-ip è l'indirizzo IP o il nome DNS del nodo del server di gestione. Seleziona Amministrazione > Webhook.
Viene visualizzata la pagina Webhook.
La pagina Webhook ti consente di:
- Visualizza i dettagli dei webhook esistenti.
- Aggiungi un webhook.
- Attiva o disattiva, modifica o elimina un webhook.
- Cerca nell'elenco di webhook.
Aggiunta di un webhook utilizzando l'interfaccia utente
Per aggiungere un webhook utilizzando l'interfaccia utente:
- Accedi alla pagina webhook.
- Fai clic su + Webhook.
- Inserisci le seguenti informazioni (tutti i campi sono obbligatori).
Campo Descrizione Nome Nome del webhook. URL URL del gestore del callback che verrà chiamato quando viene attivata la notifica dell'evento. Consulta Configurare il gestore del callback. - Fai clic su Salva.
Il webhook viene aggiunto all'elenco e attivato per impostazione predefinita.
Modificare un webhook utilizzando l'interfaccia utente
Per modificare un webhook utilizzando l'interfaccia utente:
- Accedi alla pagina webhook.
- Posiziona il cursore sopra l'webhook da modificare e fai clic su nel menu delle azioni.
- Modifica i campi del webhook, se necessario.
- Fai clic su Aggiorna webhook.
Attivazione o disattivazione di un webhook tramite l'interfaccia utente
Per attivare o disattivare un webhook utilizzando l'interfaccia utente:
- Accedi alla pagina Webhook.
- Posiziona il cursore del mouse sul webhook e attiva/disattiva l'opzione di stato.
Eliminazione di un webhook utilizzando l'interfaccia utente
Per eliminare un webhook utilizzando l'interfaccia utente:
- Accedi alla pagina Webhook.
- Posiziona il cursore sopra l'webhook che vuoi eliminare e fai clic su .
Il webhook viene eliminato e rimosso dall'elenco.
Gestione degli webhook utilizzando l'API
Aggiungi e gestisci gli webhook utilizzando l'API come descritto nelle sezioni seguenti.
- Visualizzazione di tutti gli webhook utilizzando l'API
- Visualizzazione di un webhook utilizzando l'API
- Aggiunta di un webhook utilizzando l'API
- Modificare un webhook utilizzando l'API
- Eliminare un webhook utilizzando l'API
Visualizzazione di tutti i webhook utilizzando l'API
Visualizza tutti i webhook inviando una richiesta GET a /mint/organizations/{org_name}/webhooks
.
Ad esempio:
curl -X GET "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/webhooks" \ -H "Content-Type: application/json " \ -u email:password
Di seguito è riportato un esempio della risposta restituita:
{ "totalRecords": 2, "webhooks": [ { "created": 1460162656342, "enabled": false, "id": "21844a37-d26d-476c-93ed-38f3a4b24691", "name": "webhook1", "postUrl": "http://mycompany.com/callbackhandler1", "updated": 1460162656342, "updatedBy": "joe@example.com" }, { "created": 1460138724352, "createdBy": "joe@example.com", "enabled": true, "id": "a39ca777-1861-49cf-a397-c9e92ab3c09f", "name": "webhook2", "postUrl": "http://mycompany.com/callbackhandler2", "updated": 1460138724352, "updatedBy": "joe@example.com" } ] }
Visualizzazione di un webhook mediante l'API
Visualizza un singolo webhook inviando una richiesta GET a
/mint/organizations/{org_name}/webhooks/{webhook_id}
.
Ad esempio:
curl -X GET "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/webhooks/21844a37-d26d-476c-93ed-38f3a4b24691" \ -H "Content-Type: application/json " \ -u email:password
Di seguito è riportato un esempio di risposta:
{ "created": 1460162656342, "enabled": false, "id": "21844a37-d26d-476c-93ed-38f3a4b24691", "name": "webhook1", "postUrl": "http://mycompany.com/callbackhandler1", "updated": 1460162656342, "updatedBy": "joe@example.com" }
Aggiunta di un webhook tramite l'API
Aggiungi un webhook inviando una richiesta POST a /mint/organizations/{org_name}/webhooks
.
Devi trasmettere il nome del webhook e l'URL del gestore di callback che verrà chiamato quando viene attivata la notifica dell'evento.
Ad esempio, di seguito viene creato un webhook denominato webhook3
e assegna callbackhandler3
al webhook:
curl -X POST "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/webhooks" -H "Content-Type: application/json " -d '{ "name": "webhook3", "postURL": "http://mycompany.com/callbackhandler3" }' \ -u email:password
Di seguito viene fornito un esempio della risposta:
{ "created": 1460385534555, "createdBy": "joe@example.com", "enabled": false, "id": "0a07eb1f-f485-4539-8beb-01be449699b3", "name": "webhook3", "orgId": "myorg", "postUrl": "http://mycompany.com/callbackhandler3", "updated": 1460385534555, "updatedBy": "joe@example.com" }
Modificare un webhook utilizzando l'API
Modifica un webhook inviando una richiesta PUT a
/mint/organizations/{org_name}/webhooks/{webhook_id}
. Passa gli aggiornamenti nel corpo della richiesta.
Ad esempio, il seguente aggiorna il gestore del callback associato a
webhook1
:
curl -X PUT "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/webhooks/0a07eb1f-f485-4539-8beb-01be449699b3" \ -H "Content-Type: application/json " \ -d '{ "postURL": "http://mycompany.com/callbackhandler4" }' \ -u email:password
Di seguito viene fornito un esempio della risposta:
{ "created": 1460385534555, "enabled": false, "id": "0a07eb1f-f485-4539-8beb-01be449699b3", "name": "webhook3", "orgId": "myorg", "postUrl": "http://mycompany.com/callbackhandler4", "updated": 1460385534555, "updatedBy": "joe@example.com" }
Attivazione o disattivazione di un webhook tramite l'API
Attiva o disattiva un webhook inviando una richiesta POST a
/mint/organizations/{org_name}/webhooks/{webhook_id}
, come hai fatto per aggiornare un webhook,
e imposta l'attributo enabled nel corpo della richiesta su true o false, rispettivamente. Se disattivi il webhook, non verrà attivato quando si verifica un evento.
Ad esempio, quanto segue abilita webhook3
:
curl -X POST "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/webhooks/0a07eb1f-f485-4539-8beb-01be449699b3" \ -H "Content-Type: application/json " \ -d '{ "enabled": "true" }' \ -u email:password
Di seguito viene fornito un esempio della risposta:
{ "created": 1460385534555, "enabled": true, "id": "0a07eb1f-f485-4539-8beb-01be449699b3", "name": "webhook3", "orgId": "myorg", "postUrl": "http://mycompany.com/callbackhandler4", "updated": 1460385534555, "updatedBy": "joe@example.com" }
Eliminazione di un webhook utilizzando l'API
Elimina un webhook inviando una richiesta DELETE a
/mint/organizations/{org_name}/webhooks/{webhook_id}
.
Per specificare se forzare o meno l'eliminazione dell'webhook se sono in corso processi, imposta il parametro di query forceDelete
su true
o false
. Il parametro di query forceDelete
è abilitato (true
)
per impostazione predefinita.
Ad esempio, quanto segue elimina webhook3
:
curl -X DELETE "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/webhooks/21844a37-d26d-476c-93ed-38f3a4b24691" \ -H "Content-Type: application/json " \ -u email:password
Configurazione del gestore di callback
Di seguito è riportato il formato della richiesta JSON inviata al gestore del callback definito da un webhook quando viene attivata una notifica di evento. Devi assicurarti che l'handler callback elabori la richiesta in modo appropriato.
{ "orgName": "{org_id}", "developerEmail": "{dev_email}", "developerFirstName": "{first_name}", "developerLastName": "{last_name}", "companyName": "{company_name}", "applicationName": "{app_name}", "packageName": "{api_package_name}", "packageId": "{api_package_id}", "ratePlanId": "{rateplan_id}", "ratePlanName": "{rateplan_name}", "ratePlanType": "{rateplan_type}", "developerRatePlanQuotaTarget": {quota_target}, "quotaPercentUsed": {percentage_quota_used}, "ratePlanStartDate": {rateplan_startdate}, "ratePlanEndDate": {rateplan_enddate}, "nextBillingCycleStartDate": {next_billing_cycle_startdate}, "products": ["{api_product_name}","{api_product_name}"], "developerCustomAttributes": [], "triggerTime": {trigger_time}, "triggerReason": "{trigger_reason}", "developerQuotaResetDate": "{devquota_resetdate}" }
Configurare le notifiche per un piano tariffario variabile
Configura le notifiche utilizzando gli webhook per un piano tariffario regolabile tramite l'interfaccia utente o l'API.
Configurazione delle notifiche per un piano tariffario variabile utilizzando l'interfaccia utente
Configura le notifiche utilizzando gli webhook per un piano tariffario regolabile tramite l'interfaccia utente, come descritto di seguito.
Accedere alla finestra di dialogo Notifiche per un piano tariffario regolabile
Accedi alla finestra di dialogo Notifiche per un piano tariffario variabile, come descritto di seguito.
Edge
Per accedere alla finestra di dialogo delle notifiche utilizzando la UI Edge:
- Crea e pubblica un piano di frequenza delle notifiche regolabile, come descritto in Specificare dettagli del piano di frequenza delle notifiche regolabile.
- Accedi alla pagina Tariffe selezionando Pubblicazione > Monetizzazione > Tariffe nella barra di navigazione a sinistra.
- Posiziona il cursore del mouse sopra il piano di frequenza delle notifiche regolabile pubblicato per visualizzare le azioni.
- Fai clic su +Avvisa.
Viene visualizzata la finestra di dialogo Notifiche.
Nota: il piano tariffario deve essere pubblicato affinché l'azione +Avvisa venga visualizzata.
Edge classico (private cloud)
Per accedere alla pagina Notifiche:
- Crea un piano tariffario delle notifiche regolabile, come descritto in Specificare dettagli del piano di notifica regolabile.
- Seleziona Pubblica > Pacchetti per visualizzare i piani tariffari.
- Fai clic su +Avvisa nella colonna Azioni per il piano tariffario.
Viene visualizzata la finestra di dialogo Notifiche.
Aggiunta di notifiche per un piano tariffario regolabile utilizzando l'interfaccia utente
Per aggiungere notifiche per un piano tariffario regolabile nell'interfaccia utente:
- Accedi alla finestra di dialogo Notifiche.
- Imposta la condizione di notifica in Intervalli di notifica specificando una percentuale del numero di transazioni di destinazione in cui attivare una notifica. In particolare:
- Per impostare una percentuale esatta, inseriscila nel campo A/Da % e lascia vuoto il campo A %.
- Per impostare un intervallo percentuale, inserisci la percentuale iniziale e finale rispettivamente nei campi At/Da % e A % e un valore di incremento nel campo %passaggio. Per impostazione predefinita, le notifiche vengono inviate con incrementi del 10% nell'intervallo specificato.
Il campo
Notify At
viene aggiornato in base a ogni percentuale del numero di transazioni di destinazione che attiverà un evento. - Per impostare condizioni di notifica aggiuntive, fai clic su + Aggiungi e ripeti il passaggio 4.
- Imposta l'azione di notifica in Webhook selezionando uno o più webhook per gestire la gestione dei callback quando vengono attivate le notifiche.
- Fai clic su Crea notifica.
Modificare le notifiche per un piano tariffario regolabile utilizzando l'interfaccia utente
Per modificare le notifiche per un piano tariffario regolabile nell'interfaccia utente:
- Accedi alla finestra di dialogo Notifiche.
- Fai clic su +Avvisa nella colonna Azioni per il piano tariffario.
- Fai clic su Modifica.
- Modifica i valori in base alle necessità.
- Fai clic su Salva notifica.
Eliminare le notifiche per un piano tariffario regolabile utilizzando l'interfaccia utente
Per eliminare una condizione e un'azione di notifica:
- Accedi alla finestra di dialogo Notifiche.
- Fai clic su +Notifica nella colonna Azioni per il piano tariffario.
- Fai clic su Elimina notifica.
Configurazione delle notifiche per un piano tariffario regolabile utilizzando l'API
Per configurare una notifica per un piano tariffario variabile utilizzando l'API, segui la procedura descritta in Gestire condizioni e azioni di notifica utilizzando l'API e utilizza gli attributi descritti in questa sezione.
Per configurare la condizione di notifica (notificationCondition
), utilizza i seguenti valori dell'attributo. Per ulteriori informazioni, consulta le proprietà di configurazione per le condizioni di notifica.
Attributo | Valore |
---|---|
RATEPLAN |
ID del piano tariffario regolabile delle notifiche. |
PUBLISHED |
TRUE per indicare che il piano di frequenza delle notifiche regolabile deve essere
pubblicato. |
UsageTarget |
Percentuale del numero target di transazioni al momento in cui vuoi attivare una notifica.
Questo attributo ti consente di inviare una notifica agli sviluppatori quando stanno per raggiungere o hanno raggiunto il numero di transazioni target per un piano tariffario delle notifiche regolabile che hanno acquistato. Ad esempio, se uno sviluppatore ha acquistato un piano tariffario per le notifiche regolabile e il numero di transazioni target per lo sviluppatore è stato impostato su 1000, puoi inviare una notifica quando raggiunge 800 transazioni (80% del numero di transazioni target), 1000 transazioni (100%) o 1500 transazioni (150%).
|
Per configurare l'azione di notifica, in actions
imposta i seguenti valori. Per
maggiori informazioni, consulta Proprietà di
configurazione per le azioni di notifica.
Attributo | Valore |
---|---|
actionAttribute |
WEBHOOK per attivare un webhook. |
value |
ID del webhook che hai definito nella sezione precedente, Creazione di webhook utilizzando l'API. |
Di seguito è riportato un esempio di come creare una condizione di notifica che attiva un webhook quando la percentuale del numero target di transazioni raggiunge l'80%, il 90%, il 100%, il 110% e il 120%.
{ "notificationCondition": [ { "attribute": "RATEPLAN", "value": "123456" }, { "attribute": "PUBLISHED", "value": "TRUE" }, { "attribute": "UsageTarget", "value": "%= 80 to 120 by 10" } } ], "actions": [{ "actionAttribute": "WEBHOOK", "value": "b0d77596-142e-4606-ae2d-f55c3c6bfebe", }] }
Per informazioni su come visualizzare, aggiornare ed eliminare una condizione e un'azione di notifica, consulta:
- Visualizzazione di una condizione e di un'azione di notifica utilizzando l'API
- Modificare una condizione e un'azione di notifica utilizzando l'API
- Eliminare una condizione di notifica e un'azione utilizzando l'API
Codici di risposta webhook
Di seguito sono riportati i codici di risposta dei webhook e la relativa interpretazione da parte del sistema.
Codice di risposta | Descrizione |
---|---|
2xx |
Operazione riuscita |
5xx |
Richiesta non riuscita. Il sistema riproverà la richiesta fino a tre volte a intervalli di 5 minuti. Nota: i timeout di lettura e connessione per le richieste webhook sono di 3 secondi ciascuno, il che può comportare richieste non riuscite. |
Other response |
Richiesta non riuscita. Il sistema non proverà nuovamente a inviare la richiesta. |