Prueba №16
Autenticación de solicitudes
La autenticación de solicitudes se realiza mediante una cadena de autorización, que se pasa en el parámetro del encabezado X-Auth.
El valor de X-Auth se forma según la siguiente plantilla: md5(contraseña_sello_de_tiempo).
El sello de tiempo representa la fecha actual en UTC con precisión de día en el formato año, mes, día sin separadores.
La contraseña y el sello de tiempo se separan con el carácter de subrayado.
Ejemplo: md5("password_20230821").
En caso de que la cadena de autorización se forme incorrectamente, se devolverá el código HTTP 401.
Métodos
El trabajo con el API se realiza a través de POST en la dirección y puerto indicados.
El cuerpo de la solicitud es un JSON que contiene el nombre del método action y un conjunto opcional de parámetros params.
Ejemplo
{ "action": "filter", "params": {"price": 17500.0} }
El resultado del método se devuelve bajo la clave result.
{ "result": [ "59a9b5b4-6546-417f-9c0a-7ec1b9385af1", "271aa4c2-70be-4a03-9e20-1fbebb2aa79f", "12d19cdd-a58a-41bf-b387-3c8c3d08a40a", ] }
Si la solicitud contiene errores, se devolverá el código HTTP 400.
get_ids - el método devuelve una lista ordenada de identificadores de productos.
A continuación, se puede solicitar información detallada sobre el producto usando los identificadores seleccionados.
Por defecto, devuelve los identificadores de todos los productos disponibles.
Parámetros:
offset - número entero positivo. Determina el desplazamiento relativo al inicio de la lista.
limit - número entero positivo. Determina el número deseado de registros a devolver.
Ejemplo de solicitud:
{ "action": "get_ids", "params": {"offset": 10, "limit": 3} }
Ejemplo de respuesta:
{ "result": [ "18e4e3bd-5e60-4348-8c92-4f61c676be1f", "711837ec-57f6-4145-b17f-c74c2896bafe", "6c972a4a-5b91-4a98-9780-3a19a7f41560" ] }
get_items - devuelve una lista ordenada de productos con todas sus características si se proporcionan los identificadores de los productos.
Máximo de 100 registros.
Si se necesita obtener más de 100, es necesario realizar la solicitud varias veces. Sin proporcionar los identificadores, devuelve null.
Parámetros:
ids - lista ordenada de cadenas. Determina los identificadores de los productos que serán devueltos.
Ejemplo de solicitud:
{ "action": "get_items", "params": {"ids": ["1789ecf3-f81c-4f49-ada2-83804dcc74b0"]} }
Ejemplo de respuesta:
{
"result": [
{
"brand": null,
"id": "1789ecf3-f81c-4f49-ada2-83804dcc74b0",
"price": 16700.0,
"product": "un anillo con un diamante"
}
]
}
get_fields - sin parámetros, devuelve una lista ordenada de los campos disponibles de los productos.
Al proporcionar el parámetro field, devuelve una lista ordenada de los valores de ese campo de los productos.
Parámetros:
field - cadena de texto. Debe contener el nombre válido del campo del producto.
offset - número entero positivo. Determina el desplazamiento relativo al inicio de la lista.
limit - número entero positivo. Determina el número deseado de registros a devolver.
Ejemplo de solicitud:
{ "action": "get_fields", "params": {"field": "brand", "offset": 3, "limit": 5} }
Ejemplo de respuesta:
{ "result": [ null, null, "Piaget", null, null ] }
filter - se utiliza para filtrar.
Devuelve una lista ordenada de identificadores de productos que corresponden al valor especificado.
Parámetros:
Se puede usar cualquier campo devuelto por el método get_fields sin parámetros como parámetro.
El valor debe ser del tipo de datos correspondiente al campo.
Para el campo product, se verificará la inclusión del parámetro en la cadena.
Para los demás campos, se verifica una coincidencia exacta.
Ejemplo de solicitud:
{ "action": "filter", "params": {"price": 17500.0} }
Ejemplo de respuesta:
{ "result": [ "59a9b5b4-6546-417f-9c0a-7ec1b9385af1", "271aa4c2-70be-4a03-9e20-1fbebb2aa79f", ] }
Sin Comentarios