Die Kontoverknüpfung unterscheidet sich von anderen Webansicht-Funktionen, die auf der Messenger-Plattform verfügbar sind. Sie kann nur über Anmelde-Buttons gestartet werden und nicht vom beständigen Menü des Bots, von URL-Buttons, von einem bereits geöffneten Webansichtablauf oder einer Chat-Plugin aus.
Entwickler*innen, die diese Features nutzen, können nun die Nutzer*innen-ID sicher über die getContext()
-Funktion in den Messenger-Erweiterungen abrufen. Bots können damit das Konto des*der Nutzer*in verknüpfen oder die Erfahrung personalisieren.
Die Kontoverknüpfung wird aktuell nur in der Messenger-App in iOS und Android unterstützt.
Wenn Nutzer*innen eine Unterhaltung mit deinem Unternehmen beginnen, möchtest du sie eventuell als Kund*innen identifizieren, die bereits über ein Konto bei deinem Unternehmen verfügen. Zu diesem Zweck haben wir ein gesichertes Protokoll erstellt, mit dem du die Identitäten der Messenger-Nutzer*innen mit denen der Unternehmensnutzer*innen verknüpfen bzw. diese Verknüpfung aufheben kannst.
Über die Kontoverknüpfung kannst du Nutzer*innen einladen, sich mit deinem Authentifizierungsvorgang anzumelden. Daraufhin wird eine seitenspezifische Messenger-ID vergeben. Daraufhin kannst du deinen Nutzer*innen ein sichereres, persönlicheres und relevanteres Erlebnis bieten.
Der Kontoverknüpfungsvorgang umfasst einige einfache Schritte.
redirect_uri
und account_linking_token
werden an den registrierten Rückruf angehängt.redirect_uri
angegebenen Ort um und hänge einen (von dir definierten) authorization_code
-Parameter an, um die Verknüpfung zu bestätigen.Das Aufheben der Kontoverknüpfung kann wie folgt gestartet werden:
Die Kontoverknüpfungs-URL wird von der Messenger-Plattform aufgerufen, wenn Nutzer*innen die Kontoverknüpfung auslösen. Die Parameter redirect_uri
und account_linking_token
werden an den URL-Rückruf angehängt.
<yourAccountLinkingUrl> ?account_linking_token=ACCOUNT_LINKING_TOKEN &redirect_uri=CALLBACK_URL
Bei erfolgreicher Kontoverknüpfung musst du den Vorgang abschließen, indem du den Browser an die im redirect_uri
-Parameter angegebene URL weiterleitest und einen eigens definierten authorization_code
-Parameter anhängst. Dabei ist zu beachten, dass die URL bereits Parameter enthalten kann, weshalb du den Autorisierungscode folgendermaßen anhängen solltest:
<redirect_uri> &authorization_code=AUTHORIZATION_CODE
Wenn die Kontoverknüpfung nicht erfolgreich ist, leite den Browser zu der redirect_uri
weiter, die dir als Parameter übergeben wurde, aber hänge authorization_code
nicht an.
Parametername | Beschreibung |
---|---|
| Umleitungs-URI, die von Messenger hinzugefügt wird. Du musst den Browser am Ende des Authentifizierungsvorgangs zu diesem Ort umleiten. Sie kann eventuell URL-codierte Parameter enthalten. |
| Kurzlebiges, von Messenger übergebenes Token, das du im Rahmen des Umleitungsschemas zurücksenden musst. Dieses Token ist nur 5 Minuten lang gültig, wird verschlüsselt und ist für alle Nutzer*innen eindeutig. |
| Von dir bereitgestellter Code zur Bestätigung einer erfolgreichen Verknüpfung. Die Messenger-Plattform sendet diesen Code zusammen mit der seitenspezifischen ID des*der Nutzer*in an das Kontoverknüpfungs-Webhook-Event zurück. Wenn du diesen Parameter nicht übergibst, wird der Verknüpfungsprozess abgebrochen. |
Bei einem erfolgreichen Verknüpfungsvorgang wird das Kontoverknüpfungs-Event ausgelöst, um die seitenspezifische ID des*der Nutzer*in auszuliefern.
Du musst dich für den Rückruf zum Kontoverknüpfungs-Event registrieren. Wenn du dieses Webhook-Event nicht bestätigst, wird der Verknüpfungsprozess abgebrochen.
In manchen Fällen musst du die seitenspezifische ID des*der Nutzer*in während des Verknüpfungsvorgangs abrufen. Zu deiner Unterstützung stellen wir einen Endpunkt zum Abrufen der seitenspezifischen ID bereit, über den du die seitenspezifische ID des*der Nutzer*in mit einem gültigen und nicht abgelaufenen account_linking_token
abrufen kannst.
curl -X GET "https://graph.facebook.com/v2.6/me?access_token=PAGE_ACCESS_TOKEN \ &fields=recipient \ &account_linking_token=ACCOUNT_LINKING_TOKEN"
{ "id": "PAGE_ID", "recipient": "PSID" }
In manchen Fällen musst du die Verknüpfung der seitenspezifischen ID des*der Nutzer*in programmgesteuert in deinem Backend aufheben. Zu deiner Unterstützung stellen wir einen Endpunkt zum Aufheben der Verknüpfung der seitenspezifischen ID bereit, über den du die Kontoverknüpfung des*der Nutzer*in mit einer seitenspezifischen ID aufheben kannst.
curl -X POST -H "Content-Type: application/json" -d '{ "psid":"PSID" }' "https://graph.facebook.com/v2.6/me/unlink_accounts?access_token=PAGE_ACCESS_TOKEN"
{ "result": "unlink account success" }
Verwende die Kontoverknüpfung, wenn du mit einem System für Nutzer*innenkonten arbeitest, das über Messenger hinausgeht.
Lasse Personen ein Konto in Messenger erstellen, das auch an anderen Stellen verfügbar ist.
Verlange eine Anmeldung, wenn dies für den Kontext relevant ist – also wenn deine Bot-Nutzer*innen darin auch einen Vorteil erkennen können.
Überlege dir, wie dein Bot sich verhalten soll, wenn Nutzer*innen die Anmeldung ablehnen.
Achte auf eine klare Bestätigung und eine freundliche Begrüßung nach der Anmeldung.
Verwende die Kontoverknüpfung nicht, wenn Nutzer*innen nur über Messenger mit dir interagieren. Du kannst Kontodaten über die Thread-ID speichern.
Verlange die Kontoverknüpfung nicht von Anfang an, wenn es sich vermeiden lässt. Lasse die Nutzer*innen deinen Bot erst ausprobieren.