スマレジ・プラットフォームAPI Waiter 仕様書 (ver.1.0.0)

概要

エンドポイント

サンドボックス

https://api.smaregi.dev/{契約ID}/waiter

本番

https://api.smaregi.jp/{契約ID}/waiter


ソート

sortに「パラメータ名」で昇順、「パラメータ名:desc」で降順指定できます。
カンマ区切りで複数のパラメータ(昇順・降順)を指定できます。



ページネーション

一覧を取得するAPIでは1回で取得できる件数に上限があり、より多くの件数が必要となる場合はページまたはカーソルを指定する必要があります。

ページ

page に1から始まるページ番号を指定してください。

カーソル

cursor に取得する一覧の先頭にしたいデータの識別子を指定してください。
指定無し、または"-1"を指定して最初の一覧を取得できます。



Authentication

OAuth2

スマレジ・プラットフォームAPI Waiterで定義しているscope一覧です。

Security Scheme Type OAuth2
clientCredentials OAuth Flow
Token URL: https://id.smaregi.dev/app/{contractId}/token
Scopes:
  • waiter.stores:read -

    店舗の参照ができます

  • waiter.menus:read -

    カテゴリー/メニュー/トッピング/トッピンググループの参照ができます

  • waiter.orders:read -

    客層/テーブル利用履歴/注文の参照ができます

  • waiter.orders:history -

    テーブル利用履歴一覧の参照ができます

  • waiter.orders:write -

    テーブル利用の更新ができます

店舗

店舗一覧取得

店舗一覧を取得します

Authorizations:
OAuth2 (waiter.stores:read)
path Parameters
contract_id
required
string

契約ID

query Parameters
selforder
string
Default: "none"
Enum: "none" "enabled" "disabled"

[フィルタ]セルフオーダー利用

  • none: 条件なし
  • enabled: 有効なもの
  • disabled: 無効なもの
direct_checkout
string
Default: "none"
Enum: "none" "enabled" "disabled"

[フィルタ]ダイレクトチェックアウト利用

  • none: 条件なし
  • enabled: 有効なもの
  • disabled: 無効なもの
status
string
Default: "all"
Enum: "active" "suspend" "all"

[フィルタ]店舗ステータス

  • all: 全て
  • active: 稼働中(休止でない)
  • suspend: 休止中
limit
integer [ 1 .. 30 ]
Default: 10

取得件数

sort
string
Default: "id"

ソート

  • id: 店舗ID
page
integer >= 1
Default: 1

ページ番号

Responses

200

OK

get /{contract_id}/waiter/stores
https://api.smaregi.dev/{contract_id}/waiter/stores

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    },
  • {
    }
]

店舗取得

店舗情報を取得します

Authorizations:
OAuth2 (waiter.stores:read)
path Parameters
contract_id
required
string

契約ID

id
required
string

店舗ID

query Parameters
with_tables
string
Default: "none"
Enum: "all" "none"

店舗テーブル情報を含むかを指定します。

  • all: 全て含む
  • none: 含めない(キーtablesを含めない)

Responses

200

OK

get /{contract_id}/waiter/stores/{id}
https://api.smaregi.dev/{contract_id}/waiter/stores/{id}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "id": "1",
  • "name": "テスト店舗",
  • "startOfDay": "10:00:00",
  • "tablesCount": 35,
  • "suspend": null,
  • "created": "2019-12-13T15:34:20+09:00",
  • "tables":
    [
    ]
}

店舗のスタッフ一覧取得

店舗のスタッフ一覧を取得します

Authorizations:
OAuth2 (waiter.stores:read)
path Parameters
contract_id
required
string

契約ID

id
required
string

店舗ID

query Parameters
limit
integer [ 1 .. 100 ]
Default: 20

取得件数

sort
string
Default: "id"

ソート順

  • id: スタッフID
  • name: スタッフ名

パラメータ名:descで降順指定 カンマ区切りで複数指定可能

page
integer >= 1
Default: 1

ページ番号

display
string
Default: "all"
Enum: "display" "none" "all"

端末上への表示/非表示設定

  • display: 表示
  • none: 非表示
  • all: すべて

Responses

200

OK

get /{contract_id}/waiter/stores/{id}/staffs
https://api.smaregi.dev/{contract_id}/waiter/stores/{id}/staffs

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    },
  • {
    },
  • {
    }
]

店舗のメニュー一覧取得

店舗で取り扱うメニューの一覧を取得します

Authorizations:
OAuth2 (waiter.stores:readwaiter.menus:read)
path Parameters
contract_id
required
string

契約ID

id
required
string

店舗ID

query Parameters
type
string
Default: "all"
Enum: "all" "normal" "plan" "course"

[フィルタ]メニュー種別

  • all: 全て
  • normal: 単品
  • plan: プラン
  • course: コース
category_id
string

カテゴリーID

limit
integer [ 1 .. 100 ]
Default: 20

取得件数

sort
string
Default: "sort_no"

ソート順

  • sort_no: ソート番号
  • id: メニューID
  • name: メニュー名
page
integer >= 1
Default: 1

ページ番号

Responses

200

OK

get /{contract_id}/waiter/stores/{id}/menus
https://api.smaregi.dev/{contract_id}/waiter/stores/{id}/menus

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    },
  • {
    }
]

店舗のメニュー取得

店舗で取り扱うメニューを取得します。

コースメニューは、コース区分が「標準コース」の場合のみ取得可能です。「簡易コース」はサポートしておりません。

Authorizations:
OAuth2 (waiter.stores:readwaiter.menus:read)
path Parameters
contract_id
required
string

契約ID

id
required
string

店舗ID

menu_id
required
string

メニューID

Responses

200

OK

404

店舗が指定のメニューを取り扱わない場合

get /{contract_id}/waiter/stores/{id}/menus/{menu_id}
https://api.smaregi.dev/{contract_id}/waiter/stores/{id}/menus/{menu_id}

Response samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "id": "1",
  • "name": "和風オムライス",
  • "kana": "ワフウオムライス",
  • "type": "normal",
  • "categoryId": "3",
  • "note": "だしベースのオムライスです。",
  • "sortNo": 5,
  • "customId": "7",
  • "applyDatetime": null,
  • "isOpenPrice": false,
  • "createdIn": "waiter",
  • "toppingGroupId": "2",
  • "prices":
    [
    ]
}

店舗のトッピンググループ一覧取得

店舗で取り扱うトッピンググループの一覧を取得します

Authorizations:
OAuth2 (waiter.stores:readwaiter.menus:read)
path Parameters
contract_id
required
string

契約ID

id
required
string

店舗ID

query Parameters
limit
integer [ 1 .. 100 ]
Default: 20

取得件数

sort
string
Default: "id"

ソート順

  • id: トッピンググループID
  • name: トッピンググループ名
page
integer >= 1
Default: 1

ページ番号

Responses

200

OK

get /{contract_id}/waiter/stores/{id}/topping_groups
https://api.smaregi.dev/{contract_id}/waiter/stores/{id}/topping_groups

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    },
  • {
    }
]

店舗のトッピンググループ取得

店舗で取り扱うトッピンググループ情報を取得します