通过API更新Shopify上的价格,但不能使用PHP和curl


Updating price on Shopify via API not working PHP and curl

我的产品没有任何变体。我可以更新非变量值,但由于某种原因,我无法更新价格,这是一个(似乎是必需的)变量的一部分。

 $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"
        )
    )   
);
相关文章: