Data connectors verwenden APIs, um sich mit externen Systemen zu verbinden und vorhandene Daten abzurufen und/oder zu aktualisieren. Deshalb ist es wichtig, einige Dinge zu beachten, wenn Sie Data connectors in Intercom einrichten.
Verwendung von Drittanbieter-APIs (Shopify, WooCommerce usw.)
Wenn Sie Drittanbieter-APIs (nicht intern entwickelte APIs) mit Data connectors in Intercom nutzen, haben Sie wahrscheinlich wenig bis keine Kontrolle darüber, wie sie funktionieren oder welche Antwort Sie auf eine Anfrage erhalten.
Das untenstehende Handbuch ist dennoch eine nützliche Anleitung, aber einige Abschnitte sind möglicherweise nicht vollständig auf Ihren Anwendungsfall anwendbar.
Verwendung von First-Party-APIs
Unsere Ingenieure haben eine Liste von Punkten zusammengestellt, die Sie beim Entwerfen oder Ändern Ihrer bestehenden APIs beachten sollten, damit sie mit Fin und Data connectors in Intercom funktionieren.
Authentifizierungs- und Identitätsüberlegungen
Wie Sie Ihre users und Benutzereingaben für die Verwendung in Data connectors absichern
Wichtig: Sie und/oder Ihr Sicherheitsteam sollten eine Risikoanalyse durchführen und die Folgen eines möglichen Datenlecks bewerten.
Intercom übernimmt keine Verantwortung oder Haftung für Datenlecks, die durch schlechte Authentifizierungs- und Identifikationspraktiken Ihrer oder Drittanbieter-APIs entstehen.
Wir empfehlen dringend, dass Sie Messenger Security mit JWTs aktivieren. Die Absicherung Ihres Messengers ist die wichtigste Sicherheitsmaßnahme für Ihre Integration.
Es ermöglicht Ihnen auch, mehrere Attribute zu signieren über unsere JavaScript API, sodass Sie Daten über Ihre users sicher über den Messenger senden können, anstatt eine andere Integration wie z. B. REST API zu verwenden.
Um die Vorteile des sicheren Sendens von Daten zu nutzen, können Sie Ihre Attribute vor unsicheren Messenger-Updates schützen. Dann wird jedes gesendete JWT, das wir als sichere Quelle betrachten, dieses Feld beim user weiterhin aktualisieren. Dies ist entscheidend für Data connectors, wenn der Data connector sensible Daten anzeigt oder Daten manipuliert.
Wenn Ihr Data connector beispielsweise eine Anfrage an die API mit „GET /accounts/<account_id>/invoices“ stellt, sollten Sie sicherstellen, dass account_id geschützt ist, damit der user nicht einfach account_ids aufzählen und Daten sammeln kann. Wenn Ihr Data connector jedoch „GET /pizza-order-status/<order_id>“ ist, ist Ihnen die Vertrauenswürdigkeit von „order_id“ möglicherweise egal, und es ist Ihnen egal, ob diese Info der richtigen Person angezeigt wird.
Außerdem sollten Sie sicherstellen, dass das Attribut, das Ihr Data connector zur eindeutigen Identifizierung Ihrer users verwendet (z. B. E-Mail), vertrauenswürdig ist. Das bedeutet, dass Sie die Quelle der identifizierenden Attribute Ihres Data connectors vertrauen müssen. Wenn Ihr Data connector den user beispielsweise über user_id identifiziert, ist die Identitätsprüfung das Signieren des user_id-Attributs. Wenn Ihr Data connector den user über E-Mail oder ein anderes Attribut identifiziert, ist dieses Attribut geschützt und wird nicht ohne Verifizierung vom End User gesammelt.
Dies verhindert, dass böswillige Akteure beispielsweise eine fremde E-Mail-Adresse angeben und auf einen Data connector wie „Get bank statements by email“ zugreifen, was sensible Finanzdaten offenlegen würde.
Wo möglich, empfehlen wir, nicht die E-Mail als primären Identifikator zum Abrufen von Daten Ihrer users zu verwenden, sondern etwas Zufälligeres wie eine eindeutige, nicht erratbare user ID.
Für die Identitätsprüfung von leads arbeitet unser Team derzeit an einer One-Time-Password-(OTP)-Funktion, die Ihnen hilft, die Identität einer Person zu verifizieren, wenn sie als lead Ihren Support kontaktiert. Wenn Sie an dieser Funktion interessiert sind, wenden Sie sich gerne über den Messenger an unser Support-Team, das Ihnen bei der Aktivierung behilflich ist.
Sie sollten auch sicherstellen, dass der user keine Data connectors ausführen kann, zu denen er nicht berechtigt ist, z. B. eine Bestellung einer anderen Person durch Kenntnis der Bestell-ID zu stornieren. Diese Logik wird nicht von Intercom gehandhabt, und Sie/Ihr Sicherheitsteam sollten eine Risikoanalyse durchführen und geeignete Methoden zur Handhabung von Authentifizierung und Autorisierung entwickeln.
Wie Sie den API-Aufruf Ihres Data connectors sicher konfigurieren
Intercom unterstützt derzeit statische Tokens, HTTP-Tokens und OAuth (geschlossene Beta, kontaktieren Sie uns für weitere Informationen über den Messenger). Welchen Token Sie auch verwenden, es liegt in Ihrer Verantwortung, ihn geheim zu halten und bei einem Leak so schnell wie möglich zu aktualisieren. Als Best Practice empfehlen wir, OAuth-Tokens wann immer möglich zu verwenden.
Datenüberlegungen
Idealerweise sollte die API nur die Daten zurückgeben, die für Ihren Workflow erforderlich sind. Dies kann jedoch unrealistisch sein, und die API könnte eine Menge Daten zurückgeben, die für die Durchführung des Workflows, in dem der Data connector verwendet wird, tatsächlich nicht benötigt werden.
Wenn Sie APIs von Grund auf neu erstellen, die ausschließlich mit Data connectors und Fin Workflows verwendet werden sollen, können Sie entweder:
Die API so gestalten, dass die Geschäftslogik des Workflows in einem Data connector verarbeitet wird – das spart API-Aufrufe und bündelt die Logik an einem Ort,
Einzelne Endpunkte erstellen, z. B. zum Finden von Bestellungen, Abrufen von Bestelldetails und schließlich zur Rückerstattung der Bestellung – das entspricht den RESTful API Best Practices, erfordert aber mehrere API-Aufrufe, um einen Workflow (z. B. Bestellrückerstattung) abzuschließen.
Einige Überlegungen, die bei der Entscheidung, welche und wie viele Daten Ihre API zurückgibt, berücksichtigt werden sollten, sind:
Braucht Fin/Workflow wirklich alle bereitgestellten Daten, um die Schritte im Workflow abzuschließen? Wenn Sie beispielsweise einen Workflow zur Erstellung einer Bestellrückerstattung haben, benötigen Sie wahrscheinlich nur die Details zur Bestellung und keine zusätzlichen Daten zum Konto des jeweiligen users.
Data connectors haben eine Timeout-Zeit von 15 Sekunden. Wenn die API zu lange für die Antwort benötigt, ist es ratsam, die dahinterliegenden Operationen und möglicherweise die zurückgegebenen Datenmengen zu reduzieren.
Für Data connectors, die länger brauchen, empfehlen wir die Nutzung der „Wait for webhook“-Funktionalität.Data connectors können problemlos Attribute und Arrays verarbeiten, die 1 bis 2 Ebenen tief verschachtelt sind, aber komplexe Objekte mit tief verschachtelten Arrays eignen sich besser für die Verarbeitung mit Fin Procedures. Wenn Sie versuchen, solche Antwortobjekte mit einem Data connector zu verwenden, können Schwierigkeiten auftreten. Fin Tasks können diese jedoch besser handhaben.
Hinweis: Bei Verwendung von Fin Procedures haben Data connectors ein Timeout von 30 Sekunden (für bestimmte berechtigte Workspaces) statt der standardmäßigen 15 Sekunden. Diese Unterscheidung ist wichtig bei der Gestaltung von Workflows mit länger laufenden API-Aufrufen.
Außerdem sollten Sie immer verhindern, dass users fehlerhafte Daten eingeben oder einfach etwas eintippen.
Beispielsweise sollten Sie den user nicht bitten, seine Konto-ID einzugeben, sondern ihm basierend auf einem bekannten, sicheren Identifikator seine Konto-IDs anzeigen und ihn aus einer Dropdown-Liste auswählen lassen. Mehr dazu, wie Sie Daten von users erfassen können, finden Sie hier.
Weitere Überlegungen
Ihre API sollte anwendungsspezifische Limits durchsetzen, z. B. Rückerstattungen auf einen Höchstbetrag pro Tag begrenzen.
Stellen Sie sicher, dass Ihre API idempotent ist, da Fin dieselbe Rückerstattungsanfrage mehrfach senden kann.
Implementieren Sie serverseitige Validierungen, um sicherzustellen, dass alle Eingaben dem im Data connector angegebenen Format entsprechen.
Wenden Sie Eingabereinigung auf eingehende Daten an und erkennen Sie KI-generierte Felder, die halluzinierte oder bösartige Inhalte enthalten können.
Verwenden Sie standardisierte HTTP-Fehlercodes, damit Fin angemessen reagieren kann. Beispielsweise können HTTP-429- oder 500-Fehler einen erneuten Versuch rechtfertigen, während HTTP-410 anzeigt, dass keine weiteren Versuche unternommen werden sollten.
Versionieren Sie Ihre API, um eine nahtlose Migration von Live Fin Data connectors zwischen Versionen zu ermöglichen (z. B. /v1/orders zu /v2/orders).
Zusammenfassung
Sichern Sie den Messenger mit JWTs, um Benutzerdaten und Attribute zu schützen.
Verwenden Sie vertrauenswürdige Identifikatoren (z. B. signierte user IDs, nicht E-Mail), um Daten abzurufen.
Beschränken Sie Benutzeraktionen auf das, wozu sie berechtigt sind.
Vermeiden Sie freie Eingaben – verwenden Sie Dropdowns aus bekannten, sicheren Quellen.
Wählen Sie sichere API-Tokens, idealerweise OAuth (in geschlossener Beta).
Geben Sie nur benötigte Daten zurück, um Verzögerungen oder Datenlecks zu vermeiden.
Verwenden Sie eine klare API-Struktur – einfache Antworten, richtige Versionierung und standardisierte Fehlercodes.
Validieren Sie alle Eingaben und bereinigen Sie alles, was vom user oder KI generiert wurde.
