Envio de anexo para API

Galera

Alguém tem algum exemplo, ou “norte” para se enviar um anexo do Fluig para um ws?
Estou precisando enviar anexos de processo para uma API no Protheus.
Fiz umas pesquisas iniciais, parece que seria o WS ECMDocumentService e usando o objeto Attachment. Alguém poderia me orientar/confirmar.

Hola! hice algo similar. En el BPM, en un servicio (lo podes hacer desde el WS), tenes que hacer un GET a la url: ‘/process-management/api/v2/requests/’ + WKNumProces + ‘/attachments’, ahí obtenes los adjuntos, luego al WS le pasas el parametro “fileURL” de los adjuntos y desde el WS lees el archivo.

Saludos

1 curtida

Já vi algo parecido, mas não lembro o local que vi e tenho pouco conhecimento nessa parte.

Mas pelo que lembro você usa o serviço ECMDocumentService pra pegar o Documento e acho que tem que usar a ByteArrayInputStream, do Java, pra conseguir inserir na requisição que será enviada ao WS destino. Mas não lembro como fizeram isso no exemplo que vi.

Oi Julio

E como eu consigo o parâmetro “fileURL” pois o response desse endpoint não retorna essa informação.

Hola @Wasley_Santos,
Te paso un ejemplo de como acceder a fileURL.

async documentUrl(id: number) {
const body = await rp({
rejectUnauthorized: false,
url: ${process.env.FLUIG_URL}/api/public/ecm/document/activedocument/${id},
oauth: {
consumer_key: process.env.FLUIG_CONSUMER_KEY,
consumer_secret: process.env.FLUIG_CONSUMER_SECRET,
token: process.env.FLUIG_ACCESS_TOKEN,
token_secret: process.env.FLUIG_TOKEN_SECRET,
},
json: true,
options: {
encoding: ‘UTF-8’,
mediaType: ‘application/json’,
},
headers: {
ContentType: ‘application/json;charset=UTF-8’,
},
}).catch(error => {
Logger.error(Error al obtener el documento ${id}, error);
throw error;
});
return { filename: body.content.description, fileURL: body.content.fileURL };
}

Saludos