CLI
Introducción
Instala el comando sofia, inicia sesión y publica desde tu terminal: publicaciones, medios, cuentas, estadísticas y webhooks, con salida JSON para tus scripts.
La CLI de Sofia envuelve la API v1 de Sofia en un único comando, sofia. Cada comando se escribe recurso:acción y cada respuesta es JSON, así que puedes encadenarla con jq, tareas cron y pipelines de CI.
Instalación
La CLI se publica en npm como el paquete sofia-post; el comando que instala es sofia.
npm install -g sofia-postpnpm install -g sofia-postyarn global add sofia-postComprueba la instalación y lista todos los comandos. Añade --help a cualquier comando para ver sus opciones.
sofia --help
sofia posts:create --help
sofia --versionInicio rápido
Inicia sesión con el navegador, localiza tu establecimiento y publica una primera publicación.
sofia auth:login
sofia establishments:list
sofia posts:create -e $ESTABLISHMENT_ID -p instagram -c "Tarte tatin du jour"Comandos
| Comando | Qué hace |
|---|---|
auth:login, auth:status, auth:logout | Iniciar sesión con el navegador, ver quién eres, cerrar sesión. |
me | Muestra la cuenta en nombre de la que actúa la CLI. |
platforms:list | Lista las redes en las que publica Sofia y sus reglas. |
establishments:list | Lista tus establecimientos. |
accounts:list, accounts:connect | Lista las cuentas conectadas u obtiene un enlace para conectar una. |
posts:create, posts:list, posts:get, posts:update, posts:delete | Publicar, programar, listar, editar y borrar publicaciones. |
media:upload, media:list, media:get, media:delete | Sube un archivo o una dirección https a la biblioteca de medios y la gestiona. |
insights:get | Lee las estadísticas de un establecimiento. |
webhooks:create, webhooks:list, webhooks:delete, webhooks:test | Registrar, listar, borrar y probar webhooks. |
Salida JSON
Cada comando imprime en stdout el cuerpo JSON de la API, con sangría. Pásalo por jq para quedarte con lo que necesitas.
sofia establishments:list | jq '.data[].id'Si algo falla, el sobre de error de la API (o un error local con la misma forma) va a stderr y el código de salida es 1.
{ "error": { "code": "invalid_request", "message": "…", "details": [ … ] } }Un borrado responde { "deleted": true, "id": "…" }. Siguiente: la autenticación y las publicaciones.