Palavras reservadas

O que é

São termos reservados usados para executar funções específicas ou representar valores.

Na prática: Variáveis de Contexto

As Variáveis de Contexto representam metadados das conversas que podem ser referenciadas nos motores Rivescript e Watson para fazer tratamentos diversos nos diálogos. São elas:

Variável de contexto Descrição
sb_channel Canal de comunicação utilizado na conversa.
sb_chatbot_id Identificador do chatbot
sb_conversation_id Identificador da conversa.
sb_uploaded_file_key Chave de arquivo que foi recebido e deve ser usada para baixá-lo.
sb_uploaded_file_name Nome original do arquivo. Só existe no recebimento da mensagem com anexo, na próxima mensagem esta variável estará vazia.
sb_uploaded_file_size Tamanho do arquivo em bytes. Só existe no recebimento da mensagem com anexo, na próxima mensagem esta variável estará vazia.
sb_uploaded_file_type Tipo 'MIME' do arquivo. Só existe no recebimento da mensagem com anexo, na próxima mensagem esta variável estará vazia.
sb_whatsapp_from_number Número do telefone do usuário no Whatsapp quando a conversa ocorre nesse canal.

Exemplo de uso da variável sb_channel para fazer uma condição no Rivescript:

+ (oi|olá|ei|bom dia|boa noite|boa tarde|opa)
* <get sb_channel> == whatsapp => Bem vindo ao nosso Whatsap!
* <get sb_channel> == web => Bem vindo ao nosso portal!
- Bem vindo!

Na prática: Comandos

Abaixo estão listados os Comandos da Plataforma. Você pode incluir um comando em uma resposta de texto de qualquer motor. A plataforma se encarregará de interpretar o comando e acionar algum recurso desejado naquele ponto da conversa.

Comando Descrição
#image Cria um balão de resposta do tipo Imagem.
A sintaxe comlpeta é #image|<endereço público da imagem na internet>
Exemplos: #image|www.serpro.gov.br/logo.png
#options Cria um balão de resposta do tipo Opções.
A sintaxe completa é #options|<opções>|<titulo (opcional)>|<estilo (opcional)>
O estilo pode ser: button (padrão), selection ou dropdown.
As opções devem ser informadas em uma sequência de objetos JSON separados por vírgula contendo os campos label e value (opcional).
Exemplos:
#options|{"label":"Sim"},{"label":"Não"}
#options|{"label":"Sim","value":"yes"},{"label":"Não","value":"no"}|Escolha:|selection|
#file Cria um balão de resposta de download de arquivo.
A sintaxe completa é #file|<contexto>|<endereco ou chave do arquivo>|<nome customizado do arquivo (opcional)>|<descrição (opcional)>
O contexto pode ser: public (arquivo público da internet), user (arquivo enviado pelo usuário na conversa) ou chatbot (arquivo enviado pelo chatbot na conversa).
No caso de arquivos públicos, informar o endereço público do arquivo na internet. No caso de arquivos da conversa (user ou chatbot), informar a chave de arquivo que foi recebido na plataforma Serprobots.
Exemplos:
#file|public|http://a.com/manual.pdf
#file|chatbot|1234567_abcd.pdf|boleto.pdf
Vide mais no tutorial sobre envio de arquivos
#whatsapp Envia uma resposta especial do WhatsApp utilizando recursos específicos desse canal. A sintaxe completa é #whatsapp|<tipo_da_resposta>|<conteúdo do payload>
#use_password_field Faz com que o conteúdo da próxima entrada do usuário seja recebido num campo do tipo senha e ocultado no histórico do canal Web.
Vide mais no exemplo de Rivescript para Definição de Senha
#agent_handover Sinaliza na API do chatbot que a conversa pode ser gerenciada por alguma solução de transbordo através do campo booleano agentHandover no JSON de resposta do endpoint /answer.

Fica a dica

Para recuperar o valor de uma variável de contexto no motor RiveScript, utilize a sintaxe <get nome_variavel>.

Senhas e Valores capturados

Ao utilizar o comando #use_password_field para ler uma senha, é bem possível que você irá enviar ela para uma API via Integração. É importante saber que o valor informado pelo usuário terá alguns caracteres escapados para símbolos HTML. Se for do interesse da API preservar os caracteres originais informados pelo usuário, é preciso fazer uma substituição reversa desses símbolos HTML para os respectivos caracteres originários. São eles:

& - &amp;
< -  &lt;
> -  &gt;
" -  &quot;
' -  &#39;
\ -  &#92;
` -  &#96;
| -  &#124;