REST API

認証

個人APIキー、またはPKCEを使用するOAuth 2.1を選択します。

自分のスクリプトには個人APIキーを使用してください。MCPクライアントを含む、他のNinjaBuyユーザーに代わって動作するアプリケーションにはOAuthを使用してください。

OAuth 2.1

PKCE S256を使用する認可コードフローを利用してください。RESTとMCPは同じNinjaBuy OAuthアクセストークンを受け付けます。各トークンは、ログインしてアクセスを承認したアカウントとして動作します。リクエスト本文で別のアカウントを指定することはできません。

すべてのOAuthエンドポイントのオリジンはhttps://www.ninjabuy.comです。検出と認可のパスは次のとおりです。

OAuthの検出 · MCPリソースの検出

POST /api/auth/mcp/register
GET  /api/auth/mcp/authorize
POST /api/auth/mcp/token
  1. POST /api/auth/mcp/registerでクライアントを登録します。パブリッククライアントはclient_name、redirect_uris、token_endpoint_auth_method: "none"を含むJSONを送信します。返されたclient_idを保管してください。
  2. 新しいランダムなstateとPKCEのcode_verifierを生成します。SHA-256を計算し、base64urlでエンコードしたcode_challengeを導出します。
  3. ユーザーのブラウザーで/api/auth/mcp/authorizeを開き、response_type=code、client_id、redirect_uri、state、code_challenge、code_challenge_method=S256、scope=openid offline_accessを指定します。
  4. ユーザーはNinjaBuyの電話番号でログインし、アプリケーションを承認します。コールバックで、返されたcodeを使用する前にstateを検証してください。
  5. /api/auth/mcp/tokenにフォーム形式でPOSTし、grant_type=authorization_code、code、client_id、同じredirect_uri、code_verifierを送信します。

取得したアクセストークンをRESTリクエストに付けます。

Authorization: Bearer YOUR_ACCESS_TOKEN

アクセストークンの有効期間は1時間です。offline_accessを指定した場合、リフレッシュトークンで最大7日間更新できます。同じトークンエンドポイントに、grant_type=refresh_token、client_id、refresh_tokenを含むフォーム形式のPOSTを送信して更新します。トークンは安全に保管し、更新できなくなったら再度ログインしてください。

アクセストークンがない、有効期限切れ、または無効な場合、ディスカバリー情報を含むWWW-Authenticateチャレンジとともに401を返します。エラーをご覧ください。

このページの内容