使用API​​的Shopify产品元字段

时间:2020-03-19 08:34:33

标签: php api shopify

根据我的阅读,我们应该能够使用类似如下的JSON类型批量更新产品元字段:

$updateInfo = array (
        "metafields" => [
              [
                  "namespace" => "product_info",
                  "key" => "available",
                  "value" => $available,
                  "value_type" => "string",
                  "description" => "Planned release date"
              ],
              [
                  "namespace" => "product_info",
                  "key" => "length",
                  "value" => sprintf("%.2f", $indLength),
                  "value_type" => "string",
                  "description" => "Item length"
              ],
                        ....]);

我正在向任何想知道...的人使用PHP Shopify SDK ...现在,如果一个字段没有任何元字段....它可以正常工作,但是只要API需要更新,它就会引发关于唯一键...

我应该采取其他方法吗?我在Product端点上调用该API,而不在Metafield上调用。 像这样:

$rez = $shopify->Product($product['id'])->put($updateInfo);

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

一旦创建了元字段,您就必须传递元字段ID来更新它们。

$updateInfo = array (
  "metafields" => [
    [
      "id" => $availableMetafieldId,
      "namespace" => "product_info",
      "key" => "available",
      "value" => $available,
      "value_type" => "string",
      "description" => "Planned release date"
    ],
    [
      "id" => $lengthMetafieldId,
      "namespace" => "product_info",
      "key" => "length",
      "value" => sprintf("%.2f", $indLength),
      "value_type" => "string",
      "description" => "Item length"
    ],
]);

用您的值替换$availableMetafieldId$lengthMetafieldId