LoginSignup
6
1

More than 3 years have passed since last update.

楽天 RMS WEBSERVICEで店舗運営支援サービスの作成

Posted at

RMS WEBSERVICEとは?

RMS WEBSERVICEとは、RMS情報にアクセスするAPIのサービス名。

店舗運営支援サービスとは?

楽天が提供するWEB APIを使いサービスを提供することができ
店舗はそれを利用することができる。

サービスを提供するには?

開発サポートプログラムに参加しなければならない。
ランクが3つ用意されており、今回は月額1万円のMemberランクで参加してみる。

RMS WEB SERVICE管理画面

製品IDは楽天が設定した値、製品名は契約時に設定した値が表示される。

製品IDを押下すると詳細画面に遷移する

  • サービスシークレット
    • APIの認証に必要
  • ライセンス有効日数
    • 90日毎に開発したサービスのライセンスが切れるので、店舗側は発行済みライセンスを再契約する必要がある。
  • 利用店舗登録

    • 店舗のURLを入力して、利用店舗登録・承認依頼ボタンを押下。
    • 楽天から店舗へAPI利用申請 承認メールが送信される。
  • 利用店舗一覧

    • ライセンス一覧画面に遷移し、契約済みの店舗一覧が表示される。
    • 各店舗の有効期限と状態が表示される。
  • 利用API編集

    • サービスで使用するAPIを編集することができる。
    • 注意欄に記載があるが、変更すると店舗側にメールが送信される。

APIの承認方法

APIの認証に必要な情報は2つ

  • 製品詳細情報にあるサービスシークレット
  • 各店舗が承認した時に発行されるライセンスキー

serviceSecretとlicenseKeyをコロン(:)をセパレータとして結合し
Base64エンコードした値を"ESA "と接続したものを認証情報として利用します。
例) serviceSecret=aaa, licenseKey=bbb の場合、aaa:bbbをBase64エンコードした値(YWFhOmJiYg==)を利用して、以下の情報を認証情報に設定します。
 ESA YWFhOmJiYg==

javaでの実装例

String authorization = "ESA " + java.util.Base64.getEncoder().encodeToString((serviceSecret + ":" + licenseKey).getBytes());

リクエストヘッダーに承認情報を設定する

Header[] headers = new Header[]{
new BasicHeader("Authorization", authorization),
new BasicHeader("Content-Type", "application/JSON; charset=utf-8")
};

店舗側

  • RMSにログイン
    • 2 各種申請・設定変更メニューから
    • システム開発企業からのAPIアクセス許可設定の設定変更を押下

ご利用中の製品に表示されているライセンスキーを開発企業に通知する

6
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
1