Agenturen und SaaS
So richtest du FeedHorizon ein, wenn du für viele Kunden postest oder ein Produkt baust, das für deine Kunden postet.
FeedHorizon ist dafür gebaut, im Namen anderer zu posten. Eine Organisation enthält alle deine Kunden, jeden in seinem eigenen Profil, und du zahlst pro verbundenem Konto, nicht pro Kunde.
Ein Profil pro Kunde
Leg für jeden Kunden, jede Marke oder jeden Auftraggeber ein Profil an. Ein Profil hält seine Konten, Posts, Warteschlange und Zeitzone von den anderen getrennt.
curl -X POST https://feedhorizon.com/api/v1/profiles \
-H "Authorization: Bearer fh_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "name": "Soup Club", "timezone": "Europe/Berlin", "externalId": "cus_8812" }'Trag deine eigene Kunden-ID in externalId ein. Sie ist in deiner Organisation eindeutig, du musst unsere IDs also nie speichern: GET /profiles?externalId=cus_8812 findet das Profil wieder. Zum Anlegen von Profilen brauchst du einen Key mit Zugriff auf alle Profile.
Kunden verbinden ihre Konten selbst
Du brauchst niemandes Passwort. Leg für das Profil und die Plattform einen Connect-Link an und schick ihn dem Kunden, oder öffne ihn in deiner App. Er meldet sich bei der Plattform an, und das Konto landet in seinem Profil. Du erfährst davon über den Webhook account.connected.
Keys pro Kunde oder pro Dienst
| Aufbau | Key |
|---|---|
| Dein Backend spricht für alle Kunden mit FeedHorizon | Ein Key mit Zugriff auf alle Profile |
| Ein Kunde, ein Freelancer oder ein eigener Dienst soll nur einige Profile erreichen | Ein Key, der auf diese Profile beschränkt ist (fullAccess: false, profileIds) |
| Ein Dashboard oder Bericht, der nur liest | Ein Key mit permission: "readonly" |
Ein auf Profile beschränkter Key sieht nichts außerhalb davon: Posts und Konten anderer Profile antworten mit 404, als gäbe es sie nicht. Siehe Authentication.
Teammitglieder
Personen im Dashboard sind Mitglieder der Organisation. Owner und Admins sehen jedes Profil. Ein Mitglied lässt sich auf einige Profile beschränken, und ein KI-Assistent, den es über MCP verbindet, ist genauso beschränkt.
Webhooks für alle Kunden
Webhooks gehören zur Organisation, ein Endpunkt bekommt also die Events aller Profile. Jedes Event enthält profileId; schlag den Kunden darüber nach oder über die externalId des Profils.
Wenn ein Kunde geht
DELETE /accounts/{id}trennt ein Konto. Seine geplanten Posts werden mitgelöscht, Posts, die schon live sind, bleiben auf der Plattform.DELETE /profiles/{id}löscht das Profil mit seinen Konten, Posts und seiner Warteschlange. Das Standardprofil lässt sich nicht löschen.
Du zahlst nur für verbundene Konten, ein getrenntes Konto zählt also nicht mehr, siehe Preise.
Wie es weitergeht
Rezept: Einen Kunden einrichten geht diese Schritte mit Code durch.