0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

スマレジからAPIでデータを取得してみた

Last updated at Posted at 2024-07-17

はじめに

こんにちは、すぎもんです:smile:

近年、タブレットを活用した各種SaaSの導入が進んでおり、従来型のPOSシステム以外にもiPhoneやiPadなどの端末を利用したPOSシステムが普及しています。一方で、企業の基幹システムとタブレットのPOSレジシステムを連携させることは、システム間のデータ受け渡しが複雑になるため、簡単ではありません。
そこで、今回はHULFT Squareを使って、タブレットを使ったPOSレジシステムと企業の基幹システムを安全かつ確実に連携させる方法をご紹介します。

スマレジとは

スマレジは、iPhoneやiPadなどの端末に専用のアプリをインストールして利用できるクラウド型のPOSレジシステムです。小売業や飲食・サービス業の店舗運営の効率化を目的としており、基本レジ機能のほか、リアルタイム売上分析や在庫管理、顧客管理などの機能が備わっています。
また、スマレジはAPIを公開しているので他システムと連携出来るようになっています。

今回やること

image.png
今回はスマレジのAPIを使ってHULFT Squareと連携出来るか試してみます。
実際にスマレジに登録されているデータを汎用的に扱いやすいCSV形式のファイルで出力する処理を作成していきます。

スマレジとの連携するのに必要な設定

スマレジ側の設定

1.スマレジのサンプルアプリ登録
2.スマレジのサンプルデータを作成

HULFT Square側の設定

3.コネクションの設定
4.アクセストークン取得処理
5.会員情報取得
6.実行結果確認

今回はスマレジ Developers アカウントを事前に用意したのでこちらを使用していきます。

スマレジ側の設定

1.スマレジのサンプルアプリ登録

API を利用するのに必要なクライアント ID とクライアントシークレットを払い出すためのサンプルアプリを登録します。

image.png

「スコープ」タブで利用したい API を有効にします。今回は「すべて」を有効化します。
※利用したい API だけでも大丈夫です。

image.png

「基本設定」のタブで「クライアントID」「クライアントシークレット」を確認することができます。

image.png

ここで取得した「クライアントID」「クライアントシークレット」は後にHULFT Squareで設定する際につかいます

2.スマレジのサンプルデータを作成

今回は「会員」情報のデータを作成します。

コンソール右上の Bento メニューからサンドボックス環境を開くことができます。

image.png

POS を選択し、"会員 > 新規登録" から会員データの登録を行います。データの量が多い場合は CSV でインポートすることも可能ですが、今回は手動で登録を行います。

image.png

今回はスマレジの「会員」の項目に
このようにデータを登録したのでこのデータをCSVに出力します。
image.png

HULFT Square側の設定

3.コネクションの設定(トークンと会員情報取得API)

まずはHULFT SquareでURLを実行するのに必要なコネクションの設定をしていきます。
スマレジのAPIは仕様書によると最初にアクセストークンを取得してきて、そのトークンを元に実際に必要なデータを取得します。

そのため、今回実行したいリクエスト URLは2つあります。

3-1 ➀「アクセストークン」を取得するためのリクエストURL (アクセストークンAPI )
3-2 ➁「会員情報」を取得するためのリクエスト URL ( プラットフォームAPI)

3-1 ➀アクセストークン取得するためのリクエストURL

まずは、アクセストークンを取得するためのURLを設定していきます。

RESTコネクターを選択して下記の内容を登録します。

設定箇所 設定値
名前 REST接続(スマレジ)アクセストークン取得
URL https://id.smaregi.dev

image.png

スマレジのAPIを使用する場合は、一度APIで取得したアクセストークンを元に、取得したいデータ(会員情報)のAPIを実行する必要があります。

3-2 ➁「会員情報」を取得するためのリクエスト URL

次に、今回取得したい会員情報のデータを取得するためのURLを設定していきます。

RESTコネクターを選択して下記の内容を登録します。

設定箇所 設定値
名前 REST接続(スマレジ)会員情報
URL https://api.smaregi.dev

image.png

以上でコネクションの設定は完了です。

4.アクセストークン取得処理

ここからは、HULFT Squareのデザイナー画面を開き実際に作成していきます。

4-1 POST実行処理

事前にご自身の契約IDを確認しておきましょう。
契約IDはスマレジの画面左上で確認出来ます。
image.png

ここではアクセストークンを取得するための設定をしていきます
まずは、POST実行アイコンを配置します
「ツールパレット > ネットワーク > REST > POST実行アイコン」をドラッグ&ドロップするとポップアップが出てきます。

image.png

➀「必須設定」タブ
接続先:REST接続(スマレジ)アクセストークン取得(Personal) ※「3.コネクションの設定」 ➀で設定したもの
パス:/app/<契約ID>/token ※<契約ID>はご自身のIDを設定してください。

image.png

➁「リクエスト設定」タブ
データ入力元:● データ
データ形式:フォーム
フォーム設定:grant_typescope

image.png

➂「ヘッダー設定」タブ
「リクエストヘッダ」で追加を押し下記を設定
Content-Type : application/x-www-form-urlencoded

image.png

➃「認証設定」タブ
認証:ベーシック認証
ユーザー:クライアントID
パスワード:クライアントシークレット
※「1.スマレジのサンプルアプリ登録」で取得したクライアントID、クライアントシークレットを指定してください。

image.png

4-2 mapping(1)アイコン

ここでは、使用可能な権限スコープを指定します。

"ツールパレット > 変換 > 基本 > マッピング"をドラッグ&ドロップします。
マッピングアイコンを「Statマッピングアクセストークン取得(POSTアイコン)」にドラッグ&ドロップして線でつなぎます。

マッピングアイコンを開きます。

image.png

【➀単一文字列定数】
まずは、クライアント・クレデンシャルズ(トークンエンドポイントにクライアントアプリケーションの ID とシークレットを提示することでアクセストークンの発行を受けるフロー)を設定します。

単一文字列定数アイコンを配置します。
"ツールパレット > 文字列 > 基本 > 単一文字列定数"をドラッグ&ドロップします
コメント:client_credentials
一行文字列:client_credentials

image.png

【➁複数文字列定数】
次にスコープ(連携の影響範囲)を設定します。

複数文字列アイコンを配置します。
"ツールパレット > 文字列 > 基本 > 複数文字列定数"をドラッグ&ドロップします
複数文字列定数ロジックに下記のように登録します。
コメント:scope
複数文字列定数:pos.customers:read pos.customers:write
※「会員/ポイントの参照」、「会員/ポイントの更新」以外の他のscopeを使用出来るように全て入れても大丈夫です。

image.png

スコープとは、範囲のことで、有効にしたスコープの対象のAPIのみ使うことができます。
公式マニュアル
mojikyo45_640-2.gif

最後に必要な項目を繋いでいきます

client_credentials (➀単一文字列定数アイコン) ➡ grant_typevalue
scope (➁複数文字列定数アイコン) ➡ scopevalue

image.png

4-3 mapping(2)アイコン

最後に取得したアクセストークンを出力します。
デザイナー画面に戻り、"ツールパレット > 変換 > 基本 > マッピング"をドラッグ&ドロップします。
アクセストークン取得(POSTアイコン) ➡ mapping(2)」をドラッグ&ドロップで線を繋ぎます。

image.png

取得したアクセストークンを出力するための変数を作成します。
「スクリプトをクリック > 新規作成 > スクリプト変数」を選択します。
今回はトークンという名前のスクリプト変数を作成しました。

image.png

mapping(2)を開いて
access_tokenトークン」に線でつなぎます。

image.png

ここで取得したアクセストークンを確認したい場合は、mapping(2)Endに繋ぎ実行することでログから確認出来ます。
mojikyo45_640-2.gif

5.会員情報取得

ここから会員情報を取得する処理を作成していきます。

5-1 GET実行アイコン

「ツールパレット > ネットワーク > REST > GET実行アイコン」をドラッグ&ドロップするとポップアップが出てきます。

アイコンの名前をわかりやすいように下記のように設定します
名前:会員情報取得(GET)

➀「必須設定」タブ
接続先:REST接続(スマレジ)アクセストークン取得(Personal)
  ※「3.コネクションの設定」 ➁で設定したものです
パス:/<契約ID>/pos/customers
  ※<契約ID>は「4.アクセストークン取得処理」と同様にご自身のIDを設定しましょう

image.png

➁「ヘッダ設定」タブ
リクエストヘッダに下記を登録
AuthorizationBearer ${トークン}
※「4.トークン取得処理」 mappingで設定したものです

image.png

5-2 CSV書き込みアイコン

今回はこちらのCSVファイルにデータを書き込みます。
image.png

「ツールパレット > ファイル > CSV > ファイル書き込みアイコン」をドラッグ&ドロップするとポップアップが出てきます。

今回は下記のように設定しました。
名前:csv書き込み
ファイル:/Personal/会員情報書き込み.csv ※出力先のファイルパスを指定します。

image.png
上記のように設定した後、列一覧を指定します。

5-3 フローを引く

「”4.トークン取得処理”  4-3 mapping(2)」で作成したアイコンの後から下記のようにフロー(線)を引いていきます。
mapping(2)」➡ 「会員情報取得(GET) アイコン」
会員情報取得(GET) アイコン」➡「CSV書き込みアイコン」の形でドラッグ&ドロップしマッパーを追加します。
image.png

5-4 mapperの設定

最後にmapperの中を設定します。
入力側(スマレジ側)の項目から、出力側(CSV側)に必要な項目を線でつなぎます。
image.png

今回は下記のように、スマレジの項目と出力するCSVファイルの項目を紐づけました。
mojikyo45_640-2.gif

ここまでで処理の作成は完成です。
image.png

6.実行結果確認

image.png

ログでもデータが挿入されているのが確認できます。
image.png

実際にCSVファイルに正常に書き込み出来ているのが確認できます。
image.png

最後に

いかがでしたでしょうか。今回は、スマレジからHULFT SquareでデータをCSVファイル形式で取得してみましたが、データベースや他のSaaS製品とスマレジを連携させることで活用の幅が広がるのではなでしょうか。
また、HULFT Squareはファイル転送ソフトであるHULFT8と連携してオンプレミス環境にそのままファイルを転送させることも可能です。
HULFT Squareについて知りたい方はこちら

ここまでお読みいただきありがとうございました。それでは、また!

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?