Integrações Nativas da Plataforma
Localização - lat,long do usuário
Para pegar a localização de um usuário, podemos fazer de duas formas: pelo CEP ou por coordenadas geográficas.
A função getAddress() é responsável por extrair informações sobre o endereço do usuário, através das coordenadas geográficas dele. Inicialmente a localização por coordenadas é extraída no formato (-23.49418148290683 | -46.5084906596817). Dividimos essa localização e armazenamos em duas variáveis, uma que contém a latitude (lat) e outra que contém a longitude (long):
Como visto nas imagens acima, as variáveis de latitude e longitude são utilizadas como parâmetros da função getAddress. Como retorno, vem um objeto que contém as informações de endereço, que armazenamos em variáveis de ambiente:
Há alguns casos em que o objeto de retorno pode não vir com todas as informações preenchidas, referente ao endereço. Para esse caso existem tratativas já conhecidas e utilizadas, mas também há espaços para soluções dos outros desenvolvedores.
1 - Inverter lat e long:
Uma primeira tratativa, consiste em trocar as posições do lat e long na função de getAddress, solução que pode funcionar em alguns casos:
2 - Verificar se a cidade e o estado foram captados:
Há casos em que as únicas informações que não vem da função são o logradouro e o bairro. Assim, uma solução seria redirecionar o usuário para um bloco de pergunta e input que pergunta a rua e o bairro do usuário:
3 - Redirecionar para a busca por CEP:
Em último caso, quando nenhuma informação foi extraída, direcionamos o usuário de volta ao bloco pai de localização e pedimos ao usuário que tente a localização via CEP.
Localização via CEP
Para a busca de localização via CEP, utilizamos a função isValidCEP()
Semelhantemente à busca por envio de coordenadas geográficas, a função recebe como parâmetro o CEP (em um formato apenas com números) e retorna um objeto que contém as informações de endereço.
Primeiramente armazenamos o objeto de resposta da função em uma variável, verificamos se houve uma resposta válida por parte da função, ou seja, se a requisição funcionou corretamente, e depois verificamos se a informação de logradouro, que comumente é o campo que não vem preenchido nos casos de endereços que vêm incompletos, veio preenchida, para, então, armazenarmos os dados do objeto em variáveis de ambiente:
Assim como, na busca de localização por coordenadas, o objeto de retorno pode vir com alguns campos vazios, sendo o mais comum o campo de logradouro. Para isso temos uma tratativa para direcionar o usuário a um bloco de pergunta e input que pergunta a rua e o bairro do usuário:
Validador de CPF
Para realizar a validação de um CPF, utilizamos a função isValidCPF(). É uma função que recebe uma string com o CPF (apenas com os números) e retorna o cpf caso seja válido. Caso contrário a função retorna um espaço vazio (“”).
No exemplo acima, a saída esperada é “cpf inválido”.
Validador de CNPJ
Para validar um CNPJ, utilizamos a função isValidCNPJ que recebe como parâmetro uma string com o CNPJ formatado (apenas com os números) e retorna vazio (“”) caso não seja válido, e retorna o próprio CNPJ passado como parâmetro, caso contrário.
Na imagem acima a saída esperada é “cnpj ok” e o cnpj passado como parâmetro.
Serviço de OCR
Para realizar uma requisição de OCR, utilizamos a função “Função OCR(url)”
Essa função recebe como parâmetro uma url que é proveniente do arquivo de um boleto.
Como resposta dessa requisição, a função retorna um arranjo, contendo todas as informações que foram possíveis captar pelo OCR.
Para extrair a variável que será lida por um OCR, utilizamos um bloco avançado e selecionamos uma variável qualquer-input
Em seguida, seguimos com o procedimento de armazenar as entradas em variáveis, validar o formato da entrada e realizar as manipulações desejadas e seguir no fluxo.
Ex. de aplicação:
No exemplo acima, a vars.ec_pega armazena a url do arquivo de entrada e é utilizada para dividir os casos entre o caminho feliz, caso o arquivo seja o que estávamos esperando, e caminho triste, quando a entrada é inesperada. A variável vars.ec_foto armazena a entrada em definitivo e é passada como parâmetro na função. A resposta da função é armazenada na vars.ec_data e o fluxo segue em diante.
Envio de SMS
Para realizar o envio de SMS, utilizamos a função sendSMSCode que recebe como parâmetros, o número de celular para o qual será enviado o sms, e a mensagem que deseja enviar por sms.
Ex: