EC事業者様の海外販売をJ-goods(弊社提供の貴社専用越境ECサイト)でお手伝い

商品情報API

1.概要

商品情報APIには以下の機能があります。

  • 商品情報の取得
    GET /search.json 検索パラメータを指定して取得
    GET /{#item_code} 商品コードを指定して取得する
  • 商品情報の登録
    POST /item.json 商品情報を登録する
  • 商品情報の変更
    PUT /item.json 商品情報を更新する(一度に複数の商品を更新可能)
    PUT /{#item_code} 商品コードを指定して更新する
  • 商品情報の削除
    DELETE /item.json 商品情報を削除する(一度に複数の商品を削除可能)

2.商品情報APIの仕様

商品情報APIの仕様は以下のとおりです。

  • エンドポイント

    https://api.j-goods.net/v3/ (httpsのみ)

  • 認証

    OAuth2プロトコルによる認証(クライアント・クレデンシャルズフロー)

  • レスポンス

    JSON形式でレスポンスを返します。詳細は各メソッドの「レスポンス」をご確認ください。

3.商品情報APIの利用手順

商品情報APIを利用するために必要な作業は次のとおりです。

  1. クライアントID,クライアント・シークレットの取得

    J-goods上で取得できます。

  2. プログラムの作成

    定められた方法に従ってパラメータを組み立てて送信してください。
    APIエンドポイントは次のとおりです。https://api.j-goods.net/v3/ (httpsのみ)

  3. プログラムの実行

    プログラムを実行して,商品情報を操作します。

4.クライアントID等の取得

商品情報APIを利用するためには,クライアントID,クライアント・シークレットを取得する必要があります。

このクライアントID,クライアント・シークレット他のAPIと共通となっています。すでにクライアントID,クライアント・シークレットを取得している場合は,そのクライアントID,クライアント・シークレットを利用してください。

  1. 事業者様用マイページにログイン後,メニューの「登録情報変更」リンクをクリックしてください。

    登録情報変更リンクをクリック
  2. API認証キー」のリンクをクリックしてください。

    API認証キー
  3. API認証キー設定画面が表示されます。ここでクライアントID,クライアント・シークレットを取得,確認することができます

    認証用パスワードの指定

    クライアントIDの確認ボタンをクリックしてください。ダイアログが表示され,クライアントID,クライアント・シークレットを作成したり,確認したりすることができます。

  4. 確認ダイアログが表示されます。

    確認ダイアログ

    追加ボタンをクリックするとクライアントIDが生成されます。

  5. クライアントIDとクライアント・シークレットが生成されます。

    確認ダイアログ面

    クライアントIDとクライアント・シークレットを削除する場合は削除ボタンをクリックします。
    変更ボタンをクリックすると,クライアント・シークレットを変更できます。

5.アクセストークンの取得

APIを利用するには,取得したクライアントIDとクライアント・シークレットを用いてアクセストークンを取得する必要があります。

  1. エンドポイント

    アクセストークンを取得するためのエンドポイントは以下のとおりです(全API共通)。
    https://api.j-goods.net/token

  2. リクエストパラメータ

    アクセストークンを取得するために送信するパラメータは以下のとおりです(全API共通)。

    client_id 必須 上記で取得したクライアントID
    client_secret 必須 上記で取得したクライアント・シークレット
    grant_type 必須 "client_credentials"

  3. アクセストークンの取得

    アクセストークンを取得する処理のサンプルです。

    // TOKEN用エンドポイント
    $url = 'https://api.j-goods.net/token';
    // クライアントID
    $client_id = 'ci_xxxxxxxxxxxxxxxxxxxxxxxxxxx';
    // クライアント・シークレット
    $client_secret = 'sk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
    
    // エンドポイントにPOSTメソッドでパラメータを送信する
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_POST, TRUE);
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(array(
        'client_id' => $client_id,
        'client_secret' => $client_secret,
        'grant_type' => 'client_credentials',
    )));
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    
    // アクセスTOKENの有効期限は1時間
    $buf = curl_exec($ch);
    // JSON形式でTOKENが返されるので配列に変換
    $token = json_decode($buf, true);
    // TOKENの表示
    print_r($token);
                        

    APIを呼び出す際,取得したアクセストークンを Authorization ヘッダーBearer スキームに指定します。

6.リクエストパラメータの作成

APIを利用するには定められた方法に従ってリクエストパラメータを作成する必要があります。

  1. リクエストパラメータの設定

    リクエストパラメータはJSON形式で送信します。各パラメータについては各メソッドの「リクエストパラメータ」の項をご覧ください。

  2. Authorizationヘッダの設定

    AuthorizationヘッダのBearerスキームに取得したアクセストークンを付与します。

  3. リクエストパラメータの送信

    送信先は「https://api.j-goods.net/v3/」です。
    商品情報を1件取得する処理のサンプルです。

    // リクエストパラメータ
    $request_parameter = array(
        'first' => 1,   // 先頭から取得
        'limit' => 1    // データを1件だけ取得
    );
    // 送る際にはJSON形式にする
    $json = json_encode($request_parameter);
    
    // 商品情報APIのURL
    $url = 'https://api.j-goods.net/v3/';
    
    $ch = curl_init();
    
    // ヘッダーに取得したアクセストークンを設定する
    $header = [
        'Authorization: Bearer ' . $token['access_token'],
        'Content-Type: application/json',
    ];
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET'); // 商品情報の取得はGETメソッド
    curl_setopt($ch, CURLOPT_POSTFIELDS, $json);    // JSON形式のリクエストパラメータを設定
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HEADER, true);
    
    $response = curl_exec($ch);
    
    // レスポンスヘッダーの大きさを取得
    $header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
    // ヘッダー部分
    $header = substr($response, 0, $header_size);
    // ボディ部分
    $body = substr($response, $header_size);
    
    curl_close($ch);
    
    // JSON形式でデータが返ってくるので,配列の形式にデコード
    $json =  json_decode($body, true);
    // 取得したデータを表示
    print_r($json);
                        
  4. レスポンスの取得

    レスポンスもJSON形式で返ってきます。レスポンスの詳細は各メソッド「レスポンス」の項をご覧ください。

7.商品情報の取得

  • GET /search.json

    条件を指定して商品情報を取得します。

    • リクエストパラメータ

      ○:必須項目

      パラメータ 説明 必須 データ種別 備考
      first先頭データ整数(≧ 1)いくつ目のデータから返すかを指定。省略した場合は1が指定されたものとみなす。

      指定例

      {
          "first": 1
      }

      limit取得件数1以上50以下の整数取得するデータの件数を指定。省略した場合は「50」が指定されたものと見なす。

      指定例

      {
          "limit": 23
      }

      keyword検索キーワード文字列キーワード。検索対象は,商品コード,商品名,商品説明,オプションコード,トラッキング変数。

      指定例

      {
          "keyword": "長靴"
      }

      stock_status在庫0以上の整数0を指定すれば,在庫が0の商品を検索可能。1を指定すれば,在庫が残り1個の商品を検索可能。

      指定例

      {
          "stock_status": 0
      }

      item_condition商品コンディション0または10:新品,1:中古。

      指定例

      {
          "item_condition": 0
      }

      store_categoryストアカテゴリ文字列複数指定した場合,AND条件として検索する。

      指定例

      {
          "store_category": [
              "coffee",
              "instant"
          ]
      }

      price商品価格整数「lower」で価格の下限を,「upper」で価格の上限を指定する。「lower」と「upper」の指定はどちらか一方だけでも可。

      指定例

      {
          "price": {
              "lower": 1000,
              "upper": 3500
          }
      }

      sales_period販売期間日付文字列「start」で期間開始日を,「end」で期間終了日を指定する。販売期間を設定している商品が検索対象となる。「start」と「end」の指定はどちらか一方だけでも可。

      指定例

      {
          "sales_period": {
              "start": "2019-01-01 00:00:00",
              "end": "2019-01-03"
          }
      }

      bundling_shipment同梱設定文字列同梱設定を指定する。

      指定例

      {
          "bundling_shipment": "19-01"
      }

      create_timestamp作成日時日付文字列「start」で開始日を,「end」で終了日を指定する。指定した期間内に作成されたデータのみを検索する。「start」と「end」の指定はどちらか一方だけでも可。

      指定例

      {
          "create_timestamp": {
              "start": "2019-01-01",
              "end": "2019-01-03"
          }
      }

      update_timestamp更新日時日付文字列「start」で開始日を,「end」で終了日を指定する。指定した期間内に更新されたデータのみを検索する。「start」と「end」の指定はどちらか一方だけでも可。

      指定例

      {
          "update_timestamp": {
              "start": "2019-01-01",
              "end": "2019-01-03"
          }
      }

    • レスポンス

      JSON形式で返ります。

      要素 データ種別 説明
      StatusCode文字列リクエストが成功したかどうかを示すコード。
      Message文字列リクエストが成功したかどうかを示す文字列。
      Count整数返されたデータの件数。
      Total整数条件に適合するデータの総件数。
      First整数先頭のデータが何件目を示す。
      Items配列商品データ。詳しい内容はItems要素の詳細を参照。

      Items要素の詳細

      要素 データ種別 説明
      store_code文字列店コード
      item_code文字列商品コード
      item_name連想配列商品名。jp:日本語の商品名,en:英語の商品名,kr:韓国語の商品名,zh:中国語の商品名。
      price整数商品価格。オプションが存在する場合は,options要素に含まれる。
      options配列オプション情報。オプションが存在する場合にのみ返される。
      オプションコード,オプション値,在庫,商品ステータス,サブトラッキングコード,価格が含まれる。詳しい内容はoptions要素の詳細を参照
      option_name連想配列オプション名。jp:日本語のオプション名,en:英語のオプション名,kr:韓国語のオプション名,zh:中国語のオプション名。
      invoice_category文字列インボイス分類名。インボイスで使用する。
      weight数値商品重量。単位はg(グラム)。
      stock_qty整数在庫。オプションが存在する場合は,options要素に含まれる。
      item_status整数商品状態。1:販売中,2:完売,3:入荷待ち,4:販売中止。オプションが存在する場合は,options要素に含まれる。
      sales_period連想配列販売期間。「start」が期間開始日を,「end」が期間終了日を示す。空欄の場合は未設定。
      shipping_schedule文字列発送予定日。
      特定の日付に発送する場合:yyyy-mm-dd
      決済完了後xx日以内に発送する場合:0000-00-xx
      bundling_shipment文字列同梱設定。
      空欄の場合は同梱可能。「00-00」の場合は同梱不可。それ以外はbundling_shipmentが同一設定の商品のみ同梱可能
      max_qty整数(≧ 1) 最大購入可能数
      tracking_code文字列トラッキング変数。
      ex_option_name連想配列その他オプション項目の項目名。jp:日本語の項目名,en:英語の項目名,kr:韓国語の項目名,zh:中国語の項目名。
      ex_option_value連想配列その他オプション項目の設定値。jp:日本語の設定値,en:英語の設定値,kr:韓国語の設定値,zh:中国語の設定値。
      ex_option_require配列その他オプション項目の必須指定。入力(あるいは選択)が必須の「その他オプション」の項目は「T」,必須でない項目は空文字が返る。その他オプションの指定がない場合は空欄となる。
      auto_bill_disabled文字列
      item_urlURL国内向けECサイト商品ページURL。
      img_urlURL商品ページ用画像URL。
      thumbnail_urlURLサムネイル用画像URL
      advertisement整数広告掲載種別。海外顧客マイページ上の「お勧め商品」にて掲載(無償)を行うかどうかを示す。0:非掲載, 1:掲載(デフォルト)。
      jgoods_category文字列商品カテゴリ。カテゴリ分類は,カテゴリファイルj_goods_category_jp.zipをダウロードの上,解凍して参照。
      store_category配列ストアカテゴリ(独自カテゴリ)。各ストアが設定した独自カテゴリのID。
      information連想配列商品情報(HTMLのタグは不可)。jp:日本語の商品情報,en:英語の商品情報,kr:韓国語の商品情報,zh:中国語の商品情報。
      explanation連想配列商品説明(一部のHTMLのタグを使用可能)。jp:日本語の商品説明,en:英語の商品説明,kr:韓国語の商品説明,zh:中国語の商品説明。
      item_condition整数コンディション。0:新品(デフォルト),1:中古。
      relevant_links配列おすすめ商品の商品コード。最大20個。
      cart_related_items配列カート内関連商品コード。最大3個
      jan_code文字列JANコード。
      point連想配列付与ポイントの設定。code:付与率(付与ポイント),start:付与開始日,end:付与終了日。
      create_timestamp日付文字列作成日時。
      update_timestamp日付文字列更新日時

      options要素の詳細

      要素 データ種別 説明
      price整数商品価格
      option_code文字列オプションコード
      option_value連想配列オプション値。オプション値が複数(最大2個)存在する場合は,CSV形式となる。jp:日本語のオプション値,en:英語のオプション値,kr:韓国語のオプション値,zh:中国語のオプション値。
      stock_qty整数在庫。
      item_status整数商品状態。1:販売中,2:完売,3:入荷待ち,4:販売中止
      sub_tracking_code文字列副トラッキング変数

      レスポンスの実例

      {
          "StatusCode": "200",
          "Message": "OK",
          "Count": 2,
          "Total": "2",
          "First": 1,
          "Items": [
              {
                  "store_code": "000017",
                  "item_code": "BOOTS001",
                  "item_name": {
                      "jp": "カラフル長靴",
                      "en": "Colorful Boots"
                  },
                  "options": [
                      {
                          "price": 20001,
                          "option_code": "オレンジ_25cm",
                          "option_value": {
                              "jp": "orange,25cm"
                          },
                          "stock_qty": "",
                          "item_status": 2,
                          "sub_tracking_code": "22"
                      },
                      {
                          "price": 20001,
                          "option_code": "オレンジ_26cm",
                          "option_value": {
                              "jp": "orange,26cm"
                          },
                          "stock_qty": "",
                          "item_status": 2,
                          "sub_tracking_code": "11"
                      },
                      {
                          "price": 19074,
                          "option_code": "グリーン_25cm",
                          "option_value": {
                              "jp": "グリーン,25cm"
                          },
                          "stock_qty": "",
                          "item_status": 1,
                          "sub_tracking_code": "44"
                      },
                      {
                          "price": 18981,
                          "option_code": "グリーン_26cm",
                          "option_value": {
                              "jp": "グリーン,26cm"
                          },
                          "stock_qty": 70,
                          "item_status": 1,
                          "sub_tracking_code": "3333"
                      }
                  ],
                  "option_name": {
                      "jp": "COLOR,SIZE"
                  },
                  "invoice_category": "Boots",
                  "weight": "1500",
                  "sales_period": {
                      "start": null,
                      "end": null
                  },
                  "shipping_schedule": "0000-00-07",
                  "bundling_shipment": null,
                  "max_qty": "",
                  "tracking_code": "AAAA",
                  "ex_option_name": {
                      "jp": [
                          "名入れ",
                          "フォント",
                          "サイズ"
                      ],
                      "en": [
                          "name",
                          "font",
                          "size"
                      ]
                  },
                  "ex_option_value": {
                      "jp": [
                          "",
                          "Arial<>MSゴシック",
                          "18<>20<>22"
                      ],
                      "en": [
                          "",
                          "Arial<>MSゴシック",
                          "18<>20<>22"
                      ]
                  },
                  "ex_option_require": [
                      "T",
                      "",
                      "T"
                  ],
                  "auto_bill_disabled": "on",
                  "item_url": "https:\/\/www.j-goods.net\/123\/",
                  "img_url": [
                      "http:\/\/www.parts-price.com\/",
                      "http:\/\/www.parts-price.com\/"
                  ],
                  "advertisement": 0,
                  "thumbnail_url": "http:\/\/image1.shopserve.jp\/maruuo.pe.shopserve.jp\/pic-labo\/mimg\/Boot02-02.jpg",
                  "jgoods_category": null,
                  "store_category": [
                      "1012635"
                  ],
                  "information": {
                      "jp": "information",
                      "en": null,
                      "kr": null,
                      "zh": null
                  },
                  "explanation": {
                      "jp": "カラフルな長靴です。"
                  },
                  "item_condition": 0,
                  "relevant_links": [
                      "11",
                      "12",
                      "13"
                  ],
                  "cart_related_items": [
                      "BOOTS010",
                      "BOOTS011",
                      "BOOTS014"
                  ],
                  "jan_code": "4569951116179",
                  "point": {
                      "code": "3%",
                      "start": null,
                      "end": null
                  },
                  "create_timestamp": "2019-04-23 22:22:47",
                  "update_timestamp": "2019-04-24 19:05:29"
              },
              {
                  "store_code": "000017",
                  "item_code": "BOOTS002",
                  "item_name": {
                      "jp": "黒長靴"
                  },
                  "price": 15000,
                  "option_name": null,
                  "invoice_category": null,
                  "weight": "1600",
                  "stock_qty": "",
                  "item_status": 4,
                  "sales_period": {
                      "start": null,
                      "end": null
                  },
                  "shipping_schedule": "0000-00-07",
                  "bundling_shipment": null,
                  "max_qty": "",
                  "tracking_code": "HOGE",
                  "ex_option_name": null,
                  "ex_option_value": null,
                  "ex_option_require": "",
                  "auto_bill_disabled": null,
                  "item_url": "http:\/\/maruuo.pe.shopserve.jp\/SHOP\/BOOTS002.html",
                  "img_url": [
                      "http:\/\/image1.shopserve.jp\/maruuo.pe.shopserve.jp\/pic-labo\/Boot01.jpg"
                  ],
                  "advertisement": 0,
                  "thumbnail_url": "http:\/\/image1.shopserve.jp\/maruuo.pe.shopserve.jp\/pic-labo\/mimg\/Boot01.jpg",
                  "jgoods_category": null,
                  "store_category": [
                      "1075901"
                  ],
                  "information": null,
                  "explanation": {
                      "jp": "黒長靴<h2>黒長靴サブ紹介文1<\/h2><h3>黒長靴サブ紹介文2<\/h3>"
                  },
                  "item_condition": 0,
                  "relevant_links": [],
                  "cart_related_items": [],
                  "jan_code": null,
                  "point": {
                      "code": null,
                      "start": null,
                      "end": null
                  },
                  "create_timestamp": "2019-04-23 22:22:47",
                  "update_timestamp": null
              }
          ]
      }
  • GET /{#item_code}

    商品コードを指定して商品情報を取得します。この場合,URLは「https://api.j-goods.net/v3/{item_code}」となります。

    例えば,商品コード「BOOTS001」の商品情報を取得する場合のURLは「https://api.j-goods.net/v3/BOOTS001」です。

    • リクエストパラメータ

      ありません。商品コードはURLで指定します。

    • レスポンス

      条件を指定して商品情報を取得する場合と同じです。こちらの表でご確認ください。

8.商品情報の登録

  • POST /item.json

    条件を指定して商品情報を登録します。複数の商品をまとめて登録することも可能です(一度に50件まで)。

    • リクエストパラメータ

      パラメータ 説明 必須 データ種別 備考
      共通項目
      item_code商品コード必須文字列半角90文字以内で指定。

      指定例

      {
          "item_code": "BOOTS01"
      }

      jgoods_category商品カテゴリ文字列カテゴリ分類は,カテゴリファイルj_goods_category_jp.zipをダウロードの上,解凍して参照。

      指定例

      {
          "jgoods_category": "10"
      }

      advertisement広告掲載種別0または1海外顧客マイページ上の「お勧め商品」にて掲載(無償)を行うかどうかを指定。0:非掲載, 1:掲載(デフォルト)

      指定例

      {
          "advertisement": 1
      }

      store_categoryストアカテゴリ配列各ショップ独自カテゴリIDを指定することが可能。複数のカテゴリIDを指定する場合は,配列として指定する。IDに対応するカテゴリ名は商品カテゴリ設定フォームにて設定するかカテゴリAPIを使用して設定する。

      指定例

      {
          "store_category": [
              "coffee",
              "instant"
          ]
      }

      item_name商品名必須連想配列日本語は必須。他の言語は任意。 未登録言語は,機械翻訳の翻訳結果を利用して表示。

      指定例

      {
          "item_name": {
              "jp": "日本語の商品名",
              "en": "Product Name",
              "kr": "상품명",
              "zh": "产品名称"
          }
      }

      information商品情報連想配列HTMLは使用不可。日本語は必須。他の言語は任意。 未登録言語は,機械翻訳の翻訳結果を利用して表示。

      指定例

      {
          "information": {
              "jp": "日本語の商品情報",
              "en": "Product Information",
              "kr": "상품 정보",
              "zh": "产品信息"
          }
      }

      explanation商品説明連想配列HTMLは使用可(ただし使用できるタグには制限あり。)。日本語は必須。他の言語は任意。 未登録言語は,機械翻訳の翻訳結果を利用して表示。

      指定例

      {
          "explanation": {
              "jp": "日本語の商品説明",
              "en": "Description of item",
              "kr": "상품 설명",
              "zh": "产品描述"
          }
      }

      weight商品重量1以上の整数単位はg(グラム)。

      指定例

      {
          "weight": 3000
      }

      invoice_categoryインボイス分類名文字列インボイスで使用する分類名。半角英数字。

      指定例

      {
          "invoice_category": "Shoes"
      }

      sales_period販売期間日付文字列「yyyy-mm-dd HH:ii:ss」で指定。時間は省略可能。「start」で開始日を,「end」で終了日を指定する。「start」と「end」の指定はどちらか一方だけでも可。

      指定例

      {
          "update_timestamp": {
              "start": "2019-01-01 00:00:00",
              "end": "2019-01-31 23:59:59"
          }
      }

      shipping_schedule発送予定日文字列

      特定の日時を指定:yyyy-mm-dd
      (例)2019-04-01

      決済完了後○日以内:0000-00-XX
      XXは07~20,25,30,45,60,90のいずれかの値
      (例)0000-00-07 決済完了後7日以内

      指定例

      {
          "shipping_schedule": "0000-00-15"
      }

      bundling_shipment同梱設定文字列

      空欄の場合は同梱可能。
      完全同梱不可の場合は「00-00」を指定する。

      特定グループのみで同梱を許可する場合:半角英数字,"-","_"で10文字以内
      (例)Tokoyo-ten, Nagoya-tenなど

      指定例

      {
          "shipping_schedule": "19-04"
      }

      max_qty最大購入可能数1以上の整数指定できるのは1~999の整数。

      指定例

      {
          "max_qty": 1
      }

      tracking_codeトラッキング変数文字列商品コードとは別に,商品をトラッキングする文字列を設定できる。

      指定例

      {
          "tracking_code": "ABC1245"
      }

      auto_bill_disabled自動請求機能解除指定文字「on」の二文字か空文字のどちらかを設定する。

      指定例

      {
          "auto_bill_disabled": "on"
      }

      item_url国内向けECサイト商品ページURLURLアドレス形式。

      指定例

      {
          "item_url": "https:\/\/www.j-goods.net\/xxxxx\/"
      }

      thumbnail_urlサムネイル用画像URLURLアドレス形式。

      指定例

      {
          "thumbnail_url": "https:\/\/www.j-goods.net\/yyyyy.jpg"
      }

      img_url商品ページ用画像URLURL複数登録可能。複数の画像を登録した場合,最初の画像がメイン画像,それ以降はサブ画像という扱いとなる。

      指定例

      {
          "thumbnail_url": [
              "https:\/\/www.j-goods.net\/yyyyy_1.jpg",
              "https:\/\/www.j-goods.net\/yyyyy_2.jpg",
              "https:\/\/www.j-goods.net\/yyyyy_3.jpg"
          ]
      }

      item_condition商品コンディション整数0:新品(デフォルト),1:中古。

      指定例

      {
          "item_condition": 0
      }

      relevant_linksおすすめ商品配列(文字列)おすすめ商品の商品コードを指定する。最大20個。

      指定例

      {
          "relevant_links": [
              "BOOTS010",
              "BOOTS011",
              "BOOTS014"
          ]
      }

      cart_related_itemsカート内関連商品コード配列(文字列)カート内関連商品コードを指定する。最大3個。

      指定例

      {
          "cart_related_items": [
              "BOOTS010",
              "BOOTS014"
          ]
      }

      jan_codeJANコード文字列JANコードを設定する。

      指定例

      {
          "jan_code": "4569951116179"
      }

      option_nameオプション名連想配列(CSV文字列)

      一つのアイテムに付きオプションは2つまで設定することができ,各オプション名はCSV形式で指定する(各オプションを半角カンマ(,)で区切る)。

      オプション設定時,日本語は必須,他の言語は任意。未登録言語は,機械翻訳の翻訳結果を利用して表示。

      指定例

      {
          "option_name": {
              "jp": "色,サイズ",
              "en": "COLOR,SIZE"
          }
      }

      ex_option_nameその他オプション項目の項目名連想配列(文字列)

      日本語の項目名は必須。他の言語は任意。未登録言語は,機械翻訳の翻訳結果を利用して表示。各言語の項目数は一致していなければならない。

      指定例

      {
          "ex_option_name": {
              "jp": [
                  "名入れ",
                  "フォント",
                  "サイズ"
              ],
              "en": [
                  "name",
                  "font",
                  "size"
              ]
          }
      }

      ex_option_value その他オプション項目の設定値(日本語)連想配列(指定フォーマット)

      セレクトとして利用する場合,オプション値はオプション名に対応するように各値を<>で区切り,CSV形式で指定する。

      オプション値に値が入っている場合で,<>によって区切られていない場合は,オプション値はプレースホルダとしてテキスト欄に表示する。

      指定例

      {
          "ex_option_value": {
              "jp": [
                  "",
                  "Arial<>MSゴシック",
                  "18<>20<>22"
              ],
              "en": [
                  "",
                  "Arial<>MS Gothic",
                  "18<>20<>22"
              ]
          }
      }

      ex_option_requireその他オプション項目の必須指定配列(指定フォーマット)

      入力又は選択を必須にする場合Tを指定,任意の場合は空白を指定する。

      指定例

      {
          "ex_option_require": [
              "T",
              "",
              "T"
          ]
      }

      pointポイント連想配列付与ポイントを設定する。付与率は%(例:10%, 価格の10%),または即値(例:500,500ポイント固定)で指定する。
      code:付与率(付与ポイント),start:付与開始日,end:付与終了日。

      指定例

      {
          "point": {
              "code": "10%",
              "start": "2019-01-01",
              "end": "2019-04-30"
          }
      }

      price商品単価1以上の整数オプションが存在する場合はオプション要素で指定する。一つだけ指定した場合には,すべてのオプション商品の商品状態が変更される。
      1~9999999(7桁迄)

      指定例

      {
          "price": 15000
      }

      stock_qty在庫数1以上の整数 or 空文字オプションが存在する場合はオプション要素で指定する。
      一つだけ指定した場合には,すべてのオプション商品の商品状態が変更される。
      数字:指定数量 0~999(3桁迄)
      空文字:無制限

      指定例

      {
          "stock_qty": 10
      }

      item_status商品状態1~4の整数

      オプションが存在する場合はオプション要素で指定する。
      一つだけ指定した場合には,すべてのオプション商品の商品状態が変更される。
      指定できる値は以下のとおり。
      1:販売中
      2:完売
      3:入荷待ち
      4:販売中止
      指定がない場合は販売中(1)と見なす。1以外は弊社システムにて受注不可

      指定例

      {
          "item_status": 1
      }

      optionsオプションの指定配列オプションに関する情報を指定する。オプションコード,オプション値,在庫,商品ステータス,サブトラッキングコード,価格が含まれる。

      指定例

      {
          "options": [
              {
                  "option_code": "orange_25",
                  "option_value": {
                      "jp": [
                          "orange",
                          "25cm"
                      ]
                  }
              },
              {
                  "option_code": "orange_26",
                  "option_value": {
                      "jp": [
                          "orange",
                          "26cm"
                      ]
                  }
              }
          ]
      }

      オプション項目
      option_codeオプションコード必須文字列オプションを指定する場合は必須。
      sub_tracking_code副トラッキング変数文字列ネクストエンジン,zaiko Robotを利用して在庫管理を行いたいが,オプションコードでは紐づけできないなどの場合に使用。
      option_valueオプション値配列オプションごとに指定する。オプション値は2つまで設定することができる。
      price商品単価必須1以上の整数オプションごとに指定する。1~9999999(7桁迄)。
      stock_qty在庫数1以上の整数 or 空文字数字:指定数量 0~999(3桁迄)
      空文字:無制限
      item_status商品状態1~4の整数

      オプションごとに指定。一つだけ指定した場合には,すべてのオプション商品の商品状態が変更される。指定できる値は以下のとおり。
      1:販売中
      2:完売
      3:入荷待ち
      4:販売中止
      指定がない場合は販売中(1)と見なす。1以外は弊社システムにて受注不可

      指定例

      {
          "options": [
              {
                  "option_code": "orange_25",
                  "option_value": {
                      "jp": [
                          "orange",
                          "25cm"
                      ]
                  },
                  "sub_tracking_code": "abc1200",
                  "price": 21000,
                  "stock_qty": 10,
                  "item_status": 1
              },
              {
                  "option_code": "orange_26",
                  "option_value": {
                      "jp": [
                          "orange",
                          "26cm"
                      ]
                  },
                  "sub_tracking_code": "abc1201",
                  "price": 21180,
                  "stock_qty": 15,
                  "item_status": 2
              }
          ]
      }

    • リクエスト処理のサンプル

      $append_items = array(
          // 複数の商品を登録することが可能(1度に登録できるのは50個まで)
          // 商品1
          [
              'item_code' => 'T003',
              'item_name' => array(
                  'jp' => '半袖Tシャツ'
              ),
              'price' => '1900',
              'jgoods_category' => '10109',
              'item_status' => 1,
              'advertisement' => 0,
          ],
          // 商品2
          [
              'item_code' => 'T004',
              'item_name' => array(
                  'jp' => 'Tシャツ'
              ),
              'price' => '2100',   // すべてのオプションで価格が同じならここで設定可能
              'jgoods_category' => '10109',
              'item_status' => 1,
              'advertisement' => 0,
              'option_name' => array(
                  'jp' => [
                      'サイズ'
                  ],
                  'en' => [
                      'SIZE'
                  ],
              ),
              'options' => [
                  [
                      'option_code' => 'size_L',
                      'option_value' => [
                          'jp' => 'Lサイズ',
                          'en' => 'SIZE L',
                      ],
                      'stock_qty' => 10,
                  ],
                  [
                      'option_code' => 'size_S',
                      'option_value' => [
                          'jp' => 'Sサイズ',
                          'en' => 'SIZE S',
                      ],
                      'stock_qty' => 15,
                  ]
      
              ]
          ],
      );
      // 送る際にはJSON形式にする
      $json = json_encode($append_items);
      
      // 商品情報APIのURL
      $url = 'https://api.j-goods.net/v3/';
      
      $ch = curl_init();
      
      // ヘッダーに取得したアクセストークンを設定する
      $header = [
          'Authorization: Bearer ' . $token['access_token'],
          'Content-Type: application/json',
      ];
      curl_setopt($ch, CURLOPT_URL, $url);
      curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
      curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST'); // 商品情報の登録はPOSTメソッド
      curl_setopt($ch, CURLOPT_POSTFIELDS, $json);     // JSON形式のリクエストパラメータを設定
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
      curl_setopt($ch, CURLOPT_HEADER, true);
      
      $response = curl_exec($ch);
      
      // レスポンスヘッダーの大きさを取得
      $header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
      // ヘッダー部分
      $header = substr($response, 0, $header_size);
      // ボディ部分
      $body = substr($response, $header_size);
      
      curl_close($ch);
      
      // JSON形式でデータが返ってくるので,配列の形式にデーコード
      $json = json_decode($body, true);
      // 取得したデータを表示
      print_r($json);
                          
    • レスポンス

      JSON形式で返ります。

      認証エラー
      -- 要素 データ種別 説明
      --StatusCode文字列リクエストが成功したかどうかを示すコード。
      --Message文字列リクエストが成功したかどうかを示す文字列。
      パラメータエラー
      親要素 子要素 データ種別 説明
      resultStatusCode文字列リクエストが成功したかどうかを示すコード。
      item_code文字列エラーが発生した商品コード。
      Message文字列リクエストが成功したかどうかを示す文字列。
      Messages配列(文字列)エラー情報。必要に応じて返される。返されない場合もある。
      登録成功
      親要素 子要素 データ種別 説明
      resultStatusCode文字列リクエストが成功したかどうかを示すコード。
      Message文字列リクエストが成功したかどうかを示す文字列。
      Items配列商品データ。詳しい内容はItems要素の詳細を参照。

      レスポンスの実例

      {
          "result": [
              {
                  "StatusCode": "200",
                  "Message": "OK",
                  "Items": [
                      {
                          "store_code": "000017",
                          "item_code": "T003",
                          "item_name": {
                              "jp": "半袖Tシャツ"
                          },
                          "price": 1900,
                          "option_name": null,
                          "invoice_category": null,
                          "weight": null,
                          "stock_qty": "",
                          "item_status": 1,
                          "sales_period": {
                              "start": null,
                              "end": null
                          },
                          "shipping_schedule": "0000-00-07",
                          "bundling_shipment": null,
                          "max_qty": "",
                          "tracking_code": null,
                          "ex_option_name": null,
                          "ex_option_value": null,
                          "ex_option_require": "",
                          "auto_bill_disabled": null,
                          "item_url": null,
                          "img_url": [],
                          "advertisement": 0,
                          "thumbnail_url": null,
                          "jgoods_category": "10109",
                          "store_category": [],
                          "information": null,
                          "explanation": null,
                          "item_condition": 0,
                          "relevant_links": [],
                          "cart_related_items": [],
                          "jan_code": null,
                          "point": {
                              "code": null,
                              "start": null,
                              "end": null
                          },
                          "create_timestamp": "2019-04-24 22:25:06",
                          "update_timestamp": null
                      }
                  ]
              },
              {
                  "StatusCode": "200",
                  "Message": "OK",
                  "Items": [
                      {
                          "store_code": "000017",
                          "item_code": "T004",
                          "item_name": {
                              "jp": "Tシャツ"
                          },
                          "options": [
                              {
                                  "price": 2100,
                                  "option_code": "size_L",
                                  "option_value": {
                                      "jp": "Lサイズ",
                                      "en": "SIZE L"
                                  },
                                  "stock_qty": 10,
                                  "item_status": 1,
                                  "sub_tracking_code": null
                              },
                              {
                                  "price": 2100,
                                  "option_code": "size_S",
                                  "option_value": {
                                      "jp": "Sサイズ",
                                      "en": "SIZE S"
                                  },
                                  "stock_qty": 15,
                                  "item_status": 1,
                                  "sub_tracking_code": null
                              }
                          ],
                          "option_name": {
                              "jp": "サイズ",
                              "en": "SIZE"
                          },
                          "invoice_category": null,
                          "weight": null,
                          "sales_period": {
                              "start": null,
                              "end": null
                          },
                          "shipping_schedule": "0000-00-07",
                          "bundling_shipment": null,
                          "max_qty": "",
                          "tracking_code": null,
                          "ex_option_name": null,
                          "ex_option_value": null,
                          "ex_option_require": "",
                          "auto_bill_disabled": null,
                          "item_url": null,
                          "img_url": [],
                          "advertisement": 0,
                          "thumbnail_url": null,
                          "jgoods_category": "10109",
                          "store_category": [],
                          "information": null,
                          "explanation": null,
                          "item_condition": 0,
                          "relevant_links": [],
                          "cart_related_items": [],
                          "jan_code": null,
                          "point": {
                              "code": null,
                              "start": null,
                              "end": null
                          },
                          "create_timestamp": "2019-04-24 22:25:07",
                          "update_timestamp": null
                      }
                  ]
              }
          ]
      }

9.商品情報の更新

  • PUT /item.json

    条件を指定して商品情報を更新します。複数の商品をまとめて更新することも可能です(一度に50件まで)。

    • リクエストパラメータ

      条件を指定して商品情報を登録する場合と同じです。こちらの表でご確認ください。
    • リクエスト処理のサンプル

      // リクエストパラメータ
      $update_items = array(
          // 複数の商品を更新することが可能(1度に登録できるのは50個まで)
          // 商品1
          [
              'item_code' => 'T003',  // 必須
              'price' => '2150',      // 更新したいパラメータのみ指定
          ],
          // 商品2
          [
              'item_code' => 'T004',
              'price' => '1980',
              'ex_option_name' => [
                  "jp" => [
                      "名入れ",
                  ],
                  "en" => [
                      "name",
                  ]
              ],
              "ex_option_value" => [
                  "jp" => [
                      "プリントする名前", // 入力欄のプレースホルダーに表示される
                  ],
                  "en" => [
                      "printing name", // 入力欄のプレースホルダーに表示される
                  ],
              ],
              "ex_option_require" => [
                  "T",
              ],
          ],
      );
      // 送る際にはJSON形式にする
      $json = json_encode($update_items);
      
      // 商品情報APIのURL
      $url = 'https://api.j-goods.net/v3/';
      
      $ch = curl_init();
      
      // ヘッダーに取得したアクセストークンを設定する
      $header = [
          'Authorization: Bearer ' . $token['access_token'],
          'Content-Type: application/json',
      ];
      curl_setopt($ch, CURLOPT_URL, $url);
      curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
      curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT'); // 商品情報の更新はPUTメソッド
      curl_setopt($ch, CURLOPT_POSTFIELDS, $json);    // JSON形式のリクエストパラメータを設定
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
      curl_setopt($ch, CURLOPT_HEADER, true);
      
      $response = curl_exec($ch);
      
      // レスポンスヘッダーの大きさを取得
      $header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
      // ヘッダー部分
      $header = substr($response, 0, $header_size);
      // ボディ部分
      $body = substr($response, $header_size);
      
      curl_close($ch);
      
      // JSON形式でデータが返ってくるので,配列の形式にデーコード
      $json = json_decode($body, true);
      // 取得したデータを表示
      print_r($json);
                          
    • レスポンス

      JSON形式で返ります。

      条件を指定して商品情報を登録する場合と同じです。こちらの表でご確認ください。

  • PUT /{#item_code}

    商品コードを指定して商品情報を更新します。この場合,URLは「https://api.j-goods.net/v3/{#item_code}」となります。

    例えば,商品コード「BOOTS001」の商品情報を更新する場合のURLは「https://api.j-goods.net/v3/BOOTS001」です。

    • リクエストパラメータ

      条件を指定して商品情報を登録する場合と同じです。ただし商品コードはURLで指定しているため,「item_code」は必要ありません。 各パラメータについてはこちらの表でご確認ください。

    • レスポンス

      条件を指定して商品情報を登録する場合と同じです。こちらの表でご確認ください。

10.商品情報の削除

  • DELETE /item.json

    商品コードを指定して商品情報を削除します。複数の商品をまとめて削除することも可能です(一度に50件まで)。

    • リクエストパラメータ

      パラメータ 説明 必須 データ種別 備考
      共通項目
      item_code商品コード必須文字列削除する商品の商品コードを指定する。

      指定例

      {
          "item_code": "BOOTS01"
      }

      オプション項目
      option_codeオプションコード必須文字列削除するオプションを指定する場合は必須。オプションを指定しなれば,指定された商品コードの商品情報がすべて削除される。

      指定例

      {
          "options": {
              "option_code": "orange_25"
          }
      }

    • リクエスト処理のサンプル

      // リクエストパラメータ
      $delete_items = array(
          // 複数の商品を削除することが可能(1度に登録できるのは50個まで)
          // 商品1
          [
              'item_code' => 'T003',  // 必須
          ],
          // 商品2
          [
              'item_code' => 'T004',
              // 特定のオプションのみ削除する場合は,options要素にoption_codeを指定する
              'options' => [
                  [
                      'option_code' => 'size_L'
                  ],
                  [
                      'option_code' => 'size_M'
                  ],
              ],
          ],
      );
      // 送る際にはJSON形式にする
      $json = json_encode($delete_items);
      
      // 商品情報APIのURL
      $url = 'https://api.j-goods.net/v3/';
      
      $ch = curl_init();
      
      // ヘッダーに取得したアクセストークンを設定する
      $header = [
          'Authorization: Bearer ' . $token['access_token'],
          'Content-Type: application/json',
      ];
      curl_setopt($ch, CURLOPT_URL, $url);
      curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
      curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'DELETE'); // 商品情報の削除はDELETEメソッド
      curl_setopt($ch, CURLOPT_POSTFIELDS, $json);       // JSON形式のリクエストパラメータを設定
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
      curl_setopt($ch, CURLOPT_HEADER, true);
      
      $response = curl_exec($ch);
      
      // レスポンスヘッダーの大きさを取得
      $header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
      // ヘッダー部分
      $header = substr($response, 0, $header_size);
      // ボディ部分
      $body = substr($response, $header_size);
      
      curl_close($ch);
      
      // JSON形式でデータが返ってくるので,配列の形式にデーコード
      $json = json_decode($body, true);
      // 取得したデータを表示
      print_r($json);
                          
    • レスポンス

      JSON形式で返ります。

      認証エラー
      -- 要素 データ種別 説明
      --StatusCode文字列リクエストが成功したかどうかを示すコード。
      --Message文字列リクエストが成功したかどうかを示す文字列。
      パラメータエラー
      親要素 子要素 データ種別 説明
      resultStatusCode文字列リクエストが成功したかどうかを示すコード。
      item_code文字列エラーが発生した商品コード。
      Message文字列リクエストが成功したかどうかを示す文字列。
      Messages配列(文字列)エラー情報。必要に応じて返される。返されない場合もある。
      成功
      親要素 子要素 データ種別 説明
      resultStatusCode文字列リクエストが成功したかどうかを示すコード。
      item_code文字列エラーが発生した商品コード。
      Message文字列リクエストが成功したかどうかを示す文字列。

      レスポンスの実例

      {
          "result": [
              {
                  "item_code": "T003",
                  "StatusCode": "200",
                  "Message": "OK"
              },
              {
                  "item_code": "T004",
                  "StatusCode": "200",
                  "Message": "OK"
              }
          ]
      }

11. API利用時の注意点

利用時には以下の点にご留意ください。

  1. パラメータの文字コードは必ずUTF-8でなければならない。
  2. オプションを追加で登録する際,共通項目は他のオプションと同じ値を設定しなければならない。
  3. APIを呼び出せるのは1秒に付き20回である(アクセス制限あり)。