Fedex Logo
Developer Portal

API Authorization

Introdução

As API FedEx suportam o método de autenticação OAuth 2.0 (token de portador) para autorizar pedidos de API da aplicação com recursos FedEx. Este token de acesso OAuth tem de ser regenerado após cada 60 minutos e fornecido com cada transação da API para autenticar e autorizar o acesso aos recursos FedEx.

Detalhes da API de Autorização

Esta API permite autorizar pedidos de API e é necessária para autenticar recursos FedEx. A secção seguinte descreve os pré-requisitos da API:

Ao registar-se no FedEx Developer Portal, a FedEx disponibiliza uma combinação de ID de Cliente (Chave de API) e Segredo de Cliente (Chave Secreta) para autenticar os pedidos de API do seu projeto. Cada projeto na sua organização está associado a uma combinação de ID de Cliente e Segredo de Cliente, também designadas por credenciais de API.

Nota: os Clientes (Internos, Compatíveis, Diretos e Indiretos e Integradores) podem contactar o Representante da FedEx para obter as Chaves secretas e de API.

Para disponibilizar uma camada adicional de segurança, os clientes FedEx® (Internos, Compatíveis, Diretos e Indiretos e Integradores) podem enviar a Chave subordinada (Segredo de cliente) e o Segredo subordinado (Palavra-passe de cliente) para além da Chave de API e Chave secreta para criar um token OAuth. Este token é utilizado em cada pedido da API para autenticação.

Pode recriar a Chave Secreta esquecida através da página Projetos no FedEx Developer Portal.

Nota: a criação de novas chaves irá resultar na alteração do código na sua aplicação.

Informações importantes neste documento:

  • Chave de Cliente como Chave de API
  • Segredo de Cliente como Chave Secreta
  • Chave Subordinada como Chave de Cliente
  • Segredo Subordinado como Palavra-passe de Cliente

As credenciais de API servem os seguintes propósitos:

  • Identificam o projeto que faz uma chamada para as API.
  • Autorizam o acesso às API ativadas no âmbito do projeto.

Como obter as Credenciais da API

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

  • ID de cliente – a Chave de API (ID de cliente) é criada quando um projeto é criado no FedEx Developer Portal. Também pode ver a Chave de API associada ao projeto na página Descrição Geral do Projeto.
  • Segredo de Cliente – verá a Chave Secreta (Segredo de Cliente) na página de confirmação quando um projeto for criado no FedEx Developer Portal. Se necessário, a Chave Secreta também pode ser regenerada, na página Descrição Geral do Projeto.

Nota: os clientes FedEx® (Internos, Compatíveis, Diretos e Indiretos e Integradores) têm de enviar a Chave subordinada (Segredo de cliente) e o Segredo subordinado (Palavra-passe de cliente) para além da Chave de API e Chave secreta para criar o token OAuth. Consulte a API de registo de credenciais para saber como obter a Chave subordinada e o Segredo subordinado.

Como Funciona a API de Autorização

Autorização de API

Após assegurar as credenciais de API no FedEx Developer Portal, o ponto final OAuth é utilizado para obter um token de acesso que é utilizado como credenciais com cada transação da API.

Estas são as entradas necessárias associadas ao pedido de OAuth:

  • grant_type – tipo de cliente. (Valores válidos: client_credentials, csp_credentials, client_pc_credentials)
  • client_id – refere-se à Chave de API do Projeto.
  • client_secret – refere-se à Chave Secreta de API do Projeto.

Para clientes FedEx® Internos, Compatíveis, Diretos e Indiretos e Integradores, envie as entradas adicionais abaixo:

  • child_id – Chave de Cliente devolvida através do pedido de API de Registo de Credenciais.
  • child_secret – palavra-passe de cliente devolvida através do pedido de API de Registo de Credenciais

O resultado deste pedido deve ser devolvido abaixo:

  • access_token – o token OAuth encriptado que tem de ser utilizado na transação da API.
  • token_type – tipo de token. Neste caso, é autenticação de portador.
  • expires_in – tempo de expiração do token em milissegundos. Uma hora é o tempo de expiração do token padrão.
  • Scope – âmbito da autorização fornecida ao consumidor.

Exemplos

Pedido:

POST /oauth/token HTTP/1.1
grant_type= client_credentials&client_id=your client ID&client_secret=Your secret

Resposta:

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

Pedido para clientes FedEx® Internos, Compatíveis e Integradores:

POST /oauth/token HTTP/1.1
grant_type= csp_credentials&client_id=Client ID&client_secret= Client secret&child_key=Child key&child_secret=Child Secret

Resposta:

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

Pedido para clientes FedEx® Diretos e Indiretos:

POST /oauth/token HTTP/1.1
grant_type= client_pc_credentials&client_id=Client ID&client_secret= Client secret&child_key=Child key&child_secret=Child Secret

Resposta:

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

Nota: o token de acesso expira dentro de uma hora. Pode ser regenerado através de um pedido POST para o ponto final 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