Ten en cuenta Hemos lanzado una nueva herramienta de cumplimiento para X API v2 llamada batch compliance. Esta nueva herramienta te permite cargar grandes conjuntos de datos de IDs de Publicación o de usuario para recuperar su estado de cumplimiento y así determinar qué datos requieren alguna acción para que tus conjuntos de datos estén en cumplimiento.
Además, tanto batch compliance como compliance firehose se han actualizado para admitir ediciones de Publicaciones. Para compliance firehose, se añadió un nuevo evento “tweet_edit”. Consulta la documentación de Compliance Data Objects para obtener más detalles. Obtén más información sobre cómo funcionan los metadatos de Edit Post en la página Edit Posts fundamentals.
Descripción general
Enterprise
Uno de los valores fundamentales de X es defender y respetar la voz de los usuarios. Esto incluye respetar sus expectativas e intención cuando eliminan, modifican o editan el contenido que deciden compartir en X. Consideramos que esto es de importancia crítica para la salud a largo plazo de una de las plataformas públicas de información en tiempo real más grandes del mundo. X pone controles en manos de sus usuarios, otorgando a las personas la capacidad de controlar su propia experiencia en X. Creemos que las empresas que reciben datos de X tienen la responsabilidad de respetar las expectativas y la intención de los usuarios finales.
Para obtener más información sobre los tipos de eventos de cumplimiento posibles en la plataforma de X, consulta nuestro artículo, Respetar la intención del usuario en X.
Todo desarrollador o empresa que consuma datos de X a través de una API tiene la obligación de realizar todos los esfuerzos razonables para respetar los cambios en el contenido de los usuarios. Esta obligación se extiende a eventos de usuario como eliminaciones, modificaciones y cambios en las opciones para compartir (por ejemplo, cuando el contenido pasa a estar protegido o retenido). Esto también incluye cuando los usuarios editan sus Publicaciones. Consulta la redacción específica en la Política para Desarrolladores y/o en tu Acuerdo de Datos de X para entender cómo esta obligación afecta tu uso de los datos de X.
X ofrece las siguientes soluciones que proporcionan información sobre estos eventos de cumplimiento de usuario y sobre si una Publicación o un Usuario específico está disponible públicamente o no. A continuación se ofrece una breve descripción general de las soluciones y sus patrones de integración en términos generales:
GET statuses/lookup and GET users/lookup
- Formato: API REST. Consulte: GET statuses/lookup y GET users/lookup.
- Estos endpoints siempre devuelven la versión más reciente de cualquier edición de Publicación. Todos los objetos de Publicación que describen Publicaciones creadas después de que se introdujo la función de edición incluirán metadatos de edición de Publicación. Esto es así incluso para Publicaciones que no fueron editadas.
- Para todas las Publicaciones, las solicitudes de Publicaciones realizadas más de 30 minutos después de su creación representarán el estado final de dichas Publicaciones.
- Ofrecen información de disponibilidad para Publicaciones o Usuarios específicos, según lo definido por quien realiza la llamada como parte de la solicitud de API.
- Se pueden utilizar para comprobaciones puntuales ad hoc sobre el estado de disponibilidad actual de un grupo específico de Publicaciones/Usuarios.
- Son ideales para clientes que necesitan una forma de comprobar el estado actual de una Publicación o Usuario específicos en un momento dado.
-
Estas API proporcionan un mecanismo útil que los clientes pueden usar cuando necesitan comprobar la disponibilidad de una pieza de Contenido, por ejemplo, cuando:
- Muestran Publicaciones
- Interactúan con una(s) Publicación(es) o Usuario(s) de forma 1:1
- Distribuyen Contenido de X a un tercero mediante una descarga de archivos autorizada
- Almacenan Publicaciones durante períodos prolongados
Compliance Firehose (solo para clientes enterprise)
- Formato: API de streaming. Véase: Compliance Firehose.
- Entrega un flujo en tiempo real de actividades de cumplimiento en X. Estas actividades incluyen cuando se editan Publicaciones.
- Se puede usar para mantener el estado de cumplimiento en un conjunto de datos almacenado a medida que se producen nuevos eventos de cumplimiento en la plataforma.
- Ideal para clientes que consumen y almacenan grandes volúmenes de datos de X durante períodos prolongados.
Guías
Mejores prácticas de cumplimiento
Recomendaciones y mejores prácticas
- Cree esquemas de almacenamiento de datos que almacenen el Post ID numérico y el User ID: Los mensajes de un Usuario requieren que se tomen acciones sobre todas las Publicaciones de ese Usuario. Por lo tanto, dado que todos los mensajes de cumplimiento se entregan solo mediante un ID numérico, es importante diseñar esquemas de almacenamiento que mantengan la relación entre la Publicación y el Usuario basándose en IDs numéricos. Los consumidores de datos deberán supervisar los eventos de cumplimiento tanto por Post ID como por User ID y poder actualizar correctamente el almacén de datos local.
-
Cree esquemas que aborden todos los estados de cumplimiento: Dependiendo de cómo se gestionen las actividades de cumplimiento en varias aplicaciones, puede ser necesario agregar otros metadatos al almacén de datos. Por ejemplo, los consumidores de datos pueden decidir agregar metadatos a una base de datos existente para facilitar la restricción de la visualización de contenido en países afectados por un mensaje
status_withheld. - Gestión de borrados de Retweet: Los Retweets son un tipo especial de Publicación en el que el mensaje original está anidado en un objeto dentro del Retweet. En este caso, hay dos Post IDs referenciados en un Retweet: el ID del Retweet y el ID del mensaje original (incluido en el objeto anidado). Cuando se elimina un mensaje original, se emite un mensaje de borrado de Publicación para el ID original. Los eventos de borrado de Publicaciones normalmente desencadenan eventos de borrado para todos los Retweets. Sin embargo, en algunos casos no se envían todos y los sistemas clientes deben ser tolerantes a borrados incompletos de Retweets. La eliminación del ID original debería ser suficiente para borrar todos los Retweets posteriores. Es una buena práctica hacer referencia al Post ID original al almacenar Retweets y eliminar todos los Retweets referenciados al recibir eventos de borrado de Publicaciones.
Objetos de datos de cumplimiento
API de Compliance Firehose
- Lea más sobre los estados de Usuario aquí y sobre nuestra política para desarrolladores en relación con las Publicaciones eliminadas aquí.
- Compliance Firehose se ha actualizado para proporcionar eventos
tweet_edit. - Varios eventos de eliminación, protección y suspensión de Usuario no son necesariamente permanentes y pueden alternar entre estados indefinidamente. Estos incluyen: user_delete, user_undelete, user_protect, user_unprotect y user_suspend, user_unsuspend.
- Los user_deletes son seguidos por status_deletes 30 días después solo si el usuario no ha elegido user_undelete para recuperar su cuenta. Es posible que un user_delete sea revertido por el usuario y que las eliminaciones de todas sus Publicaciones 30 días después no se produzcan.
- user_suspend es una acción que sigue siendo válida a menos que el usuario esté sujeto a un evento user_unsuspend. Estos no están sujetos a ningún cambio en un período de 30 días.
Ejemplos de carga útil
Eliminación de publicación
Publicación retenida
Eliminar
Revertir eliminación
Eliminación de datos de ubicación
Eliminación de usuario
Restauración de usuario
Usuario retenido
Proteger usuario
Quitar protección de usuario
Suspensión de usuario
Levantamiento de suspensión de usuario
integrating Compliance Firehose
Integración con el Compliance Firehose
- Establecer una conexión de streaming con cada partición de la API de streaming de Compliance Firehose
- Manejar volúmenes de datos elevados: desacoplar la ingesta del stream del procesamiento adicional usando procesos asíncronos
- Reconectarse automáticamente a las particiones del stream cuando se desconecten por cualquier motivo
- Procesar los eventos de cumplimiento que sean relevantes para los datos de Publicación y Usuario que hayas almacenado, según las directrices presentadas anteriormente
Respetar la intención del usuario en X
Usuario
Estado
Seguimiento de cambios en User y Status
Referencia de la API
GET compliance/firehose
Métodos
Autenticación
GET /compliance/:stream
Example Curl Request
La siguiente solicitud de ejemplo se realiza utilizando cURL en la línea de comandos:
partition=1 del Compliance firehose; deberás conectarte a las 8 particiones para consumir la totalidad de este flujo.
Códigos de respuesta
Otras recomendaciones y buenas prácticas
- Diseña esquemas de almacenamiento de datos que almacenen el Tweet ID y el User ID numéricos: Los mensajes de usuario requieren que se tomen medidas sobre todos los Tweets de ese usuario. Por lo tanto, dado que todos los mensajes de cumplimiento se entregan únicamente por ID numérico, es importante diseñar esquemas de almacenamiento que mantengan la relación entre el Tweet y el usuario basándose en IDs numéricos. Los consumidores de datos deberán supervisar los eventos de cumplimiento tanto por Tweet ID como por User ID y poder actualizar el almacén de datos local de forma adecuada.
- Diseña esquemas que aborden todos los estados de cumplimiento: Dependiendo de cómo se gestionen las actividades de cumplimiento en varias aplicaciones, puede ser necesario agregar otros metadatos al almacén de datos. Por ejemplo, los consumidores de datos pueden decidir agregar metadatos a una base de datos existente para facilitar la restricción de la visualización de contenido en los países afectados por un mensaje status_withheld.
- Gestión de eliminaciones de Retweet: Los Retweets son un tipo especial de Tweet en el que el mensaje original está anidado en un objeto dentro del Retweet. En este caso, hay dos Tweet IDs referenciados en un Retweet: el ID del Retweet y el ID del mensaje original (incluido en el objeto anidado). Cuando se elimina un mensaje original, se emite un mensaje de eliminación de Tweet para el ID original. NO se emiten mensajes de eliminación posteriores para todos los Retweets. La eliminación del ID original debería ser suficiente para eliminar todos los Retweets posteriores.