Estás viendo la documentación de Apigee Edge.
Ve a la
documentación de Apigee X. info
¿Qué es un hook de red?
Un webhook define un controlador de devolución de llamada HTTP que activa un evento. Puedes crear webhooks y configurarlos para controlar las notificaciones de eventos, como alternativa al uso de las plantillas de notificaciones de monetización, como se describe en Configura notificaciones con plantillas de notificaciones.
Para configurar notificaciones con webhooks, completa los siguientes pasos con la IU de Edge Management o la API de Management and Monetization:
- Agrega webhooks que definan los controladores de devolución de llamada para los eventos de notificación mediante la IU o la API.
- Configura el controlador de devolución de llamada.
- Configura la notificación de un plan de tarifas ajustable con la IU o la API.
Administración de webhooks
Agrega y administra webhooks que definan los controladores de devolución de llamada para los eventos de notificación con la IU o la API.
Administra webhooks con 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 Webhooks
- Agrega un webhook mediante la IU
- Cómo editar un webhook con la IU
- Borra un webhook mediante la IU
Explora la página de webhooks
Accede a la página Webhooks, como se describe a continuación.
Edge
Para acceder a la página Webhooks con la IU de Edge, haz lo siguiente:
- Accede a apigee.com/edge.
- Selecciona Publicar > Monetización > Webhooks en la barra de navegación izquierda.
Se mostrará la página Webhooks.
Como se destaca en la figura, la página Webhooks te permite hacer lo siguiente:
- Consulta los detalles de los hooks dewebhook existentes.
- Agrega un webhook.
- Habilitar o inhabilitar, editar o borrar un webhook
- Busca en la lista de webhooks.
Edge clásico (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 Webhooks te permite hacer lo siguiente:
- Consulta los detalles de los hooks dewebhook existentes.
- Agrega un webhook.
- Habilitar o inhabilitar, editar o borrar un webhook
- Busca en la lista de webhooks.
Agrega un webhook con la IU
Para agregar unwebhook con la IU, haz lo siguiente:
- Accede a la página Webhooks.
- Haz clic en + Webhook.
- Ingresa la siguiente información (todos los campos son obligatorios).
Campo Descripción Nombre Es el nombre del webhook. URL Es la URL del controlador de devolución de llamada al que se llamará cuando se active la notificación del evento. 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.
Cómo editar un webhook con 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 con la IU, haz lo siguiente:
- Accede a la página Webhooks.
- Coloca el cursor sobre el webhook y activa o desactiva el interruptor de estado.
Borra un webhook mediante la IU
Para borrar un webhook con la IU, haz lo siguiente:
- Accede a la página 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 con la API
Agrega y administra webhooks con la API, como se describe en las siguientes secciones.
- Cómo ver todos los webhooks con la API
- Cómo ver un webhook con la API
- Cómo agregar un webhook con la API
- Edita un webhook mediante la API
- Borra un webhook mediante la API
Visualiza todos los webhooks con la 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" } ] }
Cómo ver unwebhook con la 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" }
Agrega un webhook mediante la API
Para agregar un webhook, envía una solicitud POST a /mint/organizations/{org_name}/webhooks
.
Debes pasar el nombre del webhook y la URL del controlador de devolución de llamada al que se llamará cuando se active la notificación del evento.
Por ejemplo, el siguiente comando crea un webhook llamado webhook3
y le asigna callbackhandler3
:
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" }
Cómo editar unwebhook con la API
Para editar un webhook, envía una solicitud PUT a /mint/organizations/{org_name}/webhooks/{webhook_id}
. Pasa las actualizaciones en el cuerpo de la solicitud.
Por ejemplo, lo siguiente actualiza el controlador de devolución 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 con la API
Habilita o inhabilita un webhook mediante el envío de una solicitud POST a /mint/organizations/{org_name}/webhooks/{webhook_id}
, como lo hiciste cuando actualizaste un webhook, y configura el atributo habilitado en el cuerpo de la solicitud como verdadero o falso, respectivamente. Si inhabilitas el webhook, no se activará cuando
ocurra un evento.
Por ejemplo, el siguiente comando 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" }
Borra unwebhook con la API
Para borrar un webhook, envía una solicitud DELETE a /mint/organizations/{org_name}/webhooks/{webhook_id}
.
Para especificar si se debe forzar o no la eliminación del webhook si hay procesos en curso, establece el parámetro de consulta forceDelete
en true
o false
. El parámetro de consulta forceDelete
está habilitado (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 que define un webhook cuando se activa una notificación de evento. Debes asegurarte de que el controlador de devolución de llamada procese 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}" }
Cómo configurar notificaciones para un plan de tarifas ajustable
Configura notificaciones con webhooks para un plan de tarifas ajustable con la IU o la 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 ajustable con la IU, como se describe a continuación.
Accede al diálogo Notificaciones para obtener un plan de tarifas 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, haz lo siguiente:
- Crea y publica un plan de tarifas de notificaciones ajustable, como se describe en Especifica los detalles del plan de tarifas de notificaciones ajustable.
- Para acceder a la página Planes de tarifas, selecciona Publicar > Monetización > Planes de tarifas en la barra de navegación izquierda.
- Coloca el cursor sobre el plan de tarifas de notificaciones ajustable publicado para mostrar las acciones.
- Haz clic en +Notificar.
Aparecerá el cuadro de diálogo Notifications.
Nota: El plan de tarifas debe estar publicado para que se muestre la acción +Notificar.
Edge clásico (nube privada)
Para acceder a la página Notificaciones, haz lo siguiente:
- Crea un plan de tarifas de notificaciones ajustable, como se describe en Especifica los detalles del plan de tarifas de notificaciones ajustable.
- Selecciona Publicar > Paquetes para ver los planes de tarifas.
- Haz clic en +Notificar en la columna Acciones del plan de tarifas.
Aparecerá el diálogo Notificaciones.
Cómo agregar notificaciones para un plan de tarifas ajustable con la IU
Para agregar notificaciones para un plan de tarifas ajustable en la IU, haz lo siguiente:
- Accede al diálogo Notificaciones.
- Para establecer la condición de notificación en Intervalos de notificación, especifica un porcentaje de la cantidad objetivo de transacciones en el momento en que deseas que se active una notificación. Específicamente:
- Para establecer un porcentaje exacto, ingresa el porcentaje en el campo En/Desde el % y deja el campo Hasta el % en blanco.
- Para establecer un rango porcentual, ingresa los porcentajes inicial y final en los campos En/Desde el % y Hasta el %, respectivamente, y un valor de incremento en el campo Paso porcentual. De forma predeterminada, las notificaciones se envían en incrementos del 10% 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 configurar la acción de notificación en Webhooks, selecciona uno o más webhooks para administrar el manejo de devoluciones de llamada cuando se activen las notificaciones.
- Haz clic en Crear notificación.
Cómo editar notificaciones de un plan de tarifas ajustable con la IU
Para editar las notificaciones de un plan de tarifas ajustable en la IU, haz lo siguiente:
- 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.
Cómo configurar notificaciones para un plan de tarifas ajustable con la API
Para configurar una notificación para un plan de tarifas ajustable con la API, usa el procedimiento que se describe en Cómo administrar las condiciones y acciones de notificaciones con la API y los atributos que se describen en esta sección.
Para configurar la condición de notificación (notificationCondition
), usa los siguientes valores de atributo. Para obtener más información, consulta Propiedades de configuración para las condiciones de notificación.
Atributo | Valor |
---|---|
RATEPLAN |
Es el ID del plan de tarifas de notificaciones ajustables. |
PUBLISHED |
TRUE para indicar que se debe publicar el plan de tarifas de notificaciones ajustables. |
UsageTarget |
Es el porcentaje de la cantidad objetivo de transacciones en el momento en que deseas que se active una notificación.
Este atributo te permite notificar a los desarrolladores cuando estén por alcanzar o hayan alcanzado la cantidad objetivo de transacciones para un plan de tarjeta de tarifa de notificación ajustable que hayan comprado. Por ejemplo, si un desarrollador compró un plan de tasas de notificaciones ajustables y su número objetivo de transacciones se estableció en 1,000, puedes notificarle cuando alcance 800 transacciones (el 80% de la cantidad objetivo de transacciones), 1,000 (100%) o 1,500 (150%).
|
Para configurar la acción de notificación, en actions
, establece los siguientes valores. Para obtener más información, consulta Propiedades de configuración para las acciones de notificación.
Atributo | Valor |
---|---|
actionAttribute |
WEBHOOK para activar un webhook. |
value |
Es el ID del webhook que definiste en la sección anterior, Cómo crear webhooks con la API. |
A continuación, se proporciona un ejemplo de cómo crear una condición de notificación que active un webhook cuando el porcentaje de la cantidad objetivo de transacciones alcance el 80%, el 90%, el 100%, el 110% y el 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 lo siguiente:
- Visualiza una condición y una acción de notificación con la API
- Cómo editar una condición y una acción de notificación con la API
- Cómo borrar una condición y una acción de 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 sistema.
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 intervalos de 5 minutos. Nota: Los tiempos de espera de lectura y conexión para las solicitudes de webhook son de 3 segundos cada uno, lo que puede provocar que se produzcan solicitudes fallidas. |
Other response |
Se produjo un error en la solicitud. El sistema no volverá a intentar la solicitud. |