CLIIntroduzione

CLI

Introduzione

Installa il comando sofia, accedi e pubblica dal terminale: post, media, account, statistiche e webhook, con output JSON pronto per gli script.

La CLI di Sofia racchiude l’API Sofia v1 in un solo comando, sofia. Ogni comando si scrive risorsa:azione e ogni risposta è JSON: puoi concatenarla con jq, cron job e pipeline CI.

Installazione

La CLI è pubblicata su npm come pacchetto sofia-post; il comando installato è sofia.

npm install -g sofia-post
pnpm install -g sofia-post
yarn global add sofia-post

Controlla l’installazione ed elenca tutti i comandi. Aggiungi --help a un comando per vederne le opzioni.

sofia --help
sofia posts:create --help
sofia --version

Per iniziare

Accedi dal browser, trova la tua attività e pubblica un primo post.

sofia auth:login
sofia establishments:list
sofia posts:create -e $ESTABLISHMENT_ID -p instagram -c "Tarte tatin du jour"

Comandi

ComandoCosa fa
auth:login, auth:status, auth:logoutAccedere dal browser, vedere chi sei, uscire.
meMostra l’account per cui agisce la CLI.
platforms:listElenca le reti su cui Sofia pubblica e le loro regole.
establishments:listElenca le tue attività.
accounts:list, accounts:connectElenca gli account collegati o ottiene un link per collegarne uno.
posts:create, posts:list, posts:get, posts:update, posts:deletePubblicare, programmare, elencare, modificare ed eliminare post.
media:upload, media:list, media:get, media:deleteCarica un file o un indirizzo https nella libreria media e la gestisce.
insights:getLegge le statistiche di un’attività.
webhooks:create, webhooks:list, webhooks:delete, webhooks:testRegistrare, elencare, eliminare e testare i webhook.

Output JSON

Ogni comando stampa su stdout il corpo JSON dell’API, indentato. Passalo a jq per estrarre ciò che ti serve.

sofia establishments:list | jq '.data[].id'

In caso di errore, la busta di errore dell’API (o un errore locale della stessa forma) va su stderr e il codice di uscita è 1.

{ "error": { "code": "invalid_request", "message": "…", "details": [ … ] } }

Un’eliminazione risponde { "deleted": true, "id": "…" }. Poi: l’autenticazione e i post.

Questa pagina ti è stata utile?