更新履歴
最終更新日: 2021/05/03
ver. | 年月日 | 更新内容 |
---|---|---|
0.1 | 2021/04/15 | 新規作成 |
0.2 | 2021/05/03 | 「2.3.2 CSVファイルのサンプル」を追記 |
1. 概要
POS連携APIはPOSへ注文を行うことができる。
POS連携APIをご利用して頂くには、まず初めに弊社とクライアントで契約をし、弊社側でPOS連携APIを利用するためのアカウントを作成する必要がある。このアカウントはクライアントに対して発行される。
POS連携APIは弊社のクラウドサーバへリクエストが届くため、POSへ直接リクエストを行うわけではない。
各APIの詳細に関してはblayn POS連携API 仕様 を参照。
1.1 用語の定義
用語 | 概要 |
---|---|
POS連携API | 弊社が提供するAPI |
POS | 弊社のPOSレジ |
クライアント | 弊社と連携をするサービスの運営元 |
店舗 | POSまたはクライアントのサービスを利用するエンドユーザ |
1.2 アカウント情報
属性 | 概要 |
---|---|
username | 認証APIで利用 |
password | 認証APIで利用 |
client_id | アクセストークン取得APIで利用 |
client_secret | アクセストークン取得APIで利用 |
scope | アクセストークン取得APIで利用 |
2. POS連携APIの流れ
2.1 認証
POS連携用のAPIは認証にOAuth2を利用しているため、事前にアクセストークンを取得する必要がある。
アクセストークンの取得後は、以下のHTTPヘッダを付与しAPIをコールすること。なお、アクセストークンの値はURLエンコード処理を行う必要はない。
Authorization: <access_token>
2.2 店舗コード
POSでは店舗を識別するためにshop_codeという店舗識別コードを発行している。これは店舗固有のユニーク値となっており、クライアント側はshop_codeを登録できるインターフェースを提供する必要がある。
2.3 マスターデータの連携
POSではいくつかのマスターデータが存在し、POS連携APIのパラメータとして必須になるケースが存在する。これらのデータは店舗側がPOSへコードを登録する。データの同期をするためには、CSVファイルでの同期とAPI経由での同期の2種類を提供している。
CSVファイルでの同期
店舗側は弊社のWeb管理画面からCSVファイルをダウンロードすることで、商品コードやテーブルコードなどを参照することができる。クライアント側はこれらのコードを登録できるインターフェイスを提供する必要がある。
API経由での同期
APIで各データを取得することができる。詳細はblayn POS連携API 仕様 を参照。
同期の方法はクライアント側の実装に任せる。
2.3.1 マスターデータの種類
- 部門データ
- 商品データ
- テーブルデータ
- 商品詳細データ
- 商品詳細の商品データ
2.3.2 CSVファイルのサンプル
文字コード: Shift_JIS
ファイル命名規則: linkage_[クライアント名]_[ファイル種別].csv
例
クライアント名: blayn
ファイル種別: category_item
ファイル名: linkage_blayn_category_item.csv
category_item
店舗コード | 部門名 | 部門コード | 子部門名 | 子部門コード | 商品名 | 商品コード |
---|---|---|---|---|---|---|
270_1000001 | Takeout | 270_1000001 | Pizza | 270_1000002 | takeout pizza | 270_1000001 |
270_1000001 | Pizza | 270_1000003 | pizza | 270_1000002 | ||
270_1000001 | alcohol | 270_1000004 | beer | 270_1000005 | lager | 270_1000003 |
270_1000001 | alcohol | 270_1000004 | beer | 270_1000005 | ale | 270_1000004 |
270_1000001 | alcohol | 270_1000004 | beer | 270_1000005 | bitter | 270_1000005 |
270_1000001 | alcohol | 270_1000004 | beer | 270_1000005 | pale ale | 270_1000006 |
270_1000001 | alcohol | 270_1000004 | beer | 270_1000005 | light ale | 270_1000007 |
270_1000001 | alcohol | 270_1000004 | beer | 270_1000005 | stout | 270_1000008 |
270_1000001 | alcohol | 270_1000004 | cocktail | 270_1000006 | Cassis Orange | 270_1000009 |
270_1000001 | alcohol | 270_1000004 | cocktail | 270_1000006 | Cassis Soda | 270_1000010 |
table
店舗コード | テーブル名 | テーブルコード |
---|---|---|
270_1000001 | T1 | 270_1000001 |
270_1000001 | T2 | 270_1000003 |
270_1000001 | T3 | 270_1000004 |
270_1000001 | T4 | 270_1000004 |
270_1000001 | T5 | 270_1000005 |
item_detail
店舗コード | 商品詳細名 | 商品詳細コード | 商品詳細商品名 | 商品詳細商品コード | 商品コード |
---|---|---|---|---|---|
270_1000001 | Size | 270_1000001 | Large | 270_1000001 | |
270_1000001 | Size | 270_1000001 | Medium | 270_1000002 | 270_1000001 |
270_1000001 | Size | 270_1000001 | Small | 270_1000003 | |
270_1000001 | Type | 270_1000002 | Lock | 270_1000004 | |
270_1000001 | Type | 270_1000002 | Straight | 270_1000005 | 270_1000002 |