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 o que sean de propriedad de una empresa matriz o subsidiaria) pueden comunicarse con el representante de FedEx para obtener la API y las claves secretas.
Para brindar una capa extra de seguridad, los clientes (internos, compatibles o de propiedad de una empresa matriz o subsidiaria) 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 o de propiedad de una empresa matriz o subsidiaria) 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 o de propiedad de una empresa matriz o subsidiaria, envía 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 o compatibles 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.
Response