1. Autenticação e autorização
Antes de consumir qualquer endpoint da API, é necessário obter um Access Token por meio do fluxo OAuth 2.0 - Client Credentials.
O token deve ser enviado no cabeçalho Authorization de todas as requisições protegidas.
Onde conseguir as credenciais?
As credenciais são fornecidas pela NDD e incluem:
-
client_id -
client_secret -
scope
Escopo
|
Escopo |
Descrição |
|---|---|
|
|
Escopo de acesso da API de relatórios do NDD Frete |
Obter o token de acesso
-
Método:
POST
Cabeçalho da requisição
|
Cabeçalho |
Valor |
|---|---|
|
|
|
Parâmetros da requisição
|
Parâmetro |
Obrigatório |
Descrição |
|---|---|---|
|
|
Sim |
Identificador da aplicação fornecido pela NDD |
|
|
Sim |
Chave secreta da aplicação fornecida pela NDD |
|
|
Sim |
Deve ser informado com o valor |
|
|
Sim |
Escopo de acesso da API |
Exemplo de requisição
POST {AUTH_URL}
Content-Type: application/x-www-form-urlencoded
client_id=SEU_CLIENT_ID
client_secret=SEU_CLIENT_SECRET
grant_type=client_credentials
scope=nddfrete-shipper-api
Exemplo com cURL
curl --request POST "{AUTH_URL}" \
--header "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode "client_id=SEU_CLIENT_ID" \
--data-urlencode "client_secret=SEU_CLIENT_SECRET" \
--data-urlencode "grant_type=client_credentials" \
--data-urlencode "scope=nddfrete-shipper-api"
Resposta de sucesso
{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
"expires_in": 3600,
"token_type": "Bearer"
}
Campos da resposta
|
Campo |
Tipo |
Descrição |
|---|---|---|
|
|
String |
Token JWT utilizado para autenticação das chamadas da API |
|
|
String |
Tipo do token retornado. Valor: |
|
|
Inteiro |
Tempo de validade do token, em segundos |
Como usar o token
Depois de obter o token, envie no cabeçalho:
Authorization: Bearer {access_token}
Respostas possíveis
|
Código HTTP |
Descrição |
|---|---|
|
|
Token gerado com sucesso |
|
|
Requisição inválida ou parâmetros obrigatórios não informados |
|
|
Credenciais |
Observações
-
A autenticação utiliza OAuth 2.0 com fluxo
Client Credentials. -
O
client_secretdeve ser armazenado com segurança e nunca exposto em frontend. -
Recomenda-se reutilizar o token até o fim da validade antes de solicitar outro.