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です。検出と認可のパスは次のとおりです。
POST /api/auth/mcp/register
GET /api/auth/mcp/authorize
POST /api/auth/mcp/tokenPOST /api/auth/mcp/registerでクライアントを登録します。パブリッククライアントはclient_name、redirect_uris、token_endpoint_auth_method: "none"を含むJSONを送信します。返されたclient_idを保管してください。- 新しいランダムな
stateとPKCEのcode_verifierを生成します。SHA-256を計算し、base64urlでエンコードしたcode_challengeを導出します。 - ユーザーのブラウザーで
/api/auth/mcp/authorizeを開き、response_type=code、client_id、redirect_uri、state、code_challenge、code_challenge_method=S256、scope=openid offline_accessを指定します。 - ユーザーはNinjaBuyの電話番号でログインし、アプリケーションを承認します。コールバックで、返された
codeを使用する前にstateを検証してください。 /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を返します。エラーをご覧ください。