スマレジAPIは将来的に廃止を予定しています。
廃止時期が決まりましたら移行期間を設けたうえで事前にお知らせいたします。(2024年5月時点で時期未定です。)
このページでは、両者の違いやプラットフォームAPIの利用方法、移行に際する注意事項などをご案内いたします。
スマレジAPIとは
仕様書のダウンロードや開発・検証を行なうには開発者がスマレジのアカウントを取得する必要があるなど、次のような課題が存在しました。
ユーザーの課題
- 独自に開発するためのコストがかかる
- 自社開発が不可だった場合に開発会社を探す必要がある
開発会社の課題
- 受託開発のため横展開をすることが難しい
- 広くユーザーを獲得することができない
この課題を解決するための新たな方法が、『スマレジ・デベロッパーズ』です。
スマレジ・デベロッパーズとは
スマレジがプラットフォーマーとなることで、開発者がサービスをスマレジユーザー向けに提供可能になり、ユーザーは自身の運用や利用状況にあわせたサービスを探し、利用・購入することが可能になりました。
開発者はアプリマーケットにサービスを公開するために『プラットフォームAPI』を利用します。
スマレジAPIの仕様書はスマレジ管理画面からしかダウンロードできませんでしたが、プラットフォームAPIの仕様書は誰でも閲覧可能なスマレジ・デベロッパーズのホームページからダウンロードできます。
(公開範囲を設定したり、公開せずに利用することも可能です)
そのため、外部システムと連携するためにはアプリとして登録し、登録したアプリにて連携設定も行ないます。
アプリの登録・設定などはすべて開発者専用のデベロッパーズアカウントで行なうため、スマレジAPIのように設定などをユーザーが行なう必要がなくなります。
ユーザーは、アプリマーケットに公開されたアプリを購入することで利用できるようになります。
プラットフォームAPIでは、デベロッパーズアカウントに各プロダクトの管理画面も用意しており、検証用のアカウントとしてご利用いただけます。
デベロッパーズアカウントの環境を開発環境(サンドボックス環境)、ユーザーが利用する環境を本番環境(プロダクション環境)といい、リクエストのエンドポイントなどが開発環境と本番環境で異なります。
詳細については、こちらのヘルプページをご覧ください。
スマレジAPIとプラットフォームAPIの違い
連携設定設定をするために必ず『アプリ』として登録する必要があり、アプリ単位での設定になるため、複数のシステムとの連携も容易になります。
通知された情報をもとに、取得APIを利用してデータを取得する必要があります。
具体的な通知内容は仕様書をご確認ください。
スマレジAPIでは、送信履歴を確認でき、再送信も可能でしたが、プラットフォームAPIでは、履歴の確認も再送信も行なうことができません。
エラーが発生しても問題ない仕組みづくりを行なう必要があります。
スマレジAPIでできてプラットフォームAPIでできないこと
送信履歴と再送信機能受信ログは必ず残し、エラーにも対応できるように開発する必要があります。
送信URL / ヘッダ情報 / パラメータ情報を機能ごとに設定したい場合は、それぞれ別のアプリとして登録する必要があります。
レスポンスログからエラー内容を確認する必要があります。
- スタッフの登録・更新(取得は可能)
- 取置き登録APIや仮販売登録APIで『クーポン値引き』の指定
- 日次締め情報取得APIで客数の取得
- メニューの登録・更新(取得は可能)
- テーブルの移動や分割・結合
スマレジAPIでできなくてプラットフォームAPIでできること
スマレジ・タイムカードAPI現在、スマレジAPIでできてプラットフォームAPIでできないことも、プラットフォームAPIで対応予定です。
プラットフォームAPIの利用方法
-
デベロッパーズアカウントを登録します
-
アプリを新規登録しますアプリの登録方法には、パブリックアプリとプライベートアプリの2種類があります。
パブリックアプリは、スマレジ・アプリマーケットで公開され、購入者が誰でも利用できるアプリです。
ユーザー自身が購入手続きを行なうことで利用可能になります。
プライベートアプリは、アプリマーケットで公開せずに利用することを目的としたアプリです。
開発者がアクティベート操作を行なうことで利用可能になります。
ログインし、『アプリ > パブリックアプリ』をクリックします。
【アプリを新規登録】をクリックします。
チュートリアルに沿って、下記の表の項目を設定してアプリを新規登録します。項目 説明 アプリ区分
※必須WEBアプリ インターネットを通じてブラウザ上で動作するアプリケーションで、特定のOSに依存せずに利用できます。
スマレジAPIでは『WEBアプリ』への対応のみだったため、基本的にはこちらをご利用いただければ問題ないかと思います。ネイティブアプリ 特定のデバイスやOSに最適化されたアプリケーションで、ユーザーはApp StoreやGoogle Playなどからインストールして利用します。
ユーザーのログイン認証が必要で、特定のユーザーにのみアクセス権限が与えられるため、WEBアプリと比較してセキュリティが強くなります。スマレジ iOS URL
Schema 連携アプリスマレジ・アプリから外部のアプリへ連携させるために利用します。
他2つのアプリ区分と挙動が全く異なるため、こちらのヘルプサイトではなく仕様書をご確認いただき、不明点があればサポートまでお問い合わせください。サービス種類 『スマレジ iOS URL Schema 連携アプリ』を選択時に設定します。
現在は決済連携のみが選択可能です。アプリ名
※必須アプリの名称を登録します。
(45文字以内)バージョン
※必須アプリのバージョンを登録します。
(32文字以内)
ログインし、『アプリ > プライベートアプリ』をクリックします。
【プライベートアプリを新規登録】をクリックします。
下記の表の項目を設定してアプリを新規登録します。項目 説明 アプリ区分
※必須WEBアプリ インターネットを通じてブラウザ上で動作するアプリケーションで、特定のOSに依存せずに利用できます。
スマレジAPIでは『WEBアプリ』への対応のみだったため、基本的にはこちらをご利用いただければ問題ないかと思います。ネイティブアプリ 特定のデバイスやOSに最適化されたアプリケーションで、ユーザーはApp StoreやGoogle Playなどからインストールして利用します。
ユーザーのログイン認証が必要で、特定のユーザーにのみアクセス権限が与えられるため、WEBアプリと比較してセキュリティが強くなります。アプリ名
※必須アプリの名称を登録します。
(45文字以内)アイコン
※必須アプリのアイコン画像を登録します。
(1MB文字以内)
推奨サイズは512*512pxです。 -
環境設定を行ないます
アプリを新規登録すると、自動で『環境設定』タブが表示されます。
『開発環境』と『本番環境』の項目を入力し、クライアントシークレットをコピーして保管します。
環境についてはこちらをご覧ください。入力完了後、【保存】をクリックします。
入力項目の詳細については、下の表をご覧ください。項目 説明 アプリのURL
※必須アプリのサービスURLです。
ユーザーはこのURLからアプリを利用します。
(2,083文字以内)※サービスURLがない場合も任意のURLを設定する必要があります利用者契約通知先URL
※必須アクティベートされたとき、契約ID情報を送信する先のURLです。
(2,083文字以内)
利用者契約通知については、こちらの仕様書をご確認ください。Webhook送信先エンドポイント 各イベントの送信先URLです。
(2,083文字以内)クライアントID アプリを新規登録すると自動採番されます。 リダイレクトURI ※必須API認可に必要です。
(255文字以内)
何も指定しない場合は『urn:ietf:wg:oauth:2.0:oob』と入力してください。クライアントシークレット 開発環境と本番環境それぞれのクライアントシークレットを保管してください。 クライアントシークレットは、アプリの作成直後しかコピーできないため、必ずコピーして保管してください。
再発行は可能ですが、再発行を行なった場合それ以前のものは使用できなくなりますネイティブアプリの場合、項目は限られています
ネイティブアプリでは『アプリURL』『クライアントID』『リダイレクトURI』のみで、その他の項目は存在しません。 -
スコープの設定を行ないます
タブから『スコープ』をクリックします。
設定を行なう、連携先のサービス名をクリックします。
スマレジAPIの受信設定(参照APIと更新API)と同じ項目をONにします。
ほかにも利用したい機能があればONにします。
設定完了後、【保存】をクリックします
スコープの設定はユーザーが利用を開始する前であれば、いつでも機能を変更可能です
必要な機能を一旦ONにしていただき、開発が終了した後に不要な機能をOFFにしてください。
詳細については、各プロダクトの仕様書をご覧ください。
(それぞれのAPIで必要な項目は『AUTHORIZATIONS: AppAccessToken』に記載されています) -
Webhookの設定を行ないます※ネイティブアプリでは利用できません
タブから『Webhook』をクリックします。
『基本設定』、『カスタムヘッダー』を設定し、連携先のサービス名を選択します。
WebhookはスマレジAPIの送信APIに該当します。
送信設定と同じ項目をONにし、その他送信したいイベントもONにします。
スマレジAPIと挙動が異なるため注意が必要です。
詳細についてはこちらをご覧ください。
【保存】をクリックします
開発
開発環境と本番環境でエンドポイントが異なるのでご注意ください。
- APIエンドポイント
- 1. アクセストークンの取得
- 2. APIの実行
- 3. スマレジ・アプリなどにログインしての検証
- 4-1. 【パブリックアプリ】アプリマーケットへの公開
- 4-2. 【プライベートアプリ】アプリのアクティベート
APIエンドポイント
サンドボックス環境 | 本番環境 | |
---|---|---|
アクセストークンAPI | https://id.smaregi.dev | https://id.smaregi.jp |
プラットフォームAPI | https://api.smaregi.dev | https://api.smaregi.jp |
1. アクセストークンの取得
有効期限は3600秒なので、基本的にはAPIを利用するときは都度取得します。
『アプリアクセストークン』とは、アプリ単位で利用するスコープを指定して認証する方法です。
ユーザーのログイン認証が不要で、アプリのクライアントIDとクライアントシークレットを使って発行します。
仕様書はこちらからご覧ください。
取得方法はこちらのスマレジ公式note記事をご参照ください。
『ユーザーアクセストークン』とは、ユーザーのログイン認証を行ない、スマレジ管理画面で設定した権限と同等の制御を行なう方法です。
ネイティブアプリでは、ユーザーアクセストークンのみ利用可能です。
仕様書はこちらからご覧ください。
2. APIの実行
項目などについては、各プロダクトの仕様書をご確認ください。
プラットフォームAPIでは、取得APIと登録API、更新API、削除APIなどに分かれています。
スマレジAPIは参照APIも更新APIもHTTPメソッドが「POST」でしたが、プラットフォームAPIは内容により、HTTPメソッドが異なります。
仕様書にそれぞれHTTPメソッドが記載されているので、確認して開発を行なう必要があります。
赤枠の部分がHTTPメソッドです。
HTTPメソッドは『GET』です。
スマレジAPIで指定できた『conditions』項目はなく、QUERY PARAMETERSとして指定されている項目のみ、検索条件として指定することが可能です。
取得件数は最大1000件ですが、『limit』項目を指定しない場合は100件です。
仕様書にリクエストサンプルの用意はなく、レスポンス項目は「Responses >200 取得成功」を開くことで確認できます。
赤枠の箇所をクリックでレスポンス項目を確認できます。
仕様書にはレスポンスサンプルを用意しており、コピーも可能です。
エラーレスポンスのサンプルも用意しているので、エラーが発生した時は参考にしてください。
スマレジにデータを新規登録したいときは登録APIを利用し、HTTPメソッドは『POST』です。
スマレジに登録しているデータの更新を行ないたいときは更新APIを利用し、HTTPメソッドは『PATCH』もしくは『PUT』です。
スマレジAPIと違って1回のリクエストで複数のデータを登録・更新することはできず、1件ずつリクエストを行なう必要があります。
登録・更新可能な項目はREQUEST BODY SCHEMAを確認してください。
レスポンス項目は『Responses >200 取得成功』を開くことで確認できて、リクエストサンプルとレスポンスサンプルも右側にあります。
APIを利用して削除した場合は、論理削除です。
削除が成功した場合のレスポンスは200ステータスのみです。
ただし、一部機能は一括で登録・更新を行なうことも可能です。
HTTPメソッドは登録API・更新APIと同様に「POST」です。
登録・更新作業は非同期で処理されます。
リクエストを実行するときにコールバックURLを指定し、処理が完了したら指定したURL先に通知します。
一括登録・更新が可能な件数は機能ごとに定められていて、各APIの仕様書に記載されています。
スマレジでデータが登録・更新されると指定したURLに通知されます。
スマレジAPIと挙動が異なるため注意が必要です。
詳細についてはこちらをご覧ください。 各プロダクトのWebhookに関する仕様書
項目の説明欄に『Array of objects』と記載されている場合は折りたたまれているので、クリックして展開する必要があります。
赤枠の部分をクリックして展開してください。
ヒットしないから項目がないと判断しないようにご注意ください。
3. スマレジ・アプリなどにログインしての検証
アプリをインストールしてそのままの状態だと、本番環境のアプリになるため、デベロッパーズアカウントでログインすることができません。
開発環境(サンドボックス環境)に切り替えて利用する必要があります。
切り替え方法についてはこちらのヘルプページをご覧ください。
4-1. 【パブリックアプリ】アプリマーケットへの公開
審査には『基本情報』の入力が必要なため、こちらのヘルプページをご参照のうえ設定を行なってください。
公開方法についてはこちらのヘルプページをご覧ください。
アプリの内容を変更した場合は再申請が必要です
承認後にバージョンのアップデートや設定の変更を行なった場合は、再度申請を行なう必要があります。再申請の場合も、審査には通常5営業日ほどお時間をいただきます。
また、スコープを変更した場合はユーザーの同意も必要です。
審査が完了するとユーザーにも通知され、ユーザーが承認することで設定の変更が適用されます。
詳細については、こちらのFAQをご覧ください(デベロッパーズアカウントにログインが必要です)。
4-2. 【プライベートアプリ】アプリのアクティベート
デベロッパーズアカウントにて、契約IDをアクティベートすることで本番環境でも利用が可能になります。
-
設定ページを開きます
スマレジデベロッパーズにログインし、『アプリ > プライベートアプリ』をクリックします。
設定を行なう、アプリの【概要を見る】をクリックします。
-
アプリを利用する契約IDへとアクティベートします
アプリを利用する契約IDを入力します。
【アクティベート】をクリックします。
-
承認メールを送信します
確認のポップアップが表示されるので、【はい】をクリックします。
該当の契約IDに登録のメールアドレス宛に『【スマレジ】プライベートアプリアクティベート申請』という件名のメールが届くので、本文内のリンクをクリックします。
次以降の手順は、メールを受信したユーザー側での操作です。 -
内容を確認します
メール本文内のリンクをクリックすると左の画面が表示されるので、スクロールして内容を確認します。
-
利用規約に同意して申し込みます
『利用規約』をクリックして内容を確認し、同意する場合はチェックを入れます。
【上記の内容を申し込む】をクリックします。
-
ログアウト/ログインを行ないます
左の画面が表示されたら、一度ログアウトを行ない、その後ログインし直すことで、アプリを利用可能になります。
利用時の注意点
リクエストの回数制限制限内容については、こちらの仕様書をご確認ください。
サーバー保護のための制限になりますので、ご協力をお願いいたします。
専門的な内容になるため、電話対応やチャット対応は行なっておりませんので、あらかじめご了承ください。
お問い合わせ先:support[アットマーク]smaregi.jp
リクエストやエラーに関するお問い合わせの場合、リクエスト内容やレスポンス内容を確認してご案内いたします。
リクエスト内容やレスポンス内容は開発者さまよりご提供いただいておりますので、ログは残すようにご対応いただければと存じます。