Fedex Logo
Developer Portal

API Authorization

Introducción

Las APIs de FedEx son compatibles con el sistema de autenticación para autorizar las solicitudes: OAuth 2.0 (acceso mediante token). El token de acceso "OAuth" se actualiza cada 60 minutos y se solicitará en cada transacción para autorizar el acceso a los recursos FedEx.

Detalles de la API de autorización

Esta API le permite autorizar las solicitudes de API y es necesaria para autenticar los recursos de FedEx. La siguiente sección describe los requisitos previos para la API:

Al registrarse en el Developer Portal, FedEx proporciona una combinación de identificador del cliente (clave API) y código secreto del cliente (clave secreta) para autenticar las solicitudes de API para su proyecto. Cada proyecto de su organización se asocia con una combinación de identificador del cliente y código secreto del cliente, denominados credenciales API.

Nota: Los clientes (internos, compatibles, propietarios principales o secundarios e integradores) pueden ponerse en contacto con el representante de FedEx para obtener las claves de API y secretas.

Para una capa adicional de seguridad, además de la clave de API y la clave secreta, los clientes de FedEx® (internos, compatibles, propietarios principales o secundarios e integradores) podrán enviar una clave secundaria (código secreto del cliente) y un código secundario (contraseña del cliente) para crear el token OAuth. Este token se necesita en todas las solicitudes de API con fines de autenticación.

Puede volver a definir su clave en la página de Proyectos del FedEx Developer Portal.

Nota: La creación de nuevas claves cambiará el código en su aplicación.

Información importante:

  • Clave de cliente hace referencia a clave API
  • Código secreto del cliente hace referencia a clave secreta
  • Clave secundaria hace referencia a clave del cliente
  • Código secreto secundario hace referencia a la contraseña del cliente

Las credenciales API sirven para lo siguiente:

  • Identifican el proyecto conectando con las APIs.
  • Autorizan el acceso a las APIs habilitadas para su proyecto.

Cómo obtener credenciales API

Las credenciales se crean en función de la información disponible en el FedEx Developer Portal:

  • Identificador del cliente: La clave API (identificador del cliente) se crea cuando se crea el proyecto en el FedEx Developer Portal. También puede ver la clave API asociada al proyecto en la página Resumen del proyecto.
  • Código secreto del cliente: Verá la clave secreta (código secreto del cliente) en la página de confirmación al crear un proyecto en el FedEx Developer Portal. Si es necesario, la clave secreta puede volver a generarse en la página Resumen del proyecto.

Nota: Los clientes de FedEx® (internos, compatibles, propietarios principales o secundarios e integradores) tienen que enviar la clave secundaria (código secreto del cliente) y el código secreto secundario (contraseña del cliente) junto con la clave de API y la clave secreta para crear el token OAuth. Consulte Credential Registration API para saber cómo obtener la clave secundaria y el código secreto secundario.

Cómo funciona la autorización API

Autorización de API

Una vez que haya conseguido las credenciales API en el FedEx Developer Portal, el punto de conexión OAuth se utiliza para obtener un token de acceso que se usa a modo de credenciales con cada transacción de API.

A continuación se muestra lo que debe introducirse en relación con la solicitud OAuth:

  • grant_type: tipo de cliente (valores válidos: client_credentials, csp_credentials, client_pc_credentials).
  • client_id: hace referencia a la clave API del proyecto.
  • client_secret: hace referencia a la clave secreta API del proyecto.

En el caso de los clientes de FedEx® internos, compatibles, propietarios principales o secundarios e integradores, se deben indicar los siguientes datos adicionales:

  • child_id: clave del cliente obtenida a través de la solicitud de API de registro de credenciales.
  • child_secret: contraseña del cliente obtenida a través de la solicitud de API de registro de credenciales.

El resultado de esta solicitud debería proporcionar:

  • access_token: el token OAuth encriptado que se debe usar en la transacción de API.
  • token_type: tipo de token. En este caso se trata de autenticación del portador.
  • expires_in: plazo de caducidad expresado en milisegundos. El plazo de caducidad estándar es una hora.
  • Scope: alcance de la autorización proporcionada al cliente.

Ejemplos

Solicitud:

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

Respuesta:

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

Solicitud para clientes de FedEx® internos, compatibles 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

Respuesta:

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

Solicitud para clientes propietarios principales o secundarios de FedEx®:

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

Respuesta:

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

Nota: El token de acceso caduca en una hora; puede volver a generarse mediante una solicitud POST en el punto de conexión 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