Saltar al contenido principal
La CLI está pensada para la automatización: imprime JSON estructurado por defecto, acepta credenciales de variables de entorno y usa códigos de salida estándar. Cada comando se corresponde 1:1 con un endpoint REST de Social media studio, así que todo lo que puede hacer la aplicación se puede automatizar con scripts.
El binario es so-me (la compilación de desarrollo es so-me-dev). Todos los ejemplos siguientes usan so-me. Los subcomandos usan la sintaxis con dos puntos: posts:list, media:upload, agent export-tools.

Modos de salida

El formato de salida se controla con opciones globales que se aplican a todos los comandos. Deben colocarse en la línea de comandos junto al resto de tus argumentos (Commander las trata como opciones globales).
Usa --table para personas, no para scripts. La vista de tabla trunca los campos largos y selecciona un subconjunto de columnas, por lo que no se puede analizar automáticamente. En la automatización, encadena siempre el JSON por defecto con jq.
El formato por defecto también puede guardarse en la configuración de la CLI (outputFormat), pero --table en la línea de comandos siempre prevalece en esa ejecución.

Salida JSON y jq

Encadena cualquier comando con jq para extraer y transformar datos.
Los endpoints de listado devuelven un envoltorio paginado, no un arreglo simple. La estructura es { "data": [ ... ], "meta": { ... } }, así que debes indexar .data[]. Los comandos de un solo objeto (posts:get, posts:create, posts:update, …) devuelven el objeto directamente, por lo que campos como .id están en el nivel superior.

Paginación

Los comandos de listado aceptan dos opciones de paginación. No hay opción --cursor ni --all en los comandos de listado: pagina incrementando --page.
La opción --all existe solo en agent export-tools, donde significa “emitir todos los formatos de herramientas”; no tiene relación con la paginación.

Scripts de shell

Crear y programar

posts:create resuelve automáticamente la cuenta social a partir de --platform cuando no pasas -a/--accounts. Si coinciden varias cuentas, el comando pregunta de forma interactiva; por lo tanto, en un CI no interactivo, pasa un ID de cuenta explícito con -a o asegúrate de tener una sola cuenta conectada para esa plataforma.

Eliminar en masa las publicaciones fallidas

Convertir todos los borradores

Autenticación en CI

La CLI busca las credenciales en este orden: la opción --api-key, después la variable de entorno SOME_API_KEY y, por último, la clave de API guardada por auth:login. Para la automatización, prefiere la variable de entorno para que no se escriba nada en disco.

GitHub Actions

Guarda tu clave de API como secreto del repositorio (SOME_API_KEY). La CLI la lee automáticamente del entorno; nunca incluyas la clave en un archivo de workflow ni la subas al repositorio.

Gestión de errores

Códigos de salida

En caso de fallo, la CLI establece un código de salida distinto de cero (process.exitCode = 1), de modo que &&, set -e y las guardas if se comporten como se espera.

Errores detallados

Usa --verbose para ver todos los detalles del error, incluida la traza de pila cuando está disponible:
Condiciones de error habituales que expone el cliente de la API:

Gestión de límites de solicitudes

Una solicitud limitada por tasa (HTTP 429) termina con el código 1. En los scripts, añade lógica de reintento con espera creciente:

Definiciones de herramientas para agentes

La CLI puede exportar el catálogo de herramientas de Social media studio en formatos que pueden consumir los frameworks de agentes de IA. agent export-tools obtiene en directo la lista canónica de herramientas del servidor MCP (una llamada JSON-RPC tools/list a POST /mcp) y la emite en el formato que elijas. El servidor MCP es la única fuente de verdad, por lo que las definiciones exportadas siempre coinciden con el catálogo en vivo.
string
Uno de mcp, openai, anthropic, hermes, openclaw. Obligatorio salvo que se pase --all.
string
Escribe la salida en un archivo (y escribe los archivos complementarios junto a él). Si la ruta parece un directorio (sin extensión de archivo, o con una barra final), se añade el nombre de archivo por defecto del formato. Si se omite, la salida principal se escribe en stdout.
boolean
predeterminado:"false"
Emite todos los formatos admitidos. Trata --out como un directorio (por defecto ./agent-tools) y escribe cada formato en su propio subdirectorio.

Formatos admitidos

Ejemplos

Todos los formatos se derivan de la misma respuesta de tools/list, por lo que las definiciones exportadas se mantienen sincronizadas con el catálogo de herramientas en vivo. Los nombres de las herramientas están en snake_case (p. ej. create_post) y reflejan los comandos resource:verb de la CLI. En el transporte MCP, las mismas herramientas se registran como mcp_so-me-studio_<tool_name> (p. ej. mcp_so-me-studio_create_post).

Instancias autoalojadas

Apunta la CLI a una URL de API personalizada mediante la opción o la variable de entorno: