CLI
Introduction
Installez la commande sofia, connectez-vous et publiez depuis le terminal : posts, médias, comptes, statistiques et webhooks, en JSON.
La CLI Sofia enveloppe l’API Sofia v1 dans une seule commande, sofia. Chaque commande s’écrit ressource:action et chaque réponse est du JSON : vous pouvez l’enchaîner avec jq, des tâches cron et vos pipelines CI.
Installation
La CLI est publiée sur npm sous le nom sofia-post ; la commande installée est sofia.
npm install -g sofia-postpnpm install -g sofia-postyarn global add sofia-postVérifiez l’installation et listez toutes les commandes. Ajoutez --help à n’importe quelle commande pour voir ses options.
sofia --help
sofia posts:create --help
sofia --versionDémarrage rapide
Connectez-vous avec votre navigateur, trouvez votre établissement, puis publiez un premier post.
sofia auth:login
sofia establishments:list
sofia posts:create -e $ESTABLISHMENT_ID -p instagram -c "Tarte tatin du jour"Commandes
| Commande | Ce qu’elle fait |
|---|---|
auth:login, auth:status, auth:logout | Se connecter avec le navigateur, voir qui vous êtes, se déconnecter. |
me | Affiche le compte pour lequel la CLI agit. |
platforms:list | Liste les réseaux sur lesquels Sofia publie, avec leurs règles. |
establishments:list | Liste vos établissements. |
accounts:list, accounts:connect | Liste les comptes connectés, ou donne un lien pour en connecter un. |
posts:create, posts:list, posts:get, posts:update, posts:delete | Publier, programmer, lister, modifier et supprimer des posts. |
media:upload, media:list, media:get, media:delete | Envoie un fichier ou une adresse https dans la médiathèque et la gère. |
insights:get | Lit les statistiques d’un établissement. |
webhooks:create, webhooks:list, webhooks:delete, webhooks:test | Enregistrer, lister, supprimer et tester des webhooks. |
Sortie JSON
Chaque commande écrit sur stdout le corps JSON de l’API, indenté. Passez-le à jq pour extraire ce dont vous avez besoin.
sofia establishments:list | jq '.data[].id'En cas d’échec, l’enveloppe d’erreur de l’API (ou une erreur locale de même forme) part sur stderr et le code de sortie est 1.
{ "error": { "code": "invalid_request", "message": "…", "details": [ … ] } }Une suppression répond { "deleted": true, "id": "…" }. Ensuite : l’authentification, puis les posts.