Pergunta
Este é o fluxo da minha conversa por mensagem:
- Uma mensagem de um usuário final é integrada ao canal de mensagens.
- Um usuário e uma conversa do Sunshine Conversations são criados ou o sistema encontra um usuário existente e uma conversa.
- O Sunshine Conversations transmite uma mensagem para um bot ou, se nenhum bot estiver ativado, diretamente para o Zendesk.
- Um bot passa a mensagem para o Zendesk.
- O Zendesk recebe um webhook de entrada com os dados do usuário e da mensagem.
- O Zendesk verifica o seguinte:
- Uma correspondência
externalId
está presente para correspondência de usuário. - Uma sessão será criada se ainda não existir uma para a conversa.
- Já existe um ticket sem o status Fechado , com o status do Sunshine Conversations
conversationId
euserId
.- Se houver um ticket existente que não esteja no status Fechado , novas mensagens serão encadeadas no ticket existente.
- Se não houver um ticket aberto, um novo ticket será criado.
- Se não houver um ticket ou usuário correspondente, um novo usuário e ticket do Zendesk serão criados.
- No Espaço de trabalho do agente, a sessão de chat preenche a conversa.
- Uma correspondência
Durante esse fluxo, observei que dois usuários são criados. Qual é a diferença entre esses dois usuários?
Resposta
A diferença entre um usuário no Zendesk e um usuário no Sunshine Conversations
Em qualquer canal do Sunshine Conversations, ou quando um usuário interage com mensagens, um usuário do Sunshine Conversations é associado a ele no back-end, com um identificador primário chamado ID
. Esse valor é refletido na API do Sunshine Conversations v2.
No Zendesk, o ID
é diferente de userId
. Ao usar a API v1 do Sunshine Conversations, esse valor de usuário é appUserId
. O Zendesk atribui o userId
na criação do usuário. Esse valor aparece na URL do perfil do usuário e também está disponível com a API do usuário.
O impacto da autenticação do usuário final nos objetos do usuário
No Sunshine Conversations, se o usuário for autenticado, um externalId
está associado ao usuário no Sunshine Conversations, além de appUserId
.
Se o usuário não estiver autenticado, o Zendesk poderá monitorá-lo temporariamente usando o armazenamento da sessão do navegador. Associe o usuário recorrente ao mesmo Sunshine Conversations appUserId
desde que o usuário visite uma página do mesmo domínio no mesmo navegador e não apague seu armazenamento local. Não há como rastrear o usuário em vários navegadores se ele não autenticar.
Para obter mais informações sobre como autenticar usuários com base na configuração do cliente, consulte estes artigos:
- Autenticação de usuários finais em mensagens
- Autenticação de usuários finais com o Sunshine Conversations (para clientes que não usam o recurso de mensagens)
O mesmo se aplica ao Zendesk Support; apenas o usuário autenticado terá um external_id
valor vinculado ao usuário do Zendesk.
Identificadores externos
O externalId
é único identificador do usuário. Use um valor do seu banco de dados de usuários existente, como o nome de usuário do seu site ou uma ID existente do seu sistema de autenticação. O externalId
para um usuário do Sunshine Conversations é definido na criação do usuário ou com o método de autenticação mencionado acima. Para o Sunshine Conversations, o externalId
vincula um usuário à mesma conversa em vários dispositivos.
Os clientes individuais também podem ter uma externalId
. Um cliente externalId
não afeta nem substitui os externalId
do usuário do Sunshine Conversations.
No Support, a external_id é um identificador exclusivo de outro sistema, que mapeia o Support para integrações de terceiros. Curtir o userId
, esse atributo está disponível na API e null
por padrão. Defina esse valor com SSO ou atualize- o com a API.
Quando um usuário do Sunshine Conversations envia uma mensagem para o Zendesk, o external_id
O valor em um usuário do Zendesk é usado para mapear as conversas recebidas com mensagens e o Sunshine Conversations externalId
.
Um usuário do Sunshine Conversations com a API do Sunshine Conversations V2 terá a seguinte aparência:
{
"user": {
"signedUpAt": "2021-04-07T18:50:14.148Z",
"hasPaymentInfo": false,
"identities": [],
"id": "c7d20a8aace3bcb1a61c5fb8",
"externalId": "NewExternalId",
"profile": {
"surname": "Lawrence",
"givenName": "Corwin",
"locale": "en-US"
},
"metadata": {}
}
}
A API V1 reflete algo semelhante a isso:
{
"appUser": {
"surname": "Lawrence",
"givenName": "Corwin",
"signedUpAt": "2021-04-07T18:50:14.148Z",
"hasPaymentInfo": false,
"identities": [],
"_id": "c7d20a8aace3bcb1a61c5fb8",
"userId": "NewExternalId",
"conversationStarted": true,
"clients": {...
E um usuário vinculado reflete o seguinte:
{
"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": []...
Se esse mesmo usuário do Sunshine Conversations enviar uma nova mensagem, essa mensagem será mapeada para o usuário do Zendesk mostrado na terceira chamada, com base na correspondência externalId
.
Para obter mais informações, consulte esses artigos:
- Sobre o suporte conversacional com mensagens
- Sobre o acesso e suporte da plataforma Sunshine Conversations
Aviso sobre a tradução: este artigo foi traduzido por um software de tradução automática para oferecer a você uma compreensão básica do conteúdo. Medidas razoáveis foram tomadas para fornecer uma tradução precisa, no entanto, a Zendesk não garante a precisão da tradução.
Em caso de dúvidas relacionadas à precisão das informações contidas no artigo traduzido, consulte a versão oficial do artigo em inglês.