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 o propietarios principales o secundarios), pueden contactar con el representante de FedEx para obtener las claves necesarias.
Para una capa adicional de seguridad, aparte estas, los clientes FedEx® podrán enviar una clave y/o código secundario para crear el 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 (internos, compatibles o propietarios principales o secundarios) de FedEx® 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 API y la clave secreta para crear el token OAuth. Consulte la API de registro de credenciales 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 internos, compatibles o propietarios principales o secundarios de FedEx®, se deben facilitar 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® Internal o Compatible:
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.
Response