Я пытаюсь создать / обновить продукты из моего приложения django на моем веб-сайте.
Проблема, с которой я сталкиваюсь, заключается в том, что я не могу создать продукт из своего django для веб-сайт, использующий API woo commerce.
Процедура обновления работает.
Вот мой код:
def create_woocommerce_product_individually(wcapi,name,fetched_sku,fetched_url,short_description,description,woo_commerce_category_id):
data = {
"name": name,
"sku": fetched_sku,
"images": [
{
"src": fetched_url
},
],
"short_description": short_description,
"description": description,
"categories": [
{
"id": woo_commerce_category_id
}
],
}
#post data to the woocommerce API
wcapi.post("products",data).json()
print(" 3A STEP - WOO PRODUCT CREATED IN THE SITE")
def update_woocommerce_product_individually(wcapi,name,fetched_sku,fetched_url,short_description,description,woo_commerce_category_id,post_id):
data = {
"name": name,
"sku": fetched_sku,
"images": [
{
"src": fetched_url
},
],
"short_description": short_description,
"description": description,
"categories": [
{
"id": woo_commerce_category_id
}
],
}
#put data to the woocommerce API
wcapi.put("products/"+str(post_id),data).json()
print(" 3B STEP - WOO PRODUCT UPDATED IN THE SITE")
Вот часть кода, вызывающая вышеупомянутые функции основаны на ответе:
r=wcapi.get("products/?sku="+fetched_sku).json()
if len(r) > 0:
#if it exists in the website , take the post id
post_id=r[0]['id']
if len(r) == 0:
#call the create
create_woocommerce_product_individually(wcapi,name,fetched_sku,fetched_url,short_description,description,woo_commerce_category_id)
product.is_stored_to_website = True
product.save()
print("Stored : {} \n".format(product.is_stored_to_website))
else:
#call the update
update_woocommerce_product_individually(wcapi,name,fetched_sku,fetched_url,short_description,description,woo_commerce_category_id,post_id)
product.is_stored_to_website = True
product.save()
print("Stored : {} \n".format(product.is_stored_to_website))
Я читал на некоторых форумах, что тема WordPress может быть проблемой для создания. Я изменил его, и проблема не решена.
Я что-то упускаю или неправильно пишу что-то связанное с вызовом API для создания?