Не получается отправить транзакцию на проверку. MERCHANT001

Я пытаюсь интегрировать API для оплаты услуги в бота. Когда я дошёл до оправки транзакции на проверку возникла проблема. Я делаю соответствующий запрос к API и оно выдает мне ошибку: {'statusCode': 400, 'message': 'File is required', 'error': 'Bad Request'} Вот body моего запроса:

body = {
    "file": {
        "filename": "test.jpg",
        "path": "./test.jpg",
    },
          "amount": str(amount)
        }

Вот headers моего запроса:

headers = {
    "Authorization": "Bearer API KEY",
    "Accept": "multipart/form-data"
}

Код:

api_head = {
    "Authorization": "Bearer API KEY",
    "Accept": "multipart/form-data"
}
tr_id = get_shop(author_name)[-1][7]
price = get_shop(author_name)[-1][5]
quantity = get_shop(author_name)[-1][2]
amount = price * quantity

body = {
    "file": {
        "filename": "test.jpg",
        "path": "./test.jpg",
    },
          "amount": str(amount)
        }

request = requests.post(f'https://api.merchant001.io/v1/transaction/merchant/receipt/{tr_id}',
                       headers=api_head, json=body).json()
print(request)

Ссылка на документацию: https://wiki.merchant001.io/api-doc/tranzakcii/otpravka-tranzakcii-na-proverku


Ответы (1 шт):

Автор решения: Tsvik Vitaly

судя по всему нехватает переменных в json запроса

  "file": {
    "fieldname": "string",
    "originalname": "string",
    "encoding": "string",
    "mimetype": "string",
    "size": "number",
    "stream": "Readable",
    "destination": "string",
    "filename": "string",
    "path": "string",
    "buffer": "Buffer"
  },

ты скидываешь на апи только строковые данные имени файла и путь к нему но сам файл не скидываешь. о чём апи в ошибке и сообщает.

→ Ссылка