Passer au contenu principal
Les webhooks permettent la transmission de données en temps réel à votre serveur. Au lieu d’interroger l’API pour détecter des mises à jour, vous recevez les données dès que les événements se produisent.

Vue d’ensemble

Diffusion en temps réel

Recevez les événements instantanément

En mode push

Données envoyées à votre serveur

Efficace

Aucun polling nécessaire

Fiable

Prise en charge des tentatives de renvoi et de la reprise

Types de webhooks

TypeDescription
Filtered Stream WebhooksRecevoir des Publications d’un flux filtré via un webhook
Account Activity APIRecevoir des événements d’activité de compte

Fonctionnement des webhooks

┌──────────┐      ┌──────────┐      ┌──────────┐
│ X Event  │  →   │ X Server │  →   │ Your     │
│ Occurs   │      │          │      │ Webhook  │
└──────────┘      └──────────┘      └──────────┘
  1. Un événement se produit — Un utilisateur publie un message, envoie un DM, etc.
  2. X envoie une requête — Requête POST vers l’URL de votre webhook
  3. Vous traitez — Votre serveur gère l’événement
  4. Répondez avec 200 — Retournez 200 OK pour accuser réception

Exigences relatives aux webhooks

ExigenceDescription
HTTPSL’URL du webhook doit utiliser HTTPS
PubliqueL’URL doit être accessible publiquement
Réponse rapideRépondre en moins de 10 secondes
200 OKRenvoyer un code d’état 200 pour accuser réception

Sécurité

Contrôle par challenge-réponse (CRC)

X valide votre webhook en envoyant une requête CRC. Répondez avec un hachage 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()
    }

Vérification de la signature

Vérifiez l’authenticité du webhook à l’aide de l’en-tête x-twitter-webhooks-signature.

Mise en route

Prérequis

Webhooks de flux filtrés

Recevez des Publications filtrées via webhook

Account Activity API

Recevez des événements de compte via webhook