Skip to main content

Standard v1.1 en comparación con X API v2

Si has estado utilizando el endpoint v1.1 statuses/filter, esta guía puede ayudarte a entender las similitudes y diferencias entre los endpoints de flujo filtrado estándar y de X API v2.
  • Similitudes
    • Parámetros y operadores de solicitud
    • Compatibilidad con el historial de edición de las Publicaciones y sus metadatos
  • Diferencias
    • URLs de los endpoints
    • Requisito de disponer de una App y un Project
    • Método de autenticación
    • Volumen de reglas y flujo persistente
    • Formato de los datos de respuesta
    • Parámetros de solicitud
    • Disponibilidad de funciones de recuperación y redundancia
    • Operadores de consulta

Similitudes

Parámetros de solicitud y operadores El endpoint estándar statuses/filter de v1.1 incluye algunos parámetros que se pueden pasar junto con la solicitud para filtrar el stream. Con el stream filtrado de v2, en su lugar se utiliza un conjunto de operadores que se pueden conectar entre sí usando lógica booleana para filtrar las Publicaciones deseadas. Los operadores disponibles incluyen algunos que son reemplazos directos de los parámetros estándar existentes de v1.1.  Los siguientes parámetros de solicitud estándar de v1.1 tienen operadores equivalentes en X API v2:  
EstándarX API v2
follow - Una lista de ID de usuario separada por comas que indica los usuarios cuyas Publicaciones deben entregarse en el stream.Muchos operadores que pueden ayudarte a encontrar Publicaciones relacionadas con usuarios específicos:

* @
* from:
* to:
* etc.
track - Una lista de frases separadas por comas que se utilizarán para determinar qué Publicaciones se entregarán en el stream.Muchos operadores que pueden ayudarte a encontrar Publicaciones relacionadas con palabras clave específicas:

* keyword
* “coincidencia de frase exacta”
* #
* etc.
Compatibilidad con el historial de edición de Publicaciones y metadatos Ambas versiones proporcionan metadatos que describen cualquier historial de edición. Consulta la Referencia de la API de stream filtrado y la página de fundamentos de edición de Publicaciones para obtener más detalles. 

Diferencias

URLs de endpoint Requisitos de App y Project Los endpoints de X API v2 requieren que uses credenciales de una developer App que esté asociada a un Project al autenticar tus solicitudes. Todos los endpoints de X API v1.1 pueden usar credenciales de Apps o de Apps asociadas con un Project. Método de autenticación El endpoint estándar admite OAuth 1.0a User Context, mientras que los endpoints de flujo filtrado de X API v2 admiten OAuth 2.0 App-Only (también conocida como autenticación solo de aplicación). Para realizar solicitudes a la versión de X API v2 debes usar un App Access Token para autenticar tus solicitudes. Si ya no tienes el App Access Token que se te presentó cuando creaste tu App y tu app en la Consola de desarrollador, puedes generar uno nuevo navegando a la página “Keys and tokens” de tu app en la Consola de desarrollador. Si deseas generar un App Access Token de forma programática, consulta esta guía de OAuth 2.0 App-Only Volumen de reglas y stream persistente El endpoint estándar v1.1 admite una sola regla para filtrar la conexión de streaming. Para cambiar la regla, debes desconectar el stream y enviar una nueva solicitud con las reglas de filtrado revisadas como parámetros.  El endpoint de flujo filtrado de X API v2 te permite aplicar varias reglas a un solo stream y agregar y eliminar reglas de tu stream mientras mantienes la conexión del stream.  Formato de los datos de respuesta Una de las mayores diferencias entre las versiones de endpoints estándar v1.1 y X API v2 es cómo seleccionas qué campos se devuelven en tu carga útil. Para los endpoints estándar, recibes muchos de los campos de respuesta de forma predeterminada y luego tienes la opción de usar parámetros para identificar qué campos o conjuntos de campos deben devolverse en la carga útil. La versión de X API v2 solo entrega de forma predeterminada los campos id y text de la Publicación. Para solicitar campos u objetos adicionales, necesitarás usar los parámetros fields y expansions. Cualquier campo de Publicación que solicites desde estos endpoints se devolverá en el objeto principal de Publicación. Cualquier objeto y campo de usuario, medio, encuesta o lugar expandido se devolverá en un objeto includes dentro de tu respuesta. Luego puedes hacer coincidir cualquier objeto expandido con el objeto de Publicación haciendo coincidir los IDs ubicados tanto en la Publicación como en el objeto expandido.  Te recomendamos leer más sobre estos nuevos parámetros en sus respectivas guías o leyendo nuestra guía sobre cómo usar fields y expansions También hemos preparado una guía de migración de formato de datos que puede ayudarte a asignar campos estándar v1.1 a los campos más recientes de v2. Esta guía también te proporcionará el parámetro específico de expansión y de campo que deberás pasar con tu solicitud v2 para devolver campos específicos.    Además de los cambios en cómo solicitas ciertos campos, X API v2 también introduce nuevos diseños JSON para los objetos que devuelven las APIs, incluidas las Publicaciones y los objetos user.
  • En el nivel raíz de JSON, los endpoints estándar devuelven objetos de Publicación en un array statuses, mientras que X API v2 devuelve un array data. 
  • En lugar de referirse a “statuses” retuiteados y citados, el JSON de X API v2 se refiere a Tweets retuiteados y citados. Muchos campos heredados y obsoletos, como contributors y user.translator_type, se están eliminando. 
  • En lugar de usar tanto favorites (en el objeto de Publicación) como favourites (en el objeto user), X API v2 usa el término like. 
  • X está adoptando la convención de que los valores JSON sin valor (por ejemplo, null) no se escriben en la carga útil. Los atributos de Publicación y de usuario solo se incluyen si tienen valores no nulos.   
También hemos introducido un nuevo conjunto de campos en el objeto de Publicación, que incluye lo siguiente:
  • Un campo conversation_id
  • Dos nuevos campos de annotations, incluidos context y entities
  • Varios campos nuevos de metrics 
  • Un nuevo campo reply_setting, que te muestra quién puede responder a una Publicación determinada
Parámetros de la solicitud También hay un conjunto de parámetros estándar de solicitud del stream filtrado que no son compatibles en X API v2:
Parámetro estándar v1.1Detalles
locations - Una lista separada por comas de pares longitud,latitud que especifican un conjunto de cajas delimitadoras (bounding boxes) para filtrar Publicaciones.Aún no hemos lanzado operadores basados en ubicación para X API v2.
DelimitedCon el endpoint v1.1, establecer esto en la longitud de la cadena indica que los estados deben delimitarse en el stream, de modo que los clientes sepan cuántos bytes leer antes del final del mensaje de estado.

Esta funcionalidad no está disponible con X API v2.
Stall_warningsCon el endpoint v1.1, establecer este parámetro en true hará que se entreguen mensajes periódicos si el cliente corre el riesgo de desconectarse. 

Con X API v2, las advertencias de bloqueo se envían de forma predeterminada, ya que se envía una nueva línea cada cierto tiempo.
Disponibilidad de las funciones de recuperación y redundancia La versión de stream filtrado de X API v2 introduce funciones de recuperación y redundancia que pueden ayudarte a maximizar el tiempo de actividad del streaming, así como a recuperar cualquier Publicación que se haya podido perder debido a una desconexión que haya durado cinco minutos o menos. Las conexiones redundantes te permiten conectarte a un stream determinado hasta dos veces de forma simultánea, lo que puede ayudar a garantizar que mantengas una conexión con el stream en todo momento, incluso si una de tus conexiones falla.  El parámetro backfill_minutes se puede usar para recuperar hasta cinco minutos de datos perdidos.  Ambas funciones solo están disponibles mediante el acceso de Academic Research. Puedes obtener más información sobre esta funcionalidad en nuestra guía de integración de funciones de recuperación y redundancia Nuevos operadores de consulta X API v2 introduce nuevos operadores para admitir dos funciones nuevas: 
  • Conversation IDs - A medida que las conversaciones se desarrollan en X, habrá disponible un conversation_id para marcar las Publicaciones que forman parte de la conversación. Todas las Publicaciones de la conversación tendrán su conversation_id establecido en el id de la Publicación que la inició. 
    • conversation_id:
  • X Annotations proporcionan información contextual sobre las Publicaciones e incluyen anotaciones de entidad y de contexto. Las entidades están compuestas por personas, lugares, productos y organizaciones. Los contextos son dominios o temas de los que forman parte las entidades que aparecen. Por ejemplo, las personas mencionadas en una Publicación pueden tener un contexto que indique si son atletas, actores o políticos.
    • context: - devuelve Publicaciones que han sido anotadas con un contexto de interés.
    • entity: - devuelve Publicaciones que han sido anotadas con una entidad de interés.

Ejemplos de código

Agrega una regla al stream filtrado (v2)

cURL
curl -X POST "https://api.x.com/2/tweets/search/stream/rules" \
  -H "Authorization: Bearer $BEARER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"add": [{"value": "cat has:images", "tag": "gatos con imágenes"}]}'

Conéctate al stream filtrado (v2)

cURL
curl "https://api.x.com/2/tweets/search/stream?tweet.fields=created_at,author_id" \
  -H "Authorization: Bearer $BEARER_TOKEN"