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');
$auth->Authorization();
商品APIの場合、
$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();
$req->ItemCode = 'xxx-1234';
$req->price = 5800;
$req->display = 0;
$api->editItem( $req );
これでサイト上の販売価格は5,800円、ページ公開指定は非公開に設定されました。
XMLの各キー名と同じ名前のプロパティで取得・設定が出来るので分かりやすいですね。
値の設定時に内部で型変換を行っています。

次に商品画像のアップロードの例です。
$auth = new YSAPI_AUTH('ApplicationID', 'Secret');
$auth->Authorization();
$api = new YSAPI_ITEM($auth, 'SellerID');
$api->uploadItemImage("./images/sample.jpg", "xxx-1234.jpg");
これだけでOKです。
最初の引数はアップロードするファイルのパス、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」も発売中です。
この製品の購入希望、質問、お問合せは「製品に関するお問合せ」よりお願いいたします。