Como usar modificadores para variáveis

​​Com a SendPulse, você pode usar modificadores para variáveis de chatbot para transformar seu valor de acordo com as regras que você definir. Por exemplo, você pode formatar texto, datas, números de telefone e URLs.

Vamos falar sobre modificadores de variáveis ​​e como usá-los em seus chatbots.

Sintaxe do modificador

Você pode modificar os dados usando <{{ var_name | function(parameter="value") }}, onde:

  • var_name é um nome de variável;
  • função() é uma função modificadora;
  • parâmetro é um parâmetro de função;
  • value é um valor de parâmetro.

Você pode usar a sintaxe do modificador em datas, caixa alta, comprimento do string, número de telefone e URLs.

Modificadores de string

str_to_lower() Converte todos os caracteres em minúsculas.

Por exemplo: variável title = "TITLE."

{{ título | str_to_lower() }}

Resultado: título.

str_to_upper() Converte todos os caracteres em letras maiúsculas.

Por exemplo, a variável de título = "título."

{{ título | str_to_upper() }}

Resultado: TÍTULO.

str_capitalize() Converte todos os caracteres em uma string e coloca seu primeiro caractere em caixa alta.

Por exemplo, a variável de título = "title".

{{ título | str_capitalize() }}

Resultado: Título.

str_length() Retorna o comprimento de uma string.

Por exemplo: título = "título".

{{ título | str_length() }}

Resultado: 5.

str_limit(limit="100", end="...") Corta uma string para o comprimento especificado.
  • limit é um parâmetro opcional que define o comprimento máximo de uma string (o tamanho padrão é 100 caracteres).
  • fim é um parâmetro opcional que passa os caracteres no final de uma string delimitada (o padrão é "...").

    Você pode limitar o número de caracteres em sua mensagem a 1.000 para garantir que ela seja entregue com precisão. Para fazer isso, digite {{ informações | str_limit(limit="1000") }}.

implode(separator="") Combina os elementos de um array usando um string separador.
  • separator é um parâmetro opcional cujo padrão é uma string vazia.
Por exemplo, {{ $["lista"] | implode(separator=", ") }} exibe dados separados por vírgula de uma matriz obtida como resultado de uma solicitação de dados externa.
array_get(key="*.keyname") Recupera um valor de um array ou objeto aninhado usando a notação de ponto, que é uma maneira de acessar as propriedades do objeto e os valores da matriz. Um ponto (.) e um asterisco (*) aparecem como uma parte de array e um número de elemento. Pode ser assim: array.*.object.id.

Por exemplo, se você precisar obter nomes de uma matriz, poderá usar {{ $["users"] | array_get(key="*.name") | implode("\n ") }}para gerar os campos de nome de uma matriz de objetos linha por linha.

Números e datas

modifiers number_round(precision="0", mode="ROUND_HALF_UP") Direciona um número para uma determinada precisão (o número de dígitos após um ponto decimal).

precision pode ser negativa ou zero (por padrão, é 0).

Se precision for positiva, o número será arredondado para a precision após um ponto decimal.

Se precision for negativa, o número será arredondado para a precisão especificada antes do ponto decimal (arredondado para a potência de dez mais próxima). Por exemplo, se sua presicion igual a -1, o número será arredondado para dezenas e, se sua precision for igual a -2, o número será arredondado para centenas.

Você pode aprender mais sobre possíveis valores do modo de arredondamento na documentação do PHP.

number_format("0", decimal_separator=".",",") Formata um número com milhares agrupados e dígitos decimais.
  • decimals define o número de casas decimais. Se for 0, decimal_separator será omitido do valor de retorno.
  • decimal_separator define o separador decimal.
  • miles_separator define o separador de milhares.

    Por exemplo, para facilitar a leitura de números grandes, você pode separar milhares com vírgulas. Para fazer isso, digite number_format(thousands_separator=",")

date(from_format="d.m.Y", format="d.m.Y", modify="") Formata uma string de data de acordo com o formato fornecido.
  • from_format é um parâmetro opcional que especifica o formato do qual você deseja converter os dados de data. (padrão: 'd.m.Y').
  • formato é um parâmetro opcional que especifica o formato para o qual você deseja converter os dados de data (padrão: 'd.m.Y').
  • modify é um parâmetro opcional que modifica a própria data, por exemplo, "+1 dia" adicionará um dia a partir da data original.

Apenas os seguintes modificadores são suportados: +/-dia(s), +/-mês(es), +/-ano(s).

Leia mais sobre modificadores de data na documentação do PHP.

Por exemplo, se você deseja obter a data no formato, pode usar {{ signup_date | data(formato="F jS")}}

Resultado: 5 de janeiro.

date_time(from_format="d.m.Y H:i", format="d.m.Y H:i", modify="")

Este modificador retorna ao gerar um valor com o tipo date_time.

  • from_format é um parâmetro opcional que especifica o formato do qual você deseja converter os dados de data (padrão: 'd.m.Y H:i').
  • format é um parâmetro opcional que especifica em qual formato os dados de data e hora são exibidos (padrão: 'd.m.Y H:i').
  • modify é um parâmetro opcional que altera a própria data, por exemplo,+1 hora adicionará uma hora a partir da data e hora de início.

Modificadores suportados: +/-minute(s), +/-hour(s), +/-day(s), +/-month(s , +/-year(s)

Outros modificadores

phone(formig-fix-handle_api_exceptionat="INTERNATIONAL") Formata uma string com um número de telefone de acordo com o formato dado.
  • format é um parâmetro opcional que especifica o formato para o qual você deseja converter um número de telefone (o padrão é INTERNATIONAL).

As opções de formato possíveis são:

  • INTERNACIONAL (+380 63 706 7928)
  • NACIONAL (063 706 7928)
  • E164 (+380637067928)
  • RFC3966 (tel:+380-63-706-7928)
urlencode() Retorna uma string onde todos os caracteres não alfanuméricos exceto para hifens (-), sublinhados (_) e pontos (.) devem ser substituídos pelo sinal de porcentagem (%) seguido por dois números hexadecimais e espaços codificados como o sinal de mais (+). A string é codificada da mesma forma que os dados POST do formulário da web, ou seja, o application/x-www-form-urlencoded .

O modificador pode ser usado para passar os valores recebidos do assinante para a API Request, por exemplo, como um parâmetro get.

Características de Uso

Vamos falar sobre possíveis erros que podem ocorrer ao usar modificadores de variáveis ​​e formas de combinar modificadores.

Você pode aplicar modificadores ao elemento "Mensagem" em um fluxo ou campanha e todos os outros elementos onde você pode inserir e usar variáveis. Você pode obter variáveis ​​usando a função "User Variable Input" ou uma resposta a um elemento "API Request".

Quando você está chamando uma função modificadora e ela não possui parâmetros, os colchetes "()" podem ser omitidos.

Se um nome de variável contiver }} e | símbolos, então eles devem ser escapados com \}\} e \| no nome.

Se um valor de parâmetro contiver }}, | e " símbolos, devem ser precedidos por \}\}, \| e \". O valor do parâmetro é sempre fornecido em "" como uma string.

Possíveis erros

Se um modificador não puder processar uma variável, ele a retornará da mesma forma que estava antes de o modificador ser aplicado. Por exemplo, se aplicarmos o {{ name|phone(format="INTERNATIONAL") }} à variável name = “John,” obteremos "John" como resposta porque a variável não é um número de telefone.

Se um modificador não puder ser aplicado a uma variável, o usuário não verá um erro.

Os erros são exibidos apenas se houver problemas com a sintaxe do modificador, não com os dados recebidos do usuário.

Combinando modificadores

Você pode combinar vários modificadores, por exemplo:

{{variable_name|modifier_name1(parameter_name1="value",parameter_name2="value",parameter_name3="value",)|modifier_name2()|modifier_name_N()}}

Se você deseja cortar o tamanho da string variável em até 10 caracteres e, em seguida, converter todos os caracteres da string em letras maiúsculas, esta expressão ficará assim:

{{ String | str_limit(limit="10") | str_to_upper }}

Usando modificadores no construtor de chatbot

Mostraremos alguns exemplos de como usar modificadores no criador de chatbot da SendPulse.

Exemplo de formatação de nome

Pense em seu cenário de fluxo. Em nosso exemplo, coletaremos o feedback do visitante, então queremos obter primeiro o nome do nosso convidado e, em seguida, dar a ele a oportunidade de compartilhar sua impressão.

Vá para o seu fluxo ou crie-o, adicione o "Mensagem" e digite seu texto onde você pede ao assinante para compartilhar seus dados pessoais. Ative a opção "Aguardar resposta do assinante". No campo "Validar como", selecione "String" e escolha uma variável.

Clique em Aplicar e adicione o próximo elemento “Mensagem”.

O assinante pode inserir seu nome com uma letra minúscula por engano, mas queremos endereçá-lo corretamente, então usamos o str_title() variável.

Aqui está o que parece para um assinante.

Exemplo de formatação de data

Pense em um cenário em que um visitante deseja reservar uma mesa para uma data específica. Ao mesmo tempo, o cliente deve receber sua reserva confirmada depois de selecionar uma data.

Adicione o elemento "Mensagem" e digite seu texto onde você pede ao assinante para compartilhar seus dados pessoais. Ative a "Aguardar resposta do assinante". No campo "Validar como", selecione "Data" e escolha uma variável.

Clique Aplicar e adicione o próximo elemento "Mensagem".

Queremos que a data da reserva seja sempre exibida no mesmo formato, por isso adicionamos o {{ order_date | date(format="d.m.Y") }} modificador de variável.

Esta é a resposta que o usuário receberá quando selecionar uma data.

Se você deseja oferecer aos usuários o agendamento de um evento na agenda, você pode adicionar intervalos de tempo disponíveis usando botões ou respostas rápidas, ou pode solicitar sua própria data e hora no elemento “Mensagem”.

Armazene o valor resultante em uma variável do tipo "Data e hora".

Agora para obter o link para criar uma reunião no Google Agenda, adicione a string à sua mensagem:

https://www.google.com/calendar/render?action=TEMPLATE&text={{title|urlencode()}}&dates={{booked_datetime|date_time(format="YmdTHi00", modify="-2 hours")}}Z%2F{{booked_datetime|date_time(format="YmdTHi00", modify="-1 hours")}}Z&ctz=Europe%2FKyiv

Em que título é uma variável do público do chatbot para o nome da reunião.

booked_datetime é uma variável para a data e hora selecionadas do início da reunião.

YMD é ano, mês e dia sem espaços.

T é um separador estático de data e hora.

Hi são horas e minutos sem espaços.

00 são segundos definidos estaticamente.

A primeira data e hora é a hora de início da reunião ajustada para o fuso horário (-2 horas para o horário de Kiev). A segunda data é a hora de término, em uma hora.

Z é o indicador de data no fuso horário UTC.

ctz=Europe%2FKyiv é um ponteiro do fuso horário no qual a Agenda gera a hora do evento.

Suponha que o usuário especifique a data e a hora: "28.02.2023 11:00".

E o chatbot gera um link como este:

https://www.google.com/calendar/render?action=TEMPLATE&text=%D0%9F%D1%80%D0%B5%D0%B7%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D1%8F+%C2%ABUnidragon%C2%BB&dates=20230228T090000WITH%2F20230228T100000Z&ctz=Europe%2FKyiv

O link aparece na caixa de diálogo como parte da mensagem.

Após clicar no link, o usuário recebe um modelo de reunião pronto em sua agenda.

    Rate this article about "Como usar modificadores para variáveis"

    User Rating: 4 / 5

    Teste o SendPulse hoje gratuitamente