[Resolvido] Filtrar mensagem utilizando SDK


#1

Bom dia, estou fazendo um BOT para atender nossos clientes, entretanto, num certo momento preciso fazer uma consulta no banco a partir do CPF dele, até então não sei qual a melhor forma de fazer isso mas o que pensei é pegar o que o cliente digitou(o que ainda não sei como fazer) e jogar em algum algoritmo de validação de CPF, caso seja válido, eu consulto.
O que é melhor a se fazer? Passar todos os meus receivers por um validador de CPF, caso seja CPF passo pela regra de fazer a consulta e etc ou existe uma forma de eu pegar a resposta após aquela pergunta que eu enviei, por exemplo, Digite seu CPF: ____________ e obrigatóriamente aceito esse meu receiver?

Obrigado !


#2

faz via API, dai vc pega o nome na response, por exemplo eu envio via GET o cpf do usuário e defino no http…?nome={{nome}}, no retorno da minha API eu pego o nome pelo response@nome, por exemplo


#3

Olá @Victor_Hugo_Goncalve, você está utilizando o Builder ou os SDKs do BLiP?

A partir dessa informação consigo te ajudar com as outras dúvidas.


#4

Olá @rafaelpa
Estou usando o SDK


[Resolvido] Filtrar os contents
#5

Legal @Victor_Hugo_Goncalve,

dado que você está utilizando o SDK, a forma de pegar as entradas do usuário é através dos receivers.
Os receivers são funções do seu código que serão chamadas caso alguma mensagem seja enviada para o seu bot.

Específicamente para o seu caso você tem 2 opções:

  1. Ter apenas um receiver para todas as mensagens e utilizar algo que identifique o estado da conversa do usuário, por exemplo uma máquina de estados (momento em que o usuário deve enviar o CPF), ou então utilizar o validador como você mesmo mencionou.

  2. Criar um receiver que receba apenas CPF, a partir de um filtro do receiver utilizando um regex de CPF:
    Veja esse exemplo no SDK Javascript:

    function cpfFilter(m) => {

     if(cpfValidate(m.content.toString())) 
       return true; 
    
     return false; 
    

    }

    client.addMessageReceiver(cpfFilter, (m) => {
    //apenas mensagens de texto validadas como CPF
    });

A partir do momento que você possuir todas as informações necessárias para ir no seu banco de dados, basta utilizar a forma que você achar mais conveniente, seja através de uma API (como mencionado pelo @Igor_Noriaqui_da_Cu1) ou através de alguma biblioteca de acesso a dados.

Veja estes links com exemplos de códigos feitos utilizando os SDKs C# e Javascript