Я пытаюсь добавить вложения к существующим счетам в xero.
Я использую xero-node sdk (https://github.com/XeroAPI/xero-node#readme) для этой интеграции, и они предоставляют метод для добавления вложения следующим образом:
this.xero.accountingApi.createInvoiceAttachmentByFileName(tenantId, invoiceid, filenameInvoice,includeOnline,readStream )
Проблема здесь заключается в том, что для readStream требуется объект fs.ReadStream.
Файл, который я пытаюсь загрузить, присутствует в облаке, и я не могу загрузить его и сохранить это в файловой системе перед отправкой в Xero. Я хочу отправить файл в облаке azure напрямую в xero. У меня есть URL файла, поэтому я могу получить содержимое в виде переменной, отправив запрос http, но нет возможности отправить это содержимое в Xero.
Для этого также доступен API (здесь https://developer.xero.com/documentation/api/attachments) кроме СДК. Но я не уверен, как я могу отправить файл, который у меня есть, этому API в теле, поскольку он ожидает RAW-данные. Существуют ли какие-либо определенные c заголовки или кодировки, необходимые для вызова этого API с содержимым файла в теле? Потому что это также не работает для меня, если я просто передаю тело ответа, полученного из azure url файла, как тело к этому API Xero Attachment. Он пытается долго и выдает ошибку тайм-аута.