Autenticação
Escolha uma chave de API pessoal ou OAuth 2.1 com PKCE.
Use uma chave de API pessoal para seus próprios scripts. Use OAuth para um aplicativo que atua por outros clientes da NinjaBuy, incluindo clientes MCP.
OAuth 2.1
Use o fluxo de código de autorização com PKCE S256. REST e MCP aceitam o mesmo token de acesso OAuth da NinjaBuy. Cada token atua pela conta que entrou e aprovou o acesso; você não pode selecionar outra conta no corpo da solicitação.
Todos os endpoints OAuth usam a origem https://www.ninjabuy.com. Caminhos de descoberta e autorização:
Descoberta OAuth · Descoberta do recurso MCP
POST /api/auth/mcp/register
GET /api/auth/mcp/authorize
POST /api/auth/mcp/token- Registre seu cliente em
POST /api/auth/mcp/register. Um cliente público envia JSON comclient_name,redirect_urisetoken_endpoint_auth_method: "none". Guarde oclient_idretornado. - Gere novos valores aleatórios de
stateecode_verifierdo PKCE. Calcule ocode_challengeSHA-256 codificado em base64url. - Abra
/api/auth/mcp/authorizeno navegador do usuário comresponse_type=code,client_id,redirect_uri,state,code_challenge,code_challenge_method=S256escope=openid offline_access. - O usuário entra com seu número de celular da NinjaBuy e aprova seu aplicativo. No callback, verifique
stateantes de usar ocoderetornado. - Envie um POST codificado como formulário para
/api/auth/mcp/tokencomgrant_type=authorization_code,code,client_id, o mesmoredirect_uriecode_verifier.
Envie o token de acesso obtido nas requisições REST:
Authorization: Bearer YOUR_ACCESS_TOKENOs tokens de acesso duram 1 hora. Com offline_access, os tokens de atualização permitem a renovação por até 7 dias. Renove pelo mesmo endpoint de tokens usando um POST codificado como formulário com grant_type=refresh_token, client_id e refresh_token. Armazene os tokens com segurança e entre novamente quando a renovação deixar de ser válida.
Um token de acesso ausente, expirado ou inválido retorna 401 com um desafio de descoberta WWW-Authenticate. Veja Erros.