API de autenticación Fastmarkets
Table of Contents
API de autenticación Fastmarkets
Todos los API Fastmarkets utilizan normas modernas, ya bien conocidas y establecidas de seguridad. Incluyendo el uso de OAuth 2.0, OpenID Connect y JSON Web Tokens.
Los clientes de datos Fastmarkets normalmente tendrán sus propios servicios que consumirán y procesarán datos. Como tal, autenticación basada en credenciales de un único usuario no son bien vistas, Fastmarkets emite una clave y un nombre de servicio (Service Key) únicos que se pueden usar para llamar a la API de autenticación Fastmarkets, y así generar un token de acceso. El token de acceso devuelto (en formato JSON Web Token) se necesita para cualquier llamada posterior a otras API Fastmarkets (como la API de precios físicos Fastmarkets ) para verificar que el servicio que realiza la llamada tenga los permisos necesarios para ver los datos solicitados.
Generar un token de acceso
Usando la Llave y Nombre de Servicio, una solicitud POST Connect es requerida a la API de autenticación Fastmarkets, como se describe en el ejemplo abajo. La respuesta incluye el token de acceso, un tiempo de expiración (en segundos) y el tipo de token de acceso (esto siempre será del tipo 'Bearer').
Ejemplo de solicitud:
import requests # use requests library
import json # use json library
url = "https://auth.fastmarkets.com/connect/token"
payload = {
'grant_type': 'servicekey',
'client_id': 'service_client',
'scope': 'fastmarkets.physicalprices.api',
'serviceName': 'service_name',
'serviceKey': 'service_key'
}
header = {'Content-Type': "application/x-www-form-urlencoded"}
token_response = requests.post(url, data = payload, headers = header)
accessToken = json.loads(token_response.content)Dónde service_name y service_key deberá ser reemplazado por su datos credenciales Nombre de Servicio y Clave de Servicio..
Ejemplo de respuesta:
{
"access_token": "eyJhbGciOiJSUzI1NiIsImtpZCI6IjdjZTkyOTQ4NDk0ODRkMDM4YzQ0N...eEJkMWKgeY4vumE1RY-h4pC1CT6w",
"expires_in":7200,
"token_type":"Bearer"
}Tenga en cuenta que el token de acceso vá a expirar. El tiempo de expiración se proporciona en la respuesta. Esto es por diseño. Dependiendo de los requisitos, un nuevo Token de acceso deberá ser generado en una o más de las siguientes circunstancias:
1. Antes de cada solicitud a una API que requiere un token de acceso (como la API de precios físicos): esto podría resultar ineficiente si se realizan solicitudes de datos frecuentes, pero puede adaptarse al procesamiento stateless.
2. Cuando el token de acceso actual está próximo a caducar: el valor "expires in" devuelto con la solicitud del token de conexión indica el periodo de caducidad en segundos. Como alternativa, decodificar el token web JSON (JWT) revelará un parámetro llamado "exp" con una marca de tiempo que representa la fecha de caducidad.
3. Al recibir una respuesta de estado 401 (No autorizado) de una API
Información técnica de la API
Para obtener más información sobre nuestras API, consulte la información técnica de la API.
Más ayuda
Si tiene más preguntas o necesita más ayuda, consulte todo el contenido de ayuda disponible en nuestro Hub de Soporte.
Si no encuentra lo que necesita y desea contactar nuestros equipos de soporte, le ayudaremos.