アプリのインストール

アプリコードとパスワード

認証の際には、アプリごとに固有のコードとパスワードを利用します。このパスワードは決して第三者に漏れないよう注意してください。

コードとパスワードは、開発者サイトの「アプリの管理」にて、作成済みアプリ一覧に表示されている「パスワード表示」ボタンから確認できます。

コードは開発者がほかのアプリと重複しない値を自由に設定できますが、パスワードはシステムによって自動的に決定されます。

認証の流れ

認証のための処理の流れは以下のようになります。

  1. 店舗管理者がアプリのインストールページを表示
  2. 「インストール」などのボタンによって、ebisumartへリダイレクト
  3. 店舗管理者がebisumartにログインし、アプリによるアクセスを承認
  4. アプリのリダイレクトURIにリダイレクト
  5. リダイレクトされてきたリクエストに含まれる認証情報を用いて、ebisumartにアクセスしてアクセストークン・リフレッシュトークンを取得
  6. アクセストークンを用いて、データアクセスAPIにアクセス
  7. アクセストークンの有効期限が切れたら、リフレッシュトークンを用いて新しいアクセストークン・リフレッシュトークンを取得

ebisumartとアプリ間の通信は、すべてHTTPS経由となります。HTTPではアクセスできません。

各処理の詳細

インストールページ

アプリにて、店舗管理者に対して表示するインストール画面を提供してください。ここには、アプリの値段や機能、必要とする権限など、店舗管理者がインストールするかどうかの判断に必要な情報を表示してください。
「インストール」ボタンを表示してください。

ebisumartへリダイレクト

「インストール」ボタンを押されたら、店舗管理者のブラウザを以下のURLにリダイレクトしてください。

https://{ルートURL}/admin_authorize.html?scope={アプリが必要とする権限}&response_type=code&redirect_uri={リダイレクトURI}&client_id={アプリコード}&state={ステータス}
ルートURL
ショップ管理ツールのURLです。
アプリが必要とする権限
アプリが店舗管理者に求める権限を空白区切りで指定します。データアクセスAPIではリソースおよびその操作によって必要な権限が定められており、必要な権限を持っていなければアクセスすることができません。
リダイレクトURI
店舗管理者が承認した後にリダイレクトされてくるURIです。アプリ登録時に登録したリダイレクトURIと同一のものか、そのあとにリクエストパラメーターを付加したものを指定します。パーセントエンコーディングによってエンコードした値を指定してください。
アプリコード
アプリ登録時に登録したアプリコードを指定します。
ステータス
XSRFを防ぐための情報です。第三者に推測されない値を指定し、認証後のリダイレクト時に同じ値が含まれているかどうかを検証してください。
店舗管理者による承認

リダイレクトされてきたebisumartの画面にてアプリの情報が表示さます。店舗管理者はその情報をもとにアプリを承認するか否かを選択します。

リダイレクトURIにリダイレクト

店舗管理者が承認した場合、ebisumartが店舗管理者のブラウザをアプリのリダイレクトURIにリダイレクトします。このとき、リクエストパラメーターに以下の情報が追加されてきます。

code={認証コード}&state={ステータス}
認証コード
この後のトークン取得の際に利用します。
ステータス
ebisumartにリダイレクトした際に指定したステータスと同一の値が渡されてきます。この値が変化していないことを確認してください。
トークン取得

以下のURIにアクセスして、トークンを取得してください。(リダイレクトではありません。アプリから直接ebisumartにアクセスしてください。)

POST https://{店舗ルートURL}/app_oauth/access_token.html     [送信データ]     grant_type=authorization_code,     code={認証コード},     redirect_uri={リダイレクトURI},     client_id={アプリコード}
店舗ルートURL
インストール先の店舗のルートURLです。
認証コード
リダイレクトURIにリダイレクトされてきた際のリクエストパラメーターに含まれていた認証コードです。
リダイレクトURI
インストール時にebisumartへリダイレクトした際に指定したリダイレクトURIと同一のものを指定します。
アプリコード
アプリ登録時に登録したアプリコードを指定します。

また、アプリコードをID、アプリパスワードをパスワードとして、BASIC認証ヘッダをリクエストに含めてください。

リクエストパラメーターの値が正しければ、以下のようなレスポンスが返ってきます。

HTTP/1.1 200 OKContent-Type: application/json; charset=UTF-8Cache-Control: no-storePragma: no-cache{    "access_token":"{アクセストークン}",    "expires_in":{有効期間},    "refresh_token":"{リフレッシュトークン}",    "shop_id":"{店舗ID}"}
アクセストークン
データアクセスAPIにアクセスする際に必要になるトークンです。
有効期間
アクセストークンの有効期間です。単位は秒です。
リフレッシュトークン
アクセストークン再取得の際に必要になるトークンです。
データアクセスAPIへのアクセス

データアクセスAPIにアクセスする際に、ヘッダに以下の情報を含めてください。

Authorization: Bearer {アクセストークン}
トークンの再取得

アクセストークンの有効期間が過ぎると、そのトークンではアクセスできなくなります。その場合、アクセストークンと同時に送られてきたリフレッシュトークンを用いて、あらたなトークンを取得する必要があります。
そのためには、以下のURIにアクセスしてください。

POST https://{店舗ルートURL}/app_oauth/access_token.html     [送信データ]     grant_type=refresh_token,     refresh_token={リフレッシュトークン},     client_id={アプリコード}
店舗ルートURL
インストール先の店舗のルートURLです。
リフレッシュトークン
前回のトークン取得時に送られてきたリフレッシュトークン
アプリコード
アプリ登録時に登録したアプリコードを指定します。
処理カスタマイズAPIの利用

処理カスタマイズAPIを利用すると、ebisumartの挙動をアプリによってカスタマイズすることができます。処理カスタマイズAPIを利用するための流れは以下のようになります。

  1. あらかじめデータアクセスAPIを用いて、利用する処理カスタマイズAPIの情報を登録しておく。通常、この処理はアプリのインストール処理にてトークンを取得した直後に行います。
  2. エンドユーザーや店舗管理者がebisumartにアクセスした際、登録した処理カスタマイズAPIの情報に基づいてアプリが呼び出される。
  3. アプリの呼び出し結果に応じて、ebisumartの処理内容が変化する。

処理カスタマイズAPIによってアプリが呼び出されると、アプリはebisumartから渡される情報に基づいて処理を行います。また、データアクセスAPIを用いてebisumart上の必要な情報を参照・更新することもできます。

この説明は参考になりましたか?

はい いいえ

0人の方が「参考になった」と言っています。
0人の方が「参考にならなかった」と言っています。