CLI
Einführung
Installiere den Befehl sofia, melde dich an und veröffentliche im Terminal: Beiträge, Medien, Konten, Statistiken, Webhooks, alles als JSON.
Die Sofia-CLI verpackt die Sofia API v1 in einen einzigen Befehl: sofia. Jeder Befehl hat die Form ressource:aktion, und jede Antwort ist JSON. So lässt sie sich mit jq, Cron-Jobs und CI-Pipelines verketten.
Installation
Die CLI liegt auf npm als Paket sofia-post; der installierte Befehl heißt sofia.
npm install -g sofia-postpnpm install -g sofia-postyarn global add sofia-postPrüfe die Installation und lass dir alle Befehle anzeigen. Mit --help bei jedem Befehl siehst du dessen Optionen.
sofia --help
sofia posts:create --help
sofia --versionSchnellstart
Melde dich über den Browser an, such deinen Betrieb und veröffentliche einen ersten Beitrag.
sofia auth:login
sofia establishments:list
sofia posts:create -e $ESTABLISHMENT_ID -p instagram -c "Tarte tatin du jour"Befehle
| Befehl | Was er tut |
|---|---|
auth:login, auth:status, auth:logout | Per Browser anmelden, prüfen, wer angemeldet ist, abmelden. |
me | Zeigt das Konto, für das die CLI handelt. |
platforms:list | Listet die Netzwerke, auf die Sofia veröffentlicht, samt ihren Regeln. |
establishments:list | Listet deine Betriebe. |
accounts:list, accounts:connect | Listet die verbundenen Konten oder liefert einen Link, um eines zu verbinden. |
posts:create, posts:list, posts:get, posts:update, posts:delete | Beiträge veröffentlichen, planen, auflisten, bearbeiten und löschen. |
media:upload, media:list, media:get, media:delete | Lädt eine Datei oder eine https-Adresse in die Mediathek hoch und verwaltet sie. |
insights:get | Liest die Statistiken eines Betriebs. |
webhooks:create, webhooks:list, webhooks:delete, webhooks:test | Webhooks registrieren, auflisten, löschen und testen. |
JSON-Ausgabe
Jeder Befehl gibt den JSON-Body der API eingerückt auf stdout aus. Leite ihn an jq weiter, um das Gewünschte herauszupicken.
sofia establishments:list | jq '.data[].id'Bei einem Fehler gehen die Fehlerhülle der API (oder ein lokaler Fehler derselben Form) auf stderr, und der Exit-Code ist 1.
{ "error": { "code": "invalid_request", "message": "…", "details": [ … ] } }Ein Löschen antwortet mit { "deleted": true, "id": "…" }. Weiter mit der Authentifizierung, dann den Beiträgen.