株式会社スマレジの開発部でスマレジのサーバサイドを作っています

Postmanを使ってスマレジ・プラットフォームAPI(β版)を実行してみる

こんにちは!株式会社スマレジ、開発部のmasaです。 緊急事態宣言が解除されて、少しずつ元の生活に戻りつつありますが、 皆様の周りはいかがでしょうか?

スマレジでも、店舗再開のお問い合わせなどもいただいており、 少しずつではありますが、日常が戻ってきていることを感じています。

さて、今回からRedmine APIは少しお休みして、スマレジ・プラットフォームAPI(β版)の 紹介をしていきます。

Redmine APIについては、ブログとは別に記事を書いて、まとめて紹介予定なのでしばしお待ちください。 (記事やアプリ自体はストックがあるんですが、量が多くて、スマレジ関連のほかの話題を取り上げづらくなりまして(-_-;))

Smaregi Platform API !!

スマレジでは現在、サードパーティ向けのWebAPIと連携アプリの配信環境を整備しています。 将来的には作成したアプリは現在開発中のスマレジ・developersを通じて、スマレジユーザに向けて配信することができます。 そして、なんと配信したアプリには月額を設定することができ、収益を上げることもできちゃうようになるんです! (現在はβ版のAPI利用のみ可能)

今回は、そんな夢が広がるスマレジ・プラットフォームAPI(β版)の連携方法をご案内します! ※ 本投稿は2020/05/31時点のものです。最新の画面とは一部レイアウト・項目・認証方法法などが異なる場合があります。

0. 必要なもの

この記事で必要になるものは下記のとおりです。

  • メールアドレス
  • Postman

また、このシリーズでもGASやclaspを利用する予定なので、 流用予定の方はgoogleのアカウントをご用意いただくとよいと思います。

1. スマレジ・developersにユーザ登録する

smaregi.jp

上記がサードパーティの募集ページになります。 まずは概要を読んでいただき、「アプリ開発に参加する」→「無料でアカウント作成」から 開発者用アカウントを発行し、スマレジ・developersにログインします。

2. アプリを登録する

f:id:masa2019:20200531145633p:plain
ホーム画面

登録&ログイン後に上記のようなページ(あなたのアプリはまだ空だと思います)がでるので、赤枠の「アプリ」→「アプリを新規登録」から アプリを新規登録をします。

登録したらクライアントIDとクライアントシークレットを控えておきます。 どちらも「アプリ」の「認証」(↓)から確認できます。

f:id:masa2019:20200531151615p:plain
アプリの「認証」ページ

3.Postmanの設定をする

アクセストークンを取得するためのエンドポイントの情報を設定します。

  • HTTP_METHOD : POST
  • URL : https://id.smaregi.dev/authorize/token

先ほど取得したIDとシークレットをPostmanに設定します。 下図のようにAuthorizationBasic Authを選び、UsernameにクライアントID, Passwordにクライアントシークレットを設定します。

f:id:masa2019:20200531153343p:plain
Basic認証を設定する

Postmanをよく使用される場合は、IDとシークレットは変数として登録しておくといいと思います。

4. 認証用コードを取得する

f:id:masa2019:20200531150953p:plain
認証ページ
https://id.smaregi.dev/authorize?response_type=code&client_id={クライアントID}にアクセスすると、上記のような認証画面が開きます。

そして、認証すると、↓のような認可コードが現れます。(がっつり見せてますが、すでに再発行済みで下記のコードは無効なのでお気になさらず)

f:id:masa2019:20200531151048p:plain
認可コードをコピー!

これをコピーして、下図のように、Bodyx-www-dorm-urlencodedcodeをkeyにして入力し、同じようにgrant_typeauthorization_codeに設定しておきます。 そして、sendすると、下記のようにaccess_tokenrefresh_tokenが取得できます。

f:id:masa2019:20200531154713p:plain
アクセストークンを取得

5. 店舗取得APIを実行してみる

developerアカウントは無料でスマレジのほとんどの機能を利用することができます。(ただし検証用環境のため、登録上限などは小さく設定してあります) しかし作成して直ぐのdevelopersアカウントには、取引情報などはありません。 ただ、通常のスマレジ契約と同じで店舗は1つ生成されているのでそれを取得してみます。

f:id:masa2019:20200531160644p:plain
店舗取得APIの実行

画像のように、HTTP_METHODをGET、URLをhttps://api.smaregi.dev/{契約ID}/pos/stores/1にセットし、AuthorizationBearer Token、Tokenにさっき取得したaccess_tokenをセットします。 この状態でSendすれば、店舗情報が取得できます。

他のAPIについては仕様書へアクセスしてみてください。(「ドキュメント」→「仕様書」URLは↓) www1.smaregi.dev

駆け足でしたが、postmanを使ったプラットフォームAPIの実行を解説しました。 この内容はdevelopersのスタートガイドにも記載があります。(Postmanの設定を除く) 他の環境で実施される場合はそちらをご参考ください。