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

RMS 受注API(Order API) 受注取得処理(getOrder)のPHPサンプル解説・使い方

更新日:

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

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

今回は受注API(Order API)、getOrderのサンプルを解説します。

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

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

 

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

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

注意ポイント

楽天ペイ移行後の注文は楽天ペイ受注API(RakutenPayOrderAPI)のgetOrderを使う必要があります。楽天ペイ移行後の店舗向けの注文を取得したい方は下記をご確認ください。

RMS 楽天ペイ受注API(RakutenPayOrderAPI) getOrderで注文情報を取得するPHPサンプル解説・使い方


getOrderの概要

getOrderを使えば、店舗に入った注文の内容を取得することができます。

例えば受注の支払いステータスを見て、authori APIなどでカード自動決済を行ったり、入金状況を見て受注ステータスを自動で発送待ちに変更したりなど、他のAPIと連携させた用途が考えられます。

RMS 決済API(Payment API) オーソリ処理(authori)のPHPサンプル解説・使い方

 

getOrderはSOAP APIです。エンドポイントにPOSTすると、指定の条件の注文をXMLで取得できます。

指定する検索パラメータの例は下記です。

  • 受注番号
  • 注文の入った日付で範囲指定

取得できる注文の情報は下記です。(多すぎなので有用そうなものを抜粋)

  • 注文番号
  • 購入された商品の情報、価格、個数など
  • 支払い方法(クレジットカード決済やコンビニ決済、楽天バンク決済、楽天口座決済や楽天マルチ決済など)
  • クレジットカードの決済ステータス(オーソリ済みとか)
  • 楽天バンク決済の決済ステータス(振替依頼済とか)
  • 配達方法や配送日時指定など
  • 購入者の住所情報など
  • 受注ステータス(新規受付とか発送待ちとか)

 

POST リクエスト例

下記のようなリクエストを送ります。SOAPなので注意。

この例では、2018-07-02から2018-06-02までの、全てのオーダータイプ(通常購入や、共同購入、オークションとかなんとかとか)の注文を取得するPOSTです。

 

期間指定だけでなく、受注番号で直接指定もできます。その場合は下記。

 

レスポンス例

下記のような感じで返ってきます。orderModel単位が1つの受注で、その中のpackageModel->itemModelに注文された商品の情報が入ってくる形。settleMentNameやcardStatus、rBankStatusなどを組み合わせて解析することで、入金済か否かも判定できます。

入金状況を確認する際に注意なのですが、楽天マルチ決済、楽天口座決済(銀行振込)については入金状況を確認する術がないらしいです。入金状況を確認できるのは支払い方法がクレジットカード(cardStatus)と楽天バンク決済(rBankStatus)の場合だけなので注意しましょう。この辺問い合わせで詳しく聞いたら担当の方が教えてくれました。

Y平
結構突っ込んだことでも楽天担当は答えてくれるゾ!

 

ソースコード解説

やることは超簡単で下記。

  • POSTリクエストする検索条件のパラメータのクラスを作成
  • SOAPクライアントを用いて検索条件のパラメータクラスでPOSTする

POSTリクエストする検索条件のパラメータのクラスを作成

例のごとくSOAPクライアントを用いて、検索条件のクラスをパラメータにしてコールすると、SOAPクライアントがいい感じのリクエストXMLを作ってくれます。stringで文字列連結してxmlを作る必要はありません。

まずはリクエストとして設定する検索条件のクラスを作成します。

class/getOrderRequestModel.php

 

クラスを作ったら、検索条件を入れて、POSTの関数getOrderをコール。

getOrder.php

 

SOAPクライアントを用いて検索条件のパラメータクラスでPOSTする

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

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

getOrder.php

 

authoriの時と同じくSOAPクライアントにWSDLファイルを渡すのがミソです。order APIの場合はwsdlファイルのURLは下記でした。

https://api.rms.rakuten.co.jp/es/1.0/order/ws?WSDL

 

まとめ

getOrderを使えば、注文が入った際にオーソリをしてみたり、受注状況を見て何かをしたい場合に威力を発揮します。

試してみたい方は是非下記から資料請求などをして準備をはじめてみてくださいね。

getOrderのサンプルソースコードはこちら

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




  • この記事の筆者

Y平

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

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

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