Skip to main content

Envio de mensagem dentro de um FOR


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;

}

Este tópico foi fechado para respostas.

4 comentários

GabrielPetrone
Blipper
Forum|alt.badge.img+1

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?


GabrielPetrone
Blipper
Forum|alt.badge.img+1

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!