gpt4 book ai didi

Shopify 店面 API。将商品添加到购物车

转载 作者:行者123 更新时间:2023-12-02 16:09:10 32 4
gpt4 key购买 nike

我正在使用 Shopify 店面 API 查询产品列表并将所选商品添加到购物车。

我能够使用API​​列出所有产品,并返回找到的产品的variantID

这是返回产品的 GraphQL 查询

{
shop {
name
products(first: 1, query:"title=configurable-handmade-concrete-ball") {
edges {
cursor
node {
id
title
handle
variants(first:1) {
edges {
node {
id
title
}
}
}
}
}
}
}
}

和结果

{
"data": {
"shop": {
"name": "VonageTest",
"products": {
"edges": [
{
"cursor": "eyJvZmZzZXQiOjF9",
"node": {
"id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0LzEwNTU2MjYxNTE4",
"title": "Configurable Handmade Concrete Ball",
"handle": "configurable-handmade-concrete-ball",
"variants": {
"edges": [
{
"node": {
"id": "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0VmFyaWFudC80MDIwOTc1NjQzMA==",
"title": "Default Title"
}
}
]
}
}
}
]
}
}
}
}

为了将商品添加到购物车,您可以发出包含以下内容的 POST 请求

https://{store_name}.myshopify.com/cart/{variant_id}

使用graphQL响应中的variant_id执行此调用会返回404。但是如果您从页面获取variant_id,则可以检查xml页面并在那里使用variant_id这显示了这是如何完成的 https://help.shopify.com/themes/customization/cart/use-permalinks-to-preload-cart

那么为什么店面API中的variant_id与页面上的variant_id不同呢?

最佳答案

我刚刚遇到了同样的问题,终于能够在 Shopify GraphQL 文档中找到答案 - https://help.shopify.com/api/storefront-api/reference/scalar/id

基本上,Shopify GraphQL 响应中返回的 id 是实际 Shopify id 的 Base64 编码表示形式。因此,如果您从发布的结果中对变体 id 进行 Base64 解码,则该值为 gid://shopify/ProductVariant/40209756430

您需要从该值末尾解析数字 id,这将是 Shopify 用于所有其他 API 的 id

关于Shopify 店面 API。将商品添加到购物车,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43986263/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com