Pular para o conteúdo principal

Autorização e autenticação

As etapas a seguir ajudarão você a iniciar sua integração com o NDD Cargo.


Autorização

Antes de realizar qualquer integração, é necessário obter suas credenciais, clientId e secret, para gerar um token de acesso, que valida suas solicitações e protege os dados trafegados.

Onde consigo minhas credenciais?

As credenciais serão enviadas pela NDD e conterão as seguintes informações:

  • clientId
  • secret
  • scope
EscopoDescrição
api://CargoAPI.integration/.defaultAPI que permite integrar com o NDD Cargo.

Essas credenciais permitem que seu sistema obtenha um token JWT via fluxo Client Credentials (M2M)  usando Microsoft Entra ID para autenticação.


Obter o Token de Acesso

O token de acesso é uma string que contém as credenciais e permissões para serem usadas para acessar os recursos da nossa API (exemplo, criar a viagem, criar os motoristas, criar as filais, etc.)

Com o clientId, secret e scope utilize uma ferramenta para chamadas REST com as informações abaixo:

  1. Em método selecione POST
  2. Em URL digite https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/token
  3. No cabeçalho selecione Content-Type: application/json
  4. No corpo da requisição envie a informação do clientId, secret, scope e grant_type
Nota

O grant_type deve ser enviado com o valor client_credentials fixo.

Exemplo de requisição

  • Método: POST
  • URL: https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/token

Cabeçalhos

Content-Type: application/json

Corpo

{
"clientId": "abc123456789xyz",
"secret": "shhItsASecretKey09876",
"scope": "api://CargoAPI.integration/.default",
"grant_type": "client_credentials"
}
Nota

Para especificar múltiplos escopos no campo de autenticação, separe cada escopo com um espaço.

O token de acesso será gerado contendo duas informações:

  1. accessToken: String com o token de autorização
  2. expiresIn: Tempo de expiração do token em minutos
Nota

O token deve ser renovado após a sua expiração, seguindo o tópico Obter o token de acesso.

{
"accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6Ik5ERCBFbG9nIiwiaWF0IjoxNTE2MjM5MDIyfQ.sqF8-Z6lD8mO-BHgKDaG8W9cvEZexEBsR5p1W-9UcsY",
"expiresIn": 3600
}
PRONTO

Agora é possível utilizar todos os recursos da API do NDD Cargo, enviando o token como parte do cabeçalho Authorization nas próximas requisições.

 Authorization: Bearer {accessToken}

Próximos passos

Comece enviando os lotes de operação de transporte.