Skip to main content

Crear una consulta

¡Limitaciones de las consultas! Tus consultas estarán limitadas dependiendo de qué nivel de acceso estés usando.  Tu consulta puede tener 512 caracteres para clientes de pago por uso o hasta 4.096 caracteres para clientes Enterprise. Si tienes acceso Enterprise, comunícate con tu ejecutivo de cuenta.  Disponibilidad de los operadores Aunque la mayoría de los operadores están disponibles para cualquier desarrollador, hay varios que están reservados para quienes han sido aprobados para acceso Enterprise. Indicamos para qué nivel de acceso está disponible cada operador en la lista de operadores usando las siguientes etiquetas:
  • Operadores principales: Disponibles cuando se usa cualquier Project.
  • Operadores avanzados: Disponibles cuando se usa un Project con acceso Enterprise.   

Tipos de operadores: independientes y que requieren conjunción

Los operadores independientes se pueden usar solos o junto con cualquier otro operador (incluidos aquellos que requieren conjunción). Por ejemplo, la siguiente consulta funcionará porque usa el operador #hashtag, que es independiente: #xapiv2 Los operadores que requieren conjunción no se pueden usar por sí solos en una consulta; solo se pueden usar cuando se incluye al menos un operador independiente en la consulta. Esto se debe a que usar estos operadores solos sería demasiado general y coincidiría con un volumen extremadamente alto de Publicaciones. Por ejemplo, las siguientes consultas no son válidas, ya que contienen solo operadores que requieren conjunción: has:media has:links OR is:retweet Si añadimos un operador independiente, como la frase “datos de X”, la consulta entonces funcionará correctamente.  “datos de X” has:mentions (has:media OR has:links)

Operadores booleanos y agrupación

Si deseas encadenar múltiples operadores en una sola consulta, tienes las siguientes herramientas a tu disposición: Nota sobre las negaciones El operador -is:nullcast siempre debe estar negado. Los operadores negados no se pueden usar solos. No niegues un conjunto de operadores agrupados entre paréntesis. En su lugar, niega cada operador individualmente. Por ejemplo, en lugar de usar skiing -(snow OR day OR noschool), te sugerimos usar skiing -snow -day -noschool.  Orden de las operaciones Al combinar la funcionalidad AND y OR, el siguiente orden de operaciones determinará cómo se evalúa tu consulta.
  1. Primero se combinan los operadores conectados por lógica AND
  2. Después se aplican los operadores conectados con lógica OR
Por ejemplo:
  • apple OR iphone ipad se evaluaría como apple OR (iphone ipad)
  • ipad iphone OR android se evaluaría como (iphone ipad) OR android
Para eliminar la incertidumbre y asegurarte de que tu consulta se evalúa como está previsto, agrupa los términos con paréntesis cuando corresponda.  Por ejemplo:
  • (apple OR iphone) ipad
  • iphone (ipad OR android)  
Signos de puntuación, diacríticos y distinción entre mayúsculas y minúsculas Si especificas una palabra clave o una consulta de hashtag con acentos o signos diacríticos, coincidirá con el texto de la Publicación que contenga tanto el término con acentos y diacríticos como esos mismos términos con caracteres normales. Por ejemplo, las consultas con la palabra clave Diacrítica o el hashtag #cumpleaños coincidirán con Diacrítica o #cumpleaños, así como con Diacritica o #cumpleanos sin la tilde en í ni la eñe. Los caracteres con acentos o diacríticos se tratan igual que los caracteres normales y no se consideran límites de palabra. Por ejemplo, una consulta con la palabra clave cumpleaños solo hará coincidir actividades que contengan la palabra cumpleaños y no hará coincidir actividades que contengan cumpleacumplean u os. Todos los operadores se evalúan sin distinguir mayúsculas y minúsculas. Por ejemplo, la consulta cat hará coincidir Publicaciones con todos los siguientes: catCATCat. El comportamiento de coincidencia del flujo filtrado funciona de manera diferente a los recuentos de Publicaciones. Al crear una regla de flujo filtrado, ten en cuenta que las palabras clave y los hashtags que incluyen acentos y diacríticos solo coincidirán con términos que también incluyan el acento y el diacrítico, y no coincidirán con términos que usen caracteres normales en su lugar.  Por ejemplo, las reglas de flujo filtrado que incluyan la palabra clave Diacrítica o el hashtag #cumpleaños solo harán coincidir los términos Diacrítica y #cumpleaños, y no harán coincidir Diacritica o #cumpleanos sin la tilde en í ni la eñe. Especificidad y eficiencia Cuando comiences a crear tu consulta, es importante tener en cuenta algunos aspectos.
  • Generalmente no se recomienda usar operadores amplios e independientes para tu consulta, como una sola palabra clave o #hashtag, ya que probablemente hará coincidir tu consulta con un volumen masivo de Publicaciones. Crear una consulta más sólida dará como resultado un conjunto más específico de Publicaciones coincidentes y, con suerte, aumentará la precisión de tus recuentos de Publicaciones para ayudarte a encontrar insights más valiosos. 
    • Por ejemplo, si tu consulta fuera solo la palabra clave happy, probablemente obtendrás entre 200,000 y 300,000 Publicaciones por día.
    • Agregar más operadores condicionales reduce tus resultados; por ejemplo, (happy OR happiness) place_country:GB -birthday -is:retweet
  • Redactar consultas eficientes también es beneficioso para mantenerte dentro de la restricción de longitud de caracteres de la consulta. El conteo de caracteres incluye toda la cadena de consulta, incluidos espacios y operadores.
    • Por ejemplo, la siguiente consulta tiene una longitud de 59 caracteres: (happy OR happiness) place_country:GB -birthday -is:retweet
Comportamiento de coincidencia para Quote Tweet Al usar los endpoints de conteos de Publicaciones, los operadores no coincidirán con el contenido de la Publicación original que fue citada, pero sí coincidirán con el contenido incluido en el Quote Tweet. Sin embargo, ten en cuenta que el stream filtrado coincidirá tanto con el contenido de la Publicación original que fue citada como con el contenido del Quote Tweet.   Crear una consulta de forma iterativa Prueba tu consulta temprano y con frecuencia Es poco común que una consulta devuelva los resultados “correctos” a la primera. Hay tanto contenido en X que puede o no ser obvio al principio, y la sintaxis de consulta descrita arriba puede ser difícil de ajustar a tu consulta deseada. A medida que construyes una consulta, es importante que la pruebes periódicamente usando uno de los endpoints de búsqueda de Publicaciones para asegurarte de que las Publicaciones que están coincidiendo con tu consulta sean relevantes para tu caso de uso. Para esta sección, vamos a empezar con la siguiente consulta y a ajustarla según los resultados que recibamos durante nuestra prueba:  happy OR happiness Usa los resultados para acotar la consulta Cuando pruebes la consulta con búsqueda de Publicaciones, deberías revisar las Publicaciones devueltas para ver si incluyen los datos que esperas y deseas recibir. Empezar con una consulta amplia y un superconjunto de coincidencias de Publicaciones te permite revisar el resultado y acotar la consulta para filtrar resultados no deseados.   Cuando probamos la consulta de ejemplo, notamos que estábamos recibiendo Publicaciones en una variedad de idiomas diferentes. En esta situación, solo queremos recibir Publicaciones que estén en inglés, así que vamos a añadir el operador lang: (happy OR happiness) lang:en La prueba entregó varias Publicaciones felicitando a personas por su cumpleaños (happy birthday), así que vamos a añadir -birthday como operador de palabra clave negada. También queremos recibir únicamente Publicaciones originales, así que hemos añadido el operador negado -is:retweet: (happy OR happiness) lang:en -birthday -is:retweet Ajusta para incluir cuando sea necesario Si notas que no estás recibiendo mediante búsqueda de Publicaciones datos que esperas, y sabes que hay Publicaciones existentes que deberían devolverse, quizás necesites ampliar tu consulta eliminando operadores que podrían estar filtrando los datos deseados.  En nuestro ejemplo, notamos que había otras Publicaciones en nuestra cronología personal que expresaban la emoción que estamos buscando y que no se incluyeron en los resultados de prueba. Para asegurarnos de tener una mayor cobertura, vamos a añadir las palabras clave excited y elated. (happy OR happiness OR excited OR elated) lang:en -birthday -is:retweet Ajusta según tendencias populares/picos durante el periodo de tiempo Las tendencias en X van y vienen rápidamente. Mantener tu consulta debe ser un proceso activo. Si planeas usar una consulta durante un tiempo, te sugerimos que revises periódicamente los datos que estás recibiendo para ver si necesitas hacer ajustes. En nuestro ejemplo, notamos que empezamos a recibir algunas Publicaciones en las que las personas deseaban unas “happy holidays”. Como no queremos que estas Publicaciones se incluyan en nuestros resultados, vamos a añadir la palabra clave negada -holidays. (happy OR happiness OR excited OR elated) lang:en -birthday -is:retweet -holidays  Una vez que hayas probado e iterado correctamente tu consulta, puedes empezar a enviarla con los endpoints de conteos de Publicaciones para empezar a recibir solo el volumen de Publicaciones en lugar de las cargas útiles completas de cada Publicación.

Añadir una consulta a tu solicitud

Para añadir tu consulta a tu solicitud, debes usar el parámetro query. Como con cualquier parámetro de consulta, debes asegurarte de codificar en HTTP la consulta que desarrollaste. Aquí tienes un ejemplo de cómo se vería esto usando un comando cURL. Si quieres usar este comando, asegúrate de reemplazar $BEARER_TOKEN con tu propio Bearer Token:

Ejemplos de consultas

Seguimiento de un desastre natural La siguiente consulta coincide con Publicaciones originales provenientes de agencias meteorológicas y estaciones de medición que hablan del huracán Harvey, que azotó Houston en 2017. Así es como se vería la consulta sin la codificación HTTP: has:geo (from:NWSNHC OR from:NHC_Atlantic OR from:NWSHouston OR from:NWSSanAntonio OR from:USGS_TexasRain OR from:USGS_TexasFlood OR from:JeffLindner1) -is:retweet Y así es como se vería la consulta con la codificación HTTP, el parámetro de consulta y el URI de recuento de Publicaciones recientes: https://api.x.com/2/tweets/counts/recent?query=-is%3Aretweet%20has%3Ageo%20(from%3ANWSNHC%20OR%20from%3ANHC_Atlantic%20OR%20from%3ANWSHouston%20OR%20from%3ANWSSanAntonio%20OR%20from%3AUSGS_TexasRain%20OR%20from%3AUSGS_TexasFlood%20OR%20from%3AJeffLindner1) Revisar el sentimiento de una conversación La siguiente regla podría usarse para comprender mejor el sentimiento de la conversación que se desarrolla en torno al hashtag #nowplaying, pero limitada a Publicaciones publicadas dentro de Norteamérica. Así es como se verían las dos consultas diferentes, una para sentimientos positivos y otra para negativos, sin la codificación HTTP: #nowplaying (happy OR exciting OR excited OR favorite OR fav OR amazing OR lovely OR incredible) (place_country:US OR place_country:MX OR place_country:CA) -horrible -worst -sucks -bad -disappointing #nowplaying (horrible OR worst OR sucks OR bad OR disappointing) (place_country:US OR place_country:MX OR place_country:CA) -happy -exciting -excited -favorite -fav -amazing -lovely -incredible Y así es como se vería la consulta con la codificación HTTP, el parámetro de consulta y el URI de recuento de Publicaciones recientes: https://api.x.com/2/tweets/counts/recent?query=%23nowplaying%20(happy%20OR%20exciting%20OR%20excited%20OR%20favorite%20OR%20fav%20OR%20amazing%20OR%20lovely%20OR%20incredible)%20(place_country%3AUS%20OR%20place_country%3AMX%20OR%20place_country%3ACA)%20-horrible%20-worst%20-sucks%20-bad%20-disappointing https://api.x.com/2/tweets/counts/recent?query=%23nowplaying%20(horrible%20OR%20worst%20OR%20sucks%20OR%20bad%20OR%20disappointing)%20(place_country%3AUS%20OR%20place_country%3AMX%20OR%20place_country%3ACA)%20-happy%20-exciting%20-excited%20-favorite%20-fav%20-amazing%20-lovely%20-incredible Encontrar Publicaciones relacionadas con una anotación específica de una Publicación Esta regla se creó para filtrar Publicaciones originales que incluyeran una imagen de una mascota que no fuera un gato, en las que el idioma identificado en la Publicación es japonés. Para ello, utilizamos el operador context: para aprovechar la funcionalidad de anotaciones de Publicaciones. Primero utilizamos el endpoint de búsqueda de Publicaciones y el parámetro de campos tweet.fields=context_annotations para identificar qué IDs de domain.entity necesitamos usar en nuestra consulta:
  • Las Publicaciones relacionadas con gatos devuelven el dominio 66 (categoría Interests and Hobbies) con la entidad 852262932607926273 (Cats).
  • Las Publicaciones relacionadas con mascotas devuelven el dominio 65 (Interests and Hobbies Vertical) con la entidad 852262932607926273 (Pets).
Así es como se vería la consulta sin la codificación HTTP: context:65.852262932607926273 -context:66.852262932607926273 -is:retweet has:images lang:ja Y así es como se vería la consulta con la codificación HTTP, el parámetro de consulta y el URI de recuento de Publicaciones recientes: https://api.x.com/2/tweets/counts/recent?query=context%3A65.852262932607926273%20-context%3A66.852262932607926273%20-is%3Aretweet%20has%3Aimages%20lang%3Aja

Operadores