Ajuda com lista de Contatos

Gostaria de saber, de que modo poderia juntar contatos, por exemplo:

Um certo dia o contato entra comigo, e em ordem das as seguintes informações:

CPF -> NOME -> NUMERO;

Okay, agora uma semana depois ele entra em contato e apenas inserindo o CPF, ja puxa os outros dados do contato.

Como poderia fazer isso?

Olá @VictorArajooj como vai? Bem-vindo à nossa comunidade! :partying_face: :partying_face:

Em qual canal você está usando o seu chatbot? Quando você recebe as informações de CPF, Nome e número você salva esses dados nas informações do contato?

Se sim, você chamar esses valores acessando o contato, por exemplo {{contact.name}} retorna o nome. O mesmo pode ser aplicado para os outros valores, desde que eles tenham sido preenchidos.

Vou deixar aqui um artigo caso você não saiba como salvar esses dados no contato:

1 Curtida

Tudo bem perfeito, mas assim…

No caso estou usando apenas no Chat para Sites, mas futuramente assim que for aprovado, para WhatsApp também.

Sim eu salvo nas informações de contato, a pergunta e sé em outro dia que ele conectar, em outra maquina por exemplo, como faz pro sistema identificar o usuário apenas pelo CPF e já puxar as outras informações.

Agora entendi, @VictorArajooj :sweat_smile:

No WhatsApp e em outros canais, como o Messenger, o usuário será sempre o mesmo, então uma vez que esses dados forem salvos pra um contato, toda vez que ele entrar em contato novamente, eles estarão lá.

No caso do BLiP Chat é um pouco diferente, pois não existe nada (como um número de telefone do WhatsApp, por exemplo) que identifique ele como sendo um usuário. O que você pode fazer é utilizar uma forma de autenticação, garantindo que um contato sempre acesse a informações dele.

O BLiP Chat por padrão armazena as informações em cache/cookies do usuário por alguns dias, mas se ele entrar em outra máquina, navegador ou limpar o cache, será tratado como um novo usuário.

1 Curtida

Muito Obrigado Bruno, erá isso mesmo, não tinha sido claro.

Mas tive uma ideia, veja comigo se e possivel, usar a rota da api /contacts por exemplo:

/contacts?$skip=0&$take=1&$filter=(substringof('{{cpf}}',CPF))

E Com a resposta JSON, pegar os dados que já tinha sido preenchido outra vez com base no CPF claro.

Será que funcionaria?

Opa! Funcionar funciona sim. Se você não tem problemas com os contatos ficando descentralizados, então vai dar direitinho.

A única observação é que essa requisição pode demorar um pouquinho para ser consumida, então já avisar pro usuário pode ser uma boa atitude :stuck_out_tongue_winking_eye:

1 Curtida

É testei aqui, a requisição demora muito… Vocês usam mongodb?

E porque ficaria descentralizados? não entendi.

Descentralizado no sentido de você ter vários contatos que na verdade são a mesma pessoa. Na hora de buscar as informações vai sempre ter que ficar procurando em mais de um contato, entendeu?

Dependendo da regra do seu negócio, pode não ser muito vantajoso.

Edit: Estava pensando aqui e talvez você possa usar o método de linkar um contato em outro. Talvez já ajude no processo

https://docs.blip.ai/#link-contacts

1 Curtida

Entendi a parte de descentralizar…

Agora esse de linkar parece interessante, mas usaria isso fora do ambiente builder, porque assim,
eu quero que exista um user só para o CPF entende?

Então eu posso fazer uma aplicação que link todos os user com o mesmo CPF? mas os outros campos do usuário seria sobrescrevidos? ou concatenados?

Porque assim não quero que aconteça isso aqui:

Quando buscar um user… retornar vários que colocou o mesmo CPF entende?

Porque se eu quiser ver todos os tickets desse usuário teria que abrir os 4 contatos, mesmo os 4 sendo o mesmo cliente.

Isso, @VictorArajooj

Se você fizer desta forma:

Vai acontecer esse cenário que você não quer. Para contornar isso, apenas utilizando a autenticação, como te falei.

1 Curtida

Sim sim perfeito, muito obrigado.

Vou verificar qualquer coisa retorno aqui, Vlw de mais meu amigo!! :smiling_face_with_three_hearts:

1 Curtida

Este tópico foi fechado automaticamente 7 dias depois da úlima resposta. Novas respostas não são mais permitidas.