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