В Shopify добавьте товар через SKU, а не Variant ID - PullRequest
0 голосов
/ 04 мая 2019

Я знаю, что в Shopify вы можете добавить товар в корзину с идентификатором варианта следующим образом:

/cart/add?id=VARIANT_ID

Я пытаюсь найти способ добавить его вместо SKU., что-то вроде этого:

/cart/add?sku=SKU

Это было бы намного проще, наш SKU никогда не изменится.

Если это невозможно, есть способ узнать идентификатор вариантана основании SKU?

1 Ответ

1 голос
/ 04 мая 2019

Вы всегда покупаете вариант в Shopify.

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

Таким образом, краткий ответ: NO - вы не можете добавить товар через SKU.

Для вас второй вопрос:

есть ли способ узнать идентификатор варианта на основе SKU?

Да, но это действительно зависит от того, как вы реализуете часть SKU.

Если вы находитесь на странице продукта и у вас есть SKU, вы можете получить вариант_идентификатора, если отфильтровываете варианты.

Но если вы не находитесь на странице продукта и у вас есть, например, 500+ продуктов, то самый быстрый способ будет использовать GraphQL следующим образом:

{ 
  productVariants(first: 1, query: "sku:SOMESKU"){
    edges {
      node {
        id
      }
    }
  }
}

Где он вернет такой результат, как:

{
  "data": {
    "productVariants": {
      "edges": [
        {
          "node": {
            "id": "gid://shopify/ProductVariant/14726421905460"
          }
        }
      ]
    }
  },
  "extensions": {
    "cost": {
      "requestedQueryCost": 3,
      "actualQueryCost": 3,
      "throttleStatus": {
        "maximumAvailable": 1000,
        "currentlyAvailable": 997,
        "restoreRate": 50
      }
    }
  }
}

И вы передадите возвращенный идентификатор варианта в корзину.

...