PHPライブラリ for Yahoo!ショッピングAPI リファレンス

  1. YSAPI_SELLING (出品に関するAPI)

  2. YSAPI_ITEM (商品に関するAPI)

  3. YSAPI_PRODUCT (製品/SHPカテゴリ/ブランドに関するAPI)

  4. YSAPI_STOCK (在庫に関するAPI)

  5. YSAPI_CATEGORY (ストアカテゴリに関するAPI)

  6. YSAPI_IMAGE (画像に関するAPI)

  7. YSAPI_DESIGN (デザインに関するAPI)

  8. YSAPI_ORDER (注文に関するAPI)

  9. YSAPI_ORDER (問い合わせ管理に関連するAPI) ※作成中

  10. YSAPI_AUTH (Y!Connect認証クラス)

  11. YSAPI_UTIL (共通ユーティリティクラス)

[ver1.05] 202.03.31
問い合わせ管理に関連するAPIクラス(YSAPI_QUESTION)の追加
(コンストラクタ)
new YSAPI_QUESTION($auth,$seller_id,$ssl_cert,$ssl_key);
(メソッド)
・メッセージ投稿API
 externalTalkAdd($topicId, $body, $fileList=array())
・質問詳細API
 externalTalkDetail($topicId)
・質問一覧API
 externalTalkList($request)
・既読API
 externalTalkRead($topicId)
・質問完了API
 externalTalkComplete($topicId, $completeConditionId)
・質問非公開API
 externalTalkPrivate($topicId)
・ファイル投稿API
 externalTalkFileAdd($topicId, $filePath="")
・ファイル取得API
 externalTalkFileDownload($key)
・ファイル削除API
 externalTalkFileDelete($key)
※詳細はYahooデベロッパーネットワークを参照
https://developer.yahoo.co.jp/webapi/shopping/question/

共通項目

コンストラクタ

すべてのAPIクラスのコンストラクタは__construct($auth,$seller_id="")となっています。
※注文API、お問い合わせAPIは__construct($auth,$seller_id="",$ssl_cert,$ssl_key)で証明書ファイルの指定が可能
例えば、商品APIの場合だと$auth = ('ApplicationID', 'Secret');
$api = new YSAPI_ITEM($auth, 'seller_id');
となります。
YSAPI_AUTHのインスタンスをひとつ作成したら、すべてのAPIクラスで使い回せます。
また、各APIクラスのコンストラクタ内でYSAPI_AUTH::Authorization()を自動実行しているためアクセストークンの取得は自動的に行えます。
※seller_idはYSAPIモジュールの先頭で定義されている場合は省略可能です。
※1つのスクリプトで時間のかかる処理を行うと、各APIクラスのファンクション実行時にアクセストークンの有効期限切れで失敗する場合があります。その場合には、定期的にYSAPI_AUTHを初期化またはYSAPI_AUTH::Authorization()の実行を行って下さい。

実行結果

すべてのAPIで関数を実行すると、結果はSimpleXMLオブジェクトで返されます。
getItemを実行した場合だと$xml = $api->getItem('商品コード');
$item = $xm->Result;
【結果】
$item->ItemCode -> '939124-001'
$item->PathList->Path[0] -> '<![CDATA[生活家電・調理家電・美容家電:生活家電:テレビ・AV機器]]>'
$item->PathList->Path[1] -> '<![CDATA[生活家電・調理家電・美容家電:生活家電]]>'
$item->Name -> '<![CDATA[防水CD/DVDプレーヤー/mini labo/ベルメゾンネット]]>'
$item->ProductCategory -> '646'
といった感じになります。

request/responseモデル

各APIで利用する情報responseモデル(YSAPI_GET_ITEM_RESPONSEなど)は、以下の方法で初期化して利用出来ます。
$xml = $api->getItem('商品コード');
$item = new YSAPI_GET_ITEM_RESPONSE($xml->Result);
echo $item->ItemCode;
>939124-001
また、取得した結果を利用して情報の更新を行う場合には
$item->Price = 1000;
$req = new YSAPI_EDIT_ITEM_REQUEST( $item );
$result = $api->editItem( $req );
と言った形で利用出来ます。

2020/03/31