我的产品没有任何变体。我可以更新非变量值,但由于某种原因,我无法更新价格,这是一个(似乎是必需的)变量的一部分。
$data = array(
'product' => array(
'id' => $id,
'title' => $title,
'body_html' => $description,
'tags' => $tags,
'variants' => array(array(
'id' => $variant_id,
'product_id' => $id,
'price' => $price))
)
);
$url = "https://$api_key:$api_pass@example.myshopify.com/admin/products/$id.json";
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec ($curl);
curl_close($curl);
$result = json_decode($result);
print_r($result);
标题、正文和标签更新良好,但价格没有。我与原始产品json进行了比较,它看起来很好。我做错了什么?
感谢
- 在github上检查PHP源代码https://github.com/NguyenDuyPhong/shopify_api_php
- 然后希望你能很好地使用API,包括"curl"来获得代币,然后向Shopify产品(admin/products)提出任何请求
我刚刚想好了,如果你还没有的话(我知道我这次聚会迟到了)
我也无法更新单个商品的价格,但如果我有一个与该产品相关的变体,我可以参考该ID,它会更新价格。唯一需要注意的是,你的所有产品都需要一个变体(这对我来说并不理想)。
我还看到您在变体中声明了两个数组,这是不必要的。
看起来像这个
$data = array(
'product' => array(
'id' => "Product ID Here",
'title' => $title,
'body_html' => $description,
'tags' => $tags,
'variant'=> array(
'id' => "Variant ID Here",
'price' => "199.99"
)
)
);