Saltar al contenido principal
Los webhooks permiten la entrega de datos en tiempo real a tu servidor. En lugar de consultar periódicamente en busca de actualizaciones, recibe los datos en el momento en que ocurren los eventos.

Descripción general

Entrega en tiempo real

Recibe eventos al instante

Basado en push

Datos enviados a tu servidor

Eficiente

Sin necesidad de polling

Confiable

Admite reintentos y recuperación

Tipos de webhook

TipoDescripción
Webhooks de stream filtradoRecibir Publicaciones del stream filtrado mediante webhook
Account Activity APIRecibir eventos de actividad de la cuenta

Cómo funcionan los webhooks

┌──────────┐      ┌──────────┐      ┌──────────┐
│ X Event  │  →   │ X Server │  →   │ Your     │
│ Occurs   │      │          │      │ Webhook  │
└──────────┘      └──────────┘      └──────────┘
  1. Se produce un evento — Un usuario publica, envía un DM, etc.
  2. X envía una solicitud — Solicitud POST a la URL de tu webhook
  3. Procesas el evento — Tu servidor maneja el evento
  4. Respondes con 200 — Devuelves 200 OK para confirmar la recepción

Requisitos de webhook

RequisitoDescripción
HTTPSLa URL del webhook debe usar HTTPS
PúblicaLa URL debe ser de acceso público
Respuesta rápidaResponder en menos de 10 segundos
200 OKDevolver un código de estado 200 para confirmar la recepción

Seguridad

Comprobación de desafío-respuesta (CRC)

X valida el webhook enviando una solicitud CRC. Responde con un hash HMAC-SHA256:
import hmac
import hashlib
import base64

def handle_crc(crc_token, consumer_secret):
    sha256_hash = hmac.new(
        consumer_secret.encode(),
        crc_token.encode(),
        hashlib.sha256
    ).digest()
    
    return {
        "response_token": "sha256=" + base64.b64encode(sha256_hash).decode()
    }

Verificación de la firma

Verifica la autenticidad del webhook mediante el encabezado x-twitter-webhooks-signature.

Primeros pasos

Requisitos previos

Webhooks de flujo filtrado

Recibe Publicaciones filtradas mediante webhooks

Account Activity API

Recibe eventos de cuenta mediante webhooks