Fedex Logo
Developer Portal

API Authorization

Introdução

As APIs da FedEx são compatíveis com o método de autenticação OAuth 2.0 (token do titular) para autorizar as solicitações da API do seu aplicativo com recursos da FedEx. Esse token de acesso OAuth precisa ser gerado a cada 60 minutos e fornecido com cada transação de API para autenticar e autorizar seu acesso aos recursos da FedEx.

Detalhes da API de autorização

Essa API permite que você autorize as solicitações da API e é necessária para autenticar os recursos FedEx. A seção a seguir descreve os pré-requisitos para a API:

Ao se registrar no portal FedEx Developer, a FedEx oferece uma combinação de ID do cliente (chave API) e segredo do cliente (chave secreta) para autenticar as solicitações da API para seu projeto. Cada projeto na sua organização está associado a uma combinação de ID do cliente e segredo do cliente, chamadas de credenciais da API.

Observação: clientes (internos, compatíveis, de relação primária/secundária e integradores) podem entrar em contato com um representante da FedEx para obter as Chaves de API e chave secreta.

Para oferecer uma camada de segurança adicional, os clientes da FedEx® (internos, compatíveis, de relação primária/secundária e integradores) podem enviar uma chave secundária (segredo do cliente) e um segredo secundário (senha do cliente), além da chave da API e da chave secreta, para criar um token OAuth. Esse token é usado em todas as solicitações de API para autenticação.

Você pode recriar a chave secreta esquecida na página de projetos no portal FedEx Developer.

Nota: criar novas chaves vai causar uma alteração de código no seu aplicativo.

Informações importantes neste documento:

  • Chave do cliente como chave da API
  • Segredo do cliente como chave secreta
  • Chave secundária como chave do cliente
  • Segredo do cliente como senha do cliente

As credenciais da API servem para os seguintes fins:

  • Identificam o projeto fazendo uma chamada para as APIs.
  • Autorizam o acesso às APIs habilitadas no projeto.

Como obter as credenciais da API

As credenciais são criadas com base em entradas feitas no FedEx Developer Portal:

  • ID do cliente: a chave da API (ID do cliente) é criada assim que um projeto é criado no FedEx Developer Portal. Também é possível ver a chave da API associada ao projeto na página de visão geral do projeto.
  • Segredo do cliente: você verá a chave secreta (segredo do cliente) na página de confirmação assim que um projeto for criado no FedEx Developer Portal. Se for necessário, também será possível gerar a chave secreta novamente na página de visão geral do projeto.

Observação: clientes da FedEx® (internos, compatíveis, de relação primária/secundária e integradores) precisam enviar a chave secundária (segredo do cliente) e o segredo secundário (senha do cliente) além da chave da API e chave secreta para criar um token OAuth. Consulte a API de registro de credenciais para saber como obter a chave secundária e o segredo secundário.

Como a API de autorização funciona

Autorização da API

Depois que você proteger as credenciais da API no FedEx Developer Portal, o endpoint OAuth é usado para obter um token de acesso que serve como a credencial em cada transação da API.

As informações de entrada obrigatória para a solicitação OAuth são:

  • grant_type – tipo de cliente. (Valores válidos: client_credentials, csp_credentials, client_pc_credentials)
  • client_id – referente à chave API do projeto.
  • client_secret – referente à chave secreta da API do projeto.

Para clientes da FedEx® , internos, compatíveis, de relação primária/secundária e integradores, é necessário enviar as entradas adicionais abaixo:

  • child_id – Chave do cliente recebida por meio da solicitação de registro de credencial da API.
  • child_secret – Senha do cliente recebida por meio da solicitação de registro de credencial da API

O resultado dessa solicitação deve enviar o seguinte:

  • access_token – o token OAuth criptografado a ser usado na transação da API.
  • token_type – tipo de token. Nesse caso, é autenticação do portador.
  • expires_in – o tempo de expiração do token em milissegundos. O tempo padrão de expiração do Token é uma hora.
  • Scope – escopo de autorização fornecida ao cliente.

Exemplos

Solicitação:

POST /oauth/token HTTP/1.1
grant_type= client_credentials&client_id=sua ID de cliente&client_secret=seu segredo

Resposta:

{ ″access_token″: ″eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX……..″,
″token_type″: ″bearer″,
″expires_in″: 3600,
″scope″: ″CXS″
}

Solicitação para clientes da FedEx® internos, compatíveis e integradores:

POST /oauth/token HTTP/1.1
grant_type= csp_credentials&client_id=ID do cliente&client_secret= segredo do cliente&child_key=chave secundária&child_secret=segredo secundário

Resposta:

{ ″access_token″: ″eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX……..″,
″token_type″: ″bearer″,
″expires_in″: 3600,
″scope″: ″CXS″
}

Solicitação para clientes FedEx® de relação primária/secundária:

POST/oauth/token HTTP/1.1
grant_type= client_pc_credentials&client_id=ID do cliente&client_secret= segredo do cliente&child_key=chave secundária&child_secret=segredo secundário

Resposta:

{ ″access_token″: ″eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX……..″,
″token_type″: ″bearer″,
″expires_in″: 3600,
″scope″: ″CXS″
}

Nota: o token de acesso expira em uma hora. Ele pode ser regenerado por meio de uma solicitação POST para o endpoint OAuth/token.

API Authorization (1.0)

API Authorization

Use this endpoint to request the OAuth token (bearer token) to authorize your application to access FedEx resources. You can pass this bearer token in your subsequent individual FedEx API endpoint requests.
Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.

header Parameters
content-type
required
string
Example: application/x-www-form-urlencoded

This is used to indicate the media type of the resource. The media type is a string sent along with the file indicating format of the file.
Example: application/x-www-form-urlencoded

Request Body schema: application/x-www-form-urlencoded
grant_type
required
string

Specify Type of customer requesting the Oauth token.
Valid Values: client_credentials, csp_credentials, client_pc_credentials
Note:
client_credentials - should be used for customers, Integrators, and brand new Compatible Provider customers who are yet to unboard child accounts.
csp_credentials - should be used for Integrators, and Compatible Provider customers with existing child accounts.
client_pc_credentials – should be used for Proprietary Parent Child customers.

client_id
required
string

Specify the Client ID also known as API Key received during FedEx Developer portal registration.
Example: XXXX-XXX-XXXX-XXX

client_secret
required
string

Specify the Client secret also known as Secret Key received during FedEx Developer portal registration.
Example: XXXX-XXX-XXXX-XXX

child_Key
string

Specify the Client ID also known as Customer Key. This element is used as a login credential for an Integrator customer, Compatible customer or a Proprietary Parent Child customer to access the application on behalf of their customer.
Example: XXXX-XXX-XXXX-XXX
Note: This element should be used by Integrator, Compatible and Proprietary Parent Child customers.

child_secret
string

Specify the Client secret also known as Customer Secret. This element is used as a login credential for an Integrator customer, Compatible customer or a Proprietary Parent Child customer to access the application on behalf of their customer.
Example: XXXX-XXX-XXXX-XXX
Note: This element should be used by Integrator, Compatible and Proprietary Parent Child customers.

Responses

200

Success

401

Unauthorized

500

Failure

503

Service Unavailable

post /oauth/token

Sandbox Server

https://apis-sandbox.fedex.com/oauth/token

Production Server

https://apis.fedex.com/oauth/token

Request samples

Content type
application/x-www-form-urlencoded
Example
Copy
grant_type=client_credentials&client_id=Your_client_ID&client_secret=Your_secret

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX……",
  • "token_type": "bearer",
  • "expires_in": 3600,
  • "scope": "CXS"
}
CLOSE

Response

Copy