Skip to main content

Usar funções

Como já foi explicado previamente, funções são um conjunto de instruções que executam uma tarefa ou calculam um valor.

O Builder possui funções pré-definidas para facilitar a interação do usuário.

Aqui veremos estas funções:

Funções de Validação

As funções ilustradas abaixo, possuem a função de validação, as funções verificam suas regras, e caso existam retornam TRUE, caso não retornam FALSE.

Por exemplo, se você usar a função "IsValidCPF" e o CPF que o usuário inserir não for válido, o bloco retornara false. Já se o CPF for válido, retornará true.

As demais funções presentes na imagem seguem o mesmo raciocínio.

funções

JSON Stringify

Esta função recebe um objeto JSON e o transforma em STRING, sendo retornado uma string após o bloco ser ativado.

funções

JSON Parse

Esta função transforma um JSON texto em objeto, retornando um objeto JSON após o bloco ser ativado.

funções

Get Phone

Esta função pega o número de celular do usuário, caso ele esteja no mensageiro WhatsApp. Se ele estiver em algum outro Mensageiro, como o Falazap, apenas retornará false.

funções

TFA

Esta função realiza o Two Factor Auth, um método de autenticação visando segurança, sendo retornado um objeto TFA, com o código enviado e telefone.

funções

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):

Integração Nativa

Integração Nativa

Como visto nas imagens acima, as variáveis de latitude e longitude são utilizadas como parâmetros da função "getAddress()". Como retorno, temos um objeto que contém as informações de endereço, que armazenamos em variáveis de ambiente:

Integração Nativa

Integração Nativa

Há alguns casos em que o objeto de retorno pode não vir com todas as informações de endereço preenchidas. Para esse caso, existem tratativas já conhecidas e utilizadas, mas também há espaços para soluções de 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:

Integração Nativa

Integração Nativa

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 pedindo a rua e o bairro do usuário:

Integração Nativa

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.

Integração Nativa

Localização via CEP

Para a busca de localização via CEP, utilizamos a função isValidCEP()

Integração Nativa

Semelhante a busca por coordenadas geográficas, a função recebe como parâmetro o CEP (em um formato apenas de números) e retorna um objeto que contenha 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. Depois, verificamos se a informação de logradouro está preenchida (geralmente é o campo vazio nos casos de endereços incompletos) e, então, armazenarmos os dados do objeto em variáveis de ambiente:

Integração Nativa

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:

Integração Nativa

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 (“ ”).

Integração Nativa

Integração Nativa

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.

Integração Nativa

Integração Nativa

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)”

Integração Nativa

Essa função recebe como parâmetro uma url 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.

Integração Nativa

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:

Integração Nativa

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:

Integração Nativa