Меня очень смущает документация по Shopify. Я хотел использовать их Javascript Buy SDK. Следуя их простому примеру получения продукта, в документации говорится, что «Прежде чем вы сможете получить продукт или коллекцию, вам необходимо запросить идентификатор витрины. После того, как вы получите идентификатор продукта или идентификатор коллекции, вы можете получить продукт или коллекцию с помощью SDK ".
Итак, используя приложение Shopify Graphiql и из примера для получения идентификатора витрины, запрос выглядит следующим образом.
{
shop {
productByHandle(handle: "my-own-product-handle") {
id
}
}
}
ожидаемый идентификатор возврата чем-то похож на "id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0LzczNDE0OTkzOTk="
в каком-то закодированном значении. Но, тем не менее, идентификатор, который я получаю, похож на URL-адрес. Вот что я получил взамен.
{
"data": {
"shop": {
"productByHandle": {
"id": "gid://shopify/Product/1349634097238"
}
}
},
"extensions": {
"cost": {
"requestedQueryCost": 2,
"actualQueryCost": 2,
"throttleStatus": {
"maximumAvailable": 1000,
"currentlyAvailable": 998,
"restoreRate": 50
}
}
}
}
Когда я использую этот URL-адрес для выполнения запроса, как показано в примере JS SDK
// Fetch a single product by ID
const productId = 'gid://shopify/Product/13496340972223';
client.product.fetch(productId).then((product) => {
// Do something with the product
console.log(product);
});
Я получаю сообщение об ошибке в консоли: Идентификатор переменной типа ID! было предоставлено недопустимое значение.
Я не могу понять, где мне не хватает точек.
Пожалуйста помоги!
Спасибо.