Skip to main content

Bom dia,


Estou desenvolvendo o chatbot pelo Builder, porém estou consumindo uma API para retornar uma lista de boletos que o cliente possui em aberto.


Gostaria de saber se é possivel enviar uma mensagem com os dados do boleto a cada iteração da lista na function do JavaScript.



Exemplo: Se a API retorna que o cliente possui 3 boletos em aberto, é necessário enviar três mensagem seguidas.



*Queremos mandar em mensagem separada para o cliente ter a opção de copiar a linha digitavel apenas clicando na mensagem da linha digitavel.



Já desenvolvi um FOR porém esta enviando em apenas uma mensagem todos os boletos.


Minha function:


function run(response) {



        var boletos; 



var parsedJSON = JSON.parse(response);



for (var i=0 ; i < parsedJSON.length; i++) {



boletos += 'Nome: ' + (parsedJSON(i].CardName) + '\nVencimento: ' +



(parsedJSON(i].Vencimento) + '\nValor: ’ + (parsedJSON+i].ValorBoleto) + ‘\nLinha Digitavel:’ + (parsedJSON�i].DigitalLine) + ‘\n\n’;



        }  



return boletos;



}

Bom dia @COM4_DATA_CENTER , existem algumas formas de fazer isso, mas eu diria que o maior problema é na quantidade de boletos que pode retornar. Digo isso pois você pode usar o endpoint Sending messages para disparar cada boleto, porém novamente, saber quantas mensagens vai enviar que pode ser a dificuldade.



Pelo builder, você poderia criar uma quantidade X de ações usando o Sending Messages e pelas condições para executar a request você valida se vai ou não executar (baseado na quantidade de boletos). Mas isso não é prático e se tiver algum caso que possua mais de 15 boletos, você vai ter que criar outro bloco no builder. Enfim, não é prático. Para ser prático, você pode criar uma API para fazer essa rotina.



Espero ter ajudado.


Abraços.


"saber quantas mensagens vai enviar que pode ser a dificuldade" .





  • A minha API já esta retornando a quantidade de boleto em aberto, pego a quantidade de boletos no FOR pelo for parsedJSON.length.




Eu consigo fazer um SendMessage para cada iteração dentro desse FOR no script do Builder? caso tenha, pode dar um exemplo?


Não é possível, foi isso que eu quis dizer com a frase que você citou. Pelo builder você não vai conseguir iterar a quantidade retornada pelo parsedJSON.length e executar o SendingMessages baseado nesse valor. O melhor caminho é você criar uma API que controle isso, ou fazer como o exemplo que dei acima utilizando várias actions, com o risco de algum cliente ter por exemplo, 20 boletos mas só ter 15 actions (nesse caso ele não receberia os 5 últimos boletos).


Entendi, acredito que pela action da certo para mim, pois faço um filtro de quantidade de boleto que minha API vai retornar.



Obrigado pela atenção!


Comente