Facebok Pixel

Nossos robôs de atendimento utilizam a linguagem de programação LarBot XML. Uma linguagem simplificada para controlar o fluxo das conversas. A linguagem possui esse nome porque é totalmente baseada em XML. A estrutura é a seguinte:

<?xml version='1.0' encoding='UTF-8'?>
<Script>
<Linha>
  <id>Número da Linha</id>
  <Acao>Comando</Acao>
  <Conteudo>Conteúdo do comando</Conteudo>
  <Variavel>Nome da variável</Variavel>
  <Proximo>Número da próxima linha</Proximo>
</Linha>
</Script>

Comandos

Cada tupla do script deverá conter um comando. Este comando deverá vir especificado dentro da chave <Acao> do XML. Os comandos válidos são:

Interação com o Usuário Interlocutor
Info – Envia mensagem.
Msg – Envia mensagem e aguarda resposta do usuário.
MidiaInfo – Envia arquivo de mídia (áudio, vídeo ou foto).
Midia – Envia arquivo de mídia (áudio, vídeo ou foto) e aguarda resposta do usuário.
Localizacao – Envia uma localização.
Contato – Envia um contato.
DesabilitaPalavrasChave – Interrompe processamento de palavras chave. O padrão é ativado.
HabilitaPalavrasChave – Reativa o processamento de palavras chave depois de uma desativação.

Interação com Usuários Externos
EnviaWAMensagem – Envia mensagem para um WhatsApp específico.
EnviaContato – Envia um contato para um WhatsApp específico.

Desvio Condicional
Caso – Desvia o fluxo do script mediante alguma condição.
Sub – Executa uma subrotina.
Fim – Finaliza a subrotina e retorna para a linha que a chamou.
PalavrasChave – Desvia o fluxo mediante conteúdo das mensagens.

Operações com Usuários
VerificaUsuario – Verifica se um usuário existe no banco de dados a partir do número do telefone.
VerificaEMail – Verifica se um usuário existe no banco de dados a partir do endereço de e-mail.
RegistraWhatsApp – Associa o número de WhatsApp atual a um registro cadastral.
RegistraUsuario – Cadastra ou atualiza o usuário no banco de dados.

Execução de Procedimentos
Executa – Executa funções e passa para a próxima linha.
SolicitaAtendimento – Envia solicitação de atendimento ao grupo de agentes.
Atendimento – Interrompe execução e salva mensagens até que operador envie a mensagem #9.
Encerra – Encerra execução do script e fecha a sessão.
CEP – Realiza consulta ao cadastro nacional de CEP e gera um objeto tipo CEP.
Cobranca – Gera cobrança a partir de meios de pagamento.

Participações em Eventos
AdicionaEvento – Cadastra a participação do usuário em um evento.
Sorteio – Realiza sorteio de brinde dentro de um evento e notifica o usuário vencedor.
Voto – Coleta voto do usuário dentro de uma eleição.
EncerraVoto – Encerra eleição e envia resultado a todos os participantes.

Funções

As funções utilizam a seguinte sintaxe:
{Nome da função Parâmetro 1|Parâmetro 2|…}

Por exemplo, para se extrair o primeiro nome de “João Carlos da Silva” utiliza-se a função {PrimeiroNome João Carlos da Silva}.
A linguagem é do tipo case insensitive, ou seja, interpretador não diferencia letras minúsculas e maiúsculas.

Manipulação do Cadastro
Autenticado – Verifica se há um usuário autenticado na conversa atual.
UsuarioWhatsApp – Número do WhatsApp da contraparte na conversa atual.
UsuarioEmail – Email do usuário autenticado na conversa atual.
AdicionaMarcador – Adiciona uma marca (tag) ao usuáro autenticado.
AlteraSituacao – Altera situação do usuário autenticado dentro de uma determinada campanha.
AlteraGrupo – Altera o grupo do usuário autenticado.
AdicionaEvento – Adiciona o usuário autenticado a um determinado evento.
ConfirmaPagamentoEvento – Registra pagamento do usuário para um determinado evento.


Manipulação de Nomes e Textos
PrimeiroNome – Seleciona o primeiro nome de um nome completo.
Genero – Flexiona um texto conforme o gênero (sexo) do usuário autenticado.
ACase – Transforma um texto para o formato Letras Alternadas (primeira letra maiúscula, resto minúscula).
LCase – Transforma um texto em letras minúsculas.
UCase – Transforma um texto em letras maiúsculas.
RemovePonto – Remove o ponto final de uma frase, caso haja.
InStr – Verifica a ocorrência de um texto dentro de outro texto.

Manipulação de Datas
ConvData – Converte um texto em data.
Hoje – Data de hoje no formato dd/MM/yyyy.
Agora – Horário atual no formato dd/MM/yyyy HH:mm:ss.
DataValida – Verifica se uma data é válida.

Manipulação de Variáveis
Def – Define uma variável e seu valor.
Var – Coleta valor de uma variável.
Se – If inline.

Manipulação de Gênero e Nome Próprio
* ENome – Verifica se um nome próprio completo é válido.
* ONome – Abre opções de tratamento de nome próprio.
* SNome – Seleciona um nome na matriz de nomes.
EmailValido – Verifica se um endereço de e-mail é válido.

Manipulações Diversas
CEP – Trata objeto CEP criado pelo comando CEP.

Campos do Cadastro

Os campos possuem a sintaxe: [@NomeDoCampo]. Por exemplo, mas mostrar no nome do usuário, entre com o texto: O seu nome é [@Nome].

Dados do Usuário
Controle
Nome
PrimeiroNome
Tratamento
Apelido
TipoPessoa
CPF
CNPJ
DataNascimento
DataNasc
DiaNasc
MesNasc
AnoNasc
Endereco
Bairro
Cidade
UF
CEP
Pais
Email
Telefone
Website
GrupoNome
CodCli
GrupoControle

Dados do Evento
Evento.Titulo
Evento.Data
Evento.Hora
Evento.Descricao
Evento.Local
Evento.Preco
Evento.PrecoCentavos
Evento.Pergunta
Evento.Resposta
Evento.Ticket
Evento.IdTicket
Evento.MagicTicket
Ticket.Valor
* Sorteio.Premio
* Sorteio.Valor

Variáveis de Sistema

As variáveis de sistema comçam com “#”. Por exemplo, para mostrar o idioma atual que está executando o script utilize: A cultura atual é {var #Lang}.

Ambiente
Lang – Cultura (idioma) do script. Pode ser qualquer string mas recomendamos que seja utilizada a tabela internacional de culturas. Clique aqui para ter acesso a uma tabela de culturas.
Mensagem – Mensagem enviada.
ModoManual – On ou Off, indica se está ativado o modo manual, no qual o robô fica desativado permitindo a conversação normal.
ModoManualRetorno – Indica o script e a linha, no formato “Script:Linha” para o qual o fluxo deve retornar ao sair do modo manual.
PalavrasChave – On ou Off, indica se o processamento de palavras chave está habilitado ou não.

Categorias: LarBot XML

2 comentários

carlos henrique · 14/05/2021 às 10:23

Se você mandasse escrito em grego, com o auxílio do google, eu daria uma resposta.

    Luciano Reis · 14/05/2021 às 10:27

    Uahahah… Boa! Mas para quem conhece XML isso aí é molezinha. Tão natural quanto ler esta sentença que você está lendo agora.

Deixe um comentário

Espaço reservado para avatar

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Atenção


Aguarde