Question
Voici le workflow de ma conversation de messagerie :
- Un message d’un utilisateur final est intégré au canal de messagerie.
- Un utilisateur Sunshine Conversations et une conversation sont créés, ou le système trouve un utilisateur existant et une conversation.
- Sunshine Conversations transmet un message à un bot ou, si aucun bot n’est activé, directement à Zendesk.
- Un bot transmet le message à Zendesk.
- Zendesk reçoit un webhook entrant avec des données d’utilisateur et de message.
- Zendesk vérifie ce qui suit :
- Une correspondance
externalId
est présent pour la mise en correspondance des utilisateurs. - Une session est créée si elle n’existe pas encore pour la conversation.
- Un ticket existe déjà sans le statut Clos avec l’expression Sunshine Conversations
conversationId
etuserId
.- Si un ticket existant n’a pas le statut Clos , de nouveaux messages sont intégrés au ticket existant.
- S’il n’y a pas de ticket ouvert, un nouveau ticket est créé.
- S’il n’y a pas de ticket ou d’utilisateur correspondant, un nouvel utilisateur Zendesk et un nouveau ticket sont créés.
- Dans l’espace de travail d’agent, la session de chat remplit la conversation.
- Une correspondance
Pendant ce workflow, j’ai remarqué que deux utilisateurs sont créés. Quelle est la différence entre ces deux utilisateurs ?
Réponse
Différence entre un utilisateur dans Zendesk et un utilisateur dans Sunshine Conversations
Dans n’importe quel canal Sunshine Conversations ou quand un utilisateur interagit avec la messagerie, un utilisateur Sunshine Conversations lui est associé en arrière-plan, avec un identifiant principal ID
. Cette valeur est reflétée dans l’ API Sunshine Conversations v2.
Dans Zendesk, le mot-clé ID
varie de userId
. Quand vous utilisez l' API Sunshine Conversations v1, cette valeur d'utilisateur est appUserId
. Zendesk affecte les userId
à la création de l’utilisateur. Cette valeur s’affiche dans l’URL du profil utilisateur et est également disponible avec l’ API utilisateur.
L’impact de l’authentification des utilisateurs finaux sur les objets utilisateur
Pour Sunshine Conversations, si l’utilisateur est authentifié, un externalId
est associé à l’utilisateur dans Sunshine Conversations, en plus de appUserId
.
Si l’utilisateur n’est pas authentifié, Zendesk peut temporairement le suivre en utilisant le stockage de sa session de navigateur. Associer l’utilisateur existant aux mêmes Sunshine Conversations appUserId
tant que l’utilisateur consulte une page du même domaine dans le même navigateur et ne supprime pas son emplacement de stockage local. Il est impossible de suivre l'utilisateur dans plusieurs navigateurs s'il ne s'authentifie pas.
Pour en savoir plus sur l’authentification des utilisateurs en fonction de la configuration du client, consultez ces articles :
- Authentification des utilisateurs finaux dans la messagerie
- Authentification des utilisateurs finaux avec Sunshine Conversations (pour les clients autres que la messagerie)
Il en va de même pour Zendesk Support. seul l’utilisateur authentifié dispose d’une external_id
value liée à son utilisateur Zendesk.
Identifiants externes
La externalId
est unique L’identifiant de l’utilisateur. Utilisez une valeur de votre base de données d’utilisateurs existante, comme le nom d’utilisateur de votre site Web ou un ID existant de votre système d’authentification. La externalId
pour un utilisateur de Sunshine Conversations est configuré au moment de la création de l’utilisateur ou avec la méthode d’authentification mentionnée ci-dessus. Pour Sunshine Conversations, externalId
lie un utilisateur à la même conversation sur plusieurs appareils.
Les clients individuels peuvent aussi avoir un externalId
value. Un client externalId
n’a pas d’impact ni de remplace externalId
de l’utilisateur Sunshine Conversations.
Dans Support, external_id est un identifiant unique provenant d’un autre système, qui mappe Support avec des intégrations tierces. Comme le userId
, cet attribut est disponible dans l’API, et null
par défaut. Définissez cette valeur avec la connexion unique ou mettez-la à jour avec l'API.
Une fois qu’un utilisateur de Sunshine Conversations envoie un message à Zendesk, external_id
sur un utilisateur Zendesk sert à mapper les conversations entrantes avec messagerie et Sunshine Conversations externalId
.
Un utilisateur Sunshine Conversations avec l'API Sunshine Conversations V2 ressemblera à ce qui suit :
{
"user": {
"signedUpAt": "2021-04-07T18:50:14.148Z",
"hasPaymentInfo": false,
"identities": [],
"id": "c7d20a8aace3bcb1a61c5fb8",
"externalId": "NewExternalId",
"profile": {
"surname": "Lawrence",
"givenName": "Corwin",
"locale": "en-US"
},
"metadata": {}
}
}
L’API V1 reflète quelque chose de semblable :
{
"appUser": {
"surname": "Lawrence",
"givenName": "Corwin",
"signedUpAt": "2021-04-07T18:50:14.148Z",
"hasPaymentInfo": false,
"identities": [],
"_id": "c7d20a8aace3bcb1a61c5fb8",
"userId": "NewExternalId",
"conversationStarted": true,
"clients": {...
Et un utilisateur lié reflète ce qui suit :
{
"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": []...
Si le même utilisateur Sunshine Conversations envoie un nouveau message, ce message est mappé avec l’utilisateur Zendesk affiché dans le troisième appel, en fonction de la correspondance externalId
.
Pour en savoir plus, consultez ces articles :
- à propos de l’assistance conversationnelle par messagerie
- À propos de l’accès et de l’assistance e pour la plateforme Sunshine Conversations
Traduction - exonération : cet article a été traduit par un logiciel de traduction automatisée pour permettre une compréhension élémentaire de son contenu. Des efforts raisonnables ont été faits pour fournir une traduction correcte, mais Zendesk ne garantit pas l’exactitude de la traduction.
Si vous avez des questions quant à l’exactitude des informations contenues dans l’article traduit, consultez la version anglaise de l’article, qui représente la version officielle.