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 |
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:
& - &
< - <
> - >
" - "
' - '
\ - \
` - `
| - |