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