Gestionar guía de talles
Búsqueda de guías de talles sugeridas
Con el recurso /catalog/charts/search podrás realizar un POST, para filtrar con algunos atributos de tu publicación y reconocer las guías de talle sugeridas para que el seller pueda elegir una, clonar u optar por crear una guía de talle personalizada para su producto.
Llamada:
curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d {...} https://api.mercadolibre.com/catalog/charts/search
Ejemplo:
curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d
'{
"seller_id": 123456,
"domain_id": "SNEAKERS",
"site_id": "MLM",
"attributes": [{
"id": "GENDER",
"values": [{
"id": "339665",
"name": "Mujer"
}]
},
{
"id": "BRAND",
"values": [{
"name": "Nike"
}]
}
]
}'
https://api.mercadolibre.com/catalog/charts/search
Consideraciones
El atributo con el tag “grid_template_required” en la ficha técnica define qué atributos son requeridos para enviar en el body del POST de búsqueda para sugerir guías de talles, como en el ejemplo anterior, mientras que los atributos con el tag "grid_filter" son opcionales para realizar consultas más específicas. Ten en cuenta que en todos los casos se deberá enviar los atributos de: dominio, site y seller.
Si en el body del POST se envía:
- Sin “type” se retornan todos los resultados de guías personalizadas, estándar y por marca. De acuerdo a los filtros enviados en el POST en donde obligatoriamente deberá enviarse el atributo de BRAND adicional a los atributos con el tag de “grid_template_required”.
- Con “type”= “SPECIFIC” se retornan todos los resultados de guías personalizadas, de acuerdo a los filtros enviados en el POST acuerdo al género que se envíe, el atributo brand no es requerido para los filtros del body.
- Con “type”=”STANDARD” se retornan todos los resultados de guías estándar, es decir, guías previamente cargadas por Mercado Libre de acuerdo a los filtros enviados en el POST, el atributo brand no es requerido para los filtros del body.
- Con “type”= ”BRAND” se retornan todos los resultados de guías por marca, es decir, guías previamente establecidas por la marca de un producto como Adidas o Nike, de acuerdo a los filtros enviados en el POST en donde obligatoriamente deberá enviarse el atributo de BRAND adicional a los atributos con el tag de “grid_template_required”.
Respuesta:
Como respuesta se obtendrán todos los chart_id y su correspondiente especificación, que coincidan con los filtros de búsqueda enviados en el body del POST.
{
"charts": [
{
"id": "210057",
"names": {
"MLM": "Mercado Libre Mujer Tenis"
},
"domain_id": "SNEAKERS",
"type": "STANDARD",
"main_attribute_id": "MX_SIZE",
"secondary_attribute_id": "F_US_SIZE",
"attributes":[...],
"rows": [...]
},
{
"id": "210004",
"names": {
"MLM": "Nike - Mujer - Urbano/Deportivo - Running/Básquet/Training"
},
"domain_id": "SNEAKERS",
"type": "BRAND",
"main_attribute_id": "F_US_SIZE",
"secondary_attribute_id": "EU_SIZE",
"attributes":[...],
"rows": [...]
},
{...},
{...}
]
}
En caso que realices una búsqueda con un dominio que no esté configurado con la nueva Guia de talles, recibirás un error.
{
"error": "domain_not_active",
"message": "Domain MLA-HATS_AND_CAPS is not active to be used in charts.",
"status": 400
}
Crear guía de talles personalizada
En caso de que quieras crear una guía de talles personalizada deberás usar el recurso de /catalog/charts enviando un POST con la información necesaria para la creación de una guía de talles.
Las guías de talles personalizadas admiten el uso de rangos de medidas, enviando en el body los atributos FOOT_LENGTH y FOOT_LENGTH_TO para cada una de las rows.
Llamada:
curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d {...} https://api.mercadolibre.com/catalog/charts
Ejemplo para crear una guía personalizada sin usar rangos:
curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d
'{
"names":{
"MLA":"Guía de talles de calzado de hombre"
},
"domain_id":"SNEAKERS",
"site_id":"MLA",
"attributes":[
{
"id":"GENDER",
"values":[
{
"id":"339666",
"name":"Hombre"
}
]
}
],
"main_attribute":{
"attributes":[
{
"site_id":"MLA",
"id":"AR_SIZE"
}
]
},
"rows":[
{
"attributes":[
{
"id":"AR_SIZE",
"values":[
{
"name":"40 AR"
}
]
},
{
"id":"FOOT_LENGTH",
"values":[
{
"name":"10 cm"
}
]
}
]
},
{
"attributes":[
{
"id":"AR_SIZE",
"values":[
{
"name":"41 AR"
}
]
},
{
"id":"FOOT_LENGTH",
"values":[
{
"name":"15 cm"
}
]
}
]
},
{
"attributes":[
{
"id":"AR_SIZE",
"values":[
{
"name":"42 AR"
}
]
},
{
"id":"FOOT_LENGTH",
"values":[
{
"name":"20 cm"
}
]
}
]
}
]
}'
https://api.mercadolibre.com/catalog/charts
Respuesta: Creación de Guía de talles
{
"id": "26008",
"names": {
"MLA": "Guía de talles de calzado de hombre"
},
"domain_id": "SNEAKERS",
"site_id": "MLA",
"type": "SPECIFIC",
"seller_id": 750514267,
"attributes": [
{
"id": "GENDER",
"values": [
{
"id": "339666",
"name": "Hombre"
}
]
}
],
"rows": [
{
"id": "26008:1",
"attributes": [
{
"id": "SIZE",
"values": [
{
"name": "40 AR"
}
]
},
{
"id": "FOOT_LENGTH",
"values": [
{
"name": "10 cm",
"struct": {
"number": 10.0,
"unit": "cm"
}
}
]
},
{
"id": "AR_SIZE",
"values": [
{
"name": "40 AR"
}
]
}
]
},
{
"id": "26008:2",
"attributes": [
{
"id": "SIZE",
"values": [
{
"name": "41 AR"
}
]
},
{
"id": "FOOT_LENGTH",
"values": [
{
"name": "15 cm",
"struct": {
"number": 15.0,
"unit": "cm"
}
}
]
},
{
"id": "AR_SIZE",
"values": [
{
"name": "41 AR"
}
]
}
]
},
{
"id": "26008:3",
"attributes": [
{
"id": "SIZE",
"values": [
{
"name": "42 AR"
}
]
},
{
"id": "FOOT_LENGTH",
"values": [
{
"name": "20 cm",
"struct": {
"number": 20.0,
"unit": "cm"
}
}
]
},
{
"id": "AR_SIZE",
"values": [
{
"name": "42 AR"
}
]
}
]
}
]
}
Ejemplo para crear una guía personalizada usando rangos de medidas:
curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d
{
"names": {
"MLA": "Guia de test para rangos niños"
},
"domain_id": "SNEAKERS_TEST",
"site_id": "MLA",
"attributes": [
{
"id": "GENDER",
"values": [
{
"id": "339667",
"name": "Niños"
}
]
}
],
"main_attribute": {
"attributes": [
{
"site_id": "MLA",
"id": "MANUFACTURER_SIZE"
}
]
},
"rows": [
{
"attributes": [
{
"id": "MANUFACTURER_SIZE",
"values": [
{
"name": "3 US"
}
]
},
{
"id": "FOOT_LENGTH",
"values": [
{
"name": "10 cm"
}
]
},
{
"id": "FOOT_LENGTH_TO",
"values": [
{
"name": "13 cm"
}
]
}
]
},
{
"attributes": [
{
"id": "MANUFACTURER_SIZE",
"values": [
{
"name": "4 US"
}
]
},
{
"id": "FOOT_LENGTH",
"values": [
{
"name": "15 cm"
}
]
},
{
"id": "FOOT_LENGTH_TO",
"values": [
{
"name": "20 cm"
}
]
}
]
}
]
}' https://api.mercadolibre.com/catalog/charts
Consideraciones al crear guías de talles
Contaremos con un atributos “manufacturer_size” el cual es optativo y representa el talle de la marca o fabricante y otro atributo de“size” que se calcula de acuerdo a la regla que tenga la guia de talles y representará el talle principal que se visualizará en la publicación (la columna que va a ser el talle principal.
La primera columna de la guía de talles, va a determinar lo que va en el picker (detalle descriptivo del talle). Esta columna puede ser determinada por el vendedor para cambiar lo que queremos mostrar como descripción del talle.
En el caso de las guías de talles estándar y marca, la columna del detalle (picker) va a estar predefinida y se encontrarán configuradas por site en caso que sean diferentes entre sites. Siempre la primera columna de la guía de talles, será identificada bajo el id del atributo SIZE.
Pasos para la creación de la guía de talles:
Se crea una guía de talles con las siguientes medidas y se define como talle principal el US_SIZE
Ejemplo:
curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d
'{
"names": {
"MLA": "Guía de talles de calzado de hombre"
},
"domain_id": "SNEAKERS",
"site_id": "MLA",
"main_attribute": {
"attributes": [
{
"site_id": "MLA",
"id": "M_US_SIZE"
}
]
},
"attributes": [
{
"id": "GENDER",
"values": [
{
"id": "339666",
"name": "Hombre"
}
]
}
],
"rows": [
{
"attributes": [
{
"id": "AR_SIZE",
"values": [
{
"name": "40"
}
]
},
{
"id": "M_US_SIZE",
"values": [
{
"name": "8,5"
}
]
},
{
"id": "FOOT_LENGTH",
"values": [
{
"name": "10 cm"
}
]
}
]
},
{
"attributes": [
{
"id": "AR_SIZE",
"values": [
{
"name": "41"
}
]
},
{
"id": "M_US_SIZE",
"values": [
{
"name": "9"
}
]
},
{
"id": "FOOT_LENGTH",
"values": [
{
"name": "15 cm"
}
]
}
]
},
{
"attributes": [
{
"id": "AR_SIZE",
"values": [
{
"name": "42"
}
]
},
{
"id": "M_US_SIZE",
"values": [
{
"name": "9,5"
}
]
},
{
"id": "FOOT_LENGTH",
"values": [
{
"name": "20 cm"
}
]
}
]
}
]
}'
https://api.mercadolibre.com/catalog/charts
Ejemplo de guía de talle del vendedor que se envía en el POST.
Resultado del GET con el chart_id correspondiente a la guía de talle creada:
Ejemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/catalog/charts/3
Respuesta:
{
"names": {
"MLA": "Guía de talles de calzado de hombre"
},
"domain_id": "SNEAKERS",
"site_id": "MLA",
"attributes": [{
"id": "GENDER",
"values": [{
"id": "339666",
"name": "Hombre"
}]
}],
"rows": [{
"attributes": [{
"id": "SIZE",
"values": [{
"name": "8,5 US"
}]
},
{
"id": "AR_SIZE",
"values": [{
"name": "40"
}]
},
{
"id": "M_US_SIZE",
"values": [{
"name": "8,5"
}]
},
{
"id": "FOOT_LENGTH",
"values": [{
"name": "10 cm"
}]
}
]
},
{
"attributes": [{
"id": "SIZE",
"values": [{
"name": "9 US"
}]
},
{
"id": "AR_SIZE",
"values": [{
"name": "41"
}]
},
{
"id": "M_US_SIZE",
"values": [{
"name": "9"
}]
},
{
"id": "FOOT_LENGTH",
"values": [{
"name": "15 cm"
}]
}
]
},
{
"attributes": [{
"id": "SIZE",
"values": [{
"name": "9,5 US"
}]
},
{
"id": "AR_SIZE",
"values": [{
"name": "42"
}]
},
{
"id": "M_US_SIZE",
"values": [{
"name": "9,5"
}]
},
{
"id": "FOOT_LENGTH",
"values": [{
"name": "20 cm"
}]
}
]
}
]
}
SIZE | AR_SIZE | US_SIZE | FOOT_LENGHT |
---|---|---|---|
8.8 US | 40 | 8.5 | 10 |
9 US | 41 | 9 | 15 |
9.5 US | 42 | 9.5 | 20 |
Ejemplo de cómo se visualiza en el front la publicación con la siguiente guía de talle asignada.
Vista de la publicación con guía de talle asignada:

En cada cuadro (picker) se hará referencia a los talles designados como principales por el vendedor. El resto de la información muestra cómo (las equivalencias o los centímetros) lo obtiene de la guía de talles.
Agregar filas en guía de talles
También podrás crear o agregar una fila en una guía de talle creada. Sin necesidad de tener que modificar la guía, podrás realizar un POST al recurso de /catalog/charts/$chart_id/rows y sumar la fila correspondiente.
Llamada:
curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d {...} https://api.mercadolibre.com/catalog/charts/$CHART_ID/rows
Ejemplo para agregar una fila en una guía de talle del tipo BRAND o STANDARD:
curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d
'{
"sites": ["MLA", "CBT"], // Aplica si type = BRAND | STANDARD
"attributes": [{
"id": "UK_SIZE",
"values": [{
"name": "44"
}]
},{
"id": "AR_SIZE",
"values": [{
"name": "44"
}]
}
}'
https://api.mercadolibre.com/catalog/charts/4/rows
Ejemplo para agregar una fila en una guía de talle del tipo SPECIFIC:
curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d
'{
"attributes": [{
"id": "AR_SIZE",
"values": [{
"name": "43 AR"
}]
},{
"id": "FOOT_LENGTH",
"values": [{
"name": "22 cm"
}]
}]
}'
https://api.mercadolibre.com/catalog/charts/4/rows
Modificar fila en guía de talles
Además agregar una fila en la guía de talles, podrás modificar las ya existentes. Realizando un PUT al recurso de /catalog/charts/$chart_id/rows/$row_id y editando la fila correspondiente.
Llamada:
curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d {...} https://api.mercadolibre.com/catalog/charts/$CHART_ID/rows/$ROW_ID
Ejemplo:
curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d
'{
"attributes": [
{
"id": "FOOT_LENGTH",
"values": [
{
"id": "FOOT_LENGTH",
"values": [
{
"name": "10 cm"
}
]
},
{
"id": "FOOT_LENGTH_TO",
"values": [
{
"name": "13 cm"
}
]
}
]
}
]
}'
https://api.mercadolibre.com/catalog/charts/155405/rows/155405:1
Modificar guía de talle
Para modificar una guía, define sólo los campos que deben ser modificados. En el caso de attributes y rows, los objetos enviados en la lista si existen previamente en la guía son modificados y si no existen son creados.
Llamada:
curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN' -d {...} https://api.mercadolibre.com/catalog/charts/$CHART_ID
Ejemplo:
curl -X PUT -H 'Authorization: Bearer $ACCESS_TOKEN' -d
'{
"names": {
"MLA": "Guía de talles de calzado de hombre"
}
}'
https://api.mercadolibre.com/catalog/charts/5
Asociar guía de talle al ítem
Para asignar una guía de talle a las publicaciones que se encuentren dentro de los dominios requeridos con guías, tendrás que realizar un POST a ítems, enviando los nuevos atributos de tipo GRID_ID y GRID_ROW_ID, los cuales permitirán hacer referencia con el (SIZE_GRID_ID) a la guía de talles a la cual queremos asociar el ítem o variación y (SIZE_GRID_ROW_ID) en referencia a la fila dentro de la guia de talles.
Ejemplo:
curl -X POST -H 'Authorization: Bearer $ACCESS_TOKEN' -H "Content-Type: application/json" -d
'{
"title": "ITEM DE TEST MODA - NO OFERTAR",
"pictures": [
{
"secure_url": "https://http2.mlstatic.com/D_783501-MLB20327737026_062015-O.jpg",
"url": "http://http2.mlstatic.com/D_783501-MLB20327737026_062015-O.jpg",
"quality": "",
"id": "783501-MLB20327737026_062015"
}
],
"price": 30000,
"currency_id": "ARS",
"available_quantity": 5,
"catalog_listing": false,
"attributes": [
{
"id": "ITEM_CONDITION",
"value_id": "2230284"
},
{
"id": "BRAND",
"value_id": "14671",
"value_name" : "Nike"
},
{
"id": "LINE",
"value_id": "289533",
"value_name": "Air Max"
},
{
"id": "MODEL",
"value_id": "27030",
"value_name": "AP"
},
{
"id": "GENDER",
"value_id": "339665",
"value_name": "Mujer"
},
{
"id": "AGE_GROUP",
"value_id": "6725189",
"value_name": "Adultos"
},
{
"id": "SIZE_GRID_ID",
"value_id": "11273930",
"value_name":"26008"
},
{
"id": "STYLE",
"value_id": "6694772",
"value_name": "Deportivo"
},
{
"id": "RECOMMENDED_SPORTS",
"value_id": "6694768",
"value_name": "Running"
},
{
"id": "EXTERIOR_MATERIALS",
"value_id": "5017538",
"value_name": "Cuero sintético"
},
{
"id": "OUTSOLE_MATERIALS",
"value_id": "930364",
"value_name": "Goma"
},
{
"id": "FOOTWEAR_TECHNOLOGIES",
"value_id": "8668190",
"value_name": "Air"
},
{
"id": "FOOTWEAR_TYPE",
"value_id": "517583",
"value_name": "Zapatilla"
},
{
"id": "COLOR",
"value_id": null,
"value_name": "Blanco/Blanco/Platino metalizado/Platino puro"
},
{
"id": "SIZE_GRID_ROW_ID",
"value_id": "11286240",
"value_name": "26008:1"
}
],
"catalog_product_id": "MLA18565233",
"category_id": "MLA455855",
"listing_type_id": "gold_pro"
}'
https://api.mercadolibre.com/items
Dominios con guía de talle requerida
A continuación se detalla el flujo paso a paso, para publicar y modificar todas las publicaciones, que se encuentren dentro de los dominios configurados con la nueva guía de talles.
- Confirma si el dominio tiene atributos configurados para la guía de talles. Donde al encontrar algún atributo del tipo GRID_ID y GRID_ROW_ID reconocemos que para ese dominio la guía de talles es requerida.
- Asociar guía de talles a las publicaciones dentro del dominio.
- De no tener la guia de talles asociada el request muestra el siguiente mensaje de error:
{
"success": true,
"callbacks": [],
"causes": [
{
"code": "missing.fashion_grid.grid_id.values",
"message": "Attribute [SIZE_GRID_ID] is missing",
"type": "ERROR",
"cause_id": 2610,
"references": [
"item.attributes"
],
"department": "structured-data",
"validation": "fashion-validator",
"custom_data": {}
}
]
}
De igual manera si tienes guía de talles pero no tienes configurado al atributo de tipo GRID_ROW_ID, se muestra el mensaje de error:
{
"code": "missing.fashion_grid.grid_row_id.values",
"message": "Attribute [SIZE_GRID_ROW_ID] is missing",
"type": "ERROR",
"cause_id": 2611,
"references": [
"item.attributes"
],
"department": "structured-data",
"validation": "fashion-validator",
"custom_data": {}
}
Consideración
El ítem en sus atributos principales casi siempre tiene “GENDER”, al asociar una guía de talles el género de la guia de talles debe coincidir con el atributo género del ítem, de lo contrario se mostrará el siguiente mensaje de error:
{
"message": "Validation error",
"error": "validation_error",
"status": 200,
"cause": [
{
"code": "invalid.fashion_grid.grid_id.values",
"message": "Attribute [GENDER] is not valid",
"type": "ERROR",
"cause_id": 2613,
"references": [
"item.name"
],
"department": "structured-data",
"validation": "fashion-validator",
"custom_data": {}
}
],
"callbacks": []
}
Consultar una guía específica
Una vez creada la guía de talle, podrás consultar por una guía enviando el id de la misma mediante el recurso de /catalog/charts/$chart_id
Llamada:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/catalog/charts/$CHART_ID
Ejemplo:
curl -X GET -H 'Authorization: Bearer $ACCESS_TOKEN' https://api.mercadolibre.com/catalog/charts/3
Respuesta:
{
"id": "2323823902",
"names": {
"MLA": "Guía de talles de Adidas Mujer",
"CBT": "Size chart for Adidas Women"
},
"domain_id": "SNEAKERS",
"template_id": "2",
"type": "SPECIFIC", // BRAND | SPECIFIC | STANDARD
"seller_id": 123456, // Solo si type = SPECIFIC
"site_id": "MLA", // Solo si type = SPECIFIC
"attributes": [{
"id": "BRAND",
"name": "Marca",
"values": [{
"id": "2786671",
"name": "Adidas"
}]
},{
"id": "GENDER",
"name": "Género",
"values": [{
"id": "339666",
"name": "Mujer"
}]
}],
"rows": [{
"id": "28292",
"sites": ["MLA", "CBT"], // Aplica a todos si sites es vacío, solo se muestra si no se especifica el site_id en la consulta
"attributes": [{
"id": "SIZE", //Talle calculado si se envía el site en el caso de las multisite
"name": "Talle ",
"values": [{
"id": "3259454",
"name": "44"
}]
},{
"id": "UK_SIZE",
"name": "Talle UK",
"values": [{
"id": "3259454",
"name": "44"
}]
},{
"id": "AR_SIZE",
"name": "Talle AR",
"values": [{
"id": "3259454",
"name": "44"
}]
},{
"id": "SLEEVE_LENGTH",
"name": "Largo de mangas",
"values": [{
"id": "3259552",
"name": "73 cm",
"struct": {
"number": 73,
"unit": "cm"
}
}]
}]
}]
}
Siguiente: Validación de guía de talles.
