Obtenha um token de acesso
curl --request POST \
--url https://api.dev.connect.onbeefapp.com.br/oauth/token \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"client_id": "<string>",
"client_secret": "<string>",
"grant_type": "<string>"
}
'{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "Bearer",
"expires_in": 43200
}
{
"title": "The client credentials were incorrect.",
"status": 401
}
Autenticação
Obtenha um token de acesso
Troque suas credenciais por um token OAuth 2.0.
POST
/
oauth
/
token
Obtenha um token de acesso
curl --request POST \
--url https://api.dev.connect.onbeefapp.com.br/oauth/token \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"client_id": "<string>",
"client_secret": "<string>",
"grant_type": "<string>"
}
'{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "Bearer",
"expires_in": 43200
}
{
"title": "The client credentials were incorrect.",
"status": 401
}
Envie o
Veja a página Erros para os demais códigos e para os limites de requisição.
Veja as respostas de sucesso e de erro no painel lateral.
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 quandoclient_id ou client_secret está incorreto. A resposta segue o padrão OpenDelivery: title descreve o problema e status informa o código HTTP:
{
"title": "The client credentials were incorrect.",
"status": 401
}
429: Limite de requisições
As rotas de autenticação aceitam até 30 requisições por minuto por endereço IP, num limite compartilhado entrePOST /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.Exemplo
Requisição
curl -X POST https://api.dev.connect.onbeefapp.com.br/oauth/token \
-H 'Content-Type: application/json' \
-d '{
"client_id": "<your_client_id>",
"client_secret": "<your_client_secret>",
"grant_type": "client_credentials"
}'
{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "Bearer",
"expires_in": 43200
}
{
"title": "The client credentials were incorrect.",
"status": 401
}
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.