ショッピング
商品画像アップロードAPI
商品画像を未反映状態でアップロードします。
※ フロント反映はしません。別途反映処理が必要です。
PHP版のサンプルコードを掲載させていただきました。
サンプルコード(PHP)
リクエストURL
リクエストURL
本番環境
https://circus.shopping.yahooapis.jp/ShoppingWebService/V1/uploadItemImage
テスト環境
https://test.circus.shopping.yahooapis.jp/ShoppingWebService/V1/uploadItemImage
テスト用APIを利用したい場合は、こちらから利用申請をお願いします。
リクエストパラメータ
「RESTリクエストの構築(POST)」をご参照ください。
パラメータ | 値 | 説明 |
---|---|---|
seller_id (必須) |
string | ストアアカウントを指定します。 GETパラメータで渡してください。 |
file (必須) |
multipart/form-data | 画像ファイルを指定します。 GIFもしくはJPEG形式のみです。 画像一枚のサイズは、2MB以下です。 商品と画像を紐付けるためにはファイル名を以下のようにしてください。 商品画像:商品コード.拡張子 商品詳細画像:商品コード_(1-20).拡張子 ※拡張子は、jpg または gif になります。 |
サンプルリクエストURL
https://circus.shopping.yahooapis.jp/ShoppingWebService/V1/uploadItemImage?サンプルリクエスト
POST /ShoppingWebService/V1/uploadItemImage?Host: circus.shopping.yahooapis.jp
Authorization: Bearer <アクセストークン>
file=(sample1.jpg)
レスポンスフィールド
フィールド | 説明 |
---|---|
/ResultSet | クエリーレスポンスのすべてを含みます。 |
/ResultSet/Status | OK : 成功 |
/ResultSet/Result | 結果 |
/ResultSet/Result/Id | 画像ID(ストアアカウント_画像名の拡張子除く文字列) |
/ResultSet/Result/Name | アップロードしたファイル名 |
/ResultSet/Result/Url | 画像URL(未反映状態の画像を参照するURL) |
/ResultSet/Result/Url/Mode[A-L] | 表示モードごとのURL |
サンプルレスポンス
<?xml version="1.0" encoding="UTF-8" ?> <ResultSet> <Status>OK</Status> <Result> <Id>teststore_sample1</Id> <Name>sample1.jpg</Name> <Url> <ModeA>http://preview.image.shopping.yahoo.co.jp/RT/i/a/teststore_sample1</ModeA> <ModeB>http://preview.image.shopping.yahoo.co.jp/RT/i/b/teststore_sample1</ModeB> <ModeC>http://preview.image.shopping.yahoo.co.jp/RT/i/c/teststore_sample1</ModeC> <ModeD>http://preview.image.shopping.yahoo.co.jp/RT/i/d/teststore_sample1</ModeD> <ModeE>http://preview.image.shopping.yahoo.co.jp/RT/i/e/teststore_sample1</ModeE> <ModeF>http://preview.image.shopping.yahoo.co.jp/RT/i/f/teststore_sample1</ModeF> <ModeG>http://preview.image.shopping.yahoo.co.jp/RT/i/g/teststore_sample1</ModeG> <ModeH>http://preview.image.shopping.yahoo.co.jp/RT/i/h/teststore_sample1</ModeH> <ModeI>http://preview.image.shopping.yahoo.co.jp/RT/i/i/teststore_sample1</ModeI> <ModeJ>http://preview.image.shopping.yahoo.co.jp/RT/i/j/teststore_sample1</ModeJ> <ModeK>http://preview.image.shopping.yahoo.co.jp/RT/i/k/teststore_sample1</ModeK> <ModeL>http://preview.image.shopping.yahoo.co.jp/RT/i/l/teststore_sample1</ModeL> </Url> </Result> </ResultSet>
エラー
商品画像アップロードAPIはYahoo! JAPAN Web APIに共通のエラーメッセージおよびコードを返します。
・商品系API共通エラーコード
コード | HTTPステータスコード | 説明 |
---|---|---|
ed-00000 | 404 | ページが見つかりません。 |
ed-00001 | 500 | システムエラーが発生しました。 |
ed-00002 | 503 | サーバがメンテナンス中です。 |
ed-00003 | 400 | ストアアカウントが指定されていません。 |
ed-00004 | 400 | ストアアカウントが存在しません。 |
ed-00005 | 400 | ストアアカウントの指定が不正です。 |
ed-00006 | 400 | 反映またはアップロード中のため更新ができません。 |
・エラーコード
コード | HTTPステータスコード | 説明 |
---|---|---|
im-02001 | 400 | fileは必須項目です。 |
im-02002 | 400 | 画像サイズを2MB以下に変更して下さい。 |
im-02003 | 400 | ファイル形式はgif/jpgのみです。 |
im-02004 | 400 | 画像ファイル名が不正です。 |
im-02005 | 400 | 画像処理中です。 |
サンプルコード(PHP)
<?php $header = [ 'Content-Type: multipart/form-data', 'POST /ShoppingWebService/V1/uploadItemImage?seller_id=<ストアアカウント> HTTP/1.1', 'Host: circus.shopping.yahooapis.jp', 'Authorization: Bearer ' . <アクセストークン>, ]; $url = 'https://circus.shopping.yahooapis.jp/ShoppingWebService/V1/uploadItemImage?seller_id=<ストアアカウント>'; $param = array('file' => new CURLFile('<ファイルのパス>', '<ファイルのMIMEタイプ>', '<ファイルの名前>')); // 必要に応じてオプションを追加してください。 $ch = curl_init(); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST'); curl_setopt($ch, CURLOPT_HTTPHEADER, $header); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $param); $response = curl_exec($ch); curl_close($ch); ?>
利用制限
※短い時間の間に同一URLに大量にアクセスを行った場合、一定時間利用できなくなることもございます。(1クエリー/秒)
※大規模なサイト構築やアプリ開発等にご利用いただけるデベロッパー様や、法人様向けに、クエリー数制限/秒を緩和させていただきます。(無料)
申請受付は停止中です。
1日50,000リクエストを超える場合は、アプリケーションIDを追加してご対応ください。
利用約款
このAPIに関する利用約款はこちら。