La respuesta corta
Sí: para que tu propio software publique en X (Twitter) en nombre de una cuenta, primero hay que crear una app gratuita en el portal de desarrolladores de X (developer.x.com). No es una tienda de apps ni nada que instalar: es un registro que identifica tu software ante X y le da permisos concretos (leer, publicar). Se crea en unos 10 minutos, no cuesta nada y la app es tuya para siempre.
Qué vas a conseguir al terminar
- Un Client ID y un Client Secret (las credenciales de tu app).
- Una URL de callback donde X devuelve al usuario después de autorizar.
- Acceso a OAuth 2.0: cada usuario que quiera publicar desde tu software autoriza una vez con un clic y recibe un token de acceso revocable en cualquier momento.
- Permiso de escritura: publicar posts, hilos y respuestas vía API oficial.
Requisitos previos (2 minutos)
- Una cuenta de X normal, con el email confirmado.
- Un nombre y una web para la app (puedes usar la de tu empresa, por ejemplo https://solutionsai.es).
- Saber qué callback usará tu plataforma. Si usas marketingOS, es la URL que te indique la pantalla de conexión (tiene este formato:
https://solutionsai.es/marketingOS/api/social.php?action=callback_x).
Paso a paso: crear la app en X
1. Entra en el portal de desarrolladores
Abre https://developer.x.com e inicia sesión con tu cuenta de X. Si es la primera vez, te pedirá confirmar tu email y aceptar las condiciones de desarrollador.
2. Crea un proyecto
Pulsa Create Project, ponle un nombre reconocible (por ejemplo, el nombre de tu empresa) y un uso propio. El proyecto es solo una carpeta organizativa; la app vive dentro.
3. Crea la app dentro del proyecto
Pulsa Create App dentro del proyecto. Nombre de la app: el que verán los usuarios cuando autoricen (usa tu marca). Al crearla te mostrará un API Key y API Key Secret: cópialos y guárdalos ya, el secret solo se muestra completo una vez.
4. Activa la autenticación de usuarios
Entra en tu app → Settings → User authentication settings → Set up. Aquí defines cómo tus usuarios autorizarán a tu software:
- App permissions: elige Read and write (si la dejas en "Read only", no podrás publicar; este es el error más común).
- Type of App: Web App, Automated App or Bot.
- Callback URI: pega la URL de callback de tu plataforma. En marketingOS:
https://solutionsai.es/marketingOS/api/social.php?action=callback_x. - Website URL: la web de tu empresa, por ejemplo
https://solutionsai.es.
Guarda. Verás el Client ID y el Client Secret de OAuth 2.0: cópialos también.
5. Pega las credenciales en tu plataforma
En marketingOS: Ajustes → Redes sociales → X → pega Client ID y Client Secret → guardar. El sistema las cifra antes de guardarlas y nunca las muestra completas de nuevo.
6. Conecta la primera cuenta
Con la app configurada, cualquier usuario pulsa "Conectar X" en la plataforma, autoriza una vez en X y ya puede publicar automáticamente. El token dura hasta que el usuario lo revoque.
Permisos (scopes): cuáles pedir y por qué
- tweet.read — leer posts. Necesario para verificar el perfil que publica.
- tweet.write — publicar, responder y crear hilos. El permiso esencial de un publicador.
- users.read — leer el perfil básico del usuario (nombre, id).
- offline.access — que el token siga funcionando sin pedir login cada pocos días. Imprescindible para automatización.
Pide solo estos cuatro. Cada permiso extra es superficie de ataque y X revisa más lentamente las apps que piden de más.
Límites y coste (honestidad técnica)
- El nivel gratuito de la API de X permite publicar unas 500 publicaciones al mes por usuario autenticado, en modo de solo escritura. Para la mayoría de pymes es más que suficiente. Verifica siempre el límite vigente en la documentación oficial, porque X lo ajusta con el tiempo.
- Si necesitas volúmenes mayores o lectura avanzada, los planes de pago empiezan en un nivel bajo mensual.
Buenas prácticas profesionales de seguridad
- Nunca pongas el Client Secret en el navegador. Vive solo en el servidor, cifrado (AES-256 como mínimo).
- Tokens cifrados en base de datos, jamás en texto plano ni en localStorage.
- Scopes mínimos: solo los cuatro de arriba.
- Rotación: si un token o secret se filtra, revócalo desde el portal y genera otro (lleva 2 minutos).
- Cuentas automatizadas etiquetadas: X exige que las cuentas bot se identifiquen como automatizadas. Configúralo en tu cuenta de X (Más opciones → Tus cuentas automatizadas).
Errores habituales (y su arreglo)
- 401 o 403 "user context required": estás usando solo el Bearer de app; falta el token OAuth del usuario. Reconecta la cuenta.
- "App must be set up with User authentication" al autorizar: no completaste el paso 4. Vuelve a Settings → User authentication settings.
- Publica pero aparece como solo texto: revisa que tweet.write esté activo y que no estés en modo "Read only".
- "Too Many Requests": has tocado el límite del plan. Espera a la ventana siguiente o sube de plan.
Preguntas frecuentes
¿Crear la app cuesta dinero?
No. Crear la app y el proyecto es gratuito. Solo pagas si contratas un plan de API superior al gratuito.
¿La app es mía o de X?
Es tuya. X te da las credenciales, tú las usas donde quieras. Si mañana cambias de plataforma de publicación, la misma app sirve.
¿Una app sirve para publicar en varias cuentas de X?
Sí, es lo habitual: la app se crea una vez y cada cuenta que quiera publicar autoriza por separado con su propio token.
¿Puedo usar la app para otra cosa que no sea marketingOS?
Sí. Una vez creada, la puedes usar con cualquier software que acepte Client ID/Secret y tu callback.
¿Qué pasa si X suspende mi app?
Publicar por API sin cumplir las reglas (spam, seguidos masivos) puede suspender la app. Publicar contenido propio con consentimiento del propietario de la cuenta está permitido y es el uso normal.
El resumen en una frase
Crear la app de X es un trámite gratuito de 10 minutos que convierte tu software en un publicador oficial: permisos de lectura y escritura, OAuth de un clic para cada cuenta y límites generosos en el plan gratuito.