API de ingestión

Puedes enviar alertas a AlertHub desde cualquier sistema con nuestra API de ingestión universal. Es el mecanismo principal para enviar datos a AlertHub.

¿Prefieres email? También puedes enviar alertas por email — sin peticiones HTTP.

Endpoint

POST https://api.thealerthub.com/sendAlert

Parámetros

Puedes pasar parámetros en el cuerpo JSON o como parámetros de consulta (URL).

Parámetros principales

Estos son los campos reservados que usa la lógica de AlertHub:

  • ah_key: (Obligatorio) La Secret Key de tu proyecto.
  • ah_title: (Obligatorio) Resumen breve del evento.
  • ah_description: (Opcional) Contexto detallado.
  • ah_level: Uno de info, warning, critical. Por defecto info.
  • ah_source: (Opcional) Identificador de origen (p. ej. “Stripe”, “AWS”).

Prioridad de parámetros

Puedes combinar ambos métodos. Por ejemplo, pon el ah_key en la URL (más fácil de verificar) y el resto de datos en el cuerpo JSON.

Nota: Si un parámetro está en la URL y en el cuerpo, el valor del cuerpo (POST) tiene prioridad.

Variables personalizadas

Cualquier otro campo que envíes y que NO sea uno de los parámetros ah_* se trata como variable personalizada.

  • Estas variables se pueden mostrar en el título o la descripción de la alerta con sintaxis mustache (p. ej. {{user_id}}).
  • Son útiles para depurar (p. ej. user_id, transaction_amount, error_code).
  • Puedes enviar objetos JSON anidados como variables personalizadas y se renderizan con mustache. Por ejemplo, {{user.name}}.

Constructor de webhooks

Hemos creado una herramienta para generar y probar tus URLs de webhook con facilidad.

Abrir el personalizador y constructor de webhooks

Ejemplos

1. Uso mixto (clave en la URL, datos en el cuerpo)

Es un patrón habitual para dejar el cuerpo limpio o cuando el sistema configura los secretos más fácilmente en la URL.

curl -X POST 'https://api.thealerthub.com/sendAlert?ah_key=YOUR_PROJECT_KEY&ah_source=MyServer' \
  -H 'Content-Type: application/json' \
  -d '{
    "ah_title": "Disk Space Low",
    "ah_level": "warning",
    "ah_description": "Disk usage is {{disk_usage}} on {{mount_point}}",
    "disk_usage": "95%",
    "mount_point": "/var/log"
  }'

En este ejemplo:

  • ah_key y ah_source vienen de la URL.
  • disk_usage y mount_point son variables personalizadas.

2. Petición JSON completa

curl -X POST 'https://api.thealerthub.com/sendAlert' \
  -H 'Content-Type: application/json' \
  -d '{
    "ah_key": "YOUR_PROJECT_KEY",
    "ah_title": "Payment Failed",
    "ah_description": "Payment failed for customer {{customer.id}}",
    "ah_level": "critical",
    "ah_source": "Stripe",
    "customer": {
        "id": "cus_123",
        "email": "[email protected]"
    },
    "amount": 4900,
    "currency": "usd"
  }'