Vous consultez la documentation d'Apigee Edge.
Consultez la
documentation Apigee X. en savoir plus
Qu'est-ce qu'un webhook ?
Un webhook définit un gestionnaire de rappel HTTP qui est déclenché par un événement. Vous pouvez créer des webhooks et les configurer pour gérer les notifications d'événements au lieu d'utiliser les modèles de notifications de monétisation, comme décrit dans Configurer des notifications à l'aide de modèles de notification.
Pour configurer des notifications à l'aide de webhooks, procédez comme suit à l'aide de l'interface utilisateur de gestion Edge ou de l'API de gestion et de monétisation:
- Ajoutez des webhooks qui définissent les gestionnaires de rappel pour les événements de notification à l'aide de l'interface utilisateur ou de l'API.
- Configurez le gestionnaire de rappel.
- Configurez la notification pour un plan tarifaire ajustable à l'aide de l'interface utilisateur ou de l'API.
Gérer les webhooks
Ajoutez et gérez des webhooks qui définissent les gestionnaires de rappel pour les événements de notification à l'aide de l'interface utilisateur ou de l'API.
Gérer les webhooks à l'aide de l'UI
Ajoutez et gérez des webhooks qui définissent les gestionnaires de rappel pour les événements de notification à l'aide de l'UI, comme décrit dans les sections suivantes.
- Explorer la page "Webhooks"
- Ajouter un webhook à l'aide de l'interface utilisateur
- Modifier un webhook à l'aide de l'interface utilisateur
- Supprimer un webhook à l'aide de l'interface utilisateur
Explorer la page Webhooks
Accédez à la page Webhooks, comme décrit ci-dessous.
Périphérie
Pour accéder à la page Webhooks à l'aide de l'interface utilisateur Edge:
- Connectez-vous à apigee.com/edge.
- Sélectionnez Publish > Monétisation > Webhooks (Publier > Monétisation > Webhooks) dans la barre de navigation de gauche.
La page Webhooks s'affiche.
Comme le montre la figure, la page "Webhooks" vous permet de:
- Affichez les détails des webhooks existants.
- Ajoutez un webhook.
- Activez ou désactivez, modifiez ou supprimez un webhook.
- Effectuez une recherche dans la liste des webhooks.
Classic Edge (cloud privé)
Pour accéder à la page Webhooks à l'aide de l'interface utilisateur Classic Edge:
- Connectez-vous à
http://ms-ip:9000
, où ms-ip correspond à l'adresse IP ou au nom DNS du nœud du serveur de gestion. Sélectionnez Admin > Webhooks.
La page Webhooks s'affiche.
La page "Webhooks" vous permet de:
- Affichez les détails des webhooks existants.
- Ajoutez un webhook.
- Activez ou désactivez, modifiez ou supprimez un webhook.
- Effectuez une recherche dans la liste des webhooks.
Ajouter un webhook à l'aide de l'UI
Pour ajouter un webhook à l'aide de l'interface utilisateur:
- Accédez à la page Webhooks.
- Cliquez sur + Webhook.
- Saisissez les informations suivantes (tous les champs sont obligatoires).
Champ Description Nom Nom du webhook. URL URL du gestionnaire de rappel qui sera appelée lorsque la notification de l'événement est déclenchée. Consultez la section Configurer le gestionnaire de rappel. - Cliquez sur Enregistrer.
Le webhook est ajouté à la liste et activé par défaut.
Modifier un webhook dans l'interface utilisateur
Pour modifier un webhook à l'aide de l'interface utilisateur:
- Accédez à la page Webhooks.
- Placez le curseur sur le webhook que vous souhaitez modifier, puis cliquez sur dans le menu d'actions.
- Modifiez les champs du webhook, si nécessaire.
- Cliquez sur Mettre à jour le webhook.
Activer ou désactiver un webhook à l'aide de l'interface utilisateur
Pour activer ou désactiver un webhook à l'aide de l'interface utilisateur:
- Accédez à la page Webhooks.
- Placez le curseur sur le webhook et appuyez sur le bouton d'état pour l'activer ou le désactiver.
Supprimer un webhook à l'aide de l'UI
Pour supprimer un webhook à l'aide de l'UI:
- Accédez à la page Webhooks.
- Placez le curseur sur le webhook que vous souhaitez supprimer, puis cliquez sur .
Le webhook est alors supprimé de la liste.
Gérer des webhooks à l'aide de l'API
Ajoutez et gérez des webhooks à l'aide de l'API, comme décrit dans les sections suivantes.
- Afficher tous les webhooks à l'aide de l'API
- Afficher un webhook à l'aide de l'API
- Ajouter un webhook à l'aide de l'API
- Modifier un webhook à l'aide de l'API
- Supprimer un webhook à l'aide de l'API
Afficher tous les webhooks à l'aide de l'API
Affichez tous les webhooks en envoyant une requête GET à /mint/organizations/{org_name}/webhooks
.
Exemple :
curl -X GET "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/webhooks" \ -H "Content-Type: application/json " \ -u email:password
Vous trouverez ci-dessous un exemple de réponse renvoyée:
{ "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" } ] }
Afficher un webhook à l'aide de l'API
Pour afficher un seul webhook, envoyez une requête GET à /mint/organizations/{org_name}/webhooks/{webhook_id}
.
Exemple :
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
Voici un exemple de réponse :
{ "created": 1460162656342, "enabled": false, "id": "21844a37-d26d-476c-93ed-38f3a4b24691", "name": "webhook1", "postUrl": "http://mycompany.com/callbackhandler1", "updated": 1460162656342, "updatedBy": "joe@example.com" }
Ajouter un webhook à l'aide de l'API
Ajoutez un webhook en envoyant une requête POST à /mint/organizations/{org_name}/webhooks
.
Vous devez transmettre le nom du webhook et l'URL du gestionnaire de rappel qui sera appelé lorsque la notification d'événement est déclenchée.
Par exemple, la commande suivante crée un webhook nommé webhook3
et attribue callbackhandler3
au 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
Voici un exemple de réponse :
{ "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" }
Modifier un webhook à l'aide de l'API
Modifiez un webhook en envoyant une requête POST à /mint/organizations/{org_name}/webhooks/{webhook_id}
. Transmettez les mises à jour dans le corps de la requête.
Par exemple, la commande suivante met à jour le gestionnaire de rappel associé à webhook1
:
curl -X POST "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
Voici un exemple de réponse :
{ "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" }
Activer ou désactiver un webhook à l'aide de l'API
Activez ou désactivez un webhook en envoyant une requête POST à /mint/organizations/{org_name}/webhooks/{webhook_id}
, comme vous l'avez fait lors de la mise à jour d'un webhook, et définissez l'attribut activé dans le corps de la requête sur "true" ou "false", respectivement. Si vous désactivez le webhook, il ne se déclenchera pas lorsqu'un événement se produit.
Par exemple, ce qui suit active 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
Voici un exemple de réponse :
{ "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" }
Supprimer un webhook à l'aide de l'API
Pour supprimer un webhook, envoyez une requête DELETE à /mint/organizations/{org_name}/webhooks/{webhook_id}
.
Pour spécifier si vous souhaitez forcer ou non la suppression du webhook si des processus sont en cours, définissez le paramètre de requête forceDelete
sur true
ou false
. Le paramètre de requête forceDelete
est activé (true
) par défaut.
Par exemple, la requête suivante supprime 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
Configurer le gestionnaire de rappel
Vous trouverez ci-dessous le format de la requête JSON envoyée au gestionnaire de rappel défini par un webhook lorsqu'une notification d'événement est déclenchée. Vous devez vous assurer que le gestionnaire de rappel traite la requête de manière appropriée.
{ "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}" }
Configurer des notifications pour un plan tarifaire ajustable
Configurez des notifications à l'aide de webhooks pour un plan tarifaire ajustable à l'aide de l'interface utilisateur ou de l'API.
Configurer des notifications pour un plan tarifaire ajustable à l'aide de l'UI
Configurez des notifications à l'aide de webhooks pour un plan tarifaire ajustable à l'aide de l'UI, comme décrit ci-dessous.
Accéder à la boîte de dialogue "Notifications" pour un plan tarifaire ajustable
Accédez à la boîte de dialogue "Notifications" pour un plan tarifaire ajustable, comme décrit ci-dessous.
Périphérie
Pour accéder à la boîte de dialogue des notifications à l'aide de l'interface utilisateur Edge:
- Créez et publiez un plan de fréquence de notification ajustable, comme décrit dans Spécifier les détails du plan de notification ajustable.
- Accédez à la page "Plans tarifaires" en sélectionnant Publier > Monétisation > Plans tarifaires dans la barre de navigation de gauche.
- Positionnez votre curseur sur le plan de fréquence des notifications ajustable publié pour afficher les actions.
- Cliquez sur +Notifier.
La boîte de dialogue Notifications s'affiche.
Remarque: Le plan tarifaire doit être publié pour que l'action +Notifier s'affiche.
Classic Edge (cloud privé)
Pour accéder à la page Notifications:
- Créez un plan de notifications ajustable, comme décrit dans Spécifier les détails du plan de notification ajustable.
- Sélectionnez Publish > Packages (Publier > Packages) pour afficher les plans tarifaires.
- Cliquez sur + Notifier dans la colonne "Actions" du plan tarifaire.
La boîte de dialogue Notifications s'affiche.
Ajouter des notifications pour un plan tarifaire ajustable à l'aide de l'UI
Pour ajouter des notifications pour un plan tarifaire ajustable, accédez à l'interface utilisateur:
- Accédez à la boîte de dialogue des notifications.
- Définissez la condition de notification sous Intervalles de notification en spécifiant un pourcentage du nombre cible de transactions à laquelle vous souhaitez qu'une notification soit déclenchée. Plus précisément :
- Pour définir un pourcentage exact, saisissez le pourcentage dans le champ À/De % et laissez le champ À % vide.
- Pour définir une plage de pourcentage, saisissez le pourcentage de début et de fin dans les champs À/De % et À %, respectivement, ainsi qu'une valeur d'incrément dans le champ %de pas. Par défaut, les notifications sont envoyées par incréments de 10 % dans la plage spécifiée.
Le champ
Notify At
est mis à jour pour refléter chaque pourcentage du nombre cible de transactions qui déclencheront un événement. - Pour définir des conditions de notification supplémentaires, cliquez sur + Ajouter et répétez l'étape 4.
- Définissez l'action de notification sous Webhooks en sélectionnant un ou plusieurs webhooks pour gérer la gestion des rappels lorsque des notifications sont déclenchées.
- Cliquez sur Créer une notification.
Modification des notifications pour un plan tarifaire ajustable à l'aide de l'UI
Pour modifier les notifications d'un plan tarifaire ajustable, accédez à l'interface utilisateur:
- Accédez à la boîte de dialogue des notifications.
- Cliquez sur + Notifier dans la colonne "Actions" du plan tarifaire.
- Cliquez sur Modifier.
- Modifiez les valeurs si nécessaire.
- Cliquez sur Save Notification (Enregistrer la notification).
Supprimer des notifications pour un plan tarifaire ajustable à l'aide de l'UI
Pour supprimer une condition et une action de notification:
- Accédez à la boîte de dialogue des notifications.
- Cliquez sur + Notifier dans la colonne "Actions" du plan tarifaire.
- Cliquez sur Supprimer la notification.
Configurer des notifications pour un plan tarifaire ajustable à l'aide de l'API
Pour configurer une notification pour un plan tarifaire ajustable à l'aide de l'API, suivez la procédure décrite dans Gérer les conditions de notification et les actions à l'aide de l'API, et utilisez les attributs décrits dans cette section.
Pour configurer la condition de notification (notificationCondition
), utilisez les valeurs d'attribut suivantes. Pour en savoir plus, consultez Propriétés de configuration des conditions de notification.
Attribut | Valeur |
---|---|
RATEPLAN |
ID du plan pour le taux de notifications ajustable. |
PUBLISHED |
TRUE pour indiquer que le plan de taux de notifications ajustable doit être publié. |
UsageTarget |
Pourcentage du nombre cible de transactions à laquelle vous souhaitez qu'une notification soit déclenchée.
Cet attribut vous permet d'informer les développeurs lorsqu'ils approchent ou ont atteint le nombre cible de transactions pour un forfait de notification ajustable qu'ils ont acheté. Par exemple, si un développeur a souscrit un plan de taux de notifications ajustable et que le nombre cible de transactions a été défini sur 1 000, vous pouvez l'informer qu'il a atteint 800 transactions (80% du nombre cible de transactions), 1 000 transactions (100%) ou 1 500 transactions (150%).
|
Pour configurer l'action de notification, sous actions
, définissez les valeurs suivantes. Pour en savoir plus, consultez Propriétés de configuration pour les actions de notification.
Attribut | Valeur |
---|---|
actionAttribute |
WEBHOOK pour déclencher un webhook |
value |
ID du webhook que vous avez défini dans la section précédente, Créer des webhooks à l'aide de l'API. |
Vous trouverez ci-dessous un exemple de création d'une condition de notification qui déclenche un webhook lorsque le pourcentage du nombre cible de transactions atteint 80%, 90%, 100%, 110 % et 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", }] }
Pour en savoir plus sur l'affichage, la mise à jour et la suppression d'une condition et d'une action de notification, consultez les sections suivantes:
- Afficher une condition et une action de notification à l'aide de l'API
- Modifier une action et une condition de notification à l'aide de l'API
- Supprimer une condition et une action de notification à l'aide de l'API
Codes de réponse du webhook
Le tableau suivant récapitule les codes de réponse du webhook et la manière dont ils sont interprétés par le système.
Code de réponse | Description |
---|---|
2xx |
Réussite |
5xx |
Échec de la demande. Le système relance la requête jusqu'à trois fois toutes les cinq minutes. Remarque : Les délais avant expiration de la lecture et de la connexion pour les requêtes de webhook sont de trois secondes chacun, ce qui peut entraîner l'échec des requêtes. |
Other response |
Échec de la demande. Le système ne relancera pas la requête. |