@pabloquiroga Boa tarde!
Consegue sim!
Você precisa adicionar ao bloco onde direciona essa mensagem ativa (nas condições de saída), ou no bloco após ele, as seguintes ações:
1- HTTP para buscar as últimas mensagens trocadas com o contato:
POST /commands HTTP/1.1
Host: {{contractId}}.http.msging.net
Authorization: {{key}}
Content-Type: application/json
{
"id": "{{$guid}}",
"method": "get",
"uri": "/threads/{{contact.identity}}?$take=20"
}
2- Script para buscar o último template enviado para o contato:
function run(body) {
try {
if (typeof body != 'object') body = JSON.parse(body);
let items = body.resource.items;
let content = items.find((item) => {
if (item.content.type == 'template') return item;
})
return content;
}
catch (e) {
return "DebugErro: " + e;
}
}
3- Script para validar se o template foi enviado a mais de 24h.
function run(ultimoTemplate) {
try {
var dataUltimaMensagem = new Date(recuperaDataUltimaMensagem(ultimoTemplate));
var dataAtual = new Date();
var dataLimiteFim = new Date(dataUltimaMensagem.getFullYear(),
dataUltimaMensagem.getMonth(),
dataUltimaMensagem.getDate(),
dataUltimaMensagem.getHours() + 24,
dataUltimaMensagem.getMinutes(),
dataUltimaMensagem.getSeconds());
return (dataLimiteFim > dataAtual);
}
catch (e) {
return "Ah não, aconteceu um erro ♂️/n Erro: " + e;
}
}
function recuperaDataUltimaMensagem(ultimoTemplate) {
var ultimaMensagem = JSON.parse(ultimoTemplate);
var dataUltimaMensagem = ultimaMensagem.date;
return dataUltimaMensagem;
}
Ai basta colocar nas condições de saída do bloco onde adicionar essas ações, que se a variável do último script for true é pq respondeu no prazo de 24h. Caso contrato direciona para a fila padrão.