CLIIntroduction

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-post
pnpm install -g sofia-post
yarn global add sofia-post

Vé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 --version

Dé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

CommandeCe qu’elle fait
auth:login, auth:status, auth:logoutSe connecter avec le navigateur, voir qui vous êtes, se déconnecter.
meAffiche le compte pour lequel la CLI agit.
platforms:listListe les réseaux sur lesquels Sofia publie, avec leurs règles.
establishments:listListe vos établissements.
accounts:list, accounts:connectListe les comptes connectés, ou donne un lien pour en connecter un.
posts:create, posts:list, posts:get, posts:update, posts:deletePublier, programmer, lister, modifier et supprimer des posts.
media:upload, media:list, media:get, media:deleteEnvoie un fichier ou une adresse https dans la médiathèque et la gère.
insights:getLit les statistiques d’un établissement.
webhooks:create, webhooks:list, webhooks:delete, webhooks:testEnregistrer, 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.

Cette page vous a-t-elle aidé ?