Die Social SDK-Integration gibt die veröffentlichten Beiträge deiner verbundenen Social-Media-Kanäle über eine Schnittstelle aus. Damit lassen sich die eigenen Posts dort anzeigen, wo du sie brauchst: als Social Wall auf der Webseite, im Intranet, auf einem Screen oder in einer App.
Pro gewähltem Netzwerk entsteht eine eigene Adresse. Beiträge, die direkt auf dem Netzwerk erstellt und von Flyo importiert wurden, sind ebenfalls enthalten, du musst also nicht alles über Flyo publizieren, damit es auf der Webseite erscheint.
Voraussetzung
Die Social SDK-Integration baut auf dem Social-Media-Modul auf. Es muss gebucht und mindestens ein Kanal muss unter Einstellungen → Verbindungen verbunden sein.
Startprompt für deine Social Wallanzeigen
[OpenAPI-URL]
Mein Ziel:
[Beschreibe hier, wie die Wall aussehen soll, zum Beispiel: ein responsives Grid mit Bild, Text und Link zum Originalbeitrag]
Authentifizierung:
Verwende folgenden Bearer-Token:
[Token]
Falls die Schnittstelle öffentlich ist, entferne den Abschnitt «Authentifizierung».
Beachte: Die Beiträge kommen bereits sortiert (neuste zuerst). Das Feld media enthält Bilder und Videos in einheitlicher Form, url kann null sein.
Einrichten
- Klicke auf den grünen «Hinzufügen»-Button (unten rechts immer sichtbar), wähle Integration und im Bereich Entwickler die Integration Social SDK.
- Kanäle auswählen: Beiträge dieser Kanäle werden ausgegeben.
- Netzwerke auswählen: Zur Auswahl stehen nur Netzwerke, die auf den gewählten Kanälen tatsächlich verbunden sind. Pro Netzwerk entsteht eine eigene Adresse.
- Entscheiden, ob die Schnittstelle öffentlich sein soll (siehe Authentifizierung).
- Speichern. Im Schritt Schnittstellen findest du unter «SDK anschauen» die Dokumentation, die Adressen und den Zugriffsschlüssel.
Kein Content Pool nötig
Anders als die meisten Integrationen bezieht die Social SDK-Integration ihre Daten nicht über einen Content Pool, sondern direkt aus deinen Social-Media-Kanälen. Deshalb entfällt die Pool-Auswahl.
Adressen
Alle Adressen folgen demselben Muster, wobei <integration> die Kennung deiner Integration ist (sichtbar in der Vorschau):
https://api.flyo.cloud/social/<integration>/<netzwerk> Liste der Beiträge
https://api.flyo.cloud/social/<integration>/<netzwerk>/<id> ein einzelner Beitrag
https://api.flyo.cloud/social/<integration>/openapi die OpenAPI-DateiDas Netzwerk-Segment ist der Netzwerkname in Kleinbuchstaben:
| Netzwerk | Segment |
|---|---|
facebook | |
instagram | |
linkedin | |
| Google Business Profile | gmb |
| YouTube | youtube |
| TikTok | tiktok |
pinterest | |
| Threads | threads |
| Bluesky | bluesky |
| Snapchat | snapchat |
| Telegram | telegram |
reddit |
Ein Netzwerk, das in dieser Integration nicht aktiviert ist, antwortet mit 404. Von aussen ist also nicht erkennbar, welche Netzwerke sonst noch konfiguriert sind.
Die Ausgabe
Die Liste gibt die veröffentlichten Beiträge zurück, die neusten zuerst:
[
{
"id": 1024,
"network": "instagram",
"text": "Der Weihnachtsmarkt ist eröffnet.",
"url": "https://www.instagram.com/p/B5OBT3ygpfg/",
"published_at": 1764412200,
"posted_outside": false,
"is_story": false,
"media": [
{
"url": "https://storage.flyo.cloud/…/markt.jpg",
"type": "image"
}
]
}
]| Feld | Typ | Beschreibung |
|---|---|---|
id | Integer | Die ID des Beitrags in Flyo, verwendbar für die Einzelabfrage |
network | String | Das Netzwerk, identisch mit dem Segment in der Adresse |
text | String | Der Beitragstext |
url | String oder null | Der Beitrag auf dem Netzwerk. null bei importierten Beiträgen, deren Adresse sich nicht zuverlässig rekonstruieren lässt |
published_at | Integer | Zeitpunkt der Veröffentlichung als Unix-Timestamp |
posted_outside | Boolean | true, wenn der Beitrag direkt auf dem Netzwerk erstellt und importiert wurde |
is_story | Boolean | true bei einer Story. Nur auf Netzwerken möglich, die Stories kennen |
media | Array | Bilder und Videos, je mit url und type (image oder video) |
Einheitliche Medien
Beiträge aus Flyo und direkt auf dem Netzwerk erstellte Beiträge speichern ihre Medien unterschiedlich. Die Schnittstelle gleicht das ab: media sieht in beiden Fällen gleich aus, du musst im Frontend nicht unterscheiden.
Keine Statistiken
Likes, Kommentarzahlen und Impressionen sind bewusst nicht Teil der Ausgabe. Diese Kennzahlen siehst du in Flyo unter Statistiken.
Sortieren, Paginieren, Filtern
Sortierung
Standardmässig sind die neusten Beiträge zuoberst. Mit sort lässt sich das umkehren:
?sort=-published_atneuste zuerst (Standard)?sort=published_atälteste zuerst
Paginierung
Pro Abfrage werden 25 Beiträge zurückgegeben, maximal 100 sind möglich:
?page=2&per-page=50Die Eckwerte stehen im Response-Header, wie bei den übrigen Schnittstellen von Flyo:
X-Pagination-Total-CountAnzahl Beiträge insgesamtX-Pagination-Page-CountAnzahl SeitenX-Pagination-Current-Pageaktuelle SeiteX-Pagination-Per-PageBeiträge pro Seite
Nach Kanal filtern
Sind mehrere Kanäle ausgewählt, enthält die Liste die Beiträge aller Kanäle. Mit filter[profile] lässt sich auf einen einzelnen Kanal einschränken:
?filter[profile]=42Die ID eines Kanals findest du in der Adresszeile, wenn du unter Einstellungen → Verbindungen den Kanal öffnest: https://flyo.cloud/organisation/connections/42/social.
Der Filter kann die Ausgabe nur einschränken, nie erweitern. Die ID eines Kanals, der in dieser Integration nicht ausgewählt ist, führt zu einer leeren Liste.
Authentifizierung
Die Option Öffentliche Schnittstelle entscheidet, ob ein Zugriffsschlüssel nötig ist.
Öffentlich
Ohne Schlüssel abrufbar: Wer die Adresse kennt, sieht die Beiträge. Da Social-Media-Beiträge auf den Netzwerken ohnehin öffentlich sind, reicht das für eine Social Wall auf einer Webseite in aller Regel aus. Das ist die einfachste Variante, weil die Adresse direkt aus dem Browser aufgerufen werden kann und kein Schlüssel im Frontend liegt.
Mit Zugriffsschlüssel
Ist die Option ausgeschaltet, braucht jede Anfrage einen Bearer-Token im Header:
Authorization: Bearer <dein-token>Den Token findest du in der Vorschau der Integration unter Authentifizierung. Diese Variante eignet sich, wenn die Beiträge nur einem abgegrenzten Kreis zugänglich sein sollen, zum Beispiel in einem Intranet. Der Token gehört ins Backend und nicht in den Code einer Webseite, da er dort für alle lesbar wäre.
Der Schlüssel lässt sich nicht wechseln
Ein Zugriffsschlüssel und die Adresse einer Integration können zurzeit nicht ausgetauscht werden. Ist ein Schlüssel in falsche Hände geraten, muss die Integration neu angelegt und die Adresse im Frontend ersetzt werden.
CORS
Alle Endpunkte sind für CORS-Anfragen freigegeben und können damit direkt aus dem Browser aufgerufen werden.
Immer aktuell
Die Schnittstelle liest live. Ein neuer Beitrag ist sofort abrufbar, ein gelöschter sofort verschwunden, ohne Aktualisierungslauf und ohne Wartezeit. Auch die Auslöseverzögerung spielt hier keine Rolle.
Die Antworten werden von Browsern und Zwischenspeichern bewusst nicht zwischengespeichert. Wenn du die Beiträge in einem eigenen Frontend cachest, entscheidest du selbst, wie lange.
Welche Beiträge erscheinen?
Enthalten sind ausschliesslich veröffentlichte Beiträge der gewählten Kanäle und Netzwerke. Nicht enthalten sind:
- Entwürfe und geplante Beiträge, solange sie nicht veröffentlicht sind
- Beiträge, deren Veröffentlichung fehlgeschlagen ist
- Beiträge auf Kanälen oder Netzwerken, die in dieser Integration nicht ausgewählt sind
- Beiträge, die in Flyo gelöscht wurden oder auf dem Netzwerk nicht mehr existieren
Wird ein geplanter Beitrag veröffentlicht, erscheint er automatisch in der Schnittstelle.
SDK generieren
Die OpenAPI-Datei beschreibt alle aktivierten Netzwerke und kann als Dokumentation dienen oder in ein SDK der gewünschten Programmiersprache umgewandelt werden. In der Vorschau der Integration findest du unter OpenAPI Datei die Adresse, eine Sprachauswahl und den fertigen Befehl:
openapi-generator-cli generate -i https://api.flyo.cloud/integration/social/<id>/<token> -g typescript-fetch -o ./sdk-outputDer OpenAPI Generator muss dafür installiert sein, siehe Installationsanleitung. Ein ausführliches Beispiel für den Umgang mit generierten Clients findest du unter API SDK mit Client erstellen.
Ändert sich die Konfiguration, zum Beispiel weil ein Netzwerk dazukommt, beschreibt die OpenAPI-Datei sofort den neuen Stand. Das SDK muss danach neu generiert werden.
Beispiel: Beiträge abrufen
Eine öffentliche Schnittstelle lässt sich direkt im Browser abfragen:
const response = await fetch('https://api.flyo.cloud/social/<integration>/instagram?per-page=12')
const posts = await response.json()
posts.forEach(post => {
console.log(post.text, post.media[0]?.url)
})Mit Zugriffsschlüssel, serverseitig:
const response = await fetch('https://api.flyo.cloud/social/<integration>/instagram', {
headers: { Authorization: 'Bearer <dein-token>' }
})Gut zu wissen
- Die Schnittstelle ist nur lesend. Beiträge werden in Flyo erstellt, nicht über die Schnittstelle.
- Für alle Anfragen gilt das allgemeine Rate Limit von Flyo.
- Wird ein Netzwerk in der Integration abgewählt, ist dessen Adresse sofort nicht mehr erreichbar. Prüfe vorher, ob sie noch irgendwo eingebunden ist.
- Wird ein Kanal in den Verbindungen getrennt, liefern seine Beiträge keine neuen Einträge mehr.

