[Resolvido] Integração CRM CV e BLIP - Recuperando mensagens através de API

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

1 Curtida

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 :smile:

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?

1 Curtida

@Gabriel_Manzano, entendi! :smile:

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 :wink:

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

1 Curtida

Estou usando o:

{
“id”: “{{$guid}}”,
“method”: “get”,
“uri”: “/tickets?$filter=(CustomerIdentity=‘553186840407@wa.gw.msging.net’)”
}

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”: "postmaster@msging.net/#az-iris7",
“to”: "preconengenharia2@msging.net",
“metadata”: {
#command.uri”: “lime://preconengenharia2@msging.net/tickets?$filter=(CustomerIdentity=‘553186840407@wa.gw.msging.net’)”,
“uber-trace-id”: “c6907b9ae1e2882e%3Afd3ebadd24aa78bf%3Ac6907b9ae1e2882e%3A1”
}
}

Estou fazendo algo errado?

@Gabriel_Manzano você se esqueceu do

“to”: “postmaster@desk.msging.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(‘barbara@teste.com.br’,email))”
}

Busco os tíckets em:

{
“id”: “{{$guid}}”,
“method”: “get”,
“to”: "postmaster@desk.msging.net",
“uri”: “/tickets?$filter=(CustomerIdentity%20eq%20’553186840407@wa.gw.msging.net’)”
}

E busco as mensagens em:

{
“id”: “{{$guid}}”,
“method”: “get”,
“to”: "postmaster@desk.msging.net",
“uri”: “/tickets/ac88912a-e47f-438f-a37e-016e94d2a55c/messages”
}

Obrigado!

1 Curtida