Fedex Logo
Developer Portal

API Authorization

Introducción

Las API de FedEx admiten el método de autenticación OAuth 2.0 (token de portador) para autorizar las solicitudes de API de tu aplicación con los recursos de FedEx. Este token de acceso OAuth se debe regenerar cada 60 minutos y se debe proporcionar con cada transacción de la API para autenticar y autorizar tu acceso a los recursos de FedEx.

Detalles de la API de autorización

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

Al registrarse en el FedEx Developer Portal, FedEx proporciona una combinación de ID del cliente (clave de API) y la Clave secreta del cliente (clave secreta) para autenticar las solicitudes de la API para su proyecto. Cada proyecto de su organización está asociado con una combinación de una ID del cliente y la clave secreta del cliente, conocidas como credenciales de la API.

Nota: Los clientes (internos, compatibles, que sean de propriedad de una empresa matriz o integradores) pueden comunicarse con el representante de ventas de FedEx para obtener la API y las claves secretas.

Para brindar un nivel de seguridad adicional, los clientes (internos, compatibles, de propiedad de una empresa matriz o integradores) de FedEx® pueden enviar la clave secundaria (clave secreta del cliente) y la clave secreta secundaria (contraseña del cliente) además de la clave de API y la clave secreta para crear un token OAuth. Este token se usa para cada solicitud de autenticación de la API.

Si la olvidó, puede volver a crear la clave secreta en la página Proyectos en el FedEx Developer Portal.

Nota: La creación de nuevas claves provocará un cambio de código en su aplicación.

Información importante en este documento:

  • Clave del cliente como Clave de API
  • Clave secreta del cliente como Clave secreta
  • Clave secundaria como Clave del cliente
  • Clave secreta secundaria como Contraseña del cliente

Los propósitos de las credenciales de la API son los siguientes:

  • Se identifica el proyecto haciendo una llamada a las API.
  • Se autoriza el acceso a las API que estén habilitadas en el proyecto.

Cómo obtener las credenciales de la API

Las credenciales se crean con base en las entradas hechas en el FedEx Developer Portal:

  • ID del cliente: la clave API (ID del cliente) se crea una vez que se crea un proyecto en el FedEx Developer Portal. También puedes ver la clave de API asociada con el proyecto en la página Visión general del proyecto.
  • Clave secreta del cliente: verás la clave secreta (Clave secreta del cliente) en la página de confirmación una vez que se cree el proyecto en el FedEx Developer Portal. En caso de ser necesario, la Clave secreta puede volver a generarse en la página Visión general del proyecto.

Nota: Los clientes (internos, compatibles, de propiedad de una empresa matriz o integradores) de FedEx® necesitan enviar la clave secundaria (clave secreta del cliente) y la clave secreta secundaria (contraseña del cliente), además de la clave de la API y de la clave secreta para crear un token OAuth. Consulta la API de registro de credenciales para saber cómo obtener la clave secundaria y la clave secreta secundaria.

Cómo funciona la autorización de API

Autorización de API

Una vez que hayas asegurado las credenciales de la API en el FedEx Developer Portal, usa el extremo OAuth para obtener un token de acceso para usarlo como credencial en cada transacción de la API.

Estas son entradas requeridas asociadas con la solicitud OAuth:

  • grant_type – tipo de cliente. (Valores válidos: client_credentials, csp_credentials, client_pc_credentials)
  • client_id – se refiere a la clave del proyecto de la API.
  • client_secret – se refiere a la clave secreta del proyecto de la API.

Para los clientes de FedEx® internos, compatibles, de propiedad de una empresa matriz o integradores, se tienen que enviar las siguientes entradas adicionales:

  • child_id – Clave del cliente arrojada en la solicitud de registro de credenciales de la API.
  • child_secret – Contraseña del cliente arrojada en la solicitud de registro de clientes de la API.

El resultado de esta solicitud debe arrojar lo siguiente:

  • access_token – El token OAuth encriptado que se utiliza en la transacción de la API.
  • token_type – Tipo de token. En este caso, es la autenticación del portador.
  • expires_in – Tiempo de vencimiento del token en milisegundos. El tiempo estándar de vencimiento del token es de una hora.
  • Scope – Alcance de autorización proporcionado 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 internos, compatibles e integradores de FedEx®:

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 los clientes de FedEx®:de propiedad de una empresa matriz o subsidiaria:

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″
}

Nota: El token de acceso caduca en una hora, y puede volver a generarse usando una solicitud POSTERIOR en el extremo 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