ソフト開発 プログラミング 楽天RMS

RMS 在庫API(Inventory API)updateInventoryExternalで在庫更新するPHPサンプル解説・使い方

更新日:

RMS APIは楽天市場の店舗管理、商品管理の自動化を実現するAPIです。あまりサンプルがまとまっていないので、APIの全パターンを下記記事でまとめています。

楽天 RMS APIのPHPサンプル集・使い方 ほぼ全パターン(随時更新中)

今回は在庫の更新ができる在庫API(Inventory API)、updateInventoryExternalを解説します。

APIを使用できる環境がない場合は、下記から出店申請をしてください。高いので既に出店アカウントを持っている人に頼んで、テスト店舗を使用させてもらうのも手です。

APIを使用するための出店手続き・資料請求はこちら

サンプルソースコードは下記です。

updateInventoryExternalのサンプルソースコード

updateInventoryExternalの概要

updateInventoryExternalのSOAPのエンドポイントに更新したい商品の在庫情報をPOSTすると、在庫の情報をピンポイントで更新することができます。

更新できる項目例は下記です。

  • 通常在庫か項目選択肢別在庫設定か
  • 在庫戻し設定(キャンセル時に在庫を戻すか否か)
  • 納期管理番号
  • 在庫数(項目選択肢別在庫設定の場合縦軸横軸の名前を指定して)

これらの設定は商品APIのitem.updateでもできます。ただ、item.updateだと項目選択肢別在庫設定の際に面倒です。

例えば、下記のような項目選択肢別在庫があった時を考えてみましょう。

サイズ(縦軸) 色(横軸) 在庫数
S 4
S 4
M 4
M 4

S/赤の在庫数だけを0にしたいと思った場合、item.updateだと下記のようにパラメータを入れる必要があります。

サイズ(縦軸) 色(横軸) 在庫数
S 0
S 4
M 4
M 4

一つ変えたいだけなのに、全て入れる必要があるんですね。これは少しめんどい。

ただし、updateInventoryExternalだと下記のように部分的に更新をかけることができます。

サイズ(縦軸) 色(横軸) 在庫数
S 0

このように、在庫情報の更新の場合、在庫APIで更新をした方が多くの場合楽になります。

 

POST リクエスト例

リクエストは下記です。この例では項目選択肢別在庫設定の商品に対して、S/赤の在庫数を50に変更しています。

今回はSOAPクライアントを使ってPOSTするので、このリクエストを直接作ることはありませんが、参考までに。

 

ソースコード解説

やることは下記。

  • POSTリクエストする在庫情報クラスオブジェクト作成し、設定する
  • 在庫情報クラスをパラメータでSOAPクライアントを使ってPOST

です。

POSTリクエストする在庫情報クラスオブジェクト作成し、設定する

まずは送信する在庫情報を格納する、在庫情報クラスオブジェクトを作成します。

class/updateRequestExternalModel.php

 

class/updateRequestExternalItem.php

 

次に、そのクラスオブジェクトを作成し、各設定値をいれ、POSTを実行する関数updateInventoryExternalにぶち込みます。

updateVariationInventory.php

 

在庫情報クラスをパラメータでSOAPクライアントを使ってPOST

在庫情報のクラスをSOAPクライアントに入れて実行することで、SOAPクライアントが自動でリクエストXMLを作ってPOSTしてくれます。

API申請時に発行したサービスシークレットとライセンスキーを入れる必要があります。★部分。

updateVariationInventory.php

★2部分でauthorigetOrderの時にも指定したwsdlファイルの指定があります。このwsdlファイルはサーバー上の見えるところに公開されていないため、RMS APIの仕様書のリンク部分からダウンロードして、ローカルから読み込む必要があります。

 

まとめ

今回は在庫API、updateInventoryExternalを解説しました。入力項目が多い項目選択肢別在庫設定の在庫数を、このAPIで設定できれば、かなりの手間が削減できるかもしれませんね。

今回作成したサンプルソースコードは下記です。

updateInventoryExternalのサンプルソースコード

その他のAPIについても下記から辿れるようになってますので、他のAPIも知りたいという方はチェックしてみてくださいね。

楽天 RMS APIのPHPサンプル集・使い方 ほぼ全パターン(随時更新中)

APIを使用するための出店手続き・資料請求はこちら

  • この記事の筆者

Y平

札幌のWebデザイナー。オモコロライターも。Webデザイン、Web集客、コーダーできます。最近7年勤めた富士通を退職しました。1歳の娘いるのに年収下がっちゃう。仕事ください。

-ソフト開発, プログラミング, 楽天RMS

Copyright© バイラシー , 2018 All Rights Reserved.