API Pública Product Manager
Al usar la API REST puedes consultar información del Product Manager e integrar en otros sistemas.
Para obtener informes via API, tienes que usar consultas basadas en endpoint.
https://api.xanasystem.com/v1
Es importante respetar el protocolo https, ya que de no hacerlo, no funcionará correctamente.
curl -H "content-type: application/json" -H "x_api_key: tuClaveAPI" -X GET https://api.xanasystem.com/v1/products
Todas las solicitudes deben incluir x_api_key en el encabezado de la solicitud su clave API.
Puede solicitar su clave API contactando con Xana System.
Hay un límite de frecuencia de solicitudes por segundo. Si supera el límite, obtendrá el error "Demasiadas solicitudes".
Dependiendo del plan contratado hay unos límites en el número de peticiones y de cantidad de datos transferidos mensualmente. Consulte las condiciones de su plan para saber los límites. Cuando supere un límite recibirá los errores “Ha superado el límite mensual de peticiones” o “Ha superado el límite mensual de datos transferidos”, según sea el caso.
Es posible ajustar la paginación realizada por la API a través del parámetro page_size teniendo este un límite máximo de 100 resultados. Si no se establece este parámetro, se utilizará el valor por defecto establecido por la API.
Del mismo modo, se puede navegar por las páginas de los resultados solicitados a través del parámetro page donde se devolverán los resultados de la página indicada. Los valores empiezan desde 1 hasta la última página según los resultados que tenga la consulta realizada.
Para realizar un filtro en una consulta de una entidad que está relacionada con otra, se hará siempre por el valor devuelto de la entidad sobre la que se hace la consulta.
Por ejemplo, si quiero filtrar por los productos de un determinado formato, se tendrá que hacer a través del id del formato, ya que cuando consultas productos, obtienes el identificador del formato asociado y no sus datos.
GET /groups
page | página |
page-size | número máximo de registros por página 100 |
filter | Array[String] |
id | String |
name | String |
order | Number |
catalogs | Array[String] |
family | String |
id | String |
name | String |
order | Number |
catalogs | Array[String] |
family | String |
image | url |
GET /environments
page | página |
page-size | número máximo de registros por página 100 |
filter | Array[String] |
id | String |
name | String |
order | Number |
catalogs | Array[String] |
products | Array[String] |
families | Array[String] |
stays | Array[String] |
series | Array[String] |
subseries | Array[String] |
id | String |
name | String |
order | Number |
image | url |
catalogs | Array[String] |
products | Array[String] |
families | Array[String] |
stays | Array[String] |
series | Array[String] |
subseries | Array[String] |
hotspot | String |
generated_pdf | Array[String] |
seo_name | String |
seo_description | String |
GET /catalogs
page | página |
page-size | número máximo de registros por página 100 |
filter | Array[String] |
No hay filtros en esta entidad.
id | String |
name | String |
image | url |
GET /families
page | página |
page-size | número máximo de registros por página 100 |
filter | Array[String] |
id | String |
name | String |
catalogs | Array[String] |
id | String |
name | String |
image | url |
catalogs | Array[String] |
GET /sizes
page | página |
page-size | número máximo de registros por página 100 |
filter | Array[String] |
id | String |
name | String |
height | Number |
width | Number |
depth | Number |
id | String |
name | String |
height | Number |
width | Number |
depth | Number |
GET /icons
page | página |
page-size | número máximo de registros por página 100 |
filter | Array[String] |
id | String |
field | String |
entity | String |
value_string | String |
value_number | Number |
value_bool | Bool |
id | String |
icon | String |
field | String |
entity | String |
value_string | String |
value_number | Number |
value_bool | Bool |
GET /packings
page | página |
page-size | número máximo de registros por página 100 |
filter | Array[String] |
id | String |
name | String |
id | String |
name | String |
pallet_format | String |
euro_format | String |
m2_pallet | Number |
m2_europallet | Number |
m2_box | Number |
sqft_pallet | Number |
sqft_europallet | Number |
sqft_box | Number |
kg_pallet | Number |
kg_europallet | Number |
kg_box | Number |
lb_pallet | Number |
lb_europalet | Number |
lb_box | Number |
pieces_box | Number |
boxes_palet | Number |
boxes_europalet | Number |
GET /products
page | página |
page-size | número máximo de registros por página 100 |
filter | Array[String] |
id | String |
name | String |
sku | String |
new | Bool |
serie | String |
subseries | Array |
size | String |
packing | String |
family | Array |
catalogs | Array |
groups | Array |
secundary_series | Array |
colors | Array |
collections | Array |
appareance | String |
finish | String |
raw_material | String |
placement | String |
piece_type | String |
status | String |
custom_fields.xxxx | String. xxxx -> Nombre del campo custom |
id | String |
sku | String |
name | String |
description | String |
url_video | Url |
url_zip | Url |
new | Boolean |
serie | String |
subseries | String |
size | String |
packing | String |
family | String |
catalogs | String |
groups | String |
secundary_series | String |
non_proportional_image | String |
face_images_url | Url |
face_images | String |
detail_images | String |
default_faces | String |
featured_image | String |
colors | String |
collections | String |
appareance | String |
finish | Boolean |
raw_material | String |
placement | String |
regular_price | Number |
offer_price | Number |
stock | Number |
type_stock | String |
stock_unit | String |
minimum_amount | Number |
adjustment_unit | Number |
generated_pdf | Boolean |
files_type_1 | String |
files_type_2 | String |
seo_name | String |
seo_description | String |
piece_type | String |
packing_description | String |
notes | String |
notes_ecommerce | String |
status | String |
custom_fields | Array[String] |
GET /merchandising
page | página |
page-size | número máximo de registros por página 100 |
filter | Array[String] |
id | String |
name | String |
sku | String |
products | Array |
series | Array |
dimensions | String |
type | String |
catalogs | Array |
families | Array |
id | String |
name | String |
sku | String |
order | Number |
type | String |
featured_image | Url |
images | Url |
catalogs | Array |
products | Array |
families | Array |
series | Array |
observations | String |
dimensions | String |
seo_name | String |
seo_description | String |
GET /projects
page | página |
page-size | número máximo de registros por página 100 |
filter | Array[String] |
id | String |
name | String |
products | Array |
series | Array |
room_type | String |
producer | String |
catalogs | Array |
families | Array |
location | String |
id | String |
name | String |
products | Array |
series | Array |
room_type | String |
producer | String |
catalogs | Array |
families | Array |
location | String |
description | String |
order | Number |
images | Url |
seo_name | String |
seo_description | String |
GET /series
page | página |
page-size | número máximo de registros por página 100 |
filter | Array[String] |
id | String |
name | String |
catalogs | Array |
families | Array |
groups | Array |
id | String |
name | String |
catalogs | Array |
families | Array |
groups | Array |
description | String |
url_video | Url |
url_zip | Url |
new | Boolean |
generated_pdf | String |
files_type_1 | String |
files_type_2 | String |
title_files_type_1 | String |
title_files_type_2 | String |
seo_name | String |
seo_description | String |
featured_image | String |
GET /translations
page | página |
page-size | número máximo de registros por página 100 |
filter | Array[String] |
default | String |
id | String |
default | String |
es | String |
en | String |
it | String |
fr | String |
de | String |
CÓDIGOS HTTP DE RESPUESTA
200 OK | OK |
401 Unauthorized | No autorizado |
500 Internal error | Contactar con el administrador. |
Request Content-Types: application/json
{ "page": 1, "page_size": 10, "filter":[ {"name":"Egeo_1_G"}, { "catalogs": ["vdgadOr29H", "t3VEF8c0mW"]} ] } |
[ "current_page": 1, "pages": 5, "results": 50, "current_results": 10, "groups": [ { "id": "5b1e52ff0cb8792ed75992c1", "name": "xxxxxxx", "order": "0", "imagen": "https://…", "family": "xxxxxxx", "catalogs": ["xxxxxx"] }, {...} ] ] |