Docs

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
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

AufbauKey
Dein Backend spricht für alle Kunden mit FeedHorizonEin Key mit Zugriff auf alle Profile
Ein Kunde, ein Freelancer oder ein eigener Dienst soll nur einige Profile erreichenEin Key, der auf diese Profile beschränkt ist (fullAccess: false, profileIds)
Ein Dashboard oder Bericht, der nur liestEin 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.