CLIEinführung

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

Prü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 --version

Schnellstart

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

BefehlWas er tut
auth:login, auth:status, auth:logoutPer Browser anmelden, prüfen, wer angemeldet ist, abmelden.
meZeigt das Konto, für das die CLI handelt.
platforms:listListet die Netzwerke, auf die Sofia veröffentlicht, samt ihren Regeln.
establishments:listListet deine Betriebe.
accounts:list, accounts:connectListet die verbundenen Konten oder liefert einen Link, um eines zu verbinden.
posts:create, posts:list, posts:get, posts:update, posts:deleteBeiträge veröffentlichen, planen, auflisten, bearbeiten und löschen.
media:upload, media:list, media:get, media:deleteLädt eine Datei oder eine https-Adresse in die Mediathek hoch und verwaltet sie.
insights:getLiest die Statistiken eines Betriebs.
webhooks:create, webhooks:list, webhooks:delete, webhooks:testWebhooks 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.

War diese Seite hilfreich?