Не работает метод "Получить остатки товаров" WB api
Пишу прогу для получения остатков товаров на складе (после этого этапа, следующим будет менять эти остатки, но до него я не дошел, т.к. не могу понять, что не так на этом этапе.) Пишу на Python, используя WB api кабинета продавца (https://openapi.wildberries.ru/marketplace/api/ru/#tag/Ostatki/paths/~1api~1v3~1stocks~1%7BwarehouseId%7D/post)
Ниже представил код и вывод в консоль.
Код:
import requests
api = open('api_wb.txt').read().strip()
headers = {'Authorization': api}
url_warehouses = 'https://suppliers-api.wildberries.ru/api/v3/warehouses' # ссылка для получения складов продавца
r = requests.get(url_warehouses, headers=headers).json()
warehouse_id = r[0]['id']
print('warehouse_id:', warehouse_id, end='\n\n')
url_stocks = f'https://suppliers-api.wildberries.ru/api/v3/stocks/{warehouse_id}' # ссылка для получения остатков товаров на складе
r = requests.post(url_stocks, headers=headers)
print(r)
print(r.json())
Вывод в консоль:
warehouse_id: 899994
<Response [400]>
{'code': 'IncorrectRequestBody', 'message': 'Некорректное тело запроса'}
Ответы (1 шт):
Автор решения: dolbocluv
→ Ссылка
Все, ошибка была в невнимательности (потрачено более 7ч в никуда.......) Вот работающий код:
api = open('api_wb.txt').read().strip()
headers = {'Authorization': api, "Content-type": 'application/json'}
from time import sleep
url_warehouses = 'https://suppliers-api.wildberries.ru/api/v3/warehouses' # ссылка для получения складов продавца
r = requests.get(url_warehouses, headers=headers).json()
warehouse_id = r[0]['id']
print('warehouse_id:', warehouse_id, end='\n\n')
url_stocks = f'https://suppliers-api.wildberries.ru/api/v3/stocks/{warehouse_id}' # ссылка для получения остатков товаров на складе
r = requests.post(url_stocks, json={"skus": ["баркод товара"]}, headers=headers)
print(r.json(), end='\n\n')