Tiempo atrás el API de Twitter estaba a disposición de cualquier usuario, sin condiciones y sin restricciones. Tras el escándalo de Cambridge Analytica muchas plataformas vieron la necesidad, importancia u oportunidad de proteger el acceso a los datos de sus usuarios frente a aplicaciones de terceros.
Como consecuencia se ha popularizado el proceso de validación de aplicaciones, petición previa de tokens y permisos para acceder a determinadas funcionalidades de una plataforma, etc. Es decir, el acceso al API está limitado o directamente restringido a los desarrolladores, únicamente accesible vía petición expresa por medio de los canales y en la forma en que cada plataforma decida.
Si estás aquí es porque además sabes que este proceso ni es inmediato, ni mucho menos sencillo, por lo que en repetidos casos los desarrolladores nos enfrentamos a peticiones denegadas sin razones o respuestas claras.
Basado en nuestra experiencia desarrollando aplicaciones de Twitter para diversas empresas, asociaciones y colectivos, compartimos nuestro método para que Twitter apruebe cada petición y conseguir el acceso al API, con la menor fricción y en el menor tiempo posible.
¿Tu caso necesita la aprobación de Twitter?
Es la primera pregunta que has de hacerte.
Twitter contempla en la actualidad distintos niveles y versiones en su APIs de los que destacamos el nivel ESSENTIAL y el nivel ELEVATED.
Actualmente cualquier desarrollador puede tener acceso al nivel Essential del API de Twitter, el cual no requiere ningún proceso de validación.
Desde este nivel es posible entre otras cosas publicar tweets (sin imágenes) o hacer retweets, por lo que si es tu caso no necesitas el nivel Elevated y por lo tanto no necesitas pasar el proceso de validación.
Cómo pedir acceso al API de Twitter
El paso más sencillo es precisamente el proceso para solicitar el acceso, para lo cual solo tienes que acceder a la plataforma de aplicaciones de Twitter en https://apps.twitter.com y pulsar el botón Apply para acceder al formulario de solicitud.
A continuación Twitter te pedirá indicar la razón principal por la que necesitas hacer uso de su plataforma de desarrollo.
En función de tus necesidades o caso particular deberás optar por una u otra. De tu elección se determinará la información que deberás proveer y las posibilidades de ser o no aprobada tu petición.
Te recomendamos seleccionar aquí Exploring the API por distintas razones:
- Durante la fase de desarrollo o prueba de tu aplicación, bot, automatización o servicio que tengas planeado ejecutar, esto es principalmente lo que vas a estar haciendo, explorar el API realizando pruebas de funcionamiento, ver cómo adecuarse a los distintos límites de uso que impone la plataforma, etc.
- Esta es una de las pocas opciones que no te compromete a un uso determinado de la plataforma y que se presta de manera natural a saltar a cualquiera de las otras opciones llegado el momento, por ejemplo cuando hayas terminado de validar y probar tu desarrollo.
- Explorar el API se presta a múltiples escenarios a los que podrás acogerte como veremos y que son más fáciles de obtener la aprobación por parte de Twitter.
- Es con diferencia la opción que a nosotros nos ha dado un mayor ratio de solicitudes aprobadas. Hasta la fecha el 90% de todas las peticiones que enviamos a Twitter. En contrapartida, usando otras opciones como Building Consumer Products los casos de éxito descienden al 65%.
Tras indicar tu país de procedencia y asociar un teléfono a tu cuenta de desarrollador de Twitter llegamos al campo en cuestión, donde Twitter te pedirá indicar en inglés, como planeas utilizar los datos y su API.
Cómo no Twitter recomienda que lo expliques de manera detallada y precisa, pero es precisamente en el nivel de detalle donde más dudas surgen, por lo que aquí vienen nuestras recomendaciones:
Twitter quiere saber quién eres y que puede confiar en ti
Parece un detalle insignificante pero uno de los aspectos que hemos comprobado que nos ayuda es el comenzar por explicar quienes somos, aportando datos sobre nosotros, la empresa o la organización a la que representamos.
Indica el nombre, la ubicación y la página web como una manera de dar referencias suficientes acerca de la confiabilidad, veracidad y autoridad de quien solicita el acceso al API.
Caso de uso principal
Antes de entrar en detalles resume muy brevemente el uso principal que tendrá el desarrollo que vas a realizar con el API de Twitter desde el punto de vista del usuario final: Informar sobre lanzamientos de nuestros productos, dar soporte automatizado al usuario, conectar nuestro sistema de recomendaciones para mantener informado a los usuarios, etc.
Todo debería ir dirigido a ayudar a los usuarios, complementando la experiencia, sin incurrir en prácticas que puedan ser entendidas o mal entendidas como spam o molestas.
Intención
Twitter entiende que todo desarrollo sobre su plataforma tiene una intención y quiere saberla.
De nuevo esto es una observación basada en nuestra propia experiencia, pero si tu intención es cubrir una necesidad de los usuarios que Twitter no puede ofrecer, bien. Si además es una necesidad que Twitter ni quiere ni se plantearía ofrecer, mejor.
Propósito comercial
Tanto si hay como si no un propósito comercial, coméntalo. En nuestro caso nunca hemos recibido ningún comentario al respecto, sin embargo, las veces en las que no lo hemos mencionado Twitter nos lo ha acabado solicitando en un segundo correo.
En ocasiones cuando este propósito puede variar dependiendo del feedback de los usuarios, o está previsto para una segunda o tercera fase, lo hemos explicado así y hasta la fecha tampoco ha supuesto un problema.
Automatización de publicaciones
Hasta aquí hemos explicado a Twitter cuales son nuestras intenciones en líneas generales. Ahora toca mencionar los detalles que preocupan a Twitter.
Si tu caso de uso contiene algún tipo o grado de automatización de publicaciones es muy importante mencionarlo, al igual que si no fuese así.
Menciona en qué consistirán dichas publicaciones, si texto, imágenes, artículos, enlaces, hashtags, menciones a otros usuarios, etc.
Indica con qué frecuencia y qué número de publicaciones tienes previsto enviar. Cuantas más sean menor será la probabilidad de recibir la aprobación. Especifica números o rangos: un tweet diario, de 2 a 5 tweets a la semana, etc.
Si tus publicaciones van a contener enlaces, específica a qué sitios. Si son de tu propiedad o sitios claramente útiles para los usuarios tendrás más posibilidades (un portal o plataforma propia, Google Maps, Wikipedia, etc.)
Si vas a mencionar hashtags parece no haber una regla o patrón claro, pero la mayoría de las veces va a venir denegada.
Si vas a mencionar a otros usuarios de manera automatizada es muy posible que tu petición venga denegada a menos que puedas demostrar que los usuarios se verán claramente beneficiados de por ello.
En nuestro caso solo hemos logrado la aprobación a mencionar usuarios cuando se ha tratado de desarrollos que hemos llevado a cabo para organismos oficiales.
Sin embargo cuando se ha tratado de responder automáticamente a mensajes que se reciben de los usuarios sí hemos logrado la aprobación de Twitter, no sin antes explicar y dejar muy claro los siguientes puntos:
- Únicamente se responderá automáticamente a aquellos usuarios que previamente se dirijan a tu cuenta, nunca a usuarios que no lo han solicitado, aunque estos usuarios sean tus followers.
- El usuario sabrá previamente que la respuesta será automatizada
- El usuario sabrá de antemano el tipo de respuesta que espera recibir de tu automatización.
Por ejemplo, en el caso de una automatización que sirve de recordatorios, los usuarios pueden dirigirse a un bot con un mensaje de texto. Este, pasado un periodo de tiempo que el usuario habrá determinado, le responderá al usuario con el mensaje a modo de recordatorio
Origen o fuente de tus publicaciones
En un intento por cuidar la experiencia de sus usuarios, Twitter quiere saber si el contenido de tus publicaciones es de creación propia o si proviene de alguna otra fuente, y en tal caso, cual.
Interacción con los usuarios
La manera de interactuar con los usuarios en Twitter es mediante retweets, menciones, favoritos, seguir usuarios o enviar mensajes automáticos.
Twitter es extremadamente celosa con todas ellas, a excepción de los mensajes automáticos.
Cualquier intento de automatizar alguna de estas acciones deberá ir acompañada de un caso de uso excepcional y posiblemente requiera de un grado de autoridad que deje al margen cualquier uso personal o dirigido a una pequeña o mediana empresa, comercio o asociación.
Si no vas a hacer uso de ninguno de ellos deberás igualmente expresarlo por escrito, pues de lo contrario se entenderá que podrías hacerlo y Twitter te pedirá más información al respecto en un segundo email.
Datos y análisis de tweets
Textualmente Twitter indica que si tienes la intención de analizar Tweets, recolectar datos de usuarios o su contenido, compartas los detalles sobre los análisis que planeas realizar, métodos o técnicas.
Si Twitter pone dificultades a la hora de automatizar acciones como las mencionadas en el punto anterior, no imaginas lo celoso que tiene los datos de los usuarios y el contenido que estos publican.
Acciones aparentemente inofensivas, dirigidas a construir sobre los datos que almacena Twitter, como podría ser un sistema de recomendaciones en base a los gustos de los usuarios, puede ser entendido como un proceso por el cual previamente debas descargar y almacenar cientos o miles de tweets, nombres, ubicaciones e información de los usuarios, para luego entrenar un modelo de machine learning con el que finalmente lanzar predicciones.
La parte en la que se presupone extraerás datos para almacenarlos fuera de Twitter puede ser con seguridad la razón por la que no recibas la aprobación para acceder al API.
Nuestra recomendación es evitar cualquier actividad que implique copiar o descargar datos de Twitter, hasta el punto que si necesitas almacenar un tweet procedas a guardar solo el Id que le asigna Twitter en lugar del texto.
Visibilidad fuera de las fronteras de Twitter
Si vas a mostrar contenido de Twitter fuera de Twitter, explica cómo y dónde se mostrarán los Tweets.
Explica además si los tweets se mostrarían tal cual se obtuvieron de Twitter o si por el contrario serán alterados o acompañados con alguna otra información.
Un ejemplo de petición de acceso al API de Twitter
A continuación ponemos en práctica todo lo anterior con un ejemplo real que hemos utilizado para una asociación empresarial cuyo objetivo es el de compartir entre los usuarios las distintas actividades que realizan.
Hello, I’m the owner of the account @username, used for our company ABC Corp. (site.com) located in Madrid, Spain. Our mission is to facilitate the cleaning and maintenance of our environment, which is why we work with different organizations, institutions and companies such as Greenpeace or WWF. We want to use the Twitter API to inform our associates about the different objectives and steps that we are achieving. For this reason we want to connect the case tracking systems we work with (site.com, site.com) to the Twitter API and automate the publication of images and description of each of the areas in which we are helping with cleaning and maintenance. As part of this automation we plan to publish around 10 weekly tweets, which will be accompanied by an image and a link to Google Maps, specifying the exact geolocation of the area in which we have worked on. We do not therefore need to automate retweets, mention users or interact with them. We have been carrying out these actions manually and we will continue to do so. We will not use data from Twitter or its users either, since our objective is merely informative. Thanks. |
Consejos para que Twitter te apruebe el acceso al API
En primer lugar mencionar y recomendarte que en ningún momento ocultes información o cuentes una versión distinta de la que planeas llevar a cabo a Twitter. Si bien Twitter te dará acceso a su plataforma, tu cuenta podría ser suspendida en cualquier momento si el caso de uso difiere de lo expresado a Twitter.
Por esta razón es importante ser claros y concisos, sin embargo hay dos buenas prácticas que no deberías perderte y que te compartimos aquí.
- Todo lo que puedas hacer fuera del API, hazlo. Si necesitas automatizar unos pocos retweets, mencionar puntualmente a alguna cuenta o incluso obtener tweets para analizarlos, plantéate la posibilidad de ejecutar estas acciones manualmente si por ello vas a simplificar el caso de uso y por lo tanto aumentar las posibilidad de que aprueben tu solicitud.
Por otra parte existen herramientas como Selenium con las que puedes automatizar infinidad de acciones sin recurrir a APIs. - No pidas todo de una sola vez. En muchas ocasiones las peticiones denegadas no vienen acompañadas de la suficiente información acerca de las razones de tal conclusión.
Ante la falta de datos, muchos desarrolladores optan volver a solicitar el acceso, esta vez simplificar la petición a base de recortar funcionalidades. Por ejemplo, solicitan solo la publicación de mensajes y eliminan la opción de mencionar en ellos a usuarios, intuyendo que esa podría ser la razón por la que el acceso se le fue denegado.
Es más sencillo obtener el acceso al API cuando se simplifica el caso de uso, por lo que esta segunda petición podría venir aprobada, y entonces, pasado un tiempo o una vez puesto en funcionamiento la funcionalidad aprobada, solicitar a Twitter una extensión, mencionando únicamente la nueva funcionalidad que se quiera introducir.
En nuestra experiencia este método siempre nos ha dado mejores resultados, por lo que las peticiones escaladas parecen funcionar mejor frente al todo en uno.
Mail de aprobación
Una vez tu caso de uso haya sido revisado por Twitter recibirás un email como el siguiente dándote acceso a la plataforma de desarrolladores. Si no ha habido suerte, recibirás también un mail, pero esta vez con algunas guías o puntos en los que deberás ampliar la información a Twitter para una segunda revisión.
Si tienes un caso de uso particular, alguna de nuestras recomendaciones no te han funcionado o quieres compartir tu experiencia puedes ayudar a otros desarrolladores comentando en esta entrada. ¡Mucha suerte con vuestros desarrollos!