Saltar al contenido principal
Esta guía te muestra cómo crear un trabajo de cumplimiento por lotes para verificar el estado de cumplimiento de Publicaciones o usuarios.
Requisitos previosAntes de comenzar, necesitarás:

Create a job

Crea un nuevo trabajo de cumplimiento especificando el campo type (tweets o 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"
  }'
Respuesta:
{
  "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"
  }
}
Guarda los valores de upload_url y download_url para los siguientes pasos.

Prepare your data file

Crea un archivo de texto con un ID por línea:
1234567890
1234567891
1234567892
1234567893
Guárdalo como ids.txt.

Upload your data

Sube el archivo a la upload_url proporcionada:
curl -X PUT "UPLOAD_URL_FROM_RESPONSE" \
  -H "Content-Type": text/plain" \
  --data-binary @ids.txt

Check job status

Consulta periódicamente el estado del trabajo hasta que se complete:
curl "https://api.x.com/2/compliance/jobs/1234567890" \
  -H "Authorization: Bearer $BEARER_TOKEN"
Estados del trabajo:
EstadoDescripción
createdTrabajo creado, en espera de la carga
in_progressProcesando los datos
completeResultados listos para su descarga
failedEl trabajo falló
expiredEl trabajo expiró antes de completarse

Download results

Una vez que el estado sea complete, descarga desde download_url:
curl "DOWNLOAD_URL_FROM_RESPONSE" -o results.json
Formato del resultado (un objeto JSON por línea):
{"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"}
Solo los ID con eventos de cumplimiento aparecen en los resultados. Los ID que no aparezcan en los resultados siguen siendo válidos.

Acciones de cumplimiento

AcciónMotivoDescripción
deletedeletedLa Publicación fue eliminada
deletebouncedLa Publicación no superó la verificación de cumplimiento
deleteprotectedLa cuenta pasó a ser protegida
deletesuspendedLa cuenta fue suspendida
deletescrub_geoSe eliminaron los datos de geolocalización
AcciónMotivoDescripción
deletedeletedLa cuenta fue eliminada
deletesuspendedLa cuenta fue suspendida
deleteprotectedLa cuenta pasó a ser protegida
deletedeactivatedLa cuenta fue desactivada

Enumerar todos los trabajos

Obtén todos los trabajos de cumplimiento de tu App:
curl "https://api.x.com/2/compliance/jobs?type=tweets" \
  -H "Authorization: Bearer $BEARER_TOKEN"

Próximos pasos

Guía de integración

Conceptos clave y mejores prácticas

Flujos de cumplimiento

Eventos de cumplimiento en tiempo real

Referencia de la API

Documentación completa de los endpoints