更新:已解決。一個編碼錯誤導致variants
被包裝在一個附加列表中,產生一個語法上有效但語義無效的(用於Shopify)JSON對象。Shopify產品創建422:「您需要爲[選項名稱]添加選項值」
我正試圖在Shopify上創建一個帶有多個選項和多個變體的產品。一切都很順利,除了我被絆倒在產品選項。
的JSON我張貼的有關部分如下:
"options":[
{
"position":1,
"name":"Style"
},
{
"position":2,
"name":"Size"
},
{
"position":3,
"name":"Color"
}
每個變種看起來是這樣的:
{
"price":"##.##",
"option2":"S",
"compare_at_price":"##",
"weight_unit":"lb",
"option3":"Black",
"old_inventory_quantity":1,
"option1":"Men's Premium T-Shirt",
"inventory_management":null,
"weight":0.0,
"title":"Men's Premium T-Shirt/S/Black",
"requires_shipping":true,
"inventory_quantity":1,
"fulfillment_service":"manual"
},
Here's a link to the entire JSON I'm attempting to POST.
當我張貼此JSON來https://STORE_NAME.myshopify.com/admin/products.json
,我收到一個422狀態代碼和以下錯誤消息:
{'errors': {'base': ['You need to add option values for Size', 'You need to add option values for Color']}}
我不確定我發送的JSON有什麼問題,我很感謝您的建議或正確方向的指針。
以下是我得到了我在哪裏:
- 沒有嘗試在字典中
"options"
進入POST給了我的'The variant 'Men's Premium T-Shirt' already exists'
形式的錯誤;研究這導致我引入"options"
條目。 - 我剛剛從
"options": {"name": "Style", "name": "Color", "name": "Size"}
開始,但是這隻創建了一個只有一個變體的產品 - 「默認標題」。 - 刪除樣式選項給我一個關於顏色的錯誤消息。刪除大小以及創建一個變體「默認標題」產品。
最後一點尤其讓我懷疑某種語法錯誤 - 與第一個選項沒有正確關閉的括號相關的內容,讀取下兩個選項作爲其選項值,然後接下來的兩個選項在寒冷中被遺漏。但是我已經通過解析器和格式化程序運行了這個JSON,並且它似乎已經結束了。此外,谷歌搜索Shopify "You have to add option values for"
返回完全0報價完整的報價。
Shopify的官方文檔似乎並不需要「選項」塊 - 請參閱「創建具有多種產品變體的新產品」here - 但Shopify的API論壇和其他地方的人表示這是絕對必要的。
我覺得我在這裏犯了一個簡單的錯誤,但對於我的生活我找不到它。任何指針將非常感激。
我通過手動檢查每個變體;每個人都有適當的'option1','option2'和'option3'的值。另外,我注意到你沒有在'options'塊中指定選項的值;我認爲那不是必要的,那麼? – ModelHX
對,Shopify可以自動生成。你介意發佈你正在製作的請求的整個JSON嗎? –
我已經添加了一個指向整個JSON的pastebin的鏈接,並從'options'塊示例中刪除了這些值(錯誤仍然存在)。 – ModelHX