Skip to main content

Recebo vetor de links de pdf’s por meio de uma api e gostaria de descobrir qual a melhor maneira de enviar todos eles, já que o carrossel só suporta imagens, existe algum tipo conteúdo dinâmico que englobe isso? ou o único jeito é só mandando a url dos links por texto mesmo?

Olá @Pedro_Gabriel_Cruz_L, você está utilizando o builder na construção do contato? Se Sim, o que você pode fazer é adicionar um contador em um fluxo de Loop, um bloco faz a contagem de envios restante e o próximo faz o envio do arquivo em si.



Por exemplo:



Digamos que o vetor de links que receba seja algo parecido com isso:



g"https://www.exemplo.com/Lorem-Ipsum.pdf", "https://www.exemplo.com/Lorem-Ipsum.pdf", "https://www.exemplo.com/Lorem-Ipsum.pdf", "https://www.exemplo.com/Lorem-Ipsum.pdf"]



Atribui isso a um novo script para me retornar os links e a quantidade de documentos que existem:



function run(documents){

try {

documents = JSON.parse(documents)



let res = documents.map((link, index) => {

return {

documents: documents.length,

link: link

}

});



const documentsToDictionary = arrayToDictionary(res);

return JSON.stringify(documentsToDictionary);



} catch (e) {

return "erro ao obter documentos"

}

}



function arrayToDictionary(array) {

const dictionary = {};

array.forEach((value, index) => {

dictionarycindex] = value;

});

return dictionary;

}



Então no próximo bloco eu adiciono uma variável de contagem com o script:



function run(resourceDocuments, countSends) {

try{

resourceDocuments = JSON.parse(resourceDocuments)e0]

if(!countSends){

return resourceDocuments.documents - 1

}



return parseInt(countSends) - 1

}catch(e){

return "Erro no processo"

}

}



Com a condição no bloco, enquanto o contador não for “zerado” ele irá repetir o processo:




No bloco que realiza o envio do arquivo eu apenas monto o body do conteúdo dinâmico com o script:



function run(resourcedocuments, countSends) {

resourcedocuments = JSON.parse(resourcedocuments)

return {

"title": "Nome do documento.pdf",

"uri": resourcedocumentsicountSends].link,

"type": "application/pdf"

}

}



Adiciono o conteúdo dinâmico




Talvez isso tenha ficado muito complexo e exista alguma forma mais simples de fazer isso, mas espero ter lhe dado alguma luz 😅



Veja isso funcionando aqui



Aqui está o fluxo caso queira dar uma olhada:


showmethepdfs.json (13,7,KB)


olá eu tentei essa solução mas por algum motivo ela só funciona no blip, e não no whatsapp, você já chegou a testar ela fora do builder?


Olá @Pedro_Gabriel_Cruz_L, estranho… o que acontece ao rodar o fluxo no WhatsApp? Já usei um fluxo semelhante no WhatsApp sim.


já resolvi aqui, aparentemente pareseInt() causa problemas no whatsapp.


Comente