API-Referenz
API-Schlüssel erhaltenJeder Endpoint von Sofia API v1 mit Parametern, Scopes und Beispielen sowie ein Playground, um jeden mit Ihrem eigenen API-Schlüssel auszuprobieren.
Basis-URL https://api.sofia-post.com/api · OpenAPI-Dokument
OAuth
GET
/v1/oauth/authorizeEine Autorisierung startenIm Browser der Person öffnen. Unbekannter Client oder nicht registrierte redirect_uri ergibt 400, sonst folgt die Weiterleitung zum Zustimmungsbildschirm.GET/.well-known/oauth-authorization-server/api/v1/oauthServer-Metadaten abrufenLiefert die OAuth-2.0-Metadaten des Autorisierungsservers der Sofia API (RFC 8414), damit ein Client die Endpoints und die unterstützten Optionen findet.POST/v1/oauth/tokenEin Access-Token ausstellenTauscht client_credentials, einen authorization_code mit PKCE oder ein einmaliges refresh_token gegen ein opakes Token (3600 s) für einen Workspace.Konto
Plattformen
Betriebe
GET
/v1/establishmentsBetriebe auflistenListet die Betriebe des Workspace des Tokens auf. Nutzen Sie ihre Kennungen als establishmentId zum Veröffentlichen, für Medien und Statistiken.GET/v1/establishments/{id}/accountsVerbundene Konten auflistenListet die mit einem Betrieb verbundenen Netzwerke auf, ohne Token oder Netzwerk-Secret, nur das Nötige, um ein Konto zu benennen und als accountId zu wählen.POST/v1/establishments/{id}/connection-linksEinen Verbindungslink erstellenLiefert einen gehosteten Link, über den die Person ein Netzwerk bei Sofia autorisiert, ohne dass ein Netzwerk-Token Ihre App erreicht. 30 Min. gültig, nur live.GET/v1/establishments/{id}/insightsStatistiken eines Betriebs abrufenLiefert die jüngsten gültigen Zahlen, die Sofia für jedes verbundene Konto gesammelt hat. Ein noch nicht erfasstes Konto zeigt awaiting, nie null.Medien
GET
/v1/mediaMedien auflistenListet die Mediathek eines Betriebs auf, neueste zuerst, seitenweise, mit URLs, die für das aktuelle Zeitfenster signiert sind. Funktioniert im Test und live.POST/v1/mediaMedium importieren oder hochladenFügt der Mediathek eines Betriebs eine Datei (Multipart) oder eine https-URL hinzu, die Sofia abruft. Erfordert eine Live-App und ein aktives Abonnement.GET/v1/media/{id}Ein Medium abrufenLiefert ein Medium der Mediathek mit einer für das aktuelle Zeitfenster gültigen signierten URL, damit Sie seine Kennung in einem Beitrag nutzen können.DELETE/v1/media/{id}Ein Medium entfernenEntfernt ein Medium aus der Mediathek seines Betriebs, wie es die App tut. Die Datei wird nicht zerstört, ein geplanter Beitrag behält sein Bild.Beiträge
GET
/v1/postsBeiträge auflistenListet die Beiträge der für das Token erreichbaren Betriebe auf, neueste zuerst, filterbar nach Betrieb, Status, Zeitraum und Autor, seitenweise.POST/v1/postsEinen Beitrag veröffentlichenLive-Apps veröffentlichen sofort, planen oder speichern einen Entwurf; Test-Apps simulieren nur. Mit ?dry_run=true wird alles geprüft und nichts geschrieben.GET/v1/posts/{id}Einen Beitrag abrufenLiefert einen Beitrag mit dem Zustand jedes Netzwerks, Link nach der Veröffentlichung und Fehler. Live jeden Beitrag des Workspace, im Test einen simulierten.PATCH/v1/posts/{id}Einen Beitrag bearbeitenSolange kein Netzwerk zu senden begann, ersetzt es targets, setzt scheduledAt oder wechselt zwischen draft und scheduled. Fehlende Felder bleiben.DELETE/v1/posts/{id}Einen Beitrag löschenLöscht einen Beitrag wie die App: Nichts Geplantes wird gesendet, ein veröffentlichter Beitrag verschwindet aus seinem Netzwerk. Im Test ist nichts zu löschen.Webhooks
GET
/v1/webhooksWebhooks auflistenListet die Webhooks der Anwendung ohne ihr Signatur-Secret auf, das nur bei der Registrierung des Webhooks zurückgegeben wird.POST/v1/webhooksEinen Webhook registrierenRegistriert eine https-URL, die Sofia mit einem signierten JSON-Ereignis aufruft, bei Fehlern bis zu fünfmal wiederholt. Secret einmal sichtbar; max. 10.DELETE/v1/webhooks/{id}Einen Webhook löschenLöscht einen Webhook. Er erhält nichts mehr, auch nicht die Zustellungen, die noch auf einen neuen Versuch warteten, und der Aufruf liefert keinen Body.POST/v1/webhooks/{id}/testEin Testereignis sendenStellt ein signiertes webhook.test-Ereignis wie jedes andere zu, ohne auf den Empfänger zu warten, damit Sie Ihre Signatur prüfen. Höchstens fünf pro Minute.