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와 PKCEcode_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으로grant_type=authorization_code,code,client_id, 동일한redirect_uri,code_verifier를 포함하여 폼 인코딩된 POST를 보내세요.
발급된 액세스 토큰을 REST 요청에 포함하세요.
Authorization: Bearer YOUR_ACCESS_TOKEN액세스 토큰은 1시간 동안 유효합니다. offline_access를 사용하면 갱신 토큰으로 최대 7일간 갱신할 수 있습니다. 동일한 토큰 엔드포인트로 grant_type=refresh_token, client_id, refresh_token을 포함한 폼 인코딩 POST를 보내 갱신하세요. 토큰을 안전하게 보관하고 갱신이 더 이상 유효하지 않으면 다시 로그인하세요.
액세스 토큰이 누락되었거나 만료 또는 유효하지 않으면 검색 정보를 담은 WWW-Authenticate 챌린지와 함께 401이 반환됩니다. 오류를 확인하세요.