Shopify метаполя продукта с API - PullRequest
0 голосов
/ 19 марта 2020

из того, что я прочитал, мы сможем массово обновлять метаполя продукта, используя аналогичный тип 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 нужно будет обновить, выдает ошибку об уникальном ключе ...

Есть ли другой способ, которым я должен go об этом? Я вызываю API в конечной точке продукта, а не в метафоле. Вот так:

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

Спасибо за помощь.

1 Ответ

0 голосов
/ 21 марта 2020

После создания метаполей вам необходимо передать их идентификаторы.

$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 вашими значениями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...