Beiträge und Planung
API-Schlüssel erhaltenEin Beitrag gehört zu einem Betrieb und geht an ein oder mehrere Netzwerke, seine Ziele (targets). Jedes Ziel hat seinen eigenen Text, seine Medien, sein Format und seinen eigenen Status.
Der Body eines Beitrags
| Feld | Bedeutung |
|---|---|
establishmentId | Der Betrieb, der veröffentlicht (GET /v1/establishments) |
targets[] | Ein Eintrag pro Netzwerk: platform, text, optional media, format und accountId |
targets[].media[] | Ein Medium der Mediathek per id oder eine öffentliche https-url mit ihrem type (image oder video) |
targets[].accountId | Das zu verwendende Konto, wenn der Betrieb mehrere in diesem Netzwerk hat |
scheduledAt | Ein zukünftiger ISO-8601-Zeitpunkt; fehlt er, geht der Beitrag sofort raus |
status | draft, um einen Entwurf zu speichern, der nicht rausgeht (dann ohne scheduledAt) |
Status
| Status | Bedeutung |
|---|---|
draft | Gespeichert, geht nicht raus |
scheduled | Geht zu scheduledAt raus |
publishing | Wird an das Netzwerk gesendet |
published | Online, mit seinem permalink |
failed | Das Netzwerk hat ihn abgelehnt; error nennt den Grund |
sent_to_inbox | An die App des Netzwerks gesendet, wo der Inhaber ihn fertigstellt (TikTok) |
Der status des Beitrags fasst seine Ziele zusammen. Er ist partial, wenn ein Netzwerk veröffentlicht hat und ein anderes fehlgeschlagen ist.
Vor dem Versand bearbeiten
PATCH /v1/posts/{id} schreibt die Ziele neu, verschiebt scheduledAt oder ändert status: draft nimmt den Zeitpunkt weg und behält den Inhalt, scheduled plant ihn erneut. Sobald ein Netzwerk den Beitrag gesendet hat, antwortet die API mit 409 post_not_editable.
curl -X PATCH https://api.sofia-post.com/api/v1/posts/$POST_ID \
-H "Authorization: Bearer $SOFIA_API_KEY" \
-H 'Content-Type: application/json' \
-d '{"status":"scheduled","scheduledAt":"2026-11-20T09:00:00Z"}'Löschen
DELETE /v1/posts/{id} antwortet mit 204. Solange ein Netzwerk den Beitrag sendet, antwortet die API mit 409 post_in_flight: Versuchen Sie es einen Moment später erneut.
Beiträge auflisten
GET /v1/posts listet alle Beiträge auf, die das Token erreichen kann, neueste zuerst, gefiltert nach establishmentId, status, from, to und createdBy (me oder app). Ein Beitrag passt zu status, wenn mindestens eines seiner Netzwerke in diesem Status ist. Siehe Paginierung.