Estás viendo la documentación de Apigee Edge.
Ve a la
Documentación de Apigee X. información
¿Qué es un webhook?
Un webhook define un controlador de devolución de llamada HTTP que se activa mediante un evento. Puedes crear webhooks y configurarlos para manejar notificaciones de eventos, como alternativa al uso de plantillas de notificaciones de monetización, tal como se describe en Cómo configurar notificaciones mediante plantillas de notificaciones.
Para configurar notificaciones mediante webhooks, completa los siguientes pasos en la administración perimetral IU o API de Management y Monetization:
- Agrega webhooks que definan los controladores de devolución de llamada para los eventos de notificación mediante el IU o API.
- Configura el controlador de devolución de llamada.
- Configura la notificación para un plan de tarifa ajustable con la IU o API.
Administra webhooks
Agrega y administra webhooks que definan los controladores de devolución de llamada para los eventos de notificación mediante el IU o API.
Administra webhooks mediante la IU
Agrega y administra webhooks que definan los controladores de devolución de llamada para los eventos de notificación por medio de la IU, como se describe en las siguientes secciones.
- Explora la página de webhooks
- Agrega un webhook mediante la IU
- Edita un webhook mediante la IU
- Borra un webhook mediante la IU
Explora la página de webhooks
Accede a la página de webhooks como se describe a continuación.
Edge
Para acceder a la página de webhooks con la IU de Edge, sigue estos pasos:
- Accede a apigee.com/edge.
- Selecciona Publicar > Monetización > Webhooks en la barra de navegación izquierda.
Se muestra la página Webhooks.
Como se destaca en la figura, la página de webhooks te permite hacer lo siguiente:
- Ver los detalles de los webhooks existentes.
- Agrega un webhook.
- Habilita o inhabilita, edit o borra un webhook.
- Busca en la lista de webhooks.
Classic Edge (nube privada)
Para acceder a la página de webhooks con la IU clásica de Edge, sigue estos pasos:
- Accede a
http://ms-ip:9000
, donde ms-ip es la dirección IP o el nombre de DNS del nodo del servidor de administración. Selecciona Administrador > Webhooks.
Se muestra la página Webhooks.
La página de webhooks te permite hacer lo siguiente:
- Ver los detalles de los webhooks existentes.
- Agrega un webhook.
- Habilita o inhabilita, edit o borra un webhook.
- Busca en la lista de webhooks.
Agrega un webhook mediante la IU
Para agregar un webhook mediante la IU, haz lo siguiente:
- Accede a la página de webhooks.
- Haz clic en + Webhook.
- Ingresa la siguiente información (todos los campos son obligatorios).
Campo Descripción Nombre Nombre del webhook. URL La URL del controlador de devolución de llamada al que se llamará cuando se active la notificación del evento. activa. Consulta Cómo configurar el controlador de devolución de llamada. - Haz clic en Guardar.
El webhook se agrega a la lista y se habilita de forma predeterminada.
Edita un webhook mediante la IU
Para editar un webhook mediante la IU, sigue estos pasos:
- Accede a la página de webhooks.
- Coloca el cursor sobre el webhook que deseas editar y haz clic en
en el menú de acciones.
- Edita los campos del webhook según sea necesario.
- Haz clic en Actualizar webhook.
Habilita o inhabilita un webhook mediante la IU
Para habilitar o inhabilitar un webhook mediante la IU, sigue estos pasos:
- Accede a la página de webhooks.
- Coloca el cursor sobre el webhook y activa el interruptor de estado para habilitarlo o inhabilitarlo.
Borra un webhook mediante la IU
Para borrar un webhook mediante la IU, haz lo siguiente:
- Accede a la página de webhooks.
- Coloca el cursor sobre el webhook que deseas borrar y haz clic en
.
El webhook se borra y se quita de la lista.
Administra webhooks mediante la API
Agrega y administra webhooks con la API como se describe en las siguientes secciones.
- Visualiza todos los webhooks con la API
- Visualiza un webhook mediante la API
- Agrega un webhook mediante la API
- Edita un webhook mediante la API
- Borra un webhook mediante la API
Ver todos los webhooks que usan API
Para ver todos los webhooks, envía una solicitud GET a /mint/organizations/{org_name}/webhooks
.
Por ejemplo:
curl -X GET "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/webhooks" \ -H "Content-Type: application/json " \ -u email:password
A continuación, se proporciona un ejemplo de la respuesta que se muestra:
{ "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" } ] }
Ver un webhook mediante API
Para ver un solo webhook, envía una solicitud GET a
/mint/organizations/{org_name}/webhooks/{webhook_id}
Por ejemplo:
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
A continuación, se proporciona un ejemplo de la respuesta.
{ "created": 1460162656342, "enabled": false, "id": "21844a37-d26d-476c-93ed-38f3a4b24691", "name": "webhook1", "postUrl": "http://mycompany.com/callbackhandler1", "updated": 1460162656342, "updatedBy": "joe@example.com" }
Agregar un webhook con el API
Envía una solicitud POST a /mint/organizations/{org_name}/webhooks
para agregar un webhook.
Debes pasar el nombre del webhook y la URL del controlador de devolución de llamada al que se llamará.
cuando se activa la notificación del evento.
Por ejemplo, lo siguiente crea un webhook llamado webhook3
y asigna
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
A continuación, se proporciona un ejemplo de la respuesta.
{ "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" }
Edita un webhook mediante la API
Edita un webhook enviando una solicitud PUT a
/mint/organizations/{org_name}/webhooks/{webhook_id}
Pasa las actualizaciones en el cuerpo del
para cada solicitud.
A continuación, se muestra, por ejemplo, el controlador de devoluciones de llamada asociado con
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
A continuación, se proporciona un ejemplo de la respuesta.
{ "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" }
Habilita o inhabilita un webhook mediante la API
Habilitar o inhabilitar un webhook enviando una solicitud POST a
/mint/organizations/{org_name}/webhooks/{webhook_id}
, como lo hiciste cuando actualizaste un webhook,
y establecer el atributo habilitado en el cuerpo de la solicitud en verdadero o falso, respectivamente. Si inhabilitas el webhook, no se activará cuando
se produce un evento.
Por ejemplo, lo siguiente habilita 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
A continuación, se proporciona un ejemplo de la respuesta.
{ "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" }
Borrar un webhook mediante API
Envía una solicitud DELETE para borrar un webhook a
/mint/organizations/{org_name}/webhooks/{webhook_id}
Especificar si se debe forzar o no la eliminación del webhook si hay procesos en
del progreso, establece el parámetro de consulta forceDelete
en true
false
Está habilitado el parámetro de consulta forceDelete
(true
).
de forma predeterminada.
Por ejemplo, lo siguiente borra 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
Cómo configurar el controlador de devolución de llamada
A continuación, se muestra el formato de la solicitud JSON que se envía al controlador de devolución de llamada definidos por un webhook cuando se activa una notificación de evento. Debes asegurarte de que la devolución de llamada procesa la solicitud de forma adecuada.
{ "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}" }
Configura notificaciones para un plan de tarifa ajustable
Configura notificaciones con webhooks para un plan de tarifa ajustable a través de la IU o API.
Cómo configurar notificaciones para un plan de tarifas ajustable a través de la IU
Configura notificaciones con webhooks para un plan de tarifas ajustables a través de la IU, como se describe a continuación.
Accede al diálogo Notificaciones para obtener un plan de tarifa ajustable
Accede al diálogo Notificaciones para obtener un plan de tarifas ajustable, como se describe a continuación.
Edge
Para acceder al diálogo de notificaciones con la IU de Edge, sigue estos pasos:
- Crear y publicar un plan de tasa de notificaciones ajustable, como se describe en Cómo especificar detalles del plan de notificación ajustable.
- Para acceder a la página Planes de tarifas, selecciona Publicar > Monetización > Planes de tarifas en la barra de navegación de la izquierda.
- Coloca el cursor sobre el plan de tasa de notificaciones ajustable publicado para mostrar las acciones.
- Haz clic en +Notificar.
Se mostrará el diálogo Notifications.
Nota: El plan de tarifas debe publicarse para que se muestre la acción +Notificar.
Classic Edge (nube privada)
Para acceder a la página Notificaciones:
- Crea un plan de tasa de notificaciones ajustable, como se describe en Cómo especificar detalles del plan de notificación ajustable.
- Selecciona Publicar > Paquetes para ver los planes de tarifas.
- Haz clic en +Notificar en la columna Acciones del plan de tarifas.
Se mostrará el diálogo Notifications.
Agrega notificaciones de un plan de tarifa ajustable a través de la IU
Sigue estos pasos para agregar notificaciones de un plan de tarifa ajustable a la IU:
- Accede al diálogo Notificaciones.
- Establece la condición de notificación en Intervalos de notificación de la siguiente manera:
que especifica un porcentaje de la cantidad objetivo de transacciones en las que desea que
que se active la notificación. Más precisamente, sucederá lo siguiente:
- Para establecer un porcentaje exacto, ingrésalo en el campo At/From % y deja el campo Para % en blanco.
- Para establecer un intervalo porcentual, ingresa el porcentaje inicial y final en la At/From % y To %, respectivamente, y un incremento en el campo Step %. De forma predeterminada, el 10% de las notificaciones se envían aumenta dentro del rango especificado.
El campo
Notify At
se actualiza para reflejar cada porcentaje de la cantidad objetivo de transacciones que activarán un evento. - Para establecer condiciones de notificación adicionales, haz clic en +Agregar y repite el paso. 4)
- Para establecer la acción de notificación en Webhooks, selecciona uno o más. webhooks para administrar el manejo de devoluciones de llamada cuando se activan notificaciones.
- Haz clic en Crear notificación.
Edición de notificaciones de un plan de tarifas ajustable a través de la IU
Sigue estos pasos para editar las notificaciones de un plan de tarifa ajustable:
- Accede al diálogo Notificaciones.
- Haz clic en +Notificar en la columna Acciones del plan de tarifas.
- Haz clic en Editar.
- Modifica los valores según sea necesario.
- Haz clic en Guardar notificación.
Cómo borrar notificaciones de un plan de tarifa ajustable a través de la IU
Para borrar una condición y una acción de notificación, haz lo siguiente:
- Accede al diálogo Notificaciones.
- Haz clic en +Notificar en la columna Acciones del plan de tarifas.
- Haz clic en Borrar notificación.
Configurar notificaciones para un plan de tarifa ajustable con la API
Para configurar una notificación para un plan de tarifa ajustable con la API, usa el procedimiento que se describe en Cómo administrar y usar la API, y usa los atributos que se describen en esta sección.
Para configurar la condición de notificación (notificationCondition
), usa la
siguientes valores de atributos. Para obtener más información, consulta Configuración
Propiedades para las condiciones de notificación.
Atributo | Valor |
---|---|
RATEPLAN |
ID del plan de tasa de notificaciones ajustable. |
PUBLISHED |
TRUE para indicar que el plan de frecuencia de notificaciones ajustable debe
publicados. |
UsageTarget |
Porcentaje de la cantidad objetivo de transacciones en las que quieres que se envíe la notificación
se activará.
Este atributo permite notificar a los desarrolladores cuando se acercan o llegan su cantidad objetivo de transacciones para un plan de hoja de tarifas de notificación ajustable que que compraron. Por ejemplo, si un desarrollador compró una notificación ajustable plan de tarifas y el número objetivo de transacciones para el desarrollador se estableció en 1,000. puedes notificarle cuando alcancen las 800 transacciones (el 80% de la cantidad objetivo de o 1,000 transacciones (100%) o 1,500 transacciones (150%).
|
Para configurar la acción de notificación, en actions
, establece los siguientes valores. Para
Para obtener más información, consulta Configuración
Propiedades de las acciones de notificación
Atributo | Valor |
---|---|
actionAttribute |
WEBHOOK para activar un webhook. |
value |
ID del webhook que definiste en la sección anterior, Crea webhooks con la API. |
A continuación, se muestra un ejemplo de cómo crear una condición de notificación que active una webhook cuando el porcentaje de la cantidad objetivo de transacciones alcanza el 80%, 90%, 100%, 110% y 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", }] }
Para obtener información sobre cómo ver, actualizar y borrar una condición y una acción de notificación, consulta:
- Visualización una condición y acción de notificación con la API
- Editar un condición y acción de la notificación con la API
- Eliminar un condición y acción de la notificación con la API
Códigos de respuesta de webhook
A continuación, se resumen los códigos de respuesta de webhook y cómo los interpreta el en un sistema de archivos.
Código de respuesta | Descripción |
---|---|
2xx |
Listo |
5xx |
Se produjo un error en la solicitud. El sistema volverá a intentar la solicitud hasta tres veces en 5 minutos. en intervalos de tiempo. Nota: Estos son los tiempos de espera de lectura y conexión para las solicitudes de webhook 3 segundos cada una, lo que puede generar solicitudes fallidas. |
Other response |
Se produjo un error en la solicitud. El sistema no volverá a intentar la solicitud. |