Pegar valores com o Blip-chat-extensions

Pegar valores com o Blip-chat-extensions

Mostre a primeira mensagem

66 comentários

Reputação 5

faz sim, mas como seria feito isso? Poderia me dar um passo a passo para resolver?

Reputação 7
Crachá +1

Show! Está aqui o tutorial:



Basta seguir este exemplo, passando os dados do seu usuário logado no parâmetro .withAccount

Reputação 5

Legal, vou dar uma olhada! @GabrielPetrone deixa eu tirar uma outra dúvida, eu consigo identificar o numero do usuário de whatsapp pelo blip? Se sim como eu posso fazer isso?

Reputação 7
Crachá +1

Rapaz, essa sua dúvida até me preocupa… só pra eu saber, não tem relação com essa solução que você busca não né? Por exemplo, seu contato vai estar no Blip Chat, certo? O WhatsApp é para outra coisa.


Mas respondendo sua pergunta, se o contato enviar uma mensagem pro seu bot conectado no WhatsApp, você consegue identificar o número através da variável contact.identity.

Reputação 5

Então o meu usuário irá enviar a mensagem para o bot conectado ao whatsapp e queria pegar esse numero dele!! então com o contact.identity eu consigo pegar esse numero!

Reputação 7
Crachá +1

Uhum, seus contatos que conversarem via WhatsApp você pode usar essa var. Ela vai retornar o número de telefone (com ddd+ddi), seguido pelo FQDN do canal, exemplo:



[email protected]



Só uma atenção que pra solução que falamos anteriormente de construir o Blip Chat com usuário autenticado, isso funciona só no Blip Chat tá? Pro WhatsApp precisaria de usar outra solução.

Reputação 5

Perfeito!! A Ideia é somente para o whatsapp, estamos vendo uma outra solução aqui!!

Reputação 7
Crachá +1

Hmm, mas então a solução que o @Rafael_Figueiredo citou resolve seu problema:



Me fala uma coisa, no cadastro do seu usuário na sua plataforma, tem o telefone da pessoa cadastrada? Caso tenha, você só precisa usar o telefone do seu usuário ali na variável {{contact_identity}}, passando também o FQDN:



Tá fácil, nós que estamos complicando, rs.

Reputação 5

Bom dia @GabrielPetrone eu acredito que tenha!! Mas o pessoal da Segurança está pensando em uma nova abordagem! Qualquer coisa eu aviso aqui ou crio um outro topico para tirar dúvidas!! Porém essa solução que o Rafael citou acima eu não consegui entender muito bem como eu aplicaria!!

Reputação 7
Crachá +1

Boa @Wellington_de_Brito .


Todo contato que conversa com o Blip possui um contexto, que são as variáveis e informações relacionadas a este contato. O que o @Rafael_Figueiredo sugeriu (fique à vontade pra me complementar Rafa), é que você utilize o endpoint de Atualizar um Contato para controlar se ele está ou não autenticado.


Simplesmente seria: Após o seu cliente fazer login no seu portal, você envia um Update nos dados do contato dele no Blip para indicar que ele foi autenticado. Um uso prático seria usar esse endpoint:


POST https://http.msging.net/commands HTTP/1.1
Content-Type: application/json
Authorization: Key {YOUR_TOKEN}

{
"id": "{{$guid}}",
"method": "merge",
"uri": "/contacts",
"type": "application/vnd.lime.contact+json",
"resource": {
"identity": "{{$user_identity}}",
"extras": {
"auth":"true"
}
}
}


Substituindo apenas a chave identity pela identidade do usuário (conforme falamos mais acima - relembrando: número de WPP + FQDN).

Daí o próximo passo é no seu fluxo do chatbot, você olhar pra condição de saída:



Se VARIÁVEL: contact.extras.auth => For IGUAL À: true

Direcionar o cliente para o seu fluxo para usuários autenticados.



Ao final, lembre-se de alterar a var para false através da ação de Definir Contato, ou caso ele faço logout na plataforma, chame a mesma API para alterar a info pra false, por exemplo.


Simples assim meu querido.


Um ótimo fds para você.

Reputação 5

Bom dia @GabrielPetrone vou tentar implementar essa forma aqui no bot! Qualquer dúvida eu te informo!!

Reputação 5

@GabrielPetrone me tira uma dúvida aqui sobre a autenticação, eu vou criar uma webview que vai ter um formulário para o usuário digitar um PIN, eu consigo trazer esse Pin digitado no webview pelo usuário para dentro do bot?

Reputação 7
Crachá +1

Sim, você pode usar o Update Contact e adicionar o PIN digitado dentro do contato e recuperar no chatbot referenciando este PIN. É o mesmo caso da autenticação que eu te expliquei acima, porém com uma key “PIN” além de “auth”:


POST https://http.msging.net/commands HTTP/1.1
Content-Type: application/json
Authorization: Key {YOUR_TOKEN}

{
"id": "{{$guid}}",
"method": "merge",
"uri": "/contacts",
"type": "application/vnd.lime.contact+json",
"resource": {
"identity": "{{$user_identity}}",
"extras": {
"auth":"true",
"PIN":"1234"
}
}
}
Reputação 5

Ok! Uma outra dúvida o bot consegue identificar quando o usuário fecha o weblink e consigo fazer isso que o bot identifique essa ação e prossiga em um outro fluxo?

Reputação 7
Crachá +1

Opa @Wellington_de_Brito , me desculpe a ausência.


Estou em dúvidas… vamos lá:



Isso foi uma pergunta? Caso tenha sido a resposta é não de forma nativa. Você precisaria implementar algo na sua página para conseguir fazer esse rastreio.


E sim, implementando essa verificação em sua página, você pode enviar um update pro contato (conforme a requisição da minha resposta anterior) informando uma chave extras por exemplo:


"extras": {
"webClosed": "true"
}

E aí basta implementar no seu fluxo uma verificação nas condições de saída dos blocos, baseado nessa variável criada no contato: contact.extras.webClosed.


Espero ter ajudado.

Abraços.

Reputação 5

@GabrielPetrone isso, eu quero fazer de uma forma que o bot identifique quando o weblink é fechado no whatsapp. Como faria isso? é que não foi eu que fiz o weblink já me enviaram pronto, então eu iria pedir pra pessoa que fez colocar essa funcionalidade!

Comente