使用shopify_api Ruby gem创建带有图像的新产品

时间:2012-10-12 00:22:00

标签: ruby shopify

Shopify有一个RESTful API和一个方便的shopify_api ruby​​ gem,我已经用它来更新库存水平。

今天我必须做一些新的事情,用图像创建一个新产品,我想使用shopify_api gem而不是像rest-client或httparty这样的东西来与API交互。

Shopify API支持使用默认变体和产品图像同时创建新产品,Shopify将使用此调用下载该产品:

POST /admin/products.json

使用JSON请求字符串:

{
  "product": {
    "title": "Burton Custom Freestlye 151",
    "body_html": "<strong>Good snowboard!</strong>",
    "vendor": "Burton",
    "product_type": "Snowboard",
    "images": [
      {
        "src": "http://example.com/rails_logo.gif"
      }
    ]
  }
}

问题是如何使用shopify_api gem进行此操作?

干杯,

马库斯

2 个答案:

答案 0 :(得分:11)

我找到了一种不太优雅的方式。请参阅以下解决方案:

images = []
image = {}
image["src"] = "http://i.dailymail.co.uk/i/pix/2012/09/10/article-0-14EE3D4E000005DC-303_634x434.jpg"

images << image

variant = ShopifyAPI::Variant.new(
  :price                => 69.99,
  :inventory_management => 'shopify',
  :inventory_quantity   => 69, 
  :sku => "MS_TEST"
)

product = ShopifyAPI::Product.new(
:title => "MS Test",
:body_html =>  "<strong>Good snowboard!</strong>",
:vendor => "MS Test",
:product_type => "MS Test",
:images => images,
:variants => variant
)

答案 1 :(得分:0)

另一种可能的语法

new_product = ShopifyAPI::Product.new
new_product.title = "My product"
new_product.product_type = "My type"
new_product.vendor = "The vendor"
new_product.save

要注意的一件事是对new_product.save的调用,这是“完成”请求所必需的。