Я пытаюсь отправить файл CSV через RestClient в соответствии с инструкциями, приведенными здесь: "https://dev.na.bambora.com/docs/guides/batch_payment/batch/#example-batch-requests"
Я получаю 400 неверных запросов.
Я пытался использовать их почтальонСбор с некоторым успехом, но пока не удалось заставить это работать с RestClient в моем приложении.
Вот соответствующий запрос cURL от документов, связанных выше (не мой код):
curl -X POST \
https://api.na.bambora.com/v1/batchpayments \
-H 'authorization: Passcode {{passcode_encoded}}' \
-H 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' \
-F file=@transactions.csv
Ниже приведена моя попытка написать временный CSV-файл и опубликовать его через RestClient:
def self.generate_charge(plaid_account, amount)
csv = generate_csv(plaid_account, amount)
passcode = Rails.env.production? ? ENV['BAMBORA_PRODUCTION_AUTH_CODE'] : ENV['BAMBORA_DEVELOPMENT_AUTH_CODE']
response = RestClient.post(
'https://api.na.bambora.com/v1/batchpayments',
{:file => File.open(csv.path)},
{
:"authorization" => "Passcode #{passcode}"
}
)
end
def self.generate_csv(plaid_account, amount)
eft = PlaidClient.select_account(plaid_account.plaid_access_token, plaid_account.plaid_account_id)[:eft]
tempfile = Tempfile.new('bambora.csv')
CSV.open(tempfile, 'wb') do |csv|
csv << ['E', 'D', eft.institution, eft.branch, eft.account, amount, '0', plaid_account.owner_name]
end
end
Я пропустил заголовок «content-type», потому что, согласно документам restclient, он: «Auto-обнаруживает, что у вас есть значение файла, отправляет его как multipart [и] автоматически обнаруживает mime файла и устанавливает его в заголовке полезной нагрузки для каждой записи ".
Если кто-то желает взглянуть наДокументы и направьте меня в правильном направлении, я буду очень признателен. Спасибо.