Skip to main content

Pessoal,

Temos um CRM para incorporadoras e alguns clientes em Comum, precisamos capturar as conversas finalizadas no Chat (Bot e Humano) para adicionar em nossos Leads ou Atendimentos.

Poderiam me auxiliar?
Quais APIs devemos consumir?

Obrigado
Gabriel

Olá @Gabriel_Manzano

Dê uma olhadinha nesses tópicos, talvez eles possam te ajudar:

  1. Atendimento humano
  1. Atendimento pelo bot

Qualquer coisa, estou a disposição 😀


Legal!

Consigo uma API para retornar os Tickets de um E-mail?

Preciso disso para retornar as mensagens de um Lead em nosso CRM;


Não entendi muito bem sua pergunta. Você quer retornar todos os tickets (Id ou histórico de mensagens?) de um usuário (email)?


Sim!
Se eu conseguir os Tickets pelo e-mail, na outra API consigo pegar as mensagens de cada um dos tickets.

Entende?


@Gabriel_Manzano, entendi! 😀

Você pode fazer um filtro, utilizando o Id do usuário, conforme abaixo:

/tickets?$filter=(CustomerIdentity%20eq%20’{{Identity}}’)

Obs.: cuidado ao copiar a Uri, pois o caractere de aspas aqui do fórum é diferente e pode dar erro na requisição 😉


Se eu tiver somente o E-mail, consigo fazer essa busca?

Vi que temos identificadores para os clientes, temos algum documento que explique como esses identificadores são construídos?

Temos uma base histórica de clientes e o Blip já em produção, não tenho esses IDs comigo.


Não, apenas com o Id mesmo (que é diferente para cada canal). Você iria precisar de duas requisições:

  1. Você faz uma requisição para a API de Contacts, e pega o Id do usuário dado o seu e-mail.
    • Dá uma olhadinha aqui, para saber como fazer isso:
  1. Com o id do usuário, você faz a requisição para a API de Tickets.

Ou, se você preferir, pode pegar esse Id no Builder. No menu de contatos, faça o filtro pelo email, abra o contato. O Id fica na Url da página, após o “/users/”.

Ex.: https://portal.blip.ai/application/detail/demobot4/users/1ee01a04-03b2-43e7-8153-6ac29bc5b81a.demobot4@0mn.io


Estou usando o:

{
“id”: “{{$guid}}”,
“method”: “get”,
“uri”: “/tickets?$filter=(CustomerIdentity=‘[email protected]’)”
}

E estou tendo um problema:

{
“method”: “get”,
“status”: “failure”,
“reason”: {
“code”: 62,
“description”: “There’s no processor available for requested resource type”
},
“id”: “0096d5e1-9bd3-4492-aeaf-4317d22e336a”,
“from”: "[email protected]/#az-iris7",
“to”: "[email protected]",
“metadata”: {
#command.uri”: “lime://[email protected]/tickets?$filter=(CustomerIdentity=‘[email protected]’)”,
“uber-trace-id”: “c6907b9ae1e2882e%3Afd3ebadd24aa78bf%3Ac6907b9ae1e2882e%3A1”
}
}

Estou fazendo algo errado?


@Gabriel_Manzano você se esqueceu do

“to”: “[email protected].net”

E confira, por favor, mas acho que você deverá usar CustomerIdentity%20eq%20’{{Identity}}’ mesmo ao invés de substituir por “=”.


Cara, deu muito certo:
Resumindo:

Acho o cliente em:

{
“id”: “{{$guid}}”,
“method”: “get”,
“uri”: “/contacts?$skip=0&$take=20&$filter=(substringof(‘[email protected]’,email))”
}

Busco os tíckets em:

{
“id”: “{{$guid}}”,
“method”: “get”,
“to”: "[email protected]",
“uri”: “/tickets?$filter=(CustomerIdentity%20eq%20’[email protected]’)”
}

E busco as mensagens em:

{
“id”: “{{$guid}}”,
“method”: “get”,
“to”: "[email protected]",
“uri”: “/tickets/ac88912a-e47f-438f-a37e-016e94d2a55c/messages”
}

Obrigado!