Skip to main content
POST
Obtenha um token de acesso
Envie o client_id e o client_secret gerados em Integrações. Use o token retornado no header Authorization dos endpoints protegidos.

Corpo da requisição

Envie um corpo JSON com os seguintes campos:
string
required
Seu merchant ID. Você o encontra na seção Integrações do app Onbeef após fazer login.
string
required
Sua chave secreta. Gerada junto com o client_id na seção Integrações do app Onbeef. Trate esse valor como uma senha: nunca o exponha em código executado no cliente ou em repositórios públicos.
string
required
Grant type do OAuth 2.0. Deve ser sempre "client_credentials". É o único grant type suportado.

Campos da resposta

200: Sucesso

string
String JWT assinada. Envie este valor no header Authorization: Bearer <access_token> em todas as requisições protegidas.
string
Sempre "Bearer". Indica como o token deve ser usado no header Authorization (Authorization: Bearer <access_token>).
integer
Número de segundos até o token expirar. Sempre 43200 (12 horas). Acompanhe este valor para saber quando solicitar um novo token.

401: Credenciais inválidas

A API retorna este erro quando client_id ou client_secret está incorreto. A resposta segue o padrão OpenDelivery: title descreve o problema e status informa o código HTTP:

429: Limite de requisições

As rotas de autenticação aceitam até 30 requisições por minuto por endereço IP, num limite compartilhado entre POST /oauth/token, POST /oauth/revoke e POST /oauth/refresh. Acima disso, a API responde { "title": "Too Many Requests", "status": 429 }.
Reaproveite o token até a expiração informada em expires_in, em vez de solicitar um novo a cada requisição.
Veja a página Erros para os demais códigos e para os limites de requisição.

Exemplo

Requisição

Veja as respostas de sucesso e de erro no painel lateral.
O grant client_credentials não emite refresh token. Quando o access_token expirar, chame este endpoint novamente com as mesmas credenciais para obter um token novo.
Armazene o access_token de forma segura em memória (não em local storage ou cookies) e reutilize-o em todas as requisições até que esteja próximo de expirar.