プライベートアプリの本番環境

お世話になっております。

社内のみでの利用を想定しているため、プライベートアプリを作成後、利用契約IDの登録を行いました。

Postmanでの接続テストをしていますが、開発環境(https://id.smaregi.dev/app/sb_xxxxxxxx/token)でのアクセストークン取得後、店舗情報などの取得が出来ることは確認できました。

本番環境(https://id.smaregi.jp/app/sb_xxxxxxxx/token)ですが、本番環境用のクライアントIDとクライアントシークレットを使用していますが、下記の通り401が返って来ます。

本番環境への接続は何か設定が必要でしょうか?

そもそも、本番環境=プライベートアプリに登録した利用契約ID と理解していますが、間違ってますでしょうか。


{

    "type": "https://api.smaregi.jp/problems/oauth2/access_denied",

    "title": "Access Denied",

    "status": 401,

    "error": "access_denied",

    "error_description": "The resource owner or authorization server denied the request.",

    "detail": "The resource owner or authorization server denied the request."

}

よろしくお願い致します。

答え

  • @takei

    ご質問ありがとうございます。

    結論からお話しますと、本番環境で開発者契約ID(画面左上にある契約IDです。)を利用することはできません。

    本番環境とは、実際にスマレジを利用して販売を行う環境となりますので、@takei 様がお使いのスマレジ契約ID(無料版 or 有料で購入した契約があるはずです。)を利用してコールすることになります。

    ご自身でのみ利用するアプリとのことですので、環境変数にその契約IDを設定しておけば良いかと思います。


    --- 以下、詳細


    プライベートアプリは、パブリックアプリと同様に開発環境と本番環境に分けて管理できるようになっております。

    プライベートアプリを作成したときに、お使いの開発者契約IDが自動的に開発環境で利用できるようになっておりますので、開発時(本番のデータを汚染したくない時)は開発者契約IDを利用してサンドボックス環境でAPIコールをします。(id.smaregi.dev など)

    本番で利用するときは

    1. 本番契約IDでアクティベート
    2. 管理者に承認メールが届きますので、そちらから承認

    することで本番環境でAPIコールできるようになります。この時に利用するのが、本番のクライアント情報と契約IDです。


    ---


    上記のような対応は開発環境と本番環境を別々で管理できるようにするために行っている施策ですのでご容赦くださいませ。

    他になにか疑問点がございましたらコメントいただければと思います。

  • ご確認ありがとうございます。

    本番環境+smで始まるスマレジ契約IDでアクセスできました。

    初歩的な質問で失礼致しました。