Preciso de alguma forma capturar o nome de uma campanha de ativos que foi enviada, logo ao usuário cair no fluxo do chatbot.
No campo contact.extras.campaignId eu tenho o Id desta campanha, mas não achei nenhum endpoint que eu consiga buscar o nome da mesma.
Verifiquei também a uri /messages onde nela retornam todos os logs de mensagens do chatbot, porém, também retorna o log desse ativo que foi enviado, com o campaignId e também o campaignName.
Porém, cai em outro problema, não consigo realizar filtros nessa uri /messages, e acaba que o disparo da notificação ativa vai lá pra baixo nos logs e eu não consigo mais busca-lo.
Alguém sabe alguma forma de conseguir o nome da campanha via o id da mesma, ou então utilizar um filter nesta URI do /messages?
Detalhe: Não posso utilizar uma API intermediária.
Obrigado desde já!
Melhor resposta por Vinicius_Candido
Bom dia pessoal, consegui achar uma solução! 😃
Vou deixar aqui brevemente para caso um dia alguém precise, utilizei este endpoint
Nele eu consegui filtrar pelo identity do usuário do router.
Na sequencia foi preciso apenas fazer um script pra localizar pelo campaingId o disparo desse ativo
/**
* All input variables needs to be passed as function param;
* Objects received as param needs to be parsed. Ex.: JSON.parse(inputVariable1);
* Objects returned needs to be stringfied. Ex.: JSON.stringify(inputVariable1);
**/
function run(infoResult) {
//let obj = JSON.parse(infoResult);
let obj = {{infoCampanhaResult}};
let itens = obj.resource.items;
let nomeCampanha = null;
for (let i = 0; i < itens.length; i++) {
let item = itens[i];
if (item.id.indexOf("activecampaign:") >= 0){
nomeCampanha = item.metadata["#activecampaign.name"];
break;
}
}
if (nomeCampanha !== null) {
return nomeCampanha;
}
else {
"Não encontrou notificação ativa";
}
}
Hey @Vinicius_Candido ! Ótima pergunta! Procurei aqui no fórum mas não encontrei algum conteúdo que possa te ajudar, mas em breve algum dos nossos especialistas no Blip vão trazer uma solução para você! 😉
Te aconselho a baixar a collection do BLIP. No intagrations > Whatsapp tem um endpoint que com base na key do router que você passa ele retornar todos os templates cadastrados daquele router específico.
Ah sim !!! Acredito que o nome das campanhas não tenha jeito. Mas vou procurar a saber com outros devs se de fato não é possível e já te dou um retorno.
Nele eu consegui filtrar pelo identity do usuário do router.
Na sequencia foi preciso apenas fazer um script pra localizar pelo campaingId o disparo desse ativo
/**
* All input variables needs to be passed as function param;
* Objects received as param needs to be parsed. Ex.: JSON.parse(inputVariable1);
* Objects returned needs to be stringfied. Ex.: JSON.stringify(inputVariable1);
**/
function run(infoResult) {
//let obj = JSON.parse(infoResult);
let obj = {{infoCampanhaResult}};
let itens = obj.resource.items;
let nomeCampanha = null;
for (let i = 0; i < itens.length; i++) {
let item = itens[i];
if (item.id.indexOf("activecampaign:") >= 0){
nomeCampanha = item.metadata["#activecampaign.name"];
break;
}
}
if (nomeCampanha !== null) {
return nomeCampanha;
}
else {
"Não encontrou notificação ativa";
}
}
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.
A analisar o ficheiro em busca de vírus
Lamentamos, mas ainda estamos a analisar o conteúdo deste ficheiro, a fim de nos certificarmos de que o mesmo é seguro para descarregar. Agradecemos que tentes de novo dentro de poucos minutos.