Dieser Artikel ist die Referenz für Entwickler*innen, die mit OAuth gegen die Leadfeeder API entwickeln. Falls Du noch keine Anwendung registriert hast, starte mit Wie Du eine OAuth-Anwendung erstellst und verwaltest.
Endpunkte
Einstellung | Wert |
Authorization URL | |
Access Token URL | |
Refresh Token URL | |
Grant Type | Authorization Code with PKCE |
Code Challenge Method | SHA-256 |
Client-Authentifizierung | Client-Zugangsdaten werden im Request Body gesendet |
Token-Header-Präfix | Bearer |
Scope-Format | Durch Leerzeichen getrennte Liste |
Der Client-Credentials-Grant wird nicht unterstützt. Die Leadfeeder API arbeitet auf Ebene einzelner Personen, jede Anfrage erfolgt also im Namen einer angemeldeten Person.
Der Flow
Deine Anwendung leitet die Person zur Authorization URL weiter, zusammen mit Deiner Client ID, einer Deiner registrierten Redirect-URLs, den benötigten Scopes, einem state-Wert und einer PKCE Code Challenge.
Die Person meldet sich bei Leadfeeder an. Eine Registrierung ist in diesem Flow nicht möglich, es wird also ein bestehendes Konto benötigt.
Falls Du gegen die API entwickelst und noch kein Konto hast, kannst Du Leadfeeder kostenlos testen. Die Testphase dauert 14 Tage, eine Kreditkarte ist nicht erforderlich.
Die Person sieht den Autorisierungsbildschirm mit dem Namen, Logo und der Beschreibung Deiner Anwendung sowie den angeforderten Scopes. Sie stimmt zu oder lehnt ab.
Bei Zustimmung leitet Leadfeeder zurück zu Deiner Redirect-URL und übergibt einen Authorization Code.
Deine Anwendung tauscht diesen Code an der Access Token URL gegen einen Access Token und einen Refresh Token ein.
Du rufst die API mit dem Access Token im Authorization-Header auf, versehen mit dem Präfix Bearer.
Läuft der Access Token ab, tauschst Du den Refresh Token am selben Token-Endpunkt gegen einen neuen ein. Die Person muss sich dabei nicht erneut anmelden.
Den Access Token verwenden
Sende den Token bei jeder Anfrage als Bearer Token.
Authorization: Bearer [YOUR_ACCESS_TOKEN]
Wie bei API-Schlüsseln benötigen die meisten Endpunkte zusätzlich Deine account_id als Query-Parameter.
https://api.leadfeeder.com/v1/companies/{id}?account_id=[YOUR_ACCOUNT_ID]
Verfügbare Scopes
Scopes legen fest, auf welche Ressourcen Deine Anwendung zugreifen kann. Wo es zutrifft, sind sie in Lese- und Schreibrechte unterteilt. In der Plattform suchst Du Scopes über ihren verständlichen Namen, der technische Wert wird darunter angezeigt.
Jeder Endpunkt in der API-Referenz gibt an, welchen Scope er benötigt. Die maschinenlesbare Liste findest Du in der OpenAPI-Spezifikation unter https://api.leadfeeder.com/openapi.yaml, im Abschnitt components.securitySchemes.OAuth2.
Lese-Scopes
Scope | Name in der UI | Was es umfasst |
accounts:read | View account details | Kontoinformationen und das verbleibende Credit-Guthaben. |
buyer_personas:read | View buyer personas | Die Buyer Personas des Accounts. |
campaigns:read | View campaigns | Kampagnen und ihre Performance-Statistiken. |
companies:read | View companies | Firmendaten, Profile, Firmografika und zugeordnete Websitebesuche. |
contacts:read | View contacts | Kontaktdaten und -profile, einschließlich persönlicher Angaben wie Namen und E-Mail-Adressen. |
crm_records:read | View CRM matches | CRM-Verbindungs- und Matching-Daten, die mit Firmen oder Kontakten verknüpft sind. |
custom_fields:read | View custom fields | Definitionen benutzerdefinierter Felder und ihre Werte. |
icps:read | View ideal customer profiles | Die Ideal Customer Profiles des Accounts. |
ip:read | Look up IP data | IP-Adressen auflösen und mit Firmendaten anreichern. |
lists:read | View lists | Listen sowie die darin enthaltenen Firmen und Kontakte. |
tags:read | View tags | Alle Tags einsehen, die Firmen zugewiesen werden können. |
usage:read | View API usage | API-Nutzungsstatistiken für den Account. |
workflows:read | View workflows | Zugriff auf die Workflows im Account. |
web_visits:read | View website visits | Websitebesucher-Aktivität, Tracker-Daten und Custom Feeds einsehen. |
Schreib-Scopes
Scope | Name in der UI | Was es umfasst |
buyer_personas:write | Manage buyer personas | Buyer Personas erstellen, umbenennen und löschen. |
campaigns:write | Manage campaigns | Bestehende Kampagnen aktualisieren. |
companies:write | Manage company lists and tags | Firmen zu Listen hinzufügen, Tags vergeben und Enrichment-Jobs ausführen. Firmen können weder erstellt noch gelöscht werden. |
contacts:write | Manage contact list assignments | Kontakte zu Listen hinzufügen oder daraus entfernen und Kontaktdaten-Enrichment ausführen. Kontakte können weder erstellt noch gelöscht werden. |
custom_fields:write | Manage custom fields | Definitionen benutzerdefinierter Felder erstellen, aktualisieren und löschen. |
icps:write | Manage ideal customer profiles | Ideal Customer Profiles erstellen, umbenennen und löschen. |
lists:write | Manage lists | Listen erstellen, umbenennen und löschen. |
tags:write | Manage tags | Tags erstellen, aktualisieren und löschen. |
workflows:write | Manage workflows | Workflows erstellen, aktualisieren und löschen. |
web_visits:write | Manage custom feeds | Custom Feeds erstellen, aktualisieren und löschen. Die Besuchsdaten selbst werden dabei nicht verändert. |
Häufige Fehler
Fehler | Was er bedeutet | So behebst Du ihn |
insufficient_scope | Der Access Token enthält nicht den Scope, den dieser Endpunkt benötigt. | Füge den Scope zur Anwendung hinzu und lasse die Person die Autorisierung erneut durchführen. |
forbidden | Der Scope ist vorhanden, aber die angemeldete Person hat nicht die passende Berechtigung in Leadfeeder. | Prüfe die Berechtigungen dieser Person in der Plattform. |
401 Unauthorized | Der Access Token fehlt, ist fehlerhaft oder abgelaufen. | Prüfe das Bearer-Präfix und erneuere den Token, falls er abgelaufen ist. |
Wurde ein Scope aus der Anwendung entfernt, schlagen Aufrufe dagegen sofort fehl. Wurde ein Scope hinzugefügt, funktioniert er erst, nachdem die Person die Anwendung erneut autorisiert hat.
--
Fragen, Kommentare oder Feedback? Melde Dich gerne bei unserem Support-Team per Chat oder per E-Mail an support@leadfeeder
