Nesse artigo vamos ver um exemplo prático de como o uso de expressões e variáveis podem ser úteis para o seu chatbot. Aqui, focaremos em um exemplo bem simples, mas que pode ser bastante útil para todos: Conseguir captar a localização do usuário pela conversa, podendo utilizar esses dados posteriormente.
Primeiro passo: Identificar o canal
A forma de captar a localização muda de acordo com o canal que você está utilizando na plataforma.
Canal Web
Para conseguir capturar a localização de um usuário via canal web, basta criar uma carta de ação ""Send Message"" com um ""Quick Reply"" com o prefixo ""[Loc]"", assim que o usuário apertar aquele botão, conseguimos captar a localização via navegador. Após isso, basta salvar o resultado na carta de decisão ""Wait for response"".

A mensagem recebida pelo canal web sempre começará com: ""Minha Localização é:"", seguido da latitude e longitude do usuário no formato ""[latitude, longitude]"". Para remover esses prefixos, basta utilizar a expressão @(replace)
e depois separar os valores de latitude e longitude em variáveis diferentes, utilizando a expressão @(split)
para separar utilizando a virgula ("","") que os separam como parâmetro.

Canal Telegram
Para enviar a localização via telegram, o usuário precisa clicar no botão 📎, selecionar ""Localização"" e depois ""Enviar minha localização atual"".
Com isso, basta criar uma carta de decisão ""Wait for response"" e salvar o valor. O telegram envia a localização no formato ""latitude, longitude"", não precisando fazer o processo de utilizar a @(replace)
para remover textos, só separar utilizando split
como no canal web.

Canal WhatApp
Para enviar a localização via WhatsApp, o usuário precisa clicar no botão 📎 ou no ➕, selecionar ""Localização"" e depois ""Localização fixa"".
Diferentemente dos outros canais, a localização via WhatsApp não vem como texto, mas sim como anexo, logo, precisamos acessá-la utilizando a variável: @input.attachments.0
Essa variável a localização no formato ""geo: latitude, longitude"", logo, precisamos utilizar a expressão @(replace
) para remover o ""geo:"" e depois utilizar @(split)
para separar a latitude e longitude como os outros canais.

Assim, conseguimos criar um fluxo com suporte para captar a localização do usuário em três canais diferentes, utilizando as expressões e variáveis disponíveis na plataforma.