Pular para o conteúdo principal
A CLI foi feita para automação: ela imprime JSON estruturado por padrão, aceita credenciais de variáveis de ambiente e usa códigos de saída padrão. Cada comando corresponde 1:1 a um endpoint REST do Social media studio, então tudo o que o app faz pode ser automatizado por script.
O binário é so-me (a versão de desenvolvimento é so-me-dev). Todos os exemplos abaixo usam so-me. Os subcomandos usam a sintaxe com dois-pontos: posts:list, media:upload, agent export-tools.

Modos de saída

A formatação da saída é controlada por flags globais que se aplicam a todos os comandos. Elas devem ser colocadas na linha de comando junto com o restante dos argumentos (o Commander as trata como opções globais).
Use --table para pessoas, não para scripts. A visualização em tabela trunca campos longos e seleciona um subconjunto de colunas, portanto não pode ser interpretada por máquina. Na automação, sempre encadeie o JSON padrão com jq.
O formato padrão também pode ser persistido na configuração da CLI (outputFormat), mas --table na linha de comando sempre prevalece naquela execução.

Saída JSON e jq

Encadeie qualquer comando com o jq para extrair e transformar dados.
Os endpoints de listagem retornam um envelope paginado, não um array simples. O formato é { "data": [ ... ], "meta": { ... } }, então você precisa acessar .data[]. Os comandos de objeto único (posts:get, posts:create, posts:update etc.) retornam o objeto diretamente, então campos como .id ficam no nível superior.

Paginação

Os comandos de listagem aceitam duas flags de paginação. Não existe --cursor nem --all nos comandos de listagem; pagine incrementando --page.
A flag --all existe somente em agent export-tools, onde significa “emitir todos os formatos de ferramentas”; ela não tem relação com paginação.

Scripts de shell

Criar e agendar

posts:create resolve a conta social automaticamente a partir de --platform quando você não passa -a/--accounts. Se várias contas corresponderem, o comando pede uma escolha interativa; portanto, em CI não interativo, passe um ID de conta explícito com -a ou conte com uma única conta conectada para essa plataforma.

Excluir em lote posts com falha

Converter todos os rascunhos

Autenticação para CI

A CLI procura credenciais nesta ordem: a flag --api-key, depois a variável de ambiente SOME_API_KEY e, por fim, a chave de API armazenada por auth:login. Na automação, prefira a variável de ambiente para que nada seja gravado em disco.

GitHub Actions

Armazene a sua chave de API como um segredo do repositório (SOME_API_KEY). A CLI a lê do ambiente automaticamente; nunca coloque a chave diretamente em um arquivo de workflow nem a faça commit no repositório.

Tratamento de erros

Códigos de saída

Em caso de falha, a CLI define um código de saída diferente de zero (process.exitCode = 1), de modo que &&, set -e e condicionais if se comportam como esperado.

Erros detalhados

Use --verbose para ver todos os detalhes do erro, incluindo o stack trace quando houver:
Condições de erro comuns expostas pelo cliente da API:

Tratamento de limite de taxa

Uma requisição limitada por taxa (HTTP 429) termina com código 1. Em scripts, adicione uma lógica de nova tentativa com espera crescente:

Definições de ferramentas para agentes

A CLI pode exportar o catálogo de ferramentas do Social media studio em formatos consumíveis por frameworks de agentes de IA. agent export-tools busca a lista canônica de ferramentas ao vivo no servidor MCP (uma chamada JSON-RPC tools/list para POST /mcp) e a emite no formato que você escolher. O servidor MCP é a única fonte da verdade, então as definições exportadas sempre correspondem ao catálogo atual.
string
Um entre mcp, openai, anthropic, hermes, openclaw. Obrigatório, a menos que --all seja passada.
string
Grava a saída em um arquivo (e grava quaisquer arquivos complementares ao lado dele). Se o caminho parecer um diretório (sem extensão de arquivo ou com barra no final), o nome de arquivo padrão do formato é acrescentado. Quando omitida, a saída principal é gravada na saída padrão (stdout).
boolean
padrão:"false"
Emite todos os formatos compatíveis. Trata --out como um diretório (padrão ./agent-tools) e grava cada formato em seu próprio subdiretório.

Formatos compatíveis

Exemplos

Todos os formatos são derivados da mesma resposta tools/list, portanto as definições exportadas ficam sincronizadas com o catálogo de ferramentas atual. Os nomes das ferramentas usam snake_case (por exemplo, create_post) e espelham os comandos resource:verb da CLI. No transporte MCP, as mesmas ferramentas são registradas como mcp_so-me-studio_<tool_name> (por exemplo, mcp_so-me-studio_create_post).

Instâncias auto-hospedadas

Aponte a CLI para uma URL de API personalizada por meio da flag ou da variável de ambiente: