Pular para o conteúdo principal

Como obter dados do cliente com $rawRequest

O Tovie DialogStudio tem a variável $rawRequest que pode ser usada para obter dados do cliente. Você pode usar o conteúdo da variável $rawRequest para:

  • endereçar clientes pelo nome;
  • restringir o acesso ao bot para uma determinada lista de clientes;
  • coletar e transferir dados do cliente.

Como definir o tipo de canal

A variável $rawRequest contém o texto da solicitação do cliente atual. O formato e o conteúdo da variável $rawRequest dependem do canal.

Se seu bot estiver conectado a vários canais, você precisará determinar o tipo de canal antes de começar a usar a variável $rawRequest. O tipo de canal está armazenado na variável $channelType.

Você pode determinar o tipo de canal com a ajuda do bloco Condições especificando expressões para cada canal.

Por exemplo, se você usa o Google Assistente, o widget de chat e canais do Facebook, deve especificar as seguintes expressões no bloco Condições:

  • $channelType === "google"
  • $channelType === "chatwidget"
  • $channelType === "facebook"

Como posso testar o script?

cuidado
Não teste um script em um widget de teste se ele contiver $rawRequest.

Se você adicionar a variável $rawRequest ao seu script e clicar em Testar, receberá um erro. O bot não obtém os dados porque você não está testando o bot no canal.

Para testar o script, conecte o canal e fale com o bot neste canal.

Se você quiser testar o script em um widget de teste, primeiro crie um script, teste-o e depois adicione a variável $rawRequest.

Facebook

No Facebook, a variável $rawRequest retorna o seguinte:

{
"sender": {
"id": "2052290888172725",
"first_name": "Pedro",
"last_name": "Ferreira"
},
"recipient": {
"id": "1122334455667788"
},
"timestamp": 1655194077,
"message": {
"seq": 0,
"text": "/start"
}
}

Você pode usar os dados no seguinte formato:

  • Nome: $rawRequest.sender.first_name.
  • Sobrenome: $rawRequest.sender.last_name.

JivoChat

A variável $rawRequest retorna o seguinte do canal JivoChat:

{
"message": {
"type": "TEXT",
"text": "Olá",
"timestamp": 1655194077
},
"id": "b3418c9e-8897-11eb-8931-79179b127c32",
"event": "CLIENT_MESSAGE",
"sender": {
"id": "300",
"name": "Pedro",
"url": "https://app.example.com/"
},
"startProcessingTime": 36460577079987682,
"client_id": "300",
"chat_id": "481"
}

Aqui você pode obter o nome do cliente usando $rawRequest.sender.name.

Telefonia

No canal de telefone, a variável $rawRequest retorna dados no seguinte formato:

{
"event": "aceito",
"trunkId": 0,
"accountId": 247854563,
"caller": "551112345678",
"extension": "551112345678",
"channel": "SIP/0-0000001f",
"originateData": {
"callTaskId": 12754,
"callId": 12757,
"botToken": "TufcgsZw:d82fe12af68ff365455d1365e33fc7f3487699c1",
"payload": {
"name": "Pedro",
"phone": "551123456780"
// Dados adicionais
}
}
}

Aqui você pode obter o nome, o número de telefone e outros dados do cliente.

Ações adicionais

Você também pode enviar valores $rawRequest para sua própria conta em um e-mail via IFTTT ou gravá-los em células no Planilhas Google.