Saltar al contenido principal
3 min de lectura

Webhooks

Zenovay utiliza webhooks internamente para el procesamiento de pagos y la gestión de suscripciones. Esta página explica cómo funcionan los webhooks en Zenovay y cómo crear integraciones usando la API externa.

Cómo Zenovay utiliza webhooks

Zenovay procesa webhooks entrantes desde proveedores de pagos y servicios de monitoreo. Estos son webhooks del sistema interno que manejan la facturación de suscripciones y comprobaciones de salud.

Fuentes de webhooks entrantes

OrigenPropósito
StripeGestión de suscripciones, procesamiento de pagos, finalización de compra
Monitoreo de disponibilidadDesencadenadores de comprobación de salud desde servicios de monitoreo externos

Estos webhooks son manejados internamente por la API de Zenovay. Para webhooks salientes y claves API de equipo, ve a Settings → Security → API keys.

Página Settings → Security → API keys mostrando tokens personales y la sección Webhooks
Los webhooks se configuran en Settings → Security → API keys.

Crear integraciones

Puedes crear integraciones usando la API externa para extraer datos de análisis en tus propios sistemas.

Sondeo con la API externa

Utiliza la API externa para obtener periódicamente datos de análisis:

Ejemplo de sondeoJavaScript
const API_KEY = process.env.ZENOVAY_API_KEY;
const WEBSITE_ID = process.env.ZENOVAY_WEBSITE_ID;

async function checkAnalytics() {
const response = await fetch(
  `https://api.zenovay.com/api/external/v1/analytics/${WEBSITE_ID}?timeRange=24h`,
  {
    headers: { 'X-API-Key': API_KEY }
  }
);

const data = await response.json();

// Procesar los datos
if (data.totalVisitors > threshold) {
  await sendNotification(data);
}
}

// Sondear cada 5 minutos
setInterval(checkAnalytics, 5 * 60 * 1000);

Conteo de visitantes en vivo

El punto de conexión público en vivo no requiere una clave API y se puede sondear con mayor frecuencia:

Visitantes en vivoJavaScript
async function getLiveVisitors(trackingCode) {
const response = await fetch(
  `https://api.zenovay.com/live/${trackingCode}`
);
return await response.json();
}

Ejemplo de notificación en Slack

Crea un informe de análisis programado que se publica en Slack:

Integración con SlackJavaScript
async function sendDailyReport() {
const response = await fetch(
  `https://api.zenovay.com/api/external/v1/analytics/${WEBSITE_ID}?timeRange=24h`,
  {
    headers: { 'X-API-Key': API_KEY }
  }
);

const data = await response.json();

await fetch(SLACK_WEBHOOK_URL, {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    text: `Informe diario: ${data.totalVisitors} visitantes, ${data.totalPageViews} vistas de página`
  })
});
}

Límites de velocidad para integraciones

Al crear integraciones de sondeo, respeta los límites de velocidad de la API externa:

PlanSolicitudes/minutoLímite mensual
Pro3010,000
Scale60100,000
Enterprise1201,000,000

El acceso a la API externa requiere un plan de pago. Las cuentas gratuitas no pueden generar claves API ni usar la API externa.

Mejores prácticas

  • Almacena en caché las respuestas de la API localmente para reducir la frecuencia de solicitudes
  • Utiliza intervalos de sondeo apropiados (se recomienda un mínimo de 5 minutos)
  • Monitorea el encabezado X-RateLimit-Remaining para evitar alcanzar los límites
  • Implementa retroceso exponencial si recibes respuestas 429
¿Fue útil esta página?