CLIBeiträge verwalten

CLI

Beiträge verwalten

Beiträge im Terminal erstellen, planen, auflisten, bearbeiten und löschen: Entwürfe, mehrere Netzwerke, Medien, Probeläufe und ein vollständiger JSON-Body.

Jeder Beitrag gehört zu einem Betrieb, deshalb übergibst du dessen ID mit -e. Du findest sie mit sofia establishments:list (siehe Konten).

Beitrag veröffentlichen

Ohne Datum wird der Beitrag sofort veröffentlicht.

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

Beitrag planen

Übergib mit -s, --date ein Datum im ISO-8601-Format.

sofia posts:create -e $ESTABLISHMENT_ID -p instagram -c "Brunch ce samedi" -s 2026-11-07T09:00:00Z

Entwurf speichern

--draft speichert den Beitrag, ohne ihn zu veröffentlichen oder zu planen.

sofia posts:create -e $ESTABLISHMENT_ID -p instagram -c "Brunch ce samedi" --draft

Mehrere Netzwerke gleichzeitig

Nenne die Netzwerke durch Kommas getrennt in -p, --platforms. Jedes erhält denselben Text.

sofia posts:create -e $ESTABLISHMENT_ID -p instagram,facebook,linkedin -c "Tarte tatin du jour"

Medien, Format und Konto gelten ebenfalls für alle. Diese Optionen prägen den Beitrag:

  • -c, --content: der Text des Beitrags.
  • -f, --format: das Format (post, reel, story, carousel …).
  • -a, --account: das verbundene Konto, von dem veröffentlicht wird.

Medien hinzufügen

-m, --media nimmt Medien-IDs aus deiner Mediathek oder https-Adressen, durch Kommas getrennt.

sofia posts:create -e $ESTABLISHMENT_ID -p instagram -c "Tarte tatin du jour" \
  -m $MEDIA_ID,https://images.example.com/tarte-tatin.jpg

Bei einer Adresse ergibt sich der Typ aus der Endung: Video für mp4, mov, webm und m4v, sonst Bild. Zum vorherigen Hochladen siehe Medien.

Probelauf

--dry-run prüft den Beitrag gegen die Regeln jedes Netzwerks und veröffentlicht nichts. Siehe Probelauf.

sofia posts:create -e $ESTABLISHMENT_ID -p instagram -c "Tarte tatin du jour" --dry-run

Idempotenz

Mit --idempotency-key lässt sich ein Befehl gefahrlos wiederholen: derselbe Schlüssel ergibt denselben Beitrag, nie zwei. Siehe Idempotenz.

sofia posts:create -e $ESTABLISHMENT_ID -p instagram -c "Tarte tatin du jour" \
  --idempotency-key brunch-2026-11-07

Vollständiger Body aus einer Datei

Für Text pro Netzwerk, mehrere Medien oder einen Zeitplan in einem Zug schreibst du den ganzen Body in eine Datei und übergibst ihn mit -j, --json. Er ersetzt die Inhaltsoptionen.

{
  "establishmentId": "$ESTABLISHMENT_ID",
  "targets": [
    {
      "platform": "instagram",
      "text": "Tarte tatin du jour",
      "media": [{ "id": "$MEDIA_ID" }],
      "format": "post"
    },
    {
      "platform": "tiktok",
      "text": "Tarte tatin du jour",
      "media": [{ "url": "https://images.example.com/tarte-tatin.mp4", "type": "video" }]
    }
  ],
  "scheduledAt": "2026-11-07T09:00:00Z",
  "status": "scheduled"
}
sofia posts:create --json post.json

Beiträge auflisten

Filtere die Liste mit diesen Optionen. Die Antwort ist paginiert: siehe Paginierung.

  • -e, --establishment: nur dieser Betrieb.
  • --status: nur Beiträge mit diesem Status.
  • --from und --to: ein Zeitraum.
  • --created-by me|app: von dir selbst geschriebene Beiträge oder per API erstellte.
  • --limit und --cursor: die Seitengröße und die Stelle zum Weitermachen.
sofia posts:list -e $ESTABLISHMENT_ID --status scheduled --from 2026-11-01 --to 2026-11-30 --limit 20

Lesen, bearbeiten, löschen

posts:update ändert das Datum (-s), den Status (draft oder scheduled) oder mit -j den ganzen Body.

sofia posts:get $POST_ID
sofia posts:update $POST_ID -s 2026-11-08T09:00:00Z
sofia posts:update $POST_ID --status draft
sofia posts:delete $POST_ID

Mit jq skripten

Da die Ausgabe JSON ist, holt jq heraus, was du brauchst: IDs, Status, den Cursor der nächsten Seite.

sofia posts:list -e $ESTABLISHMENT_ID --status scheduled | jq '.data[] | {id, status}'
sofia posts:list -e $ESTABLISHMENT_ID | jq -r '.nextCursor'

Weiter mit Konten und Medien.

War diese Seite hilfreich?