Frage
Meine Messaging-Konversation sieht so aus:
- Eine Nachricht eines Endbenutzers wird in den Messaging-Kanal integriert.
- Ein Sunshine Conversations-Benutzer und eine Konversation werden erstellt oder das System findet einen vorhandenen Benutzer und eine Konversation.
- Sunshine Conversations übergibt Nachrichten an einen Bot bzw., wenn kein Bot aktiviert ist, direkt an Zendesk.
- Ein Bot übergibt die Nachricht an Zendesk.
- Zendesk empfängt einen eingehenden Webhook mit Benutzer- und Nachrichtendaten.
- Zendesk prüft Folgendes:
- Ein passendes Ergebnis
externalId
ist für den Benutzerabgleich vorhanden. - Wenn für die Konversation noch keine Sitzung vorhanden ist, wird eine Sitzung erstellt.
- Es gibt bereits ein Ticket ohne den Status „ Geschlossen “ mit den Sunshine Conversations
conversationId
unduserId
.- Wenn ein Ticket nicht den Status „ Geschlossen “ aufweist, werden neue Nachrichten in das vorhandene Ticket eingefädelt.
- Wenn kein offenes Ticket vorhanden ist, wird ein neues Ticket erstellt.
- Wenn kein passendes Ticket oder Benutzer vorhanden ist, werden ein neuer Zendesk-Benutzer und ein neues Ticket erstellt.
- Im Arbeitsbereich für Agenten wird die Chatsitzung in die Konversation übernommen.
- Ein passendes Ergebnis
Bei diesem Ablauf habe ich festgestellt, dass zwei Benutzer erstellt wurden. Worin unterscheiden sich diese beiden Benutzer?
Antwort
Der Unterschied zwischen einem Benutzer in Zendesk und einem Benutzer in Sunshine Conversations
In jedem Sunshine Conversations-Kanal oder wenn ein Benutzer mit Messaging interagiert, wird ihm im Backend ein Sunshine Conversations-Benutzer mit einer primären Kennung namens zugeordnet ID
. Dieser Wert wird in der Sunshine Conversations v2-API berücksichtigt.
In Zendesk ist das ID
unterscheidet sich von userId
. Bei Verwendung der Sunshine Conversations-API v1ist dieser Benutzerwert appUserId
. Zendesk weist die zu userId
bei der Benutzererstellung. Dieser Wert erscheint in der URL des Benutzerprofils und ist auch über die Benutzer-APIverfügbar.
Auswirkung der Endbenutzerauthentifizierung auf Benutzerobjekte
Bei Sunshine Conversations: wenn der Benutzer authentifiziert ist, an externalId
ist mit dem Benutzer in Sunshine Conversations verknüpft, zusätzlich zu seinem appUserId
.
Wenn der Benutzer nicht authentifiziert ist, kann Zendesk die Speicherung seiner Browsersitzung nutzen, um den Benutzer vorübergehend zu verfolgen. Verknüpfen Sie den wiederkehrenden Benutzer mit denselben Sunshine Conversations appUserId
solange der Benutzer im selben Browser eine Seite derselben Domäne besucht und seinen lokalen Speicher nicht löscht. Es gibt keine Möglichkeit, den Benutzer über verschiedene Browser hinweg zu verfolgen, wenn der Benutzer sich nicht authentifiziert.
Weitere Informationen zur Authentifizierung von Benutzern basierend auf der Konfiguration des Kunden finden Sie in den folgenden Beiträgen:
- Authentifizieren von Endbenutzern in Messaging
- Authentifizieren von Endbenutzern mit Sunshine Conversations (für Nicht-Messaging-Kunden)
Dasselbe gilt auch für Zendesk Support. nur der authentifizierte Benutzer hat eine external_id
der mit dem Zendesk-Benutzer verknüpft ist.
Externe Kennungen
Die externalId
ist eindeutig ID des Benutzers ein. Verwenden Sie einen Wert aus Ihrer vorhandenen Benutzerdatenbank, z. B. den Benutzernamen Ihrer Website oder eine vorhandene ID aus Ihrem Authentifizierungssystem. Die externalId
für Sunshine Conversations Benutzer wird bei der Erstellung des Benutzers oder mit der oben genannten Authentifizierungsmethode festgelegt. Bei Sunshine Conversations ist das: externalId
einen Benutzer mit derselben Konversation verknüpft auf mehreren Geräten verwalten.
Einzelne Clients können ebenfalls über eine verfügen externalId
Wert. Ein Client externalId
hat keinen Einfluss auf die externalId
des Sunshine Conversations-Benutzers hinterlassen.
In Zendesk Support ist die external_id eine eindeutige Kennung aus einem anderen System, das Zendesk Support den Integrationen von Drittanbietern zuordnet. Gefällt mir auch userId
, dieses Attribut ist in der API und verfügbar null
aktiviert ist. Legen Sie diesen Wert mit SSO fest oder aktualisieren Sie ihn mit der API.
Sobald ein Sunshine Conversations-Benutzer eine Nachricht an Zendesk sendet, wird die external_id
value für einen Zendesk-Benutzer verwendet wird, um eingehende Konversationen mit Messaging und den Sunshine Conversations zuzuordnen externalId
.
Ein Sunshine Conversations-Benutzer mit der Sunshine Conversations V2-API sieht wie folgt aus:
{
"user": {
"signedUpAt": "2021-04-07T18:50:14.148Z",
"hasPaymentInfo": false,
"identities": [],
"id": "c7d20a8aace3bcb1a61c5fb8",
"externalId": "NewExternalId",
"profile": {
"surname": "Lawrence",
"givenName": "Corwin",
"locale": "en-US"
},
"metadata": {}
}
}
V1-API sieht in etwa so aus:
{
"appUser": {
"surname": "Lawrence",
"givenName": "Corwin",
"signedUpAt": "2021-04-07T18:50:14.148Z",
"hasPaymentInfo": false,
"identities": [],
"_id": "c7d20a8aace3bcb1a61c5fb8",
"userId": "NewExternalId",
"conversationStarted": true,
"clients": {...
Ein verknüpfter Benutzer spiegelt Folgendes wider:
{
"users": [
{
"id": 15594370384155,
"url": "https://z3ncorwinlawrenceaw.zendesk.com/api/v2/users/15594370384155.json",
"name": "Web User NewExternalId",
"email": "corwin@corwin.com",
"created_at": "2023-05-19T14:17:30Z",
"updated_at": "2023-06-22T19:44:49Z",
"time_zone": "America/New_York",
"iana_time_zone": "America/New_York",
"phone": null,
"shared_phone_number": null,
"photo": null,
"locale_id": 1,
"locale": "en-US",
"organization_id": null,
"role": "end-user",
"verified": true,
"external_id": "NewExternalId",
"tags": []...
Wenn derselbe Sunshine Conversations-Benutzer eine neue Nachricht sendet, wird diese dem im dritten Anruf angegebenen Zendesk-Benutzer zugeordnet externalId
.
Weitere Informationen finden Sie in den folgenden Beiträgen:
- Überblick über konversationsorientierten Support mit Messaging
- Überblick über den Plattform-Zugriff und Support für Sunshine Conversations
Hinweis zur Übersetzung: Dieser Beitrag wurde mit automatischer Übersetzungssoftware übersetzt, um dem Leser ein grundlegendes Verständnis des Inhalts zu vermitteln. Trotz angemessener Bemühungen, eine akkurate Übersetzung bereitzustellen, kann Zendesk keine Garantie für die Genauigkeit übernehmen.
Sollten in Bezug auf die Genauigkeit der Informationen im übersetzten Beitrag Fragen auftreten, beziehen Sie sich bitte auf die englische Version des Beitrags, die als offizielle Version gilt.