Utilizando expressões para captar a localização do usuário
Atualizado
por Sarah Pinheiro
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, ao 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 prefixo, 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 Whatsapp
Para enviar a localização via whatsapp, o usuário precisa clicar no botão 📎 ou no ➕, selecionarr "Localização" e depois "Localização fixa".
Diferente dos outros canais, a localização via whatsapp não vem como texto, mas sim como anexo, logo, precisamos acessa-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.