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?
$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.