Используя Shopify API Python, добавьте новый продукт с ценой и 'require_shipping': False

Я пытаюсь добавить новый продукт через API Python Shopify. Я знаю, как добавить заголовок, текст и изображение, но у меня возникают проблемы с добавлением цены, и мне нужно иметь значение "require_shipping": False. Я нигде не могу найти, как этого добиться.

Это то, что я до сих пор.

import shopify    
API_KEY = 'dsfsdsdsdsdsad'
PASSWORD = 'sadsdasdasdas'

shop_url = "https://%s:%s@teststore.myshopify.com/admin" % (API_KEY, PASSWORD)
shopify.ShopifyResource.set_site(shop_url)



path = "audi.jpg"

new_product = shopify.Product()
new_product.title = "Audi pictures test "
new_product.body_html = "body of the page <br/><br/> test <br/> test"

###########this part is so far good. but the bottom part is not working#### 

variant = shopify.Variant(price=9.99)) # this does not work
new_product.variant() # this does not work
variant_2 = shopify.Variant(requires_shipping=False) #this does not work
new_product.variant_2() This does not work 



image = shopify.Image()

with open(path, "rb") as f:
    filename = path.split("/")[-1:][0]
    encoded = f.read()
    image.attach_image(encoded, filename=filename)

new_product.images = [image] # Here's the change
new_product.save()

1 ответ

Только опции префикса (например, product_id для вариантов, order_id для выполнения) должны быть переданы в качестве явных параметров в конструктор. Если вы хотите инициализировать атрибуты ресурса, вам нужно передать их как dict.

Вы также никогда не связываете свой новый вариант с новым продуктом.

Это должно помочь:

new_product = shopify.Product()
new_product.title = "Shopify Logo T-Shirt"
new_product.body_html = "<b>Test description</b>"
variant = shopify.Variant({'price': 9.99, 'requires_shipping': False})
new_product.variants = [variant]
new_product.save()
=> True

Вы также можете указать атрибуты ресурса после инициализации, как вы уже делаете для ресурса Product.

variant = shopify.Variant()
variant.price = 9.99
variant.requires_shipping = False

Другой вариант - сначала сохранить продукт и инициализировать вариант, передав product_id явно, например

shopify.Variant(product_id=1234567)

Взгляните на README для большего количества примеров использования.

Другие вопросы по тегам