Documentation Index
Fetch the complete documentation index at: https://docs.olostep.com/llms.txt
Use this file to discover all available pages before exploring further.
Estamos ampliando activamente el soporte para webhooks.Recién llegado: reintentos automáticos con retroceso exponencial — las entregas fallidas ahora se reintentan hasta 5 veces en 30 minutos.Próximamente:
- URLs de webhook predeterminadas para todo el equipo
- Firmas criptográficas para la verificación de cargas útiles
Descripción general
Los webhooks entregan notificaciones HTTP POST en tiempo real a tu servidor cuando las operaciones de larga duración se completan. En lugar de consultar el estado, tu aplicación recibe actualizaciones instantáneas.Casos de Uso
Procesamiento Asíncrono
Recibe notificaciones cuando los lotes o rastreos se completan en lugar de consultar
Disparadores de Pipeline
Dispara automáticamente el procesamiento posterior cuando los datos están listos
Alertas
Envía alertas a Slack, correo electrónico u otros sistemas al completarse
Sincronización de Datos
Mantén tu base de datos sincronizada con los resultados de Olostep
Eventos Soportados
batch.completed
batch.completed
Se activa cuando un lote termina de procesarse (todos los elementos completados o fallidos).
crawl.completed
crawl.completed
Se activa cuando un rastreo termina y todas las páginas descubiertas han sido procesadas.
Configuración de Webhooks
Pasawebhook al crear un recurso. Esta URL recibe la notificación de finalización.
Nombre del parámetro: El parámetro canónico es
webhook. Para compatibilidad con versiones anteriores, webhook_url también es aceptado como alias.Carga Útil del Webhook
Todas las cargas útiles de los webhooks siguen una estructura de sobre unificada:Campos del Sobre
| Campo | Descripción |
|---|---|
id | ID del evento — igual en todos los intentos de reintento |
object | Tipo de evento (por ejemplo, event.batch.completed) |
timestamp | Cuándo se envió este intento de entrega (epoch ms) |
delivery_attempt | Intento actual / intentos máximos (por ejemplo, 1/5, 3/5) |
data | Los datos reales del recurso (mismo formato que la respuesta de la API) |
Comportamiento de Reintento
Las entregas fallidas de webhooks se reintentan automáticamente con retroceso exponencial durante una ventana de 30 minutos:| Intento | Retraso Antes del Intento | Tiempo Acumulado |
|---|---|---|
| 1 | Inmediato | 0 min |
| 2 | ~2 min | ~2 min |
| 3 | ~4 min | ~6 min |
| 4 | ~7 min | ~13 min |
| 5 | ~15 min | ~28 min |
Tiempo de espera por solicitud: 30 segundos
Qué Cuenta como Éxito
Tu endpoint debe devolver un código de estado2xx en 30 segundos. Cualquier otra respuesta desencadena un reintento.
| Respuesta | Resultado |
|---|---|
200 OK | ✅ Entregado |
201 Created | ✅ Entregado |
301 Redirect | ❌ Reintentar (no seguimos redirecciones) |
400 Bad Request | ❌ Reintentar |
500 Server Error | ❌ Reintentar |
| Timeout (>30s) | ❌ Reintentar |
| Conexión rechazada | ❌ Reintentar |
Mejores Prácticas
Responde rápidamente, procesa asíncronamente
Responde rápidamente, procesa asíncronamente
Devuelve
200 OK inmediatamente y procesa el webhook de forma asíncrona. Si tu procesamiento tarda más de 30 segundos, reintentaremos — causando entregas duplicadas.Implementa manejadores idempotentes
Implementa manejadores idempotentes
Usa el campo
id para eliminar duplicados. Almacena los IDs de eventos procesados y omite duplicados.Registra recibos de webhooks
Registra recibos de webhooks
Registra todos los recibos de webhooks para depuración. Incluye el ID del evento, la marca de tiempo y el resultado del procesamiento.
Usa endpoints HTTPS
Usa endpoints HTTPS
Siempre usa HTTPS para los endpoints de webhooks. Los endpoints HTTP son vulnerables a la interceptación y ataques de intermediarios.
Solución de Problemas
No se reciben webhooks
No se reciben webhooks
- Verifica que el parámetro
webhookfue incluido en tu solicitud - Verifica que tu endpoint sea accesible públicamente (no localhost)
- Revisa los registros de tu servidor para solicitudes entrantes
- Asegúrate de devolver un código de estado
2xx
Recibiendo webhooks duplicados
Recibiendo webhooks duplicados
Esto es esperado durante los reintentos. Implementa un manejo idempotente usando el campo
id:Webhooks agotando el tiempo
Webhooks agotando el tiempo
Tu endpoint debe responder en 30 segundos. Procesa los webhooks de forma asíncrona:
Próximamente
URL Predeterminada del Equipo
Configura una URL de webhook predeterminada en la configuración de tu cuenta. Todas las solicitudes usarán esta URL a menos que se sobrescriba.
Verificación de Firmas
Firmas criptográficas (HMAC-SHA256) para verificar que las cargas útiles de los webhooks provienen de Olostep.
¿Quieres acceso anticipado a estas funciones? Contáctanos en info@olostep.com o únete a nuestra comunidad de Slack.