開発者向けサポート

Appsのインストール

Appsコードとパスワード

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

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

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

認証の流れ

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

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

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

以下のシーケンス図のような動きになります。

各処理の詳細

インストール画面

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

ebisumartへリダイレクト

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

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

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

認証コードの発行

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

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

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

POST https://{ルートURL}/app_oauth/access_token.html
 [ヘッダ]
     Content-Type: application/x-www-form-urlencoded
     Authorization: Basic {Basic認証}
 [送信データ]
     grant_type=authorization_code&code={認証コード}&redirect_uri={リダイレクトURI}&client_id={Appsコード}
ルートURL
データアクセスAPIページのアクセスURL を参考に、URLを指定してください。
Basic認証
Appsコードとパスワードをコロン(:)で連結し、Base64でエンコードして設定してください。
認証コード
リダイレクトURIにリダイレクトされてきた際のリクエストパラメーターに含まれていた認証コードです。
リダイレクトURI
インストール時にebisumartへリダイレクトした際に指定したリダイレクトURIと同一のものを指定します。
Appsコード
Apps登録時に登録したAppsコードを指定します。

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

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
 [ヘッダ]
     Content-Type: application/x-www-form-urlencoded
     Authorization: Basic {Basic認証}
 [送信データ]
     grant_type=refresh_token&refresh_token={リフレッシュトークン}&client_id={Appsコード}
ルートURL
データアクセスAPIページのアクセスURL を参考に、URLを指定してください。
Basic認証
Appsコードとパスワードをコロン(:)で連結し、Base64でエンコードして設定してください。
リフレッシュトークン
前回のトークン取得時に送られてきたリフレッシュトークン
Appsコード
Apps登録時に登録したAppsコードを指定します。
処理カスタマイズAPIの利用

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

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

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