Skip to main content

Olá pessoal,



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á!

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ê! 😉


Fala @luiz_heiras, pois é, dei uma revirada no fórum e na documentação e também não achei nada 😦 .



Mas espero que tenha uma solução, continuo no aguardo, obrigado pela disponibilidade!


Boa tarde @Vinicius_Candido !!



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.




Oi @Aline_Camargos



Obrigado pela dica sobre baixar a collection, essa eu não sabia.



Porém, o que eu preciso não é dos templates, e sim do nome das campanhas disparadas via Growth 😦


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.


@Vinicius_Candido de fato hoje não temos um endpoint que retorna esse nome da campanha 😕


Bom dia pessoal, consegui achar uma solução! 😃



Vou deixar aqui brevemente para caso um dia alguém precise, utilizei este endpoint



{

"id": "{{$guid}}",

"method": "get",

"uri": "/threads/{{tunnel.originator}}?refreshExpiredMedia=true&$take=2"

}





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 = itensti];



if (item.id.indexOf("activecampaign:") >= 0){

nomeCampanha = item.metadatad"#activecampaign.name"];

break;

}

}



if (nomeCampanha !== null) {

return nomeCampanha;

}

else {

"Não encontrou notificação ativa";

}

}



No final, o resultado foi o esperado:



image



Obrigado a todos que ajudaram.


Muito bommmmm, essa nem eu sabia rsrsrs. Top demais 😃


Comente