Embarcador - API Autenticação

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

nddfrete-shipper-api

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

Content-Type

application/x-www-form-urlencoded

Parâmetros da requisição

Parâmetro

Obrigatório

Descrição

client_id

Sim

Identificador da aplicação fornecido pela NDD

client_secret

Sim

Chave secreta da aplicação fornecida pela NDD

grant_type

Sim

Deve ser informado com o valor client_credentials

scope

Sim

Escopo de acesso da API

Exemplo de requisição

Bash
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

Bash
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

JSON
{
  "access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
  "expires_in": 3600,
  "token_type": "Bearer"
}

Campos da resposta

Campo

Tipo

Descrição

access_token

String

Token JWT utilizado para autenticação das chamadas da API

token_type

String

Tipo do token retornado. Valor: Bearer

expires_in

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

200 OK

Token gerado com sucesso

400 Bad Request

Requisição inválida ou parâmetros obrigatórios não informados

401 Unauthorized

Credenciais client_id ou client_secret inválidas

Observações

  • A autenticação utiliza OAuth 2.0 com fluxo Client Credentials.

  • O client_secret deve ser armazenado com segurança e nunca exposto em frontend.

  • Recomenda-se reutilizar o token até o fim da validade antes de solicitar outro.