Fala galera! Eu preciso gerar um ticket com o histórico de conversas em outra plataforma quando um chat é encerrado. Eu consegui fazendo um POST na url https://http.msging.net/commands passando os seguintes parâmetros no body:
{
"id": "{{$guid}}",
"method": "get",
"uri": "/threads/{{contact.identity}}?refreshExpiredMedia=true"
}
até aí tudo bem. Ele retorna um JSON meio complicado, mas consegui tratar:
function run(historico) {
var aux = JSON.parse(historico);
var mensagens = aux.resource.items;
var resp = "";
for(i = mensagens.length - 1; i >= 0;i--)
{
//sent = mensagem do bot ou do agente
if(mensagens[i].direction === "sent")
{
resp = resp.concat("Group: ");
//se for objeto o valor fica em outro lugar
if(typeof mensagens[i].content === 'object')
resp = resp.concat(mensagens[i].content.text.toString());
else
resp = resp.concat(mensagens[i].content.toString());
}
//mensagem do cliente
else if(mensagens[i].direction === "received")
{
resp = resp.concat("Cliente: ");
//se for objeto o valor fica em outro lugar
if(typeof mensagens[i].content === 'object')
resp = resp.concat(mensagens[i].content.customerInput.value.toString());
else
resp = resp.concat(mensagens[i].content.toString());
}
//quebra de linha
resp = resp.concat("<br>");
}
return resp.replace(/\n/g,"<br>");
}
Até aí tudo bem, tá tudo funcionando bonitinho.
O problema é que, quando faço essa mesma requisição via Whatsapp vem um JSON totalmente diferente, sem nenhuma mensagem…
{"type":"application/vnd.lime.collection+json","resource":{"itemType":"application/vnd.iris.thread-message+json","items":[]},"method":"get","status":"success","id":"{{$guid}}","from":"[email protected]/#iris-hosted-6","to":"[email protected]/!iris-hosted-6-valor_aqui","metadata":{"#command.uri":"lime://[email protected]/threads/[email protected]? refreshExpiredMedia=true","uber-trace-id":"valor_aqui"}}
Note que eu troquei uns ids por valor_aqui porque não sei se tem algo “confidencial”
Como faço então para pegar o histórico de mensagens? Eu estou perdendo algo e tem uma maneira mais fácil de fazer isso? Realmente estou sem direções…