Passer au contenu principal
Ce guide vous explique pas à pas comment créer un job de conformité par lot afin de vérifier le statut de conformité des Publications ou des utilisateurs.
PrérequisAvant de commencer, vous aurez besoin :

Créer un job

Créez un nouveau job de conformité en spécifiant le type (“tweets” ou “users”) :
curl -X POST "https://api.x.com/2/compliance/jobs" \
  -H "Authorization: Bearer $BEARER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "tweets",
    "name": "my-compliance-job"
  }'
Réponse :
{
  "data": {
    "id": "1234567890",
    "type": "tweets",
    "name": "my-compliance-job",
    "status": "created",
    "upload_url": "https://storage.googleapis.com/...",
    "download_url": "https://storage.googleapis.com/...",
    "created_at": "2024-01-15T10:00:00.000Z"
  }
}
Enregistrez les valeurs de upload_url et download_url pour les étapes suivantes.

Préparer votre fichier de données

Créez un fichier texte avec un identifiant par ligne :
1234567890
1234567891
1234567892
1234567893
Enregistrez-le sous ids.txt.

Téléverser vos données

Téléversez le fichier vers l’upload_url fournie :
curl -X PUT "UPLOAD_URL_FROM_RESPONSE" \
  -H "Content-Type: text/plain" \
  --data-binary @ids.txt

Vérifier l'état du job

Interrogez périodiquement l’état du job jusqu’à ce qu’il soit terminé :
curl "https://api.x.com/2/compliance/jobs/1234567890" \
  -H "Authorization: Bearer $BEARER_TOKEN"
États du job :
StatutDescription
createdJob créé, en attente de téléversement
in_progressTraitement des données
completeRésultats prêts à être téléchargés
failedJob ayant échoué
expiredJob arrivé à expiration avant d’être terminé

Télécharger les résultats

Une fois l’état à complete, téléchargez le fichier à partir de download_url :
curl "DOWNLOAD_URL_FROM_RESPONSE" -o results.json
Format des résultats (un objet JSON par ligne) :
{"id": "1234567890", "action": "delete", "created_at": "2024-01-10T12:00:00.000Z", "redacted_at": "2024-01-12T08:30:00.000Z", "reason": "deleted"}
{"id": "1234567891", "action": "delete", "created_at": "2024-01-10T12:00:00.000Z", "redacted_at": "2024-01-13T14:20:00.000Z", "reason": "suspended"}
Seuls les identifiants ayant des événements de conformité apparaissent dans les résultats. Les identifiants qui n’y figurent pas sont toujours valides.

Actions de conformité

ActionRaisonDescription
deletedeletedLa Publication a été supprimée
deletebouncedLa Publication n’a pas passé la vérification de conformité
deleteprotectedLe compte est passé en mode protégé
deletesuspendedLe compte a été suspendu
deletescrub_geoLes données de géolocalisation ont été supprimées
ActionRaisonDescription
deletedeletedLe compte a été supprimé
deletesuspendedLe compte a été suspendu
deleteprotectedLe compte est passé en mode protégé
deletedeactivatedLe compte a été désactivé

Lister toutes les tâches

Récupérez toutes les tâches de conformité pour votre App :
curl "https://api.x.com/2/compliance/jobs?type=tweets" \
  -H "Authorization: Bearer $BEARER_TOKEN"

Prochaines étapes

Guide d’intégration

Concepts clés et bonnes pratiques

Flux de conformité

Événements de conformité en temps réel

Référence de l’API

Documentation complète de l’endpoint