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 = 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";
                }
            }

No final, o resultado foi o esperado:

image

Obrigado a todos que ajudaram.


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