2016-12-06 13 views
0

更新:解決済み。コードミスにより、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.

私はhttps://STORE_NAME.myshopify.com/admin/products.jsonに、このJSONをPOSTする場合422のステータスコードが表示され、次のエラーメッセージが表示されます。

私が送信しているJSONに何が問題なのかよく分かりません。正しい方向にいくつかのアドバイスやポインタがありがとうございます。


は、ここで私は私がどこになった方法は次のとおりです。辞書に"options"エントリーせずにPOSTしようとすると

  • 'The variant 'Men's Premium T-Shirt' already exists'の形で私にエラーを与えました。これを研究して、"options"エントリーを紹介しました。
  • 私はちょうど"options": {"name": "Style", "name": "Color", "name": "Size"}で始めましたが、これは1つの変種 - 「デフォルトタイトル」を持つ製品を作成しました。
  • スタイルオプションを削除すると、色についてのエラーメッセージが表示されます。サイズを削除すると、1つの異なる「デフォルトタイトル」製品が作成されます。

最後の点は、何らかの構文エラーがあると思います。最初のオプションが正しく閉じられず、次の2つのオプションをオプション値として読み込み、次の2つが風邪の中で放置された。しかし、私はこのJSONをパーサとフォーマッタを通して実行しました。それはチェックアウトしているようです。さらに、Shopify "You have to add option values for"のグーグルでは、引用符をそのまま0ヒットで返します。

Shopifyの公式ドキュメントでは、「オプション」ブロックが必要ないように見えることがあります。「複数の製品バリエーションを持つ新しい製品を作成する」hereを参照してください。ただし、ShopifyのAPIフォーラムや他のユーザーは、それは絶対に必要です。

私はここで単純なエラーをしているように感じますが、私の人生では私はそれを見つけることができません。どのポインタも非常に高く評価されます。

答えて

1

option3またはoptions2プロパティのいずれかが欠落している可能性がありますか?

{ 
    "product": { 
     "title": "Cool shirt", 
     "variants": [{ 
      "price": "4.00", 
      "option1": "big", 
      "option2": "mauve" 
     }, { 
      "price": "2.00", 
      "option1": "big", 
      "option2": "iridescent" 
     }, { 
      "price": "5.00", 
      "option1": "small", 
      "option2": "mauve" 
     }, { 
      "price": "1.00", 
      "option1": "small", 
      "option2": "iridescent" 
     }], 
     "options": [{ 
      "name": "Size", 
      "position": 1 
     }, { 
      "name": "Color", 
      "position": 2 
     }] 
    } 
} 

編集:サンプルを投稿するためのおかげでここで多数のオプションを持つ製品の最低限の例があります。 {"product": ... }オブジェクト内に商品データを送信する必要があります。また、サンプル内のバリアントデータの周囲にかっこが多すぎるように見えます。私の例のように、角括弧の1つのセットにバリアントを含めるようにしてください。

+0

私は各バリアントを手作業でチェックしました。それぞれが 'option1'、' option2'、 'option3'のための適切な値を持っていました。また、 'options'ブロックのオプションの値を指定していないことに気付きました。私はそれが必要ではない、それを取る? – ModelHX

+0

右のように、Shopifyは自動的に生成することができます。作成しているリクエストのJSON全体を投稿してもよろしいですか? –

+0

JSON全体のpastebinへのリンクを追加し、 'options'ブロックの例から値を削除しました(エラーが続く)。 – ModelHX

関連する問題