PHPライブラリ for Yahoo!ショッピングAPI
「PHPライブラリ for Yahoo!ショッピングAPI」について
Yahoo!ストアに出店している自社のサイト管理やお客様のサイト管理システムなどの開発時に、PHPのプログラムからストアクリエーターにログインする事なくWEB APIを利用して簡単に情報を操作するためのライブラリです。
Yahoo! Developperの公式ドキュメントでYahoo! ID連携等で挫折した人にも、なるべく簡単に利用出来るようにしました。
商品の取得や登録・更新・削除、商品Yahoo!プロダクトカテゴリやブランドコードの検索、ストアカテゴリ操作や画像の操作まで様々な処理がすべて簡単なコードで可能になります。
注文API・在庫APIも利用可能ですので、受注管理や在庫更新にと活躍します。
※YahooID連動のため、受注の無人自動取込の処理でお困りの方は是非お問い合わせ下さい。
「.netライブラリ for RMS WEB SERVICE(楽天WebAPI)」と組み合わせて楽天との在庫連動も可能です。
Windowsアプリケーション開発用の「.netライブラリ for Yahoo!ショッピングAPI」も、発売中です。
リファレンスページは準備中ですので、もう少々お待ち下さい。
お問合せはこちらから。
Yahoo!ショッピングAPIの以下のAPI機能に対応しています。
| 出品管理に関連するAPI | |
|---|---|
| dataCheckHistorySummary | データチェック履歴一覧API |
| dataCheckHistoryDetail | データチェック履歴詳細API |
| publishHistorySummary | 反映履歴/未反映項目一覧API |
| publishHistoryDetail | 反映履歴/未反映項目詳細API |
| reservePublish | 全反映予約API |
| downloadRequest | ダウンロード要求API |
| downloadList | ダウンロード準備完了通知API |
| downloadSubmit | ダウンロード実行API |
| 商品に関連するAPI | |
| editItem | 商品登録API |
| updateItems | 商品一括更新API |
| moveItems | 商品移動API |
| sortItems | 商品表示順序変更API |
| setItemDisplayPriority | 商品表示優先順変更API |
| getItem | 商品参照API |
| deleteItem | 商品削除API |
| submitItem | 商品個別反映API |
| myItemList | 商品リストAPI |
| uploadItemFile | 商品アップロードAPI |
| 製品/SHPカテゴリ/ブランドに関連するAPI | |
| getShopProductCodeList | SHP製品コード検索API |
| getShopCategory | SHPカテゴリツリー取得API |
| getShopCategoryList | SHPカテゴリ/スペック検索API |
| downloadShopCategories | SHPカテゴリ/スペックダウンロードAPI |
| getShopBrandList | SHPブランドコード検索API |
| downloadShopBrands | SHPブランドコードダウンロードAPI |
| 在庫に関連するAPI | |
| getStock | 在庫参照API |
| setStock | 在庫更新API |
| uploadStockFile | 在庫アップロードAPI |
| ストアカテゴリに関連するAPI | |
| editStCategory | ストアカテゴリ編集API |
| getStCategory | ストアカテゴリ参照API |
| stCategoryList | ストアカテゴリ一覧API |
| moveStCategory | ストアカテゴリ移動API |
| deleteStCategory | ストアカテゴリ削除API |
| sortCategories | ストアカテゴリ表示順序変更API |
| 画像に関連するAPI | |
| itemImageList | 商品画像一覧API |
| uploadItemImage | 商品画像アップロードAPI |
| uploadItemImagePack | 商品画像一括アップロードAPI |
| deleteItemImage | 商品画像削除API |
| libImageList | 追加画像一覧API |
| uploadLibImage | 追加画像アップロードAPI |
| uploadLibImagePack | 追加画像一括アップロードAPI |
| deleteLibImage | 追加画像削除API |
| libDirectoryList | 追加画像ディレクトリ一覧API |
| addLibDirectory | 追加画像ディレクトリ登録API |
| moveLibDirectory | 追加画像ディレクトリ変更API |
| deleteLibDirectory | 追加画像ディレクトリ削除API |
| デザインに関連するAPI | |
| getPreviewHtml | プレビューHTML参照API |
| getCustomPageDesign | カスタムページ参照API |
| editCustomPageDesign | カスタムページ編集API |
| getCustomPageList | カスタムページ一覧API |
| deleteCustomPage | カスタムページ削除API |
| getStoreinfoFreespace | ストア設定フリースペース参照API |
| setStoreinfoFreespace | ストア設定フリースペース編集API |
| 注文に関連するAPI | |
| orderCount | 注文ステータス別件数参照API |
| orderList | 注文検索API |
| orderInfo | 注文詳細API |
| orderStatusChange | 注文ステータス変更API |
| orderPayStatusChange | 入金ステータス変更API |
| orderShipStatusChange | 出荷ステータス変更API |
| orderChange | 注文内容変更API |
| orderChangeHistory | 注文操作履歴一覧API |
| orderSplit | 注文分割API |
| orderItemAdd | 注文ライン追加API |
| orderPayNumber | 支払番号発行API |
| orderCouponCancel | クーポンキャンセルAPI |
| 問い合わせ管理に関連するAPI | |
| externalTalkAdd | メッセージ投稿API |
| externalTalkDetail | 質問詳細API |
| externalTalkList | 質問一覧API |
| externalTalkRead | 既読API |
| externalTalkComplete | 質問完了API |
| externalTalkPrivate | 質問非公開API |
| externalTalkFileAdd | ファイル投稿API |
| externalTalkFileDownload | ファイル取得API |
| externalTalkFileDelete | ファイル削除API |
基本的な使い方
このライブラリにはYahoo!ショッピングAPIのAPI群に合わせて、以下のクラスが存在します。
- YSAPI_SELLING
- YSAPI_ITEM
- YSAPI_PRODUCT
- YSAPI_STOCK
- YSAPI_CATEGORY
- YSAPI_IMAGE
- YSAPI_DESIGN
- YSAPI_ORDER
- YSAPI_QUESTION
- YSAPI_AUTH
- YSAPI_UTIL
どのクラスも基本的には同じ使い方です。
最初にYahooID連携の認証クラスを初期化します。
$auth = new YSAPI_AUTH('ApplicationID', 'Secret');商品APIの場合、
$auth->Authorization();
$api = new YSAPI_ITEM($auth, 'SellerID');これで、商品APIの利用準備が出来ました。
【証明書について】
注文API、問い合わせAPIは証明書の利用が可能なため
$api = new YSAPI_ORDER($auth, 'SellerID', 'SHP-ショップ名.crtのパス', 'ショップ名.keyのパス');とする事でリフレッシュトークンの有効期限を他のAPI群と同じように最大4週間まで延長可能です。
※注文API、問い合わせAPIは利用申請が必要です。
※証明書(.crt)、秘密鍵(.key)ファイルはYahooストアクリエーターよりダウンロードして下さい。
次に、商品情報の取得は、
$xml = $api->getItem('xxx-1234');これで商品情報が取得出来ました。
$item = new YSAPI_GET_ITEM_RESPONSE($xml->ResultSet->Result);
echo 'Price: '.$item->Price;
$xmlにsimplexmlデータが取得できます。
YSAPI_GET_ITEM_RESPONSEの初期化時に$xml->ResultSet->Resultを指定するとプロパティに各要素を展開します。
既存の商品データの内容を更新するにはリクエストモデル(YSAPI_EDIT_ITEM_REQUEST)に情報を設定してeditItemを実行します。
$req = new YSAPI_EDIT_ITEM_REQUEST();これでサイト上の販売価格は5,800円、ページ公開指定は非公開に設定されました。
$req->ItemCode = 'xxx-1234';
$req->price = 5800;
$req->display = 0;
$api->editItem( $req );
XMLの各キー名と同じ名前のプロパティで取得・設定が出来るので分かりやすいですね。
値の設定時に内部で型変換を行っています。
次に商品画像のアップロードの例です。
$auth = new YSAPI_AUTH('ApplicationID', 'Secret');これだけでOKです。
$auth->Authorization();
$api = new YSAPI_ITEM($auth, 'SellerID');
$api->uploadItemImage("./images/sample.jpg", "xxx-1234.jpg");
最初の引数はアップロードするファイルのパス、2つ目は登録画像名です。
(商品画像:商品コード.拡張子 / 商品詳細画像:商品コード_(1-5).拡張子)
【受注の取得】
検索条件を指定して受注情報を取得します。
(例) 2016年10月20日以降の新規受付の受注を取得$api = new YSAPI_ORDER($auth, "SellerID");
//検索条件の設定
$req = new YSAPI_ORDER_LIST_REQUEST();
//ステータスの指定
$req->OrderStatus = 2 //処理中
$req->IsSeen = false //未閲覧
'受注日時を指定
$req->OrderTimeFrom = '2016-10-20';
'受注リストを取得
$xml = $api->orderList($req);
foreach ($xml->Result->Search->OrderInfo as $order)
{
var_dump($order);
}
価格について
| ライセンス体系 | 用途 | 価格 (税抜) |
|---|---|---|
| 1開発ライセンス | 社内イントラネット開発、教育学習用 | 35,000円 |
| 1サーバーライセンス | 公開サーバー用 1サイト単位 | 50,000円 |
※Yahoo!ショッピングAPIをご利用になるには、Yahoo!デベロッパーネットワークよりAPIキーの発行と機能の利用設定が必要です。
※注文APIをご利用になるには、別途申請が必要となります。
※Yahoo!ID連携および注文API関連の仕様詳細についてはお問い合わせ下さい。
※ライブラリを利用した開発についてのご相談や他ECサイトのライブラリ開発もご相談下さい。
Yahoo!ショッピングAPIアプリケーション開発用の「.netライブラリ for Yahoo!ショッピングAPI」も発売中です。
この製品の購入希望、質問、お問合せは「製品に関するお問合せ」よりお願いいたします。