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."
Resultado: título. |
str_to_upper() |
Converte todos os caracteres em letras maiúsculas.
Por exemplo, a variável de título = "
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 = "
Resultado: Título. |
str_length() |
Retorna o comprimento de uma string.
Por exemplo: título = "
Resultado: 5. |
str_limit(limit="100", end="...") |
Corta uma string para o comprimento especificado.
|
implode(separator="") |
Combina os elementos de um array usando um string separador .
{{ $["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 |
{{str|match(pattern="/.*some(regex).*/")}} |
Produz a sequência correspondente ao padrão de expressão. Se a expressão regular contiver um grupo Por exemplo, para extrair uma parte do link Resultado: |
{{str|match_all(pattern="/.*(some)\s(regex).*/")}} |
Produz uma matriz de sequências correspondentes ao padrão de expressão. Se a expressão regular contiver grupos, ela produzirá uma matriz de grupos. Por exemplo, para extrair uma parte do link Resultado: |
{{str| explode(separator="/")}} |
Divide a sequência em uma matriz usando um separador. Por exemplo, para dividir a sequência Resultado: |
{{str| substr(start="", length="")}} |
Produz uma sequência a partir do caractere especificado com o comprimento especificado. Por exemplo, para produzir uma parte do link Resultado: |
|
Substitui certos elementos de texto que correspondem a um padrão específico pela string especificada. Você pode usar essa função para substituir ou remover automaticamente texto em conjuntos de dados grandes.
A função é aplicada diretamente a uma string ( Por exemplo, se sua string de entrada for |
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).
Se Se 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.
|
date(from_format="d.m.Y", format="d.m.Y", modify="") |
Formata uma string de data de acordo com o formato fornecido.
Apenas os seguintes modificadores são suportados: Leia mais sobre modificadores de data na documentação do PHP. Por exemplo, se você deseja obter a data no formato, pode usar 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
Modificadores suportados: |
Outros modificadores
phone(formig-fix-handle_api_exceptionat="INTERNATIONAL") |
Formata uma string com um número de telefone de acordo com o formato dado.
As opções de formato possíveis são:
|
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
Você pode usar modificadores nos elementos de fluxo descritos na tabela abaixo.
O elemento "Mensagem" | Adicione um modificador ao seu elemento de texto para enviar a mensagem modificada. |
O elemento "Solicitação de API" | Adicione um modificador ao campo de link ou corpo da requisição para enviar a requisição modificada. |
O elemento "Ação" | Adicione um modificador ao campo de valor da variável na ação "Definir variável" para armazenar a variável modificada. |
Mostraremos alguns exemplos de como usar modificadores no criador de chatbots 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.
Exemplo de criação de link para o Google Agenda
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 title
é 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.
Última Atualização: 08.10.2024
ou