はじめに
こんにちは、すぎもんです
近年、タブレットを活用した各種SaaSの導入が進んでおり、従来型のPOSシステム以外にもiPhoneやiPadなどの端末を利用したPOSシステムが普及しています。一方で、企業の基幹システムとタブレットのPOSレジシステムを連携させることは、システム間のデータ受け渡しが複雑になるため、簡単ではありません。
そこで、今回はHULFT Squareを使って、タブレットを使ったPOSレジシステムと企業の基幹システムを安全かつ確実に連携させる方法をご紹介します。
スマレジとは
スマレジは、iPhoneやiPadなどの端末に専用のアプリをインストールして利用できるクラウド型のPOSレジシステムです。小売業や飲食・サービス業の店舗運営の効率化を目的としており、基本レジ機能のほか、リアルタイム売上分析や在庫管理、顧客管理などの機能が備わっています。
また、スマレジはAPIを公開しているので他システムと連携出来るようになっています。
今回やること
今回はスマレジのAPIを使ってHULFT Squareと連携出来るか試してみます。
実際にスマレジに登録されているデータを汎用的に扱いやすいCSV形式のファイルで出力する処理を作成していきます。
スマレジとの連携するのに必要な設定
スマレジ側の設定
1.スマレジのサンプルアプリ登録
2.スマレジのサンプルデータを作成
HULFT Square側の設定
3.コネクションの設定
4.アクセストークン取得処理
5.会員情報取得
6.実行結果確認
今回はスマレジ Developers アカウントを事前に用意したのでこちらを使用していきます。
スマレジ側の設定
1.スマレジのサンプルアプリ登録
API を利用するのに必要なクライアント ID とクライアントシークレットを払い出すためのサンプルアプリを登録します。
「スコープ」タブで利用したい API を有効にします。今回は「すべて」を有効化します。
※利用したい API だけでも大丈夫です。
「基本設定」のタブで「クライアントID」「クライアントシークレット」を確認することができます。
ここで取得した「クライアントID」「クライアントシークレット」は後にHULFT Squareで設定する際につかいます
2.スマレジのサンプルデータを作成
今回は「会員」情報のデータを作成します。
コンソール右上の Bento メニューからサンドボックス環境を開くことができます。
POS を選択し、"会員 > 新規登録" から会員データの登録を行います。データの量が多い場合は CSV でインポートすることも可能ですが、今回は手動で登録を行います。
今回はスマレジの「会員」の項目に
このようにデータを登録したのでこのデータをCSVに出力します。
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 |
スマレジのAPIを使用する場合は、一度APIで取得したアクセストークンを元に、取得したいデータ(会員情報)のAPIを実行する必要があります。
3-2 ➁「会員情報」を取得するためのリクエスト URL
次に、今回取得したい会員情報のデータを取得するためのURLを設定していきます。
RESTコネクター
を選択して下記の内容を登録します。
設定箇所 | 設定値 |
---|---|
名前 | REST接続(スマレジ)会員情報 |
URL | https://api.smaregi.dev |
以上でコネクションの設定は完了です。
4.アクセストークン取得処理
ここからは、HULFT Squareのデザイナー画面を開き実際に作成していきます。
4-1 POST実行処理
ここではアクセストークンを取得するための設定をしていきます
まずは、POST実行アイコンを配置します
「ツールパレット > ネットワーク > REST > POST実行
アイコン」をドラッグ&ドロップするとポップアップが出てきます。
➀「必須設定」タブ
接続先:REST接続(スマレジ)アクセストークン取得(Personal)
※「3.コネクションの設定」 ➀で設定したもの
パス:/app/<契約ID>/token
※<契約ID>はご自身のIDを設定してください。
➁「リクエスト設定」タブ
データ入力元:● データ
データ形式:フォーム
フォーム設定:grant_type
、 scope
➂「ヘッダー設定」タブ
「リクエストヘッダ」で追加
を押し下記を設定
Content-Type
: application/x-www-form-urlencoded
➃「認証設定」タブ
認証:ベーシック認証
ユーザー:クライアントID
パスワード:クライアントシークレット
※「1.スマレジのサンプルアプリ登録」で取得したクライアントID、クライアントシークレットを指定してください。
4-2 mapping(1)アイコン
ここでは、使用可能な権限スコープを指定します。
"ツールパレット > 変換 > 基本 > マッピング
"をドラッグ&ドロップします。
マッピング
アイコンを「Stat
➡ マッピング
➡ アクセストークン取得
(POSTアイコン)」にドラッグ&ドロップして線でつなぎます。
マッピング
アイコンを開きます。
【➀単一文字列定数】
まずは、クライアント・クレデンシャルズ(トークンエンドポイントにクライアントアプリケーションの ID とシークレットを提示することでアクセストークンの発行を受けるフロー)を設定します。
単一文字列定数アイコンを配置します。
"ツールパレット > 文字列 > 基本 > 単一文字列定数
"をドラッグ&ドロップします
コメント:client_credentials
一行文字列:client_credentials
【➁複数文字列定数】
次にスコープ(連携の影響範囲)を設定します。
複数文字列アイコンを配置します。
"ツールパレット > 文字列 > 基本 > 複数文字列定数
"をドラッグ&ドロップします
複数文字列定数ロジックに下記のように登録します。
コメント:scope
複数文字列定数:pos.customers:read
pos.customers:write
※「会員/ポイントの参照」、「会員/ポイントの更新」以外の他のscopeを使用出来るように全て入れても大丈夫です。
スコープとは、範囲のことで、有効にしたスコープの対象のAPIのみ使うことができます。
公式マニュアル
最後に必要な項目を繋いでいきます
client_credentials
(➀単一文字列定数アイコン) ➡ grant_typeのvalue
scope
(➁複数文字列定数アイコン) ➡ scopeのvalue
4-3 mapping(2)アイコン
最後に取得したアクセストークンを出力します。
デザイナー画面に戻り、"ツールパレット > 変換 > 基本 > マッピング
"をドラッグ&ドロップします。
「アクセストークン取得
(POSTアイコン) ➡ mapping(2)
」をドラッグ&ドロップで線を繋ぎます。
取得したアクセストークンを出力するための変数を作成します。
「スクリプトをクリック > 新規作成 > スクリプト変数」を選択します。
今回はトークン
という名前のスクリプト変数を作成しました。
mapping(2)
を開いて
「access_token
➡ トークン
」に線でつなぎます。
5.会員情報取得
ここから会員情報を取得する処理を作成していきます。
5-1 GET実行アイコン
「ツールパレット > ネットワーク > REST > GET実行
アイコン」をドラッグ&ドロップするとポップアップが出てきます。
アイコンの名前をわかりやすいように下記のように設定します
名前:会員情報取得(GET)
➀「必須設定」タブ
接続先:REST接続(スマレジ)アクセストークン取得(Personal)
※「3.コネクションの設定」 ➁で設定したものです
パス:/<契約ID>/pos/customers
※<契約ID>は「4.アクセストークン取得処理」と同様にご自身のIDを設定しましょう
➁「ヘッダ設定」タブ
リクエストヘッダに下記を登録
Authorization
:Bearer ${トークン}
※「4.トークン取得処理」 mappingで設定したものです
5-2 CSV書き込みアイコン
「ツールパレット > ファイル > CSV > ファイル書き込み
アイコン」をドラッグ&ドロップするとポップアップが出てきます。
今回は下記のように設定しました。
名前:csv書き込み
ファイル:/Personal/会員情報書き込み.csv
※出力先のファイルパスを指定します。
5-3 フローを引く
「”4.トークン取得処理” 4-3 mapping(2)」で作成したアイコンの後から下記のようにフロー(線)を引いていきます。
「mapping(2)」➡ 「会員情報取得(GET) アイコン」
「会員情報取得(GET) アイコン」➡「CSV書き込みアイコン」の形でドラッグ&ドロップしマッパーを追加します。
5-4 mapperの設定
最後にmapperの中を設定します。
入力側(スマレジ側)の項目から、出力側(CSV側)に必要な項目を線でつなぎます。
6.実行結果確認
実際にCSVファイルに正常に書き込み出来ているのが確認できます。
最後に
いかがでしたでしょうか。今回は、スマレジからHULFT SquareでデータをCSVファイル形式で取得してみましたが、データベースや他のSaaS製品とスマレジを連携させることで活用の幅が広がるのではなでしょうか。
また、HULFT Squareはファイル転送ソフトであるHULFT8と連携してオンプレミス環境にそのままファイルを転送させることも可能です。
HULFT Squareについて知りたい方はこちら
ここまでお読みいただきありがとうございました。それでは、また!