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. |
Request Body schema: application/x-www-form-urlencoded
grant_type required | string Specify Type of customer requesting the Oauth token. |
client_id required | string Specify the Client ID also known as API Key received during FedEx Developer portal registration. |
client_secret required | string Specify the Client secret also known as Secret Key received during FedEx Developer portal registration. |
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. |
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. |
Responses
Success
Unauthorized
Failure
Service Unavailable
Sandbox Server
Production Server
Request samples
- Payload
- C#
- JAVA
- JAVASCRIPT
- PHP
- PYTHON
- RUST
- SWIFT
grant_type=client_credentials&client_id=Your_client_ID&client_secret=Your_secret
Response samples
- 200
- 401
- 500
- 503
- "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX……",
- "token_type": "bearer",
- "expires_in": 3600,
- "scope": "CXS"
Response