Busca items por vendedor

Utilizando nuestro recurso público /sites/{site_id}/search? podrás obtener los resultados de ítems activos directamente de los listados de Mercado Libre.

Utilizando nuestro recurso privado /users/{cust_id}/items/search?access_token= podrás obtener un listado de los ítems publicados por determinado user desde su cuenta.

Contenidos:

Obtiene ítems de los listados por vendedor

Esta búsqueda se ajusta a las reglas de los listados del site. Los resultados siempre serán de ítems activos.
Notas:

  • Obtiene directamente la URL del listado de Mercado Libre, reemplazando /search? por /searchUrl?
  • Están limitadas las búsquedas con offset por encima de 50.000.

Por nickname

Cuando no conoces el seller_id de un usuario pero sí el apodo, puedes intentar realizar la siguiente búsqueda:

curl https://api.mercadolibre.com/sites/MLA/search?nickname=

Por seller_id

Si ya conoces el seller_id, solo haz lo siguiente:

curl https://api.mercadolibre.com/sites/MLA/search?seller_id=

Nota: Si bien con la API sites/(site_id) podrás ver la descripción de los ítems esta no devuelve la totalidad de los anuncios de un seller.
Si deseas ver el listado completo sin la descripción deberás hacer la siguiente llamada:

https://api.mercadolibre.com/users/{seller_id}/items/search?access_token=$ACCESS_TOKEN

Por seller_id para una categoría específica

Recuerda que las búsquedas anteriores no recuperan las publicaciones clasificadas del vendedor, solo sus productos. Puedes utilizar el siguiente ejemplo para buscar dentro de una categoría específica. Esta llamada acepta categorías clasificadas para consultar también esas publicaciones.

curl https://api.mercadolibre.com/sites/MLB/search?seller_id=36060987&category=MLB1743

Ahora que conoces el ID de cada artículo de un vendedor, puedes realizar una llamada al recurso de los artículos para conocer más sobre ellos.
Para mejorar la llamada que estás realizando, te recomendamos utilizar multiget y las prestaciones de selección para poder acceder a un máximo de 50 productos con una sola llamada y solamente en los campos que te interesan.

Llamada:

https://api.mercadolibre.com/items?ids={Item_id1},{Item_id2}&attributes={attribute1,attribute2,attribute3}

Ejemplo:

https://api.mercadolibre.com/items?ids=MLA599260060,MLA594239600&attributes=id,title,seller_id,price,available_quantity,status

Respuesta:

{
	"available_quantity": 24,
	"id": "MLA594239600",
	"price": 1999,
	"seller_id": 143125485,
	"status": "active",
	"title": "Celular Libre Samsung Galaxy Ace 4 Neo Blanco"
  },
  {
	"available_quantity": 5,
	"id": "MLA599260060",
	"price": 7999,
	"seller_id": 167520920,
	"status": "active",
	"title": "Aire Acondicionado Split Rca Frio Calor 3400w"
  }

Filtra y Ordena los resultados de búsqueda en los listados

Dentro de /sites/{site_id}/search? están los campos “available_sorts” y “available_filters”.

¿Cómo filtrar?
Por ejemplo, para filtrar ítems con envío gratis encontrarás entre los ”available_filters” disponibles el ID “shipping” y dentro de éste el value con ID “free”.

https://api.mercadolibre.com/sites/MLA/search?seller_id={cust_id}&shipping=free


¿Cómo ordenar?
En este caso deberás agregar “sort” con el ID disponible del orden que quieras aplicar, por ejemplo: “price_asc”

https://api.mercadolibre.com/sites/MLA/search?seller_id={cust_id}&sort=price_asc

Nota: Por defecto la búsqueda en los listados ya viene con un orden de relevancia definido.

Obtiene items de la cuenta de un vendedor

Esta búsqueda se realiza directamente sobre la cuenta del vendedor, por lo que el recurso es privado y se necesita un access_token.

Nota: Ten en cuenta que utilizando esta llamada, obtendrás un listado de ítems. Para obtener más información sobre cada uno, sugerimos utilizar un multiget tal como explicamos anteriormente.

Por seller_id

Si ya conoces el seller_id, solo haz lo siguiente:

curl https://api.mercadolibre.com/users/{seller_id}/items/search?access_token=$ACCESS_TOKEN

Por SKU

Si el item tiene cargado un SKU en el campo “seller_custom_field” puedes buscarlo del siguiente modo:

curl https://api.mercadolibre.com/users/{Cust_id}/items/search?sku={seller_custom_field}&access_token=$ACCESS_TOKEN

Por estado

curl https://api.mercadolibre.com/users/{Cust_id}/items/search?status=active&access_token=$ACCESS_TOKEN

Filtra y Ordena los resultados de los ítems del vendedor

Dentro de /users/{cust_id}/items/search? están los campos “available_orders” y “available_filters”

¿Cómo ordenar?
En este caso deberás agregar “orders” con el ID disponible del orden que quieras aplicar, por ejemplo: “start_time_desc”

https://api.mercadolibre.com/users/226384143/items/search?orders=start_time_desc&access_token=$ACCESS_TOKEN

Nota: Por defecto ya viene con un orden stop_time_asc aplicado.

¿Cómo filtrar?
Por ejemplo, para filtrar ítems con listing_type “gold_pro” encontrarás entre los ”available_filters” disponibles el ID “listing_type_id” y dentro de éste el value con ID “gold_pro”.

https://api.mercadolibre.com/users/{Cust_id}/items/search?isting_type_id=gold_pro&access_token=$ACCESS_TOKEN

Para más ejemplos de búsquedas, consulta: Ítems y búsquedas.

Por favor califica del 1 al 5

Gestiona aplicaciones

Contenidos:

Accede a tus aplicaciones

Para acceder a un detalle de tus aplicaciones, realiza una búsqueda de recursos de aplicaciones con tu user_id.

Ejemplo:

curl -X GET https://api.mercadolibre.com/applications/search?owner_id={Owner_id}?access_token=$ACCESS_TOKEN

Respuesta:

{
	"id": 2342346600929988,
	"site_id": "MLB",
	"name": "ML TEST",
	"description": "ML TEST APP",
	"thumbnail": null,
	"owner_id": 18731523,
	"catalog_product_id": null,
	"item_id": null,
	"price": null,
	"currency_id": null,
	"need_authorization": true,
	"short_name": "polipartes",
	"url": "http://apps.mercadolivre.com.br/polipartes",
	"callback_url": "http://www.vtexml.com.br/",
	"sandbox_mode": true,
	"is_public": true,
	"project_id": null,
	"active": true,
	"max_requests_per_hour": 18000,
	"scopes": [
  	"write",
  	"read",
  	"offline_access"
	],
	"domains": [
	]
  }

Accede a los detalles de las aplicaciones

Para acceder a los detalles completos sobre una de tus aplicaciones, simplemente incluye el app_id en la llamada a la API.

Ejemplo:

curl -X GET https://api.mercadolibre.com/applications/213123928883922

Respuesta:

{
  "id": 213123928883922,
  "site_id": "MLB",
  "name": "ML Test",
  "description": "ML Test APP",
  "thumbnail": null,
  "owner_id": 18731523,
  "catalog_product_id": null,
  "item_id": null,
  "price": null,
  "currency_id": null,
  "need_authorization": true,
  "short_name": "polipartes",
  "url": "http://apps.mercadolivre.com.br/polipartes",
  "callback_url": "http://www.vtexml.com.br/",
  "sandbox_mode": true,
  "is_public": true,
  "project_id": null,
  "active": true,
  "max_requests_per_hour": 18000,
  "scopes": [],
  "domains": [
  ]
}

Accede a las aplicaciones autorizadas por usuario

Para acceder a todas las aplicaciones autorizadas por un usuario, simplemente haz un GET con el user_id y el access token.

GET:

https://api.mercadolibre.com/users/{user_id}/applications?access_token={...}

La respuesta será un conjunto de aplicaciones con el siguiente formato:

[
  - {
	"user_id": "26317316",
	"app_id": "13795",
	"date_created": "2012-12-20T15:38:27.000-04:00",
	"scopes": - [
  	"read",
  	"write",
	],
   },
]

Descripción de campos

  • user_id – El identificador del usuario.
  • app_id – El identificador de la aplicación.
  • date_created – Fecha en que fue creada la autorización.
  • scopes – permisos otorgados a la aplicación: lectura, escritura y offline_access.

Revoca los permisos del usuario

Para eliminar la autorización de un usuario a tu aplicación, debes especificar el app_id, user_id y su access token. Simplemente, haz un DELETE como se muestra en el ejemplo a continuación:

Delete:

https://api.mercadolibre.com/users/{user_id}/applications/{app_id}?access_token={...}
Respuesta:
{
   	"user_id":"{user_id}",
   	"app_id":"{app_id}",
   	"msg":"Autorización eliminada"
}

Por favor califica del 1 al 5

Calcula los costos de envío y handling time

En nuestro Marketplace, los vendedores tendrán un calculador de envíos en la página de descripción del item; por eso, los compradores conocerán el costo de envío y el handling time.
Puedes utilizar nuestros recursos para calcularlos en base a la información que tienes.

Contenidos:

Descripción de atributos

Veamos una rápida descripción de cada atributo que encontrarás en el recurso del calculador:

destination (destino)
Detalles del domicilio del receptor:
Atributos
zip_code (código postal)
Código postal del destino.
city (ciudad)
Información de la ciudad de destino.
Atributos
id
ID de la ciudad de destino.
name (nombre)
Nombre de la ciudad de destino.
state (estado)
Información del estado de destino.
Atributos
id
ID del estado de destino.
name (nombre)
Nombre del estado de destino.
country (país)
Información del país de destino.
Atributos
id
ID del país de destino.
name (nombre)
Nombre del país de destino.
extended_attributes (atributos extendidos)
Información adicional del domicilio de destino.
Atributos
address (domicilio)
Línea del domicilio de destino.
owner_name (nombre del titular)
Titular del domicilio de destino.
zip_code_type (tipo de código postal)
Información sobre el tipo de código postal de destino.
Atributos
type (tipo)
ID del tipo de código postal de destino.
Description (descripción)
Nombre del tipo de código postal de destino.
city_type (tipo de ciudad)
ID del tipo de ciudad de destino.
city_name (nombre de la ciudad)
Nombre de la ciudad de destino.
version (versión)
Versión interna de estos datos en la API de Códigos Postales.
options (opciones)
Colección de costos de envío para cada método de envío disponible.
Atributos
id
ID de la regla de envío aplicada.
name (nombre)
Nombre del método de envío.
currency_id (ID de moneda)
ID de la moneda utilizada para mostrar los costos de envío.
list_cost (costo de publicación)
Costos de envío reales; sin envío gratis aplicado.
cost (costo)
Costo de envío final; se podría aplicar envío gratis.
tracks_shipments_status (seguimiento del estado de los envíos)
Indica cómo se podrá realizar el seguimiento de este método.
Atributos
verified (verificado)
Se puede realizar el seguimiento a nivel interno.
not_verified (no verificado)
La información de seguimiento debe ser entregada por el vendedor.
no
No se puede realizar seguimiento.
display (mostrar)
ID del método de envío para procesamiento frontend.
Atributos
always (siempre)
Se debe mostrar el método de envío.
optional (opcional)
Es posible no mostrar el método porque existe uno más rápido y económico.
speed (velocidad)
Información de la velocidad de entrega.
Atributos
shipping (envío)
Horas promedio para el envío.
handling (en manipulación)
Horas promedio para que el vendedor despache el envío.

Calcula conforme a código postal y dimensiones del item

Ejemplo:

curl -X GET https://api.mercadolibre.com/sites/MLB/shipping_options?zip_code_from=01310909&zip_code_to=01310909&dimensions=16x16x16,1500

Respuesta:

{
  "destination": {
	"zip_code": "01310909",
	"city": {
  	"id": "BR-SP-44",
  	"name": "São Paulo"
	},
	"state": {
  	"id": "BR-SP",
  	"name": "São Paulo"
	},
	"country": {
  	"id": "BR",
  	"name": "Brasil"
	},
	"extended_attributes": {
  	"address": "Avenida Paulista, 688",
  	"owner_name": "Edifício Santa Filippa",
  	"zip_code_type": {
    	"type": "LO",
    	"description": "Logradouro"
  	},
  	"city_type": "CI",
  	"city_name": "São Paulo",
  	"neighborhood": "Bela Vista",
  	"status": "active"
	}
  },
  "options": [
	{
  	"id": 27554373,
  	"name": "Normal",
  	"shipping_method_id": 100009,
  	"currency_id": "BRL",
  	"list_cost": 9.66,
  	"cost": 9.66,
  	"tracks_shipments_status": "not_verified",
  	"display": "recommended",
  	"speed": {
    	"shipping": 96,
    	"handling": 48
  	},
  	"estimated_delivery": {
    	"date": "2016-02-26T00:00:00.000-02:00",
    	"pay_before": null,
    	"time_from": null,
    	"time_to": null
  	},
  	"estimated_delivery_time": {
    	"type": "known_frame",
    	"date": "2016-02-24T00:00:00.000-02:00",
    	"shipping": 48,
    	"handling": 48,
        "unit": "hour",
    	"offset": {
      	"date": "2016-02-26T00:00:00.000-02:00",
      	"shipping": 48
    	},
    	"time_frame": {
      	"from": null,
      	"to": null
    	},
    	"pay_before": null
  	},
  	"discount": {
    	"rate": 0,
    	"type": "none",
    	"promoted_amount": 0
  	}
	},
	{
  	"id": 27551043,
  	"name": "Expresso",
  	"shipping_method_id": 182,
  	"currency_id": "BRL",
  	"list_cost": 9.83,
  	"cost": 9.83,
  	"tracks_shipments_status": "not_verified",
  	"display": "always",
  	"speed": {
    	"shipping": 48,
    	"handling": 48
  	},
  	"estimated_delivery": {
    	"date": "2016-02-24T00:00:00.000-02:00",
    	"pay_before": null,
    	"time_from": null,
    	"time_to": null
  	},
  	"estimated_delivery_time": {
    	"type": "known_frame",
    	"date": "2016-02-23T00:00:00.000-02:00",
    	"shipping": 24,
    	"handling": 48,
    	"unit": "hour",
    	"offset": {
      	"date": "2016-02-24T00:00:00.000-02:00",
      	"shipping": 24
    	},
    	"time_frame": {
      	"from": null,
      	"to": null
    	},
    	"pay_before": null
  	},
  	"discount": {
    	"rate": 0,
        "type": "none",
    	"promoted_amount": 0
  	}
	}
  ]
}

Calcula conforme a usuario y código postal

Ejemplo:

curl -X GET https://api.mercadolibre.com/users/190990642/shipping_options?zip_code=01310909&dimensions=16x16x16,1500

Respuesta:

{
  "destination": {
	"zip_code": "01310909",
	"city": {
  	"id": "BR-SP-44",
  	"name": "São Paulo"
	},
	"state": {
  	"id": "BR-SP",
  	"name": "São Paulo"
	},
	"country": {
  	"id": "BR",
  	"name": "Brasil"
	},
	"extended_attributes": {
  	"address": "Avenida Paulista, 688",
  	"owner_name": "Edifício Santa Filippa",
  	"zip_code_type": {
    	"type": "LO",
    	"description": "Logradouro"
  	},
  	"city_type": "CI",
  	"city_name": "São Paulo",
  	"neighborhood": "Bela Vista",
  	"status": "active"
	}
  },
  "options": [
	{
  	"id": 27555383,
  	"name": "Normal",
  	"shipping_method_id": 100009,
  	"currency_id": "BRL",
  	"list_cost": 11.86,
  	"cost": 11.86,
  	"tracks_shipments_status": "not_verified",
  	"display": "recommended",
  	"speed": {
    	"shipping": 96,
    	"handling": 48
  	},
  	"estimated_delivery": {
    	"date": "2016-03-01T00:00:00.000-02:00",
    	"pay_before": null,
    	"time_from": null,
    	"time_to": null
  	},
  	"estimated_delivery_time": {
    	"type": "known_frame",
    	"date": "2016-02-26T00:00:00.000-02:00",
    	"shipping": 48,
    	"handling": 48,
    	"unit": "hour",
    	"offset": {
          "date": "2016-03-01T00:00:00.000-02:00",
      	"shipping": 48
    	},
    	"time_frame": {
      	"from": null,
      	"to": null
    	},
    	"pay_before": null
  	},
  	"discount": {
    	"rate": 0,
    	"type": "none",
    	"promoted_amount": 0
  	}
	},
	{
  	"id": 27843879,
  	"name": "Expresso",
  	"shipping_method_id": 182,
  	"currency_id": "BRL",
  	"list_cost": 16.48,
  	"cost": 16.48,
  	"tracks_shipments_status": "not_verified",
  	"display": "always",
  	"speed": {
    	"shipping": 48,
    	"handling": 48
  	},
  	"estimated_delivery": {
    	"date": "2016-02-26T00:00:00.000-02:00",
    	"pay_before": null,
    	"time_from": null,
    	"time_to": null
  	},
  	"estimated_delivery_time": {
    	"type": "known_frame",
    	"date": "2016-02-25T00:00:00.000-02:00",
    	"shipping": 24,
    	"handling": 48,
    	"unit": "hour",
    	"offset": {
      	"date": "2016-02-26T00:00:00.000-02:00",
      	"shipping": 24
    	},
    	"time_frame": {
      	"from": null,
      	"to": null
    	},
    	"pay_before": null
  	},
  	"discount": {
    	"rate": 0,
    	"type": "none",
    	"promoted_amount": 0
  	}
	}
  ]
}

Calcula conforme a ciudad y dimensiones en MCO

Puedes calcular los costos de envío para un site determinado. MCO es diferente de otros sites porque el cálculo se realiza conforme a los parámetros city_from, city_to y dimensiones. Como puedes ver en el siguiente ejemplo, este recurso permite multiget. Debes vincular los códigos de ciudad uno por uno.

Ejemplo:

curl -X GET https://api.mercadolibre.com/sites/MCO/shipping_options?city_from=Q08tRENCb2dvdA&city_to=TUNPQ0NBUjcwNTYz,TUNPQ01FRGRjNjc4&dimensions=10x10x10,1000

Respuesta:

{
  "TUNPQ01FRGRjNjc4": {
	"destination": {
  	"zip_code": null,
  	"city": {
    	"id": "TUNPQ01FRGRjNjc4",
    	"name": "Medellín"
  	},
  	"state": {
    	"id": "CO-ANT",
    	"name": "Antioquia"
  	},
  	"country": {
    	"id": "CO",
    	"name": "Colombia"
  	}
	},
	"options": [
  	{
    	"id": 523836053,
    	"name": "Servientrega Normal",
    	"shipping_method_id": 501745,
    	"currency_id": "COP",
    	"list_cost": 7500,
    	"cost": 7500,
    	"tracks_shipments_status": "not_verified",
    	"display": "recommended",
    	"speed": {
      	"shipping": 24,
      	"handling": 72
    	},
    	"estimated_delivery": {
      	"date": "2016-02-26T00:00:00.000-05:00",
      	"pay_before": null,
      	"time_from": null,
      	"time_to": null
    	},
    	"estimated_delivery_time": {
      	"type": "known",
      	"date": "2016-02-26T00:00:00.000-05:00",
      	"shipping": 24,
      	"handling": 72,
      	"unit": "hour",
      	"offset": {
        	"date": null,
        	"shipping": null
      	},
      	"time_frame": {
        	"from": null,
        	"to": null
      	},
      	"pay_before": null
    	},
    	"discount": {
      	"rate": 0,
      	"type": "none",
      	"promoted_amount": 0
    	}
  	}
	]
  },
  "TUNPQ0NBUjcwNTYz": {
	"destination": {
  	"zip_code": null,
  	"city": {
    	"id": "TUNPQ0NBUjcwNTYz",
    	"name": "Cartagena De Indias"
  	},
  	"state": {
    	"id": "CO-BOL",
    	"name": "Bolivar"
  	},
  	"country": {
    	"id": "CO",
    	"name": "Colombia"
  	}
	},
	"options": [
  	{
    	"id": 523835977,
    	"name": "Servientrega Normal",
    	"shipping_method_id": 501745,
    	"currency_id": "COP",
    	"list_cost": 7500,
    	"cost": 7500,
    	"tracks_shipments_status": "not_verified",
    	"display": "recommended",
    	"speed": {
      	"shipping": 48,
      	"handling": 72
    	},
    	"estimated_delivery": {
      	"date": "2016-02-29T00:00:00.000-05:00",
      	"pay_before": null,
      	"time_from": null,
      	"time_to": null
    	},
    	"estimated_delivery_time": {
      	"type": "known",
      	"date": "2016-02-29T00:00:00.000-05:00",
      	"shipping": 48,
      	"handling": 72,
      	"unit": "hour",
      	"offset": {
        	"date": null,
        	"shipping": null
      	},
      	"time_frame": {
        	"from": null,
        	"to": null
      	},
      	"pay_before": null
    	},
    	"discount": {
      	"rate": 0,
      	"type": "none",
      	"promoted_amount": 0
    	}
  	}
	]
  }
}

Costos de envío por Usuario, ciudad y dimensiones en MCO

Si lo deseas, puedes calcular los costos de envío para un usuario específico y una ciudad y dimensiones determinadas. Como puedes ver en el siguiente ejemplo, este recurso permite multiget. Debes concatenar los códigos de ciudad uno por uno.

Ejemplo:

GET https://api.mercadolibre.com/users/454271894/shipping_options?city_to=Q08tRENCb2dvdA,TUNPQ01FRGRjNjc4&dimensions=15x15x15,650

Respuesta:

{
	"destination": {
    	"zip_code": null,
    	"city": {
        	"id": "Q08tRENCb2dvdA",
  	      "name": "Bogotá"
    	},
    	"state": {
        	"id": "CO-DC",
        	"name": "Bogota D.C."
    	},
    	"country": {
        	"id": "CO",
        	"name": "Colombia"
    	}
	},
	"options": [
    	{
       	 "id": 11110,
        	"name": "Servientrega Estandar",
            "shipping_method_id": 501745,
        	"currency_id": "COP",
        	"list_cost": 7.5,
        	"cost": 7.5,
            "tracks_shipments_status": "verified",
        	"display": "recommended",
        	"speed": {
            	"shipping": 48,
            	"handling": null
        	},
            "estimated_delivery": {
            	"date": null,
            	"pay_before": null,
            	"time_from": null,
            	"time_to": null
        	},
        	"discount": {
            	"rate": 0
        	}
    	}
	],
	"settings": {
    	"allow_add_cost": null
	}
}

Costos de envío conforme a item y ciudad en MCO

Calcula los costos de envío para un item enviando solo los parámetros Item_id y City_to.

Ejemplo:

GET https://api.mercadolibre.com/items/MCO415774919/shipping_options?city_to=Q08tRENCb2dvdA

Respuesta:

{
  "destination": {
	"zip_code": null,
	"city": {
      "id": "Q08tRENCb2dvdA",
  	"name": "Bogotá"
	},
	"state": {
  	"id": "CO-DC",
  	"name": "Bogota D.C."
	},
	"country": {
  	"id": "CO",
  	"name": "Colombia"
	}
  },
  "options": [
	{
  	"id": 523835933,
  	"name": "Servientrega Normal",
  	"shipping_method_id": 501745,
  	"currency_id": "COP",
  	"list_cost": 5000,
  	"cost": 0,
      "tracks_shipments_status": "verified",
  	"display": "recommended",
  	"speed": {
    	"shipping": 24,
    	"handling": 72
  	},
  	"estimated_delivery": {
    	"date": "2015-06-22T00:00:00.000-05:00",
    	"pay_before": null,
    	"time_from": null,
    	"time_to": null
  	},
  	"discount": {
    	"rate": 0,
    	"type": "none",
        "promoted_amount": 0
  	}
	}
  ]
}

Breve descripción de los atributos

AtributosJSON Response

"estimated_delivery_time": {
    "type": "known|known_frame|unknown_frame",
    "date": 2015-09-10T00: 00: 00: 000-03: 00",
"shipping": 72,
"handling": 24,
"unit": "hour",
"offset": {
    "date": null,
    "shipping": null
},
"time_frame": {
    "from": "12: 00",
    "to": "15: 00"
},
"pay_before": null
}

Tipos de promesa de entrega

known: En el caso de ser una fecha exacta, y con handling time conocido.

...
...
 "estimated_delivery_time": {
        "type": "known",
        "date": "2015-09-10T00:00:00:000-03:00",
        "shipping": 72,
        "handling": 24,
        "unit": "hour",
        "offset": {
          "date": null,
          "shipping": null
        },
        "time_frame": {
          "from":"12:00",
          "to": "15:00"
        },
        "pay_before": null
      },
      …

1

Unknown: En el caso de ser una fecha exacta, desconociendo el handling time, expresada en días hábiles.

...
...
 "estimated_delivery_time": {
        "type": "unknown",
        "date": null,
        "shipping": 72,
        "handling": null,
        "unit": "hour",
        "offset": {
          "date": null,
          "shipping": null
        },
        "time_frame": {
          "from":"null",
          "to": "null"
        },
        "pay_before": null
      },
      …

3

known_frame: En el caso de ser un rango de fechas específicas, el handling time es conocido.

...
...
 "estimated_delivery_time": {
        "type": "known_frame",
        "date": "2015-09-10T00:00:00:000-03:00",
        "shipping": 72,
        "handling": 24,
        "unit": "hour",
        "offset": {
          "date": "2015-09-12T00:00:00:000-03:00",
          "shipping": 48
        },
        "time_frame": {
          "from":"12:00",
          "to": "15:00"
        },
        "pay_before": null
      },
      ...

2

unknown_frame: En el caso de ser un rango de días hábiles, desconociendo el handling time.

...
...
 "estimated_delivery_time": {
        "type": "unknown_frame",
        "date": "null",
        "shipping": 72,
        "handling": null,
        "unit": "hour",
        "offset": {
          "date": "null",
          "shipping": 48
        },
        "time_frame": {
          "from":"null",
          "to": "null"
        },
        "pay_before": null
      },
      ...

4

Consideraciones

  • El rango de días hábiles queda definido por los límites [“shipping”, “shipping” + “offset.shipping”]. Ej: Sí “shipping”:96 y “offset.shipping”:48, entonces el rango estimado de entrega será entre 4 a 6 días hábiles inclusive.
  • Las fechas estimadas de entrega(“date” y “offset.date”) son siempre días laborables y solo tendrán valores si el tiempo de despacho(handling) es conocido
  • “time_frame” sólo aplica a carriers que manejan franjas horarias bien definidas
  • “pay_before” sólo aplica a carriers en los cuales la promesa de entrega está condicionada por la fecha y hora en la que se realiza el pago.
  • Estos cambios impactarán de la misma forma en el GET de Shipments

Por favor califica del 1 al 5

Busca artículos por categoría

La operación de búsqueda devuelve artículos que pertenecen a una categoría de artículos de MercadoLibre.
Para más detalles sobre las categorías y la jerarquía de categorías, consulta la guía API de Categorías.

Contenidos:

Solicitud

Al utilizar una categoría de artículos de MercadoLibre, puedes recuperar una lista de artículos que le corresponden. Si estás interesado en definir una respuesta del tamaño de bloque, lee el artículo de paginación de resultados.

curl https://api.mercadolibre.com/sites/MLA/search?category=MLA5726

Respuesta

La búsqueda responde con un conjunto de resultados de artículos dentro de la categoría. Encontrarás la mayoría de los atributos del artículo en el resultado.

{
  "site_id": "MLA",
  "paging": {
	"total": 109720,
	"offset": 0,
	"limit": 50
  },
  "results": [
	{
  	"classified_marc_attribute_code": "-MARC",
  	"classified_mode": "classified",
  	"accepts_mercadopago": true,
  	"address": null,
  	"attributes": [
  	],
  	"available_quantity": 10,

Utiliza el método http OPTIONS para obtener una respuesta codificada con JSON que describirá la API con todos los métodos y conexiones permitidos entre otra parte de la API. Es un formato estándar para obtener la documentación de la API.

Por favor califica del 1 al 5

Accede a publicaciones de clasificados por seller_id

Envía el parámetro de categoría para obtener las publicaciones clasificadas de ese usuario:

curl https://api.mercadolibre.com/sites/MLB/search?seller_id=36060987&category=MLB1743

Ahora que conoces el ID de cada pubicación, puedes realizar una llamada al recurso de los items para conocer más sobre cada uno de ellos.
Para mejorar la llamada que estás realizando, te recomendamos utilizar multiget y las prestaciones de selección para poder acceder a un máximo de 50 productos con una sola llamada y solamente en los campos que te interesan.

Llamada:

https://api.mercadolibre.com/items?ids={Item_id1},{Item_id2}&attributes={attribute1,attribute2,attribute3}

Ejemplo:

https://api.mercadolibre.com/items?ids=MLA599260060,MLA594239600&attributes=id,title,seller_id,price,status

Por favor califica del 1 al 5

Validador de publicaciones

Como sabemos que a veces necesitas más de un intento para realizar tu publicación, te ofrecemos la posibilidad de consultar si tu publicación quedó exactamente como la querías antes de publicarla. El recurso de items ofrece un servicio de validación para controlar los detalles de tu publicación antes de publicarla. ¡Úsala para practicar hasta que lo logres!

Contenidos:

Ejemplos de validación

Veamos un ejemplo de cómo funciona. Supongamos que envías este JSON:

Ejemplo:

{
"seller_id":,
"id",
"price":"p",
"seller_contact":null,
"pictures": [[1,2,3]]
}

A este url:

https://api.mercadolibre.com/items/validate?access_token=$ACCESS_TOKEN

Como resultado, recibirás una descripción exacta de las mejoras que debes implementar en tu JSON para publicar con éxito un artículo:

{
"message":"body.invalid_field_types",
"error":"[invalid property type: [price] expected Number but was String value: p,
invalid property type: [seller_contact] expected Map but was Null value: null,
invalid property type: [pictures[0]] expected Map but was JSONArray value: [1, 2, 3],
invalid property type: [seller_id] expected Number but was String value: id]",
   "status":400,
   "cause":[

   ]
}

Valida tu artículo

curl -X POST -H "Content-Type: application/json" -d'{
  "title":"Teacup",
  "category_id":"MLA1902",
  "price":10,
  "currency_id":"ARS",
  "available_quantity":1,
  "buying_mode":"buy_it_now",
  "listing_type_id":"bronze",
  "condition":"new",
  "description": "Item:, Teacup Model: 1. Size: 5cm. Color: White. New in Box",
  "video_id": "YOUTUBE_ID_HERE",
  "pictures":[
    {"source":"http://upload.wikimedia.org/wikipedia/commons/e/e9/Tea_Cup.jpg"}
  ]
}' https://api.mercadolibre.com/items/validate?access_token=$ACCESS_TOKEN

Valida un artículo con variaciones

curl -X POST -H "Content-Type: application/json" -d '{
   "title":"Short",
   "category_id":"MLA126455",
   "price":10,
   "currency_id":"ARS",
   "buying_mode":"buy_it_now",
   "listing_type_id":"bronze",
   "condition":"new",
   "description": "Short with variations",
   "variations":[
  	{
      "attribute_combinations":[
    	{
          "id":"93000",
          "value_id":"101993"
    	},
    	{
          "id":"83000",
          "value_id":"91993"
    	}
  	],
  	"available_quantity":1,
  	"price":10,
  	"picture_ids":[
          "http://bttpadel.es/image/cache/data/ARTICULOS/PROVEEDORES/BTTPADEL/BERMUDA%20ROJA-240x240.jpg"
  	]
  	},
  	{
      "attribute_combinations":[
        {
          "id":"93000",
          "value_id":"101995"
    	},
            	{
          "id":"83000",
          "value_id":"92013"
    	}
  	],
  	"available_quantity":1,
  	"price":10,
  	"picture_ids":[
      	"http://www.forumsport.com/img/productos/299x299/381606.jpg"
  	]
  	}
   ]
}' https://api.mercadolibre.com/items/validate?access_token=$ACCESS_TOKEN

Valida tu artículo inmueble

curl -X POST -H "Content-Type: application/json" -d' {
  "site_id": "MLA",
  "title": "Propiedad en Alquiler, Item de Testeo, Por favor, no ofertar",
  "category_id": "MLA52745",
  "price": 5000,
  "currency_id": "ARS",
  "available_quantity": 1,
  "buying_mode": "classified",
  "listing_type_id": "silver",
  "condition": "not_specified",
  "pictures": [
	{
      "source":"http://farm3.staticflickr.com/2417/2176897085_946b7b66b8_b.jpg"
	},
	{
      "source":"http://farm2.staticflickr.com/1056/628680053_3b7c315548_b.jpg"
	}
  ],
  "seller_contact": {
	"contact": "Pepe",
	"other_info": "Additional contact info",
	"area_code": "011",
	"phone": "4444-5555",
	"area_code2": "",
	"phone2": "",
	"email": "contact-email@somedomain.com",
	"webmail": ""
  },
  "location": {
	"address_line": "My property address 1234",
	"zip_code": "1111",
	"neighborhood": {
  	"id": "TUxBQlBBUzgyNjBa"
	},
	"latitude": -34.48755,
	"longitude": -58.56987,
  }, 
  "attributes": [
	{
  	"id": "MLA50547-AMBQTY",
  	"value_id": "MLA50547-AMBQTY-1"
	},
	{
  	"id": "MLA50547-ANTIG",
  	"value_id": "MLA50547-ANTIG-A_ESTRENAR"
	},
	{
  	"id": "MLA50547-MTRS",
  	"value_name": "500"
	},
	{
  	"id": "MLA50547-SUPTOTMX",
  	"value_name": "2000"
	},
	{
  	"id": "MLA50547-BATHQTY",
  	"value_id": "MLA50547-BATHQTY-1"
	},
	{
  	"id": "MLA50547-DORMQTYB",
  	"value_id": "MLA50547-DORMQTYB-3"
	},
	{
  	"id": "MLA50547-EDIFIC",
  	"value_id": "MLA50547-EDIFIC-CHALET"
	}
  ],
   "description" : "This is the real estate property description."
}' https://api.mercadolibre.com/items/validate?access_token=$ACCESS_TOKEN

Referencia de códigos de error

Si la publicación es correcta recibirás un mensaje “HTTP/1.1 204 No Content” [HTTP/1.1 204 No Content] o los correspondientes errores como vimos en los ejemplos anteriores.
Nota: Para ver el mensaje “HTTP/1.1 204 No Content” utilizando curl deberás agregar el parámetro -i.

Consideraciones

Si bien este proceso de validación no es obligatorio, es muy probable que sea de utilidad al probar tu Aplicación. Recuerda que no existe sandbox ni entorno de preproducción, por eso todos los artículos publicados durante tu fase de pruebas serán visibles para cada uno de los usuarios que naveguen en nuestro mercado. Por favor, consulta nuestro tutorial Realiza pruebas para conocer las particularidades y mejores prácticas al iniciar el proceso.

Por favor califica del 1 al 5

Descripción de artículos

La descripción de un producto contiene información personalizada sobre lo que se desea vender, que sirve para complementar lo que ya está expuesto de manera estándar.

¿Qué información tiene una buena descripción?

Incluye las especificaciones técnicas y otros detalles que diferencien el producto de los de la competencia.

Contenidos

Cargar la descripción en un ítem

A través de la API, podrás trabajar con descripciones que contienen HTML y también con texto simple. Para conocer el formato que puedes utilizar, deberás tener en cuenta el país donde opera el usuario o si es una publicación de Clasificados.

¿Cómo publico con ambos formatos?

curl -X POST -H "Content-Type: application/json" -d
'{
    "title": "Item de test - No Ofertar",
    "category_id": "MLA47392",
    "price": 10,
    "currency_id": "ARS",
    "available_quantity": 1,
    "buying_mode": "buy_it_now",
    "listing_type_id": "gold_special",
    "condition": "new",
    "description":{
                    "text":"Descripción con HTML",
                    "plain_text":"Descripción con Texto Plano  \n"},
    "video_id": "YOUTUBE_ID_HERE",
    "tags": [
        "immediate_payment"
    ],
    "warranty": "12 months by Ray Ban",
    "pictures": [
        {
            "source": "https://upload.wikimedia.org/wikipedia/commons/f/fd/Ray_Ban_Original_Wayfarer.jpg"
        },
        {
            "source": "https://en.wikipedia.org/wiki/File:Teashades.gif"
        }
    ]
}'
https://api.mercadolibre.com/items?access_token=$access_token

Beneficios de utilizar texto sin formato

  • Las descripciones se descargarán 5 veces más rápido.
  • Se verán correctamente en todos los dispositivos (móviles, computadoras, tablets).
  • Tendrán un mejor resultado en las búsquedas.
  • Boost en Search, las publicaciones aparecerán más arriba si se carga la ficha técnica del producto.
  • Además, podrás cargar hasta 10 fotos del producto y/o un link con un video de Youtube.

A continuación te mostraremos un ejemplo sobre la mejor práctica para a armar la descripción:
Producto: “Raqueta Babolat Pure Control 3”

Notas:

  • Ten en cuenta que tanto los medios de pago como medios de envíos que se deseen utilizar podrán ser añadidos en la VIP.
  • Si en una publicación deseas mostrar todas las variantes del ítem, manteniendo incluso stock diferencial por cada una, te alentamos a que utilices características personalizadas.
  • Recuerda que si publicas en MLA con html y texto, se priorizará la segunda opción.

Agrega o reemplaza una descripción existente

Si no enviaste nada en la descripción cuando publicaste un producto, puedes agregarla más tarde. Lo mismo, si deseas modificar la preexistente.
Ejemplo:

curl -X PUT -H "Content-Type: application/json" -d
'{
 "text":"Los mejores <b>Rayban Wayfarer</b>. Test",
"plain_text":"Los mejores Rayban Wayfarer. Test."
}'
https://api.mercadolibre.com/items/{ITEM_ID}/description?access_token=$ACCESS_TOKEN

Importante: Ten en cuenta que si tienes publicados ambos formatos y haces un PUT solo con uno (por ejemplo, solo mandas en el body “plain_text”) el otro desaparecerá. Deberás enviar ambos si quieres mantenerlos, sino damos por entendido que deseas eliminarlo.

¿Ves? ¡Es fácil! La descripción se puede agregar o reemplazar cuando desees, aun cuando el artículo ya tenga ofertas; por eso, manos a la obra y prepara una descripción excelente para tus artículos.

Por favor califica del 1 al 5

Server side

En esta guía te explicaremos cómo realizar el flujo de autenticación/autorización Server Side, el más adecuado para las aplicaciones que ejecutan código del lado del servidor, por ejemplo aplicaciones desarrolladas en lenguaje como Java, Grails, Go, etc.
El equipo de Open Platform te recomienda que utilices nuestros SDKs ya que tienen funcionalidades que facilitarán la complejidad del flujo de autorización utilizando el protocolo OAuth.

Contenidos:

Paso a paso

Los pasos a seguir para realizar la autorización oAuth Server Side son:

  • Para comenzar necesitarás el app ID y el secret key que obtuviste al crear tu aplicación. Si aún no lo hiciste esta guía te proporcionará los pasos necesarios para hacerlo.

  • Al iniciar el flujo de autorización la aplicación que desarrolles deberá redireccionar a Mercado Libre para que los usuarios puedan autenticarse y posteriormente autorizar tu aplicación. Simplemente debes efectuar un redireccionamiento al URL:

https://auth.mercadolibre.com.ar/authorization?response_type=code&client_id=App_id

Nota: En este ejemplo, utilizamos el URL para Argentina (MLA) si estás trabajando en otros países ten en cuenta cambiar el .com.ar por el dominio del país correspondiente.
Para ver los países en donde opera Mercado Libre puedes consultar en la siguiente URL http://www.mercadolibre.com/

Parámetros

response_type: code – Indica que la operación deseada es obtener un código de autenticación que le permitirá a tu servidor interactuar con Mercado Libre.
client_id: Es el App ID de la aplicación que creaste.
redirect_uri: URL – Es el URL de tu servidor el cual configuraste en la aplicación.
Nota: Recuerda que si estás trabajando en local host podrás utilizar http y si estás trabajando en un dominio público deberás utilizar https y un puerto menor a 5 dígitos.
No tienes que preocuparte por la autenticación de los usuarios a Mercado Libre, ¡nuestra plataforma se encargará de ello!

  • Una vez que el usuario complete el proceso de autenticación será redireccionado a la página de autorización de tu aplicación. Allí se le presentarán todos los permisos solicitados junto a la descripción de tu aplicación.
  • captura-de-pantalla-2016-09-29-a-las-3-25-09-p-m

  • Otorgados los permisos el usuario será redireccionado al Redirect URI (configurado en tu aplicacion de Mercado Libre) y parámetro utilizado en el URL de autenticación con código de autorización de la forma:
http://YOUR_REDIRECT_URI?code=SERVER_GENERATED_AUTHORIZATION_CODE


  • El código de autorización es utilizado para intercambiarlo por un access_token (una llave de acceso a los recursos privados que dura 6 horas). Para obtener el token debes realizar el siguiente POST
https://api.mercadolibre.com/oauth/token?grant_type=authorization_code&client_id=APP_ID&client_secret=SECRET_KEY&code=SERVER_GENERATED_AUTHORIZATION_CODE&redirect_uri=REDIRECT_URI

Respuesta:

{
	"access_token" : "APP_USR-6092-3246532-cb45c82853f6e620bb0deda096b128d3-8035443",
	"token_type" : "bearer",
	"expires_in" : 10800,
	"scope" : "write read"
}

Parámetros

grant_type: authorization_code – Indica que la operación deseada es intercambiar el “code” por un access_token.
client_id: El APP ID de la aplicación creada.
client_secret: hash – El Secret Key generado para tu aplicación cuando fue creada.
code: El código de autorización obtenido en el paso anterior.
redirect_uri: URL – El redirect URI configurado para tu aplicación o uno de los dominios permitidos.

  • ¡Listo! Como verás en la respuesta obtendrás el access_token para realizar llamadas a nuestra API y así obtener acceso a los datos privados del usuario.
    Por ejemplo para acceder a la información privada del usuario:
$ curl https://api.mercadolibre.com/users/me?access_token=$ACCESS_TOKEN

Respuesta:

{
    "id": 178553776,
    "user_id": 206946886,
    "contact": null,
    "phone": null,
    "address_line": "Triunvirato 5555",
    "floor": null,
    "apartment": null,
    "street_number": "5555",
    "street_name": "Triunvirato",
    "zip_code": "1414",
    "city": {
      "id": "TUxBQlZJTDcwOTla",
      "name": "Villa Urquiza"
    },
    "state": {
      "id": "AR-C",
      "name": "Capital Federal"
    },
    "country": {
      "id": "AR",
      "name": "Argentina"
    },
    "neighborhood": {
      "id": null,
      "name": null
    },
    "municipality": {
      "id": null,
      "name": null
    },
    "search_location": {
      "state": {
        "id": "TUxBUENBUGw3M2E1",
        "name": "Capital Federal"
      },
      "city": {
        "id": null,
        "name": null
      },
      "neighborhood": {
        "id": null,
        "name": null
      }
    },
    "types": [
    ],
    "comment": "",
    "geolocation_type": "ROOFTOP",
    "latitude": -34.5676878,
    "longitude": -58.4933182,
    "status": "active",
    "date_created": "2016-02-24T16:29:59.000-04:00",
    "normalized": true,
    "open_hours": {
      "on_holidays": {
        "hours": [
        ],
        "status": "closed"
      }
    }
  }


  • Nada es para siempre y tampoco lo es nuestro access_token. El mismo expirará transcurridas 6 horas desde que se solicitó.



¿Qué pasa si necesito trabajar por más de 6 horas con un access_token?
Si en nuestra aplicación está seleccionada la opción offline_access junto con el access_token como el que vimos anteriormente recibiremos un refresh_token, el cual deberemos guardar para posteriormente intercambiarlo por un nuevo access_token una vez que éste expire.
Para renovar tu access_token debes efectuar la siguiente llamada POST.

https://api.mercadolibre.com/oauth/token?grant_type=refresh_token&client_id=APP_ID&client_secret=SECRET_KEY&refresh_token=REFRESH_TOKEN

Parámetros

grant_type: refresh_token – Indica que la operación deseada es actualizar un token.
refresh_token: El refresh token del paso de aprobación.
client_id: El ID de cliente de tu aplicación.
client_secret: El Secret Key generado para tu aplicación cuando fue creada.

Respuesta:

{
    "access_token" : "APP_USR-6092-3246532-cb45c82853f6e620bb0deda096b128d3-8035443",
	"token_type" : "bearer",
	"expires_in" : 10800,
	"refresh_token" : "TG-5005b6b3e4b07e60756a3353",
	"scope" : "write read offline_access"
}

La respuesta incluye el access_token original validado por 6 horas más y un nuevo refresh token.

Esta acción se repetirá cada vez que expire un access_token por lo que ten en cuenta ir guardando los nuevos refresh_token.

Flujo Server Side

En resumen, el proceso que estarás realizando es el siguiente:

flujo_serverside

Referencias:
1) Redirecciona la APP a Mercado Libre.
2) No tienes que preocuparte por la autenticación de los usuarios a Mercado Libre, ¡nuestra plataforma se encargará de ello!.
3) Página de autorización.
4) Llamada a la API de Mercado Libre POST para intercambiar el código de autorización por un access token.
5) La API de Mercado Libre intercambia el código de autorización por un access token.
6) Ya puedes utilizar el access_token para realizar llamadas a nuestra API y así obtener acceso a los datos privados del usuario.

a- Redirect

https://auth.mercadolibre.com.ar/authorization?response_type=code&client_id=APP_ID&redirect_uri=REDIRECT_URL

b-

GET
http://YOUR_REDIRECT_URI?code=SERVER_GENERATED_AUTHORIZATION_CODE

c-

POST
https://api.mercadolibre.com/oauth/token?grant_type=authorization_code&client_id=APP_ID&client_secret=SECRET_KEY&code=SERVER_GENERATED_AUTHORIZATION_CODE&redirect_uri=REDIRECT_URI

d- Respuesta a llamada anterior:

{
  "access_token" : "APP_USR-6092-3246532-cb45c82853f6e620bb0deda096b128d3-8035443",
  "token_type" : "bearer",
  "expires_in" : 10800,
  "scope" : "write read"
}

Preguntas frecuentes

Sumate a nuestra comunidad para poder hacer tus consultas.

Por favor califica del 1 al 5

API de predicción de categorías

El recurso de predicción de categorías fue creado para ayudar a vendedores y desarrolladores a predecir en qué categoría se debería publicar un artículo determinado. Actualmente se encuentra en funcionamiento en Argentina, Bolivia, Brasil, Chile, Colombia, Costa Rica, Dominicana, Ecuador, Honduras, Guatemala, México, Nicaragua, Paraguay, Panamá, Perú, Portugal, Salvador, Uruguay y Venezuela.

Parámetros

ParámetroDescripción
titleEl título del artículo a predecir. Debe ser un título completo en el idioma del sitio. Este parámetro es obligatorio.
category_fromEste parámetro acepta una categoría de nivel 1 y se utiliza para limitar la predicción al subárbol que abarca desde category_from hasta la raíz. Este parámetro es opcional.
priceEl precio del artículo a predecir. El objetivo de este parámetro es ofrecer información adicional para mejorar la predicción. Este parámetro es opcional.
seller_idID del vendedor del artículo a predecir. El objetivo de este parámetro es ofrecer información adicional para mejorar la predicción. Este parámetro es opcional.

Predicción mediante GET

Es posible utilizar el método GET para predecir un artículo por vez:

`curl https://api.mercadolibre.com/sites/MLB/category_predictor/predict?title=Ipod%20Touch%20Apple%2016gb%205%20Gera%C3%A7%C3%A3o`

Predicción mediante POST

Es posible utilizar el método POST para predecir múltiples (hasta 1.000) artículos por vez. Se recomienda este método cuando es necesario predecir múltiples items.

curl -X POST -H "Content-Type: application/json" -d '[{"title": "Ipod Touch Apple 16gb 5 Geração","category_from": "MLB1743"},{"title": "Ipod Touch Apple 16gb 5 Geração","category_from": "MLB1743"}]' https://api.mercadolibre.com/sites/MLB/category_predictor/predict

Campos de respuesta

ParámetroDescripción
idId de la categoría predicha para el artículo.
nameNombre de la categoría predicha.
prediction_probabilityConfiabilidad de la predicción. Este valor oscila entre [0, 1]: los valores más próximos a cero indican poca confiabilidad mientras que los más cercanos próximos 1 indican alta confiabilidad.
path_from_rootLista con las categorías desde la raíz hasta la hoja (la categoría predicha). Cada categoría está representada por los atributos ID y NAME.
variationsEste campo sólo aparece cuando la categoría predicha soporta variaciones.
shipping_modesModos de envío soportados por la categoría predicha.

Por favor califica del 1 al 5

Client Side

En esta guía te explicaremos cómo realizar el flujo de autenticación/autorización Client Side, el más adecuado para las aplicaciones que ejecutan código del lado del cliente, por ejemplo aplicaciones desarrolladas en lenguaje javascript/ajax, Angular, Aplicaciones mobile, entre otros.
Desde MELI developers te recomendamos que utilices nuestros SDKs ya que te facilitarán la complejidad del flujo de autorización utilizando el protocolo OAuth.

Contenidos

Paso a paso

Los pasos para realizar el proceso de autorización oAuth Client Side son:

  • Para comenzar necesitarás el app_id que obtuviste al crear tu aplicación. Si aún no lo hiciste esta guía te proporcionará los pasos necesarios para hacerlo.

  • Al iniciar el flujo de autorización la aplicación que desarrolles deberá redireccionar a Mercado Libre para que los usuarios puedan autenticarse y posteriormente autorizar tu aplicación. Simplemente debes efectuar un redireccionamiento al URL:

https://auth.mercadolibre.com.ar/authorization?response_type=token&client_id=App_id

Nota: En este ejemplo, utilizamos el URL para Argentina (MLA) si estás trabajando en otros países ten en cuenta cambiar el .com.ar por el dominio del país correspondiente.
Para ver los países en donde opera Mercado Libre puedes consultar en la siguiente URL http://www.mercadolibre.com/

Parámetros

response_type: token – Indica que la operación deseada es obtener un token que te permitirá a tu aplicación interactuar con Mercado Libre.
client_id: Es el App ID de la aplicación que creaste.
No tienes que preocuparte por la autenticación de los usuarios a Mercado Libre, ¡nuestra plataforma se encargará de ello!

  • Una vez que el usuario inicie sesión será redireccionado a la página de autorización de tu aplicación. Allí se le presentarán todos los permisos solicitados.

  • Otorgados los permisos el usuario será redireccionado al Redirect URI (configurado en tu aplicacion de Mercado Libre) con el access_token correspondiente adjunto al URL tal como se muestra a continuación:
http://YOUR_URL#access_token=APP_USR-6092-3246532-cb45c82853f6e620bb0deda096b128d3-8035443&expires_in=10800&user_id=USER_ID&domains=APP_DOMAINS

Parámetros

access_token:Llave de acceso a los recursos privados.
Expires_in: Vida útil del access token en segundos
Domains: Dominio de la redirect URI

  • ¡Listo! ya puedes utilizar el access_token para realizar llamadas a nuestra API y así obtener acceso a los datos privados del usuario.
    Por ejemplo para acceder a la información privada del usuario:
$ curl https://api.mercadolibre.com/users/me?access_token=$ACCESS_TOKEN

Respuesta:

http://developers.mercadolibre.com/usuarios-y-aplicaciones/#modal2

Notas:

  • Recuerda que si el access_token expira deberás repetir los pasos anteriores para obtener uno nuevo.
  • Al utilizar este flujo no podrás obtener un refresh token. Una vez que el token expire, deberás redireccionar al usuario nuevamente al URL de autorización para obtener el nuevo access token.

Flujo Client-side

En resumen, el proceso que estarás realizando es el siguiente:
Flujo_ClientSide

Referencias:
1) Redirecciona la APP a Mercado Libre.
2) No tienes que preocuparte por la autenticación de los usuarios a Mercado Libre, ¡nuestra plataforma se encargará de ello!.
3) Página de autorización.
4) Ya puedes utilizar el access_token para realizar llamadas a nuestra API y así obtener acceso a los datos privados del usuario.

a-

POST 
https://auth.mercadolibre.com.ar/authorization?response_type=token&client_id=App_id

Ten en cuenta cambiar el .com.ar por el dominio del país correspondiente.

b-

GET
http://YOUR_URL#access_token=APP_USR-6092-3246532-cb45c82853f6e620bb0deda096b128d3-8035443&expires_in=10800&user_id=USER_ID&domains=APP_DOMAINS

Preguntas frecuentes

Sumate a nuestra comunidad para poder hacer tus consultas.

Por favor califica del 1 al 5

Trabajar con imágenes

Al publicar un artículo, las imágenes son opcionales, pero sin duda marcan una gran diferencia respecto de la calidad y mejorarán tus posibilidades de vender al atraer más visitas a tus artículos. Cuando publicas un artículo nuevo, puedes agregar imágenes en ese momento. Este tutorial muestra cómo cargar imágenes a nuestros servidores y agregarlas a tus artículos.

Contenidos:

Consideraciones y mejores prácticas

Las imágenes RGB son mucho más recomendables que las imágenes CMYK.
Existe un máximo de imágenes por artículo permitidas para publicar según la categoría que desees hacerlo.
Puedes cargar imágenes de hasta 10 MB en los siguientes formatos:

  • JPG
  • JPEG
  • PNG
  • GIF no animadas.



Zoom
En caso de imágenes con un ancho mayor que 800 píxeles, se activa un widget de zoom para que cuando los compradores pasen el mouse sobre la imagen puedan verla en primer plano. Esto es muy recomendable para Indumentaria e Inmuebles.

Carga una imagen

Ahora es momento de cargar tu primer archivo de imagen para almacenarlo en nuestros servidores. Es realmente muy fácil: solo anota la ruta exacta donde tienes guardada la imagen:

curl -F file=@/home/user/picture.jpg

https://api.mercadolibre.com/pictures?access_token=$ACCESS_TOKEN

Como respuesta recibirás un JSON con la descripción de los detalles de la imagen.
Recuerda guardar el ID de la imagen. Los otros campos representan diferentes tamaños de imágenes.

{
   "id":"MLA430387888_032012",
   "quality":"",
   "variations":[...]
}

Vincula una imagen a tu artículo

Con el picture_id antes obtenido, puedes vincular la imagen a tu artículo, así:

curl -X POST -H "Content-Type: application/json" -H "Accept: application/json" -d
'{"id":"MLA430387888_032012"}'

https://api.mercadolibre.com/items/MLA421101451/pictures?access_token=$ACCESS_TOKEN

¡Eso es todo! Dirígete a la página de descripción de tu artículo (utilizando el campo permalink) y controla cómo se muestra tu imagen.

Reemplaza imágenes

Si necesitas reemplazar las imágenes actuales de un artículo, debes realizar una solicitud PUT incluyendo el ID del Artículo y el url de la imagen, con tu access_token como en el siguiente ejemplo:

curl -X PUT -H "Content-Type: application/json" -H "Accept: application/json" -d
'{
  "pictures":[
    {"source":"http://www.apertura.com/export/sites/revistaap/img/Tecnologia/Logo_ML_NUEVO.jpg_33442984.jpg"},
    {"source":"http://appsuser.net/www/wp-content/uploads/2012/10/logo-mercadolibre.jpg"}
  ]
}' https://api.mercadolibre.com/items/{item_id}?access_token=$ACCESS_TOKEN

¡A tener en cuenta!

  • En caso que se desee reemplazar una imagen se deberá crear un nuevo source (darle otro nombre a la imagen) de lo contrario, al re utilizar el mismo que ya existía con diferente contenido no se actualizará la imagen.
  • En caso de tener un grupo de imágenes y deseas realizar las siguientes acciones:
    Agregar imagen: deberás mandar los IDs de las imágenes cargadas que deseas conservar más los source (URL) de las nuevas imágenes. Además, puedes modificar el orden enviando el body del PUT de la forma en que quieras verlas.

    curl -X PUT -H "Content-Type: application/json" -H "Accept: application/json" -d
    '{
    "pictures": [{"source": "http://SOURCE_IMAGEN_NUEVA.jpg"},
    			{"id": "111111 - IMAGEN_EXISTENTE_111111"},
    			{"id": "111111 - IMAGEN_EXISTENTE_111111"},
    			{"id": "111111 - IMAGEN_EXISTENTE_111111"}
    ],
    
    "variations": [{
    "id": "16787985187",
    "picture_ids": [
    		"http://SOURCE_IMAGEN_NUEVA.jpg", 
            "111111 - IMAGEN_EXISTENTE_111111", 
            "111111 - IMAGEN_EXISTENTE_111111", 
            "111111 - IMAGEN_EXISTENTE_111111"]},
    {
    "id": "16787985190",
    "picture_ids": [
    		"http://SOURCE_IMAGEN_NUEVA.jpg", 
            "111111 - IMAGEN_EXISTENTE_111111", 
            "111111 - IMAGEN_EXISTENTE_111111", 
            "111111 - IMAGEN_EXISTENTE_111111"]},
    
    {
    "id": "16787985193",
    "picture_ids": [
    		"http://SOURCE_IMAGEN_NUEVA.jpg", 
            "111111 - IMAGEN_EXISTENTE_111111", 
            "111111 - IMAGEN_EXISTENTE_111111", 
            "111111 - IMAGEN_EXISTENTE_111111"]}]
    }' http://api.mercadolibre.com/items/ITEM_ID?access_token=ACCESS_TOKEN

    Borrar imagen: deberás mandar sólo los IDs de las imágenes cargadas que deseas conservar.



¡Excelente! Ahora se mostrará la nueva imagen en tu artículo. Ya sabes cómo agregar y reemplazar imágenes. ¡Recuerda que las buenas imágenes atraerán más compradores!

Por favor califica del 1 al 5

Calculador de precios de publicaciones

El calculador de listing prices es un recurso de solo lectura que ofrece muchas formas de conocer las comisiones al publicar un artículo MercadoLibre para que el vendedor pueda saber exactamente cuánto costará publicar en cierto listing_type para un site, categoría, moneda y cantidad determinados.

Contenidos:

Descripción de atributos

AtributoDescripción
listing_type_idID del tipo de publicación
listing_type_nameNombre del tipo de publicación
listing_exposureNivel de exposición de la publicación
requires_pictureMuestra si el tipo de publicación requiere, por lo menos, una imagen
currency_idID de moneda de las comisiones
listing_fee_amountMonto de la comisión de publicación
selling_fee_amountMonto de la comisión de venta

Filtrar por precio

Recupera diferentes tipos de publicaciones y cada comisión asociada en la moneda local cuando el precio del artículo es 5000.

Ejemplo:

curl -X GET https://api.mercadolibre.com/sites/:site_id/listing_prices?price=5000

Respuesta:

{
	"listing_type_id": "gold_pro",
	"listing_type_name": "Oro Premium Full",
	"listing_exposure": "highest",
	"requires_picture": true,
	"currency_id": "ARS",
	"listing_fee_amount": 0,
	"sale_fee_amount": 1150,
	"free_relist": false,
	"stop_time": "2016-04-22T10:31:44.135-04:00"
  },
  {
	"listing_type_id": "gold_premium",
	"listing_type_name": "Oro Premium",
	"listing_exposure": "highest",
	"requires_picture": true,
	"currency_id": "ARS",
	"listing_fee_amount": 250,
	"sale_fee_amount": 375,
	"free_relist": false,
	"stop_time": "2016-04-22T10:31:44.119-04:00"
  },
  {
	"listing_type_id": "gold_special",
	"listing_type_name": "Oro Profesional",
	"listing_exposure": "highest",
	"requires_picture": true,
	"currency_id": "ARS",
	"listing_fee_amount": 0,
	"sale_fee_amount": 525,
	"free_relist": false,
	"stop_time": "2016-04-22T10:31:44.121-04:00"
  },
  {
	"listing_type_id": "gold",
	"listing_type_name": "Oro",
	"listing_exposure": "high",
	"requires_picture": true,
	"currency_id": "ARS",
	"listing_fee_amount": 150,
	"sale_fee_amount": 375,
	"free_relist": false,
	"stop_time": "2016-04-22T10:31:44.133-04:00"
  },
  {
	"listing_type_id": "silver",
	"listing_type_name": "Plata",
	"listing_exposure": "mid",
	"requires_picture": false,
	"currency_id": "ARS",
	"listing_fee_amount": 50,
	"sale_fee_amount": 375,
	"free_relist": false,
	"stop_time": "2016-04-22T10:31:44.127-04:00"
  },
  {
	"listing_type_id": "bronze",
	"listing_type_name": "Bronce",
	"listing_exposure": "low",
	"requires_picture": false,
	"currency_id": "ARS",
	"listing_fee_amount": 0,
	"sale_fee_amount": 550,
	"free_relist": false,
	"stop_time": "2016-04-22T10:31:44.130-04:00"
  },
  {
	"listing_type_id": "free",
	"listing_type_name": "Gratuita",
	"listing_exposure": "lowest",
	"requires_picture": false,
	"currency_id": "ARS",
	"listing_fee_amount": 0,
	"sale_fee_amount": 0,
	"free_relist": false,
	"stop_time": "2016-04-22T10:31:44.116-04:00"
  }

Por precio y listing_type

Recupera comisiones de publicaciones asociadas al tipo de publicación Gold en la moneda local cuando el precio del artículo es 5000.

Ejemplo:

curl -X GET https://api.mercadolibre.com/sites/:site_id/listing_prices?price=5000&listing_type_id=gold

Respuesta:

{
	"listing_type_id": "gold",
	"listing_type_name": "Oro",
	"listing_exposure": "high",
	"requires_picture": true,
	"currency_id": "ARS",
	"listing_fee_amount": 150,
    "sale_fee_amount": 375,
	"free_relist": false,
	"stop_time": "2016-04-22T10:32:39.264-04:00"
  }

Filtrar por tipo de publicación y cantidad

Recupera diferentes tipos de publicaciones y cada comisión asociada en la moneda local cuando el precio del artículo es 5000 y la cantidad del mismo es 5.

Ejemplo:

curl -X GET https://api.mercadolibre.com/sites/:site_id/listing_prices?price=5000&quantity=5

Respuesta:

{
	"listing_type_id": "gold_pro",
	"listing_type_name": "Oro Premium Full",
	"listing_exposure": "highest",
	"requires_picture": true,
	"currency_id": "ARS",
	"listing_fee_amount": 0,
	"sale_fee_amount": 1150,
	"free_relist": false,
	"stop_time": "2016-04-22T10:33:22.631-04:00"
  },
  {
	"listing_type_id": "gold_premium",
	"listing_type_name": "Oro Premium",
	"listing_exposure": "highest",
	"requires_picture": true,
	"currency_id": "ARS",
	"listing_fee_amount": 800,
	"sale_fee_amount": 375,
	"free_relist": false,
	"stop_time": "2016-04-22T10:33:22.614-04:00"
  },
  {
	"listing_type_id": "gold_special",
	"listing_type_name": "Oro Profesional",
	"listing_exposure": "highest",
	"requires_picture": true,
	"currency_id": "ARS",
	"listing_fee_amount": 0,
	"sale_fee_amount": 525,
	"free_relist": false,
	"stop_time": "2016-04-22T10:33:22.617-04:00"
  },
  {
	"listing_type_id": "gold",
	"listing_type_name": "Oro",
	"listing_exposure": "high",
	"requires_picture": true,
	"currency_id": "ARS",
	"listing_fee_amount": 480,
	"sale_fee_amount": 375,
	"free_relist": false,
	"stop_time": "2016-04-22T10:33:22.628-04:00"
  },
  {
	"listing_type_id": "silver",
	"listing_type_name": "Plata",
	"listing_exposure": "mid",
	"requires_picture": false,
	"currency_id": "ARS",
	"listing_fee_amount": 160,
	"sale_fee_amount": 375,
	"free_relist": false,
	"stop_time": "2016-04-22T10:33:22.622-04:00"
  },
  {
	"listing_type_id": "bronze",
	"listing_type_name": "Bronce",
	"listing_exposure": "low",
	"requires_picture": false,
	"currency_id": "ARS",
	"listing_fee_amount": 0,
	"sale_fee_amount": 550,
	"free_relist": false,
	"stop_time": "2016-04-22T10:33:22.624-04:00"
  },
  {
	"listing_type_id": "free",
	"listing_type_name": "Gratuita",
	"listing_exposure": "lowest",
	"requires_picture": false,
	"currency_id": "ARS",
	"listing_fee_amount": 0,
	"sale_fee_amount": 0,
	"free_relist": false,
	"stop_time": "2016-04-22T10:33:22.611-04:00"
  }

Filtrar por precio y categoría

Recupera diferentes tipos de publicaciones y cada comisión asociada en la moneda local cuando el precio del artículo es 5000 y la categoría es MLA1744.

Ejemplo:

curl -X GET https://api.mercadolibre.com/sites/:site_id/listing_prices?price=5000&category_id=MLA1744

Respuesta:

{
	"listing_type_id": "gold_premium",
	"listing_type_name": "Oro Premium",
	"listing_exposure": "highest",
	"requires_picture": true,
	"currency_id": "ARS",
	"listing_fee_amount": 357,
	"sale_fee_amount": 0,
	"free_relist": false,
	"stop_time": "2016-04-22T10:33:58.127-04:00"
  },
  {
	"listing_type_id": "gold",
	"listing_type_name": "Oro",
	"listing_exposure": "high",
	"requires_picture": true,
	"currency_id": "ARS",
	"listing_fee_amount": 267,
	"sale_fee_amount": 0,
	"free_relist": false,
	"stop_time": "2016-04-22T10:33:58.135-04:00"
  },
  {
	"listing_type_id": "silver",
	"listing_type_name": "Plata",
	"listing_exposure": "mid",
	"requires_picture": false,
	"currency_id": "ARS",
	"listing_fee_amount": 147,
	"sale_fee_amount": 0,
	"free_relist": false,
	"stop_time": "2016-04-22T10:33:58.130-04:00"
  },
  {
	"listing_type_id": "free",
	"listing_type_name": "Gratuita",
	"listing_exposure": "lowest",
	"requires_picture": false,
    "currency_id": "ARS",
	"listing_fee_amount": 0,
	"sale_fee_amount": 0,
	"free_relist": false,
	"stop_time": "2016-03-23T10:33:58.132-04:00"
  }

Por precio y moneda

Recupera diferentes tipos de publicaciones y cada comisión asociada en la moneda local cuando el precio del artículo es 5000 U$S.

Ejemplo:

curl -X GET https://api.mercadolibre.com/sites/:site_id/listing_prices?price=5000¤cy_id=USD

Respuesta:

{
	"listing_type_id": "gold_pro",
	"listing_type_name": "Oro Premium Full",
	"listing_exposure": "highest",
	"requires_picture": true,
	"currency_id": "ARS",
	"listing_fee_amount": 0,
	"sale_fee_amount": 1150,
	"free_relist": false,
	"stop_time": "2016-04-22T10:34:27.793-04:00"
  },
  {
	"listing_type_id": "gold_premium",
	"listing_type_name": "Oro Premium",
	"listing_exposure": "highest",
	"requires_picture": true,
	"currency_id": "ARS",
	"listing_fee_amount": 250,
	"sale_fee_amount": 375,
	"free_relist": false,
	"stop_time": "2016-04-22T10:34:27.779-04:00"
  },
  {
	"listing_type_id": "gold_special",
	"listing_type_name": "Oro Profesional",
	"listing_exposure": "highest",
	"requires_picture": true,
	"currency_id": "ARS",
	"listing_fee_amount": 0,
	"sale_fee_amount": 525,
	"free_relist": false,
	"stop_time": "2016-04-22T10:34:27.782-04:00"
  },
  {
	"listing_type_id": "gold",
	"listing_type_name": "Oro",
	"listing_exposure": "high",
	"requires_picture": true,
	"currency_id": "ARS",
	"listing_fee_amount": 150,
	"sale_fee_amount": 375,
	"free_relist": false,
	"stop_time": "2016-04-22T10:34:27.791-04:00"
  },
  {
	"listing_type_id": "silver",
	"listing_type_name": "Plata",
	"listing_exposure": "mid",
	"requires_picture": false,
	"currency_id": "ARS",
	"listing_fee_amount": 50,
	"sale_fee_amount": 375,
	"free_relist": false,
	"stop_time": "2016-04-22T10:34:27.786-04:00"
  },
  {
	"listing_type_id": "bronze",
	"listing_type_name": "Bronce",
	"listing_exposure": "low",
	"requires_picture": false,
	"currency_id": "ARS",
	"listing_fee_amount": 0,
	"sale_fee_amount": 550,
	"free_relist": false,
	"stop_time": "2016-04-22T10:34:27.788-04:00"
  },
  {
	"listing_type_id": "free",
	"listing_type_name": "Gratuita",
	"listing_exposure": "lowest",
	"requires_picture": false,
	"currency_id": "ARS",
	"listing_fee_amount": 0,
	"sale_fee_amount": 0,
	"free_relist": false,
	"stop_time": "2016-04-22T10:34:27.776-04:00"
  }

Filtrar por tipo de publicación y categoría

Recupera la comisión de publicación asociada al tipo de publicación Gold cuando el ID de categoría es MLA1743.

Ejemplo:

curl -X GET https://api.mercadolibre.com/sites/:site_id/listing_prices/gold?category_id=MLA1743

Respuesta:

{
  "listing_type_id": "gold",
  "listing_type_name": "Oro",
  "listing_exposure": "high",
  "requires_picture": true,
  "currency_id": "ARS",
  "listing_fee_amount": 267,
  "sale_fee_amount": 0,
  "free_relist": false,
  "stop_time": "2016-04-22T10:35:02.225-04:00"
}

Por categoría

Recupera diferentes tipos de publicaciones y cada comisión asociada en la moneda local cuando la categoría es MLA1743.

Ejemplo:

curl -X GET https://api.mercadolibre.com/sites/:site_id/listing_prices?category_id=MLA1743

Respuesta:

{
	"listing_type_id": "gold_premium",
	"listing_type_name": "Oro Premium",
	"listing_exposure": "highest",
	"requires_picture": true,
	"currency_id": "ARS",
	"listing_fee_amount": 357,
	"sale_fee_amount": 0,
	"free_relist": false,
	"stop_time": "2016-04-22T10:35:31.996-04:00"
  },
  {
	"listing_type_id": "gold",
	"listing_type_name": "Oro",
	"listing_exposure": "high",
	"requires_picture": true,
	"currency_id": "ARS",
	"listing_fee_amount": 267,
	"sale_fee_amount": 0,
	"free_relist": false,
	"stop_time": "2016-04-22T10:35:32.006-04:00"
  },
  {
	"listing_type_id": "silver",
	"listing_type_name": "Plata",
	"listing_exposure": "mid",
	"requires_picture": false,
	"currency_id": "ARS",
	"listing_fee_amount": 147,
	"sale_fee_amount": 0,
	"free_relist": false,
	"stop_time": "2016-04-22T10:35:31.999-04:00"
  },
  {
	"listing_type_id": "free",
	"listing_type_name": "Gratuita",
	"listing_exposure": "lowest",
	"requires_picture": false,
	"currency_id": "ARS",
	"listing_fee_amount": 0,
	"sale_fee_amount": 0,
	"free_relist": false,
	"stop_time": "2016-03-23T10:35:32.003-04:00"
  }

Por favor califica del 1 al 5

Variaciones

Contenidos:

¿Qué es una variación?

En esta guía te contaremos qué debes hacer, por ejemplo, en el caso que necesites publicar un mismo modelo de Zapatos pero en diferentes Colores y Talles/Tallas.
Con variaciones podrás contar en una misma publicación todas las variantes del ítem, manteniendo incluso stock diferencial por cada una. De esta forma, cuando recibas una compra, verás en la orden de compra el color y talle elegido por el comprador, facilitando así el proceso post-venta.
Teniendo en cuenta que en la VIP del ítem publicado se verá lo anteriormente mencionado de la siguiente forma:

¡Buenas noticias! Las variaciones no se encuentran únicamente en indumentaria, también las puedes utilizar en otras categorías. Por ejemplo en Taladros Eléctricos, variando ítems por voltaje. De esta forma, será posible vender en una misma publicación taladros de 110V y 220V.

Beneficios

  • El comprador puede ver dentro de una misma publicación las diferentes variantes y la disponibilidad de cada una.
  • Disminuye las consultas entre comprador y vendedor.
  • En la orden de compra aparecerá el color y talle elegido por el comprador, facilitando así el proceso post-venta, evitando reclamos.
  • Permite mayor control y organización sobre el stock.
  • Además, es posible enviar el código interno de inventario (SKU) para cada variación. Esto será de gran utilidad para aquellos vendedores que lleven control de stock por inventario.

Aclaración

  • El precio deberá ser el mismo para cada variación. Si bien vía API se permite poner diferentes precios para cada variación, en la VIP sólo será visto el precio más alto y también se tendrá en cuenta en el momento que se realizará el pago.

Publicar ítems con variaciones

Para publicar ítems con variaciones debes elegir la categoría donde deseas publicar, la podrás identificar cuando el campo attribute_types indique variations. Posteriormente, tendrás que consultar la API de atributos e identificar los atributos por los que puedes variar tus ítems a través del tag allow_variations.
A su vez, recuerda que puedes enviar la propiedad attributes para cada variación, especificando características del ítem propias de cada variante de tu ítem. Los atributos que puedes cargar en esta sección, serán los identificados en la API por el tag variation_attribute. Por ejemplo, si vendes un celular en varios colores, y para cada uno de ellos tienes su código de barra, puedes cargarlo para cada variante en la sección attributes.
Actualmente los atributos con el tag variation_attribute no se muestran en la VIP, pero lo harán en un futuro. ¡Te alentamos a irlos completando para estar preparado a las nuevas funcionalidades que involucren estos atributos!
Supongamos que quieres vender un ventilador variando por los colores Marrón y Negro pero a su vez cargarle el código de barras (EAN), para eso deberás dirigirte a la API de atributos de dicha categoría para corroborar si los atributos Color y EAN poseen los tags allow_variations y variation_attribute respectivamente.

Ejemplo

https://api.mercadolibre.com/categories/MLA126186/attributes

Respuesta:

[
  {
    "id": "BRAND",
    "name": "Marca",
    "tags": {
      "fixed": true
    },
    "value_type": "string",
    "value_max_length": 60,
    "values": [
      {
        "id": "5601",
        "name": "BGH"
      }
    ],
    "attribute_group_id": "MAIN",
    "attribute_group_name": "Atributos Principales"
  },
  {
    "id": "COLOR",
    "name": "Color",
    "tags": {
      "allow_variations": true,
      "hidden": true
    },
    "type": "color",
    "value_type": "list",
    "values": [
      {
        "id": "52049",
        "name": "Negro",
        "metadata": {
          "rgb": "000000"
        }
      },
      {
        "id": "51993",
        "name": "Rojo",
        "metadata": {
          "rgb": "FF0000"
        }
      },
      {
        "id": "52035",
        "name": "Violeta",
        "metadata": {
          "rgb": "9F00FF"
        }
      },
      {
        "id": "52028",
        "name": "Azul",
        "metadata": {
          "rgb": "1717FF"
        }
      },
      {
        "id": "52005",
        "name": "Marrón",
        "metadata": {
          "rgb": "A0522D"
        }
      },
      {
        "id": "52051",
        "name": "Gris oscuro",
        "metadata": {
          "rgb": "666666"
        }
      },
      {
        "id": "52000",
        "name": "Naranja",
        "metadata": {
          "rgb": "FF8C00"
        }
      },
      {
        "id": "52014",
        "name": "Verde",
        "metadata": {
          "rgb": "0DA600"
        }
      },
      {
        "id": "51994",
        "name": "Rosa",
        "metadata": {
          "rgb": "FCB1BE"
        }
      },
      {
        "id": "283164",
        "name": "Dorado",
        "metadata": {
          "rgb": "FFD700"
        }
      },
      {
        "id": "52007",
        "name": "Amarillo",
        "metadata": {
          "rgb": "FFED00"
        }
      },
      {
        "id": "52053",
        "name": "Plateado",
        "metadata": {
          "rgb": "CBCFD0"
        }
      },
      {
        "id": "283165",
        "name": "Gris claro",
        "metadata": {
          "rgb": "E1E1E1"
        }
      },
      {
        "id": "52021",
        "name": "Celeste",
        "metadata": {
          "rgb": "83DDFF"
        }
      },
      {
        "id": "52055",
        "name": "Blanco",
        "metadata": {
          "rgb": "FFFFFF"
        }
      },
      {
        "id": "51998",
        "name": "Bordó",
        "metadata": {
          "rgb": "830500",
          "parent_id": "51993"
        }
      },
      {
        "id": "51996",
        "name": "Terracota",
        "metadata": {
          "rgb": "C63633",
          "parent_id": "51993"
        }
      },
      {
        "id": "283149",
        "name": "Coral",
        "metadata": {
          "rgb": "FA8072",
          "parent_id": "51993"
        }
      },
      {
        "id": "283148",
        "name": "Coral claro",
        "metadata": {
          "rgb": "F9AC95",
          "parent_id": "51993"
        }
      },
      {
        "id": "52047",
        "name": "Violeta oscuro",
        "metadata": {
          "rgb": "4E0087",
          "parent_id": "52035"
        }
      },
      {
        "id": "283162",
        "name": "Índigo",
        "metadata": {
          "rgb": "7A64C6",
          "parent_id": "52035"
        }
      },
      {
        "id": "52038",
        "name": "Lila",
        "metadata": {
          "rgb": "CC87FF",
          "parent_id": "52035"
        }
      },
      {
        "id": "52036",
        "name": "Lavanda",
        "metadata": {
          "rgb": "D9D2E9",
          "parent_id": "52035"
        }
      },
      {
        "id": "52033",
        "name": "Azul oscuro",
        "metadata": {
          "rgb": "013267",
          "parent_id": "52028"
        }
      },
      {
        "id": "283161",
        "name": "Azul marino",
        "metadata": {
          "rgb": "0F5299",
          "parent_id": "52028"
        }
      },
      {
        "id": "52031",
        "name": "Azul acero",
        "metadata": {
          "rgb": "6FA8DC",
          "parent_id": "52028"
        }
      },
      {
        "id": "52029",
        "name": "Azul claro",
        "metadata": {
          "rgb": "DCECFF",
          "parent_id": "52028"
        }
      },
      {
        "id": "283155",
        "name": "Marrón oscuro",
        "metadata": {
          "rgb": "5D3806",
          "parent_id": "52005"
        }
      },
      {
        "id": "283154",
        "name": "Marrón claro",
        "metadata": {
          "rgb": "AF8650",
          "parent_id": "52005"
        }
      },
      {
        "id": "283153",
        "name": "Suela",
        "metadata": {
          "rgb": "FAEBD7",
          "parent_id": "52005"
        }
      },
      {
        "id": "52001",
        "name": "Beige",
        "metadata": {
          "rgb": "F5F3DC",
          "parent_id": "52005"
        }
      },
      {
        "id": "283152",
        "name": "Chocolate",
        "metadata": {
          "rgb": "9B3F14",
          "parent_id": "52000"
        }
      },
      {
        "id": "283151",
        "name": "Naranja oscuro",
        "metadata": {
          "rgb": "D2691E",
          "parent_id": "52000"
        }
      },
      {
        "id": "283150",
        "name": "Naranja claro",
        "metadata": {
          "rgb": "FDAF20",
          "parent_id": "52000"
        }
      },
      {
        "id": "52003",
        "name": "Piel",
        "metadata": {
          "rgb": "FFE4C4",
          "parent_id": "52000"
        }
      },
      {
        "id": "52019",
        "name": "Verde oscuro",
        "metadata": {
          "rgb": "003D00",
          "parent_id": "52014"
        }
      },
      {
        "id": "283158",
        "name": "Verde musgo",
        "metadata": {
          "rgb": "3F7600",
          "parent_id": "52014"
        }
      },
      {
        "id": "283157",
        "name": "Verde limón",
        "metadata": {
          "rgb": "73E129",
          "parent_id": "52014"
        }
      },
      {
        "id": "52015",
        "name": "Verde claro",
        "metadata": {
          "rgb": "9FF39F",
          "parent_id": "52014"
        }
      },
      {
        "id": "52042",
        "name": "Fucsia",
        "metadata": {
          "rgb": "FF00EC",
          "parent_id": "51994"
        }
      },
      {
        "id": "283163",
        "name": "Rosa chicle",
        "metadata": {
          "rgb": "FF51A8",
          "parent_id": "51994"
        }
      },
      {
        "id": "52045",
        "name": "Rosa pálido",
        "metadata": {
          "rgb": "D06EA8",
          "parent_id": "51994"
        }
      },
      {
        "id": "52043",
        "name": "Rosa claro",
        "metadata": {
          "rgb": "FADBE2",
          "parent_id": "51994"
        }
      },
      {
        "id": "52012",
        "name": "Dorado oscuro",
        "metadata": {
          "rgb": "BF9000",
          "parent_id": "52007"
        }
      },
      {
        "id": "52010",
        "name": "Ocre",
        "metadata": {
          "rgb": "EACB53",
          "parent_id": "52007"
        }
      },
      {
        "id": "283156",
        "name": "Caqui",
        "metadata": {
          "rgb": "F0E68C",
          "parent_id": "52007"
        }
      },
      {
        "id": "52008",
        "name": "Crema",
        "metadata": {
          "rgb": "FFFFE0",
          "parent_id": "52007"
        }
      },
      {
        "id": "52024",
        "name": "Azul petróleo",
        "metadata": {
          "rgb": "1E6E7F",
          "parent_id": "52021"
        }
      },
      {
        "id": "283160",
        "name": "Turquesa",
        "metadata": {
          "rgb": "40E0D0",
          "parent_id": "52021"
        }
      },
      {
        "id": "52022",
        "name": "Agua",
        "metadata": {
          "rgb": "E0FFFF",
          "parent_id": "52021"
        }
      },
      {
        "id": "283159",
        "name": "Cyan",
        "metadata": {
          "rgb": "00FFFF",
          "parent_id": "52021"
        }
      }
    ],
    "attribute_group_id": "DFLT",
    "attribute_group_name": "Otros"
  },
  {
    "id": "PACKAGE_HEIGHT",
    "name": "Altura del paquete",
    "tags": {
      "hidden": true,
      "read_only": true,
      "variation_attribute": true
    },
    "value_type": "number_unit",
    "value_max_length": 60,
    "allowed_units": [
      {
        "id": "mm",
        "name": "mm"
      },
      {
        "id": "cm",
        "name": "cm"
      },
      {
        "id": "in",
        "name": "in"
      },
      {
        "id": "pulgadas",
        "name": "pulgadas"
      },
      {
        "id": "ft",
        "name": "ft"
      },
      {
        "id": "m",
        "name": "m"
      },
      {
        "id": "km",
        "name": "km"
      }
    ],
    "default_unit": "mm",
    "attribute_group_id": "DFLT",
    "attribute_group_name": "Otros"
  },
  {
    "id": "PACKAGE_WIDTH",
    "name": "Ancho del paquete",
    "tags": {
      "hidden": true,
      "read_only": true,
      "variation_attribute": true
    },
    "value_type": "number_unit",
    "value_max_length": 60,
    "allowed_units": [
      {
        "id": "mm",
        "name": "mm"
      },
      {
        "id": "cm",
        "name": "cm"
      },
      {
        "id": "in",
        "name": "in"
      },
      {
        "id": "pulgadas",
        "name": "pulgadas"
      },
      {
        "id": "ft",
        "name": "ft"
      },
      {
        "id": "m",
        "name": "m"
      },
      {
        "id": "km",
        "name": "km"
      }
    ],
    "default_unit": "mm",
    "attribute_group_id": "DFLT",
    "attribute_group_name": "Otros"
  },
  {
    "id": "TURNTABLE",
    "name": "Bandeja Giratoria",
    "tags": {
    },
    "value_type": "boolean",
    "values": [
      {
        "id": "242084",
        "name": "No",
        "metadata": {
          "value": false
        }
      },
      {
        "id": "242085",
        "name": "Sí",
        "metadata": {
          "value": true
        }
      }
    ],
    "attribute_group_id": "DFLT",
    "attribute_group_name": "Otros"
  },
  {
    "id": "NUMBER_OF_PROGRAMS",
    "name": "Cantidad de Programas",
    "tags": {
      "hidden": true
    },
    "value_type": "number",
    "value_max_length": 60,
    "attribute_group_id": "DFLT",
    "attribute_group_name": "Otros"
  },
  {
    "id": "VOLUME_CAPACITY",
    "name": "Capacidad",
    "tags": {
    },
    "value_type": "number_unit",
    "value_max_length": 60,
    "allowed_units": [
      {
        "id": "l",
        "name": "l"
      },
      {
        "id": "cc",
        "name": "cc"
      },
      {
        "id": "ft³",
        "name": "ft³"
      },
      {
        "id": "ml",
        "name": "ml"
      },
      {
        "id": "mm³",
        "name": "mm³"
      }
    ],
    "default_unit": "l",
    "attribute_group_id": "DFLT",
    "attribute_group_name": "Otros"
  },
  {
    "id": "CONVECTION",
    "name": "Convección",
    "tags": {
    },
    "value_type": "boolean",
    "values": [
      {
        "id": "242084",
        "name": "No",
        "metadata": {
          "value": false
        }
      },
      {
        "id": "242085",
        "name": "Sí",
        "metadata": {
          "value": true
        }
      }
    ],
    "attribute_group_id": "DFLT",
    "attribute_group_name": "Otros"
  },
  {
    "id": "TURNTABLE_DIAMETER",
    "name": "Diámetro de Bandeja Giratoria",
    "tags": {
      "hidden": true
    },
    "value_type": "number_unit",
    "value_max_length": 60,
    "allowed_units": [
      {
        "id": "mm",
        "name": "mm"
      },
      {
        "id": "cm",
        "name": "cm"
      },
      {
        "id": "ft",
        "name": "ft"
      },
      {
        "id": "in",
        "name": "in"
      },
      {
        "id": "km",
        "name": "km"
      },
      {
        "id": "m",
        "name": "m"
      },
      {
        "id": "pulgadas",
        "name": "pulgadas"
      }
    ],
    "default_unit": "mm",
    "attribute_group_id": "DFLT",
    "attribute_group_name": "Otros"
  },
  {
    "id": "EAN",
    "name": "EAN",
    "tags": {
      "hidden": true,
      "multivalued": true,
      "variation_attribute": true
    },
    "type": "product_identifier",
    "value_type": "string",
    "value_max_length": 60,
    "attribute_group_id": "DFLT",
    "attribute_group_name": "Otros"
  },
  {
    "id": "FREQUENCY",
    "name": "Frecuencia",
    "tags": {
      "hidden": true
    },
    "value_type": "number_unit",
    "value_max_length": 60,
    "allowed_units": [
      {
        "id": "hz",
        "name": "hz"
      },
      {
        "id": "ghz",
        "name": "ghz"
      },
      {
        "id": "khz",
        "name": "khz"
      },
      {
        "id": "mhz",
        "name": "mhz"
      },
      {
        "id": "rpm",
        "name": "rpm"
      }
    ],
    "default_unit": "hz",
    "attribute_group_id": "DFLT",
    "attribute_group_name": "Otros"
  },
  {
    "id": "MICROWAVE_FUNCTIONS",
    "name": "Funciones",
    "tags": {
      "hidden": true,
      "multivalued": true
    },
    "value_type": "string",
    "value_max_length": 60,
    "attribute_group_id": "DFLT",
    "attribute_group_name": "Otros"
  },
  {
    "id": "GRILL",
    "name": "Grill",
    "tags": {
    },
    "value_type": "boolean",
    "values": [
      {
        "id": "242084",
        "name": "No",
        "metadata": {
          "value": false
        }
      },
      {
        "id": "242085",
        "name": "Sí",
        "metadata": {
          "value": true
        }
      }
    ],
    "attribute_group_id": "DFLT",
    "attribute_group_name": "Otros"
  },
  {
    "id": "GTIN",
    "name": "GTIN",
    "tags": {
      "hidden": true,
      "multivalued": true,
      "variation_attribute": true
    },
    "type": "product_identifier",
    "value_type": "string",
    "value_max_length": 60,
    "attribute_group_id": "DFLT",
    "attribute_group_name": "Otros"
  },
  {
    "id": "JAN",
    "name": "JAN",
    "tags": {
      "hidden": true,
      "variation_attribute": true
    },
    "type": "product_identifier",
    "value_type": "string",
    "value_max_length": 60,
    "attribute_group_id": "DFLT",
    "attribute_group_name": "Otros"
  },
  {
    "id": "LINE",
    "name": "Línea",
    "tags": {
      "hidden": true
    },
    "value_type": "string",
    "value_max_length": 60,
    "attribute_group_id": "DFLT",
    "attribute_group_name": "Otros"
  },
  {
    "id": "PACKAGE_LENGTH",
    "name": "Longitud del paquete",
    "tags": {
      "hidden": true,
      "read_only": true,
      "variation_attribute": true
    },
    "value_type": "number_unit",
    "value_max_length": 60,
    "allowed_units": [
      {
        "id": "mm",
        "name": "mm"
      },
      {
        "id": "cm",
        "name": "cm"
      },
      {
        "id": "in",
        "name": "in"
      },
      {
        "id": "pulgadas",
        "name": "pulgadas"
      },
      {
        "id": "ft",
        "name": "ft"
      },
      {
        "id": "m",
        "name": "m"
      },
      {
        "id": "km",
        "name": "km"
      }
    ],
    "default_unit": "mm",
    "attribute_group_id": "DFLT",
    "attribute_group_name": "Otros"
  },
  {
    "id": "DIMENSIONS",
    "name": "Medidas",
    "tags": {
    },
    "value_type": "string",
    "value_max_length": 60,
    "attribute_group_id": "DFLT",
    "attribute_group_name": "Otros"
  },
  {
    "id": "MODEL",
    "name": "Modelo",
    "tags": {
    },
    "value_type": "string",
    "value_max_length": 60,
    "attribute_group_id": "MAIN",
    "attribute_group_name": "Atributos Principales"
  },
  {
    "id": "ALPHANUMERIC_MODEL",
    "name": "Modelo Alfanumérico",
    "tags": {
      "hidden": true
    },
    "value_type": "string",
    "value_max_length": 60,
    "attribute_group_id": "DFLT",
    "attribute_group_name": "Otros"
  },
  {
    "id": "DETAILED_MODEL",
    "name": "Modelo Detallado",
    "tags": {
      "hidden": true
    },
    "value_type": "string",
    "value_max_length": 60,
    "attribute_group_id": "DFLT",
    "attribute_group_name": "Otros"
  },
  {
    "id": "MPN",
    "name": "MPN",
    "tags": {
      "hidden": true,
      "multivalued": true,
      "variation_attribute": true
    },
    "type": "product_identifier",
    "value_type": "string",
    "value_max_length": 60,
    "attribute_group_id": "DFLT",
    "attribute_group_name": "Otros"
  },
  {
    "id": "POWER_LEVELS",
    "name": "Niveles de Potencia",
    "tags": {
      "hidden": true
    },
    "value_type": "number",
    "value_max_length": 60,
    "attribute_group_id": "DFLT",
    "attribute_group_name": "Otros"
  },
  {
    "id": "PACKAGE_WEIGHT",
    "name": "Peso del paquete",
    "tags": {
      "hidden": true,
      "read_only": true,
      "variation_attribute": true
    },
    "value_type": "number_unit",
    "value_max_length": 60,
    "allowed_units": [
      {
        "id": "mcg",
        "name": "mcg"
      },
      {
        "id": "mg",
        "name": "mg"
      },
      {
        "id": "g",
        "name": "g"
      },
      {
        "id": "oz",
        "name": "oz"
      },
      {
        "id": "lb",
        "name": "lb"
      },
      {
        "id": "kg",
        "name": "kg"
      }
    ],
    "default_unit": "mcg",
    "attribute_group_id": "DFLT",
    "attribute_group_name": "Otros"
  },
  {
    "id": "POWER",
    "name": "Potencia",
    "tags": {
    },
    "value_type": "number_unit",
    "value_max_length": 60,
    "allowed_units": [
      {
        "id": "w",
        "name": "w"
      },
      {
        "id": "btu/h",
        "name": "btu/h"
      },
      {
        "id": "cv",
        "name": "cv"
      },
      {
        "id": "fg",
        "name": "fg"
      },
      {
        "id": "hp",
        "name": "hp"
      },
      {
        "id": "kcal/h",
        "name": "kcal/h"
      },
      {
        "id": "kw",
        "name": "kw"
      },
      {
        "id": "mw",
        "name": "mw"
      },
      {
        "id": "tfr",
        "name": "tfr"
      },
      {
        "id": "va",
        "name": "va"
      }
    ],
    "default_unit": "w",
    "attribute_group_id": "DFLT",
    "attribute_group_name": "Otros"
  },
  {
    "id": "GRILL_POWER",
    "name": "Potencia de Grill",
    "tags": {
      "hidden": true
    },
    "value_type": "number_unit",
    "value_max_length": 60,
    "allowed_units": [
      {
        "id": "w",
        "name": "w"
      },
      {
        "id": "btu/h",
        "name": "btu/h"
      },
      {
        "id": "cv",
        "name": "cv"
      },
      {
        "id": "fg",
        "name": "fg"
      },
      {
        "id": "hp",
        "name": "hp"
      },
      {
        "id": "kcal/h",
        "name": "kcal/h"
      },
      {
        "id": "kw",
        "name": "kw"
      },
      {
        "id": "mw",
        "name": "mw"
      },
      {
        "id": "tfr",
        "name": "tfr"
      },
      {
        "id": "va",
        "name": "va"
      }
    ],
    "default_unit": "w",
    "attribute_group_id": "DFLT",
    "attribute_group_name": "Otros"
  },
  {
    "id": "MIRRORED_DOOR",
    "name": "Puerta Espejada",
    "tags": {
      "hidden": true
    },
    "value_type": "boolean",
    "values": [
      {
        "id": "242084",
        "name": "No",
        "metadata": {
          "value": false
        }
      },
      {
        "id": "242085",
        "name": "Sí",
        "metadata": {
          "value": true
        }
      }
    ],
    "attribute_group_id": "DFLT",
    "attribute_group_name": "Otros"
  },
  {
    "id": "PROGRAMMABLE_KEYS",
    "name": "Teclas Programables",
    "tags": {
      "hidden": true
    },
    "value_type": "boolean",
    "values": [
      {
        "id": "242084",
        "name": "No",
        "metadata": {
          "value": false
        }
      },
      {
        "id": "242085",
        "name": "Sí",
        "metadata": {
          "value": true
        }
      }
    ],
    "attribute_group_id": "DFLT",
    "attribute_group_name": "Otros"
  },
  {
    "id": "MICROWAVE_TYPE",
    "name": "Tipo",
    "tags": {
    },
    "value_type": "list",
    "values": [
      {
        "id": "289784",
        "name": "De Apoyo"
      },
      {
        "id": "289785",
        "name": "De Embutir"
      }
    ],
    "attribute_group_id": "DFLT",
    "attribute_group_name": "Otros"
  },
  {
    "id": "CHILD_SAFETY_LOCK",
    "name": "Traba de Seguridad para Niños",
    "tags": {
      "hidden": true
    },
    "value_type": "boolean",
    "values": [
      {
        "id": "242084",
        "name": "No",
        "metadata": {
          "value": false
        }
      },
      {
        "id": "242085",
        "name": "Sí",
        "metadata": {
          "value": true
        }
      }
    ],
    "attribute_group_id": "DFLT",
    "attribute_group_name": "Otros"
  },
  {
    "id": "UPC",
    "name": "UPC",
    "tags": {
      "hidden": true,
      "multivalued": true,
      "variation_attribute": true
    },
    "type": "product_identifier",
    "value_type": "string",
    "value_max_length": 60,
    "attribute_group_id": "DFLT",
    "attribute_group_name": "Otros"
  },
  {
    "id": "VOLTAGE",
    "name": "Voltaje",
    "tags": {
      "hidden": true
    },
    "value_type": "list",
    "values": [
      {
        "id": "198812",
        "name": "110V / 220V"
      },
      {
        "id": "198813",
        "name": "220V"
      },
      {
        "id": "198814",
        "name": "110V"
      }
    ],
    "attribute_group_id": "DFLT",
    "attribute_group_name": "Otros"
  }
]

Luego de chequear la configuración en la API de atributos deberás crear un JSON de publicación como el siguiente.
Ejemplo:

curl -X POST -d '
{  
   "listing_type_id":"gold_special",
   "pictures":[  
      {  
         "id":"553111-MLA20482692355_112015"
      }
   ],
   "title":"Item de testeo",
   "available_quantity":4,
   "category_id":"MLA378496",
   "buying_mode":"buy_it_now",
   "currency_id":"ARS",
   "condition":"not_specified",
   "site_id":"MLA",
   "price":100,
   "variations":[  
      {  
         "attribute_combinations":[  
            {  
               "name":"Color",
               "value_id":"52049",
               "value_name":"Negro"
            }
         ],
         "price":100,
         "available_quantity":4,
         "attributes":[  
            {  
               "id":"EAN",
               "value_name":"4006381333931"
            }
         ],
         "sold_quantity":0,
         "picture_ids":[  
            "553111-MLA20482692355_112015"
         ]
      },
      {  
         "attribute_combinations":[  
            {  
               "name":"Color",
               "value_id":"52005",
               "value_name":"Marrón"
            }
         ],
         "price":100,
         "available_quantity":4,
         "attributes":[  
            {  
               "id":"EAN",
               "value_name":"9780471117094"
            }
         ],
         "sold_quantity":0,
         "picture_ids":[  
            "553111-MLA20482692355_112015"
         ]
      }
   ]
}' 'http://api.mercadolibre.com/items?access_token=$ACCESS_TOKEN '

Respuesta:

 {  
   "id":"MLA657381404",
   "site_id":"MLA",
   "title":"Item De Testeo",
   "subtitle":null,
   "seller_id":222576250,
   "category_id":"MLA378496",
   "official_store_id":null,
   "price":100,
   "base_price":100,
   "original_price":null,
   "currency_id":"ARS",
   "initial_quantity":8,
   "available_quantity":8,
   "sold_quantity":0,
   "buying_mode":"buy_it_now",
   "listing_type_id":"gold_special",
   "start_time":"2017-03-10T21:18:09.588Z",
   "stop_time":"2037-03-05T21:18:09.588Z",
   "end_time":"2037-03-05T21:18:09.588Z",
   "expiration_time":"2017-05-29T21:18:09.651Z",
   "condition":"not_specified",
   "permalink":"http://articulo.mercadolibre.com.ar/MLA-657381404-item-de-testeo-_JM",
   "thumbnail":"http://mla-s2-p.mlstatic.com/553111-MLA20482692355_112015-I.jpg",
   "secure_thumbnail":"https://mla-s2-p.mlstatic.com/553111-MLA20482692355_112015-I.jpg",
   "pictures":[  
      {  
         "id":"553111-MLA20482692355_112015",
         "url":"http://mla-s2-p.mlstatic.com/553111-MLA20482692355_112015-O.jpg",
         "secure_url":"https://mla-s2-p.mlstatic.com/553111-MLA20482692355_112015-O.jpg",
         "size":"320x320",
         "max_size":"320x320",
         "quality":""
      }
   ],
   "video_id":null,
   "descriptions":[  

   ],
   "accepts_mercadopago":true,
   "non_mercado_pago_payment_methods":[  

   ],
   "shipping":{  
      "mode":"not_specified",
      "local_pick_up":false,
      "free_shipping":false,
      "methods":[  

      ],
      "dimensions":null,
      "tags":[  
         "me2_available"
      ],
      "logistic_type":"not_specified"
   },
   "international_delivery_mode":"none",
   "seller_address":{  
      "id":189626559,
      "comment":"",
      "address_line":"santa fe 1000",
      "zip_code":"1641",
      "city":{  
         "id":"",
         "name":"Acassuso"
      },
      "state":{  
         "id":"AR-B",
         "name":"Buenos Aires"
      },
      "country":{  
         "id":"AR",
         "name":"Argentina"
      },
      "latitude":-34.4817565,
      "longitude":-58.5056779,
      "search_location":{  
         "neighborhood":{  
            "id":"TUxBQkFDQTMyNzNa",
            "name":"Acassuso"
         },
         "city":{  
            "id":"TUxBQ1NBTjg4ZmJk",
            "name":"San Isidro"
         },
         "state":{  
            "id":"TUxBUEdSQWU4ZDkz",
            "name":"Bs.As. G.B.A. Norte"
         }
      }
   },
   "seller_contact":null,
   "location":{  

   },
   "geolocation":{  
      "latitude":-34.4817565,
      "longitude":-58.5056779
   },
   "coverage_areas":[  

   ],
   "attributes":[  
      {  
         "id":"FAN_TYPE",
         "name":"Tipo de Ventilador",
         "value_id":"291719",
         "value_name":"De Techo",
         "attribute_group_id":"DFLT",
         "attribute_group_name":"Otros"
      },
      {  
         "id":"BRAND",
         "name":"Marca",
         "value_id":"86416",
         "value_name":"Eiffel",
         "attribute_group_id":"MAIN",
         "attribute_group_name":"Atributos Principales"
      }
   ],
   "warnings":[  

   ],
   "listing_source":"",
   "variations":[  
      {  
         "id":14979332589,
         "attribute_combinations":[  
            {  
               "id":"COLOR",
               "name":"Color",
               "value_id":"52049",
               "value_name":"Negro"
            }
         ],
         "price":100,
         "available_quantity":4,
         "sold_quantity":0,
         "picture_ids":[  
            "553111-MLA20482692355_112015"
         ],
         "seller_custom_field":null,
         "catalog_product_id":null,
         "attributes":[  
            {  
               "id":"EAN",
               "name":"EAN",
               "value_id":null,
               "value_name":"4006381333931"
            }
         ]
      },
      {  
         "id":14979332592,
         "attribute_combinations":[  
            {  
               "id":"COLOR",
               "name":"Color",
               "value_id":"52005",
               "value_name":"Marrón"
            }
         ],
         "price":100,
         "available_quantity":4,
         "sold_quantity":0,
         "picture_ids":[  
            "553111-MLA20482692355_112015"
         ],
         "seller_custom_field":null,
         "catalog_product_id":null,
         "attributes":[  
            {  
               "id":"EAN",
               "name":"EAN",
               "value_id":null,
               "value_name":"9780471117094"
            }
         ]
      }
   ],
   "status":"active",
   "sub_status":[  

   ],
   "tags":[  
      "immediate_payment"
   ],
   "warranty":null,
   "catalog_product_id":null,
   "domain_id":null,
   "seller_custom_field":null,
   "parent_item_id":null,
   "differential_pricing":null,
   "deal_ids":[  

   ],
   "automatic_relist":false,
   "date_created":"2017-03-10T21:18:09.763Z",
   "last_updated":"2017-03-10T21:18:09.763Z"
}

Una vez publicado el ítem se verá de la siguiente forma en la VIP:

Notas:

  • Ten en cuenta que todas las variaciones con el mismo valor, para un atributo con el tag defines_picture, deberán compartir las mismas imágenes. Por ejemplo, si en la API de atributos el atributo Color posee el tag defines_picture, todos tus zapatos rojos deberán tener las mismas imágenes independientemente del talle.
  • Existen propiedades obligatorias a enviar en cada variación. Las mismas son: price, available_quantity, pictures y attribute_combinations.
  • La cantidad máxima de imágenes que se puede enviar por variación está definido por el campo max_pictures_per_item_var en la API de Categorias: https://api.mercadolibre.com/categories/MLA1577
  • Los attribute_combinations de todas las variaciones deben contener los mismos atributos, pero no deben repetirse combinaciones de valores. La única excepción es Color secundario en Ropa y accesorios. Para estas categorías, en attribute_combinations de diferentes variaciones podrás enviar opcionalmente Color secundario.
  • Si envías un atributo con el tag allow_variations en la propiedad attributes del ítem, reordenaremos la información, generando la variación con el atributo correspondiente.
  • Si envías un atributo con el tag variation_attribute en la propiedad attributes del ítems, reordenaremos la información, moviendo este atributo a la sección attributes dentro de cada variación.

Consultar variaciones

¡Muy bien, ya has publicado tu ítem con variaciones! Ahora te enseñaremos las dos maneras que existen de consultarlas.
Una es mirando la sección variations en la información del ítem:
Llamada:

curl -X GET https://api.mercadolibre.com/items/{ITEM_ID}

Ejemplo:

curl -X GET https://api.mercadolibre.com/items/MLA658778048?attributes=variations

Respuesta:

{
    "variations": [
        {
            "id": 15093610263,
            "attribute_combinations": [
                {
                    "id": "COLOR",
                    "name": "Color",
                    "value_id": "52000",
                    "value_name": "Naranja"
                }
            ],
            "price": 100,
            "available_quantity": 4,
            "sold_quantity": 0,
            "picture_ids": [
                "553111-MLA20482692355_112015"
            ],
            "seller_custom_field": null,
            "catalog_product_id": null
        }
    ]
}

O bien con la siguiente llamada donde directamente se filtrará la respuesta anterior para mostrar únicamente las variaciones:

Llamada:

curl -X GET https://api.mercadolibre.com/items/{ITEM_ID}/variations

Ejemplo:

curl -X GET https://api.mercadolibre.com/items/MLA658778048/variations

Respuesta:

[
  {
    "id": 15092589430,
    "attribute_combinations": [
      {
        "id": "COLOR",
        "name": "Color",
        "value_id": "52005",
        "value_name": "Marrón"
      }
    ],
    "price": 100,
    "available_quantity": 4,
    "sold_quantity": 0,
    "picture_ids": [
      "553111-MLA20482692355_112015"
    ],
    "seller_custom_field": null,
    "catalog_product_id": null
  },
  {
    "id": 15092589427,
    "attribute_combinations": [
      {
        "id": "COLOR",
        "name": "Color",
        "value_id": "52049",
        "value_name": "Negro"
      }
    ],
    "price": 100,
    "available_quantity": 4,
    "sold_quantity": 0,
    "picture_ids": [
      "553111-MLA20482692355_112015"
    ],
    "seller_custom_field": null,
    "catalog_product_id": null
  }
]

Una vez que tengas los Ids de cada variación, una forma de consultar una en particular es agregando el variation_id al final de la llamada anterior tal como se muestra a continuación.
Llamada:

curl -X GET https://api.mercadolibre.com/items/{Item_id}/variations/{Variation_id}

Ejemplo:

curl -X GET https://api.mercadolibre.com/items/MLA658778048/variations/15092589430

Respuesta:

{
  "id": 15092589430,
  "attribute_combinations": [
    {
      "id": "COLOR",
      "name": "Color",
      "value_id": "52028",
      "value_name": "Celeste Oscuro"
    }
  ],
  "price": 100,
  "available_quantity": 4,
  "sold_quantity": 0,
  "picture_ids": [
    "553111-MLA20482692355_112015",
    "629425-MLA25446587248_032017"
  ],
  "seller_custom_field": null,
  "catalog_product_id": null,
  "attributes": [
    {
      "id": "EAN",
      "name": "EAN",
      "value_id": null,
      "value_name": "7794940000796"
    },
    {
      "id": "UPC",
      "name": "UPC",
      "value_id": null,
      "value_name": "7792931000015"
    }
  ]
}

Aclaración:

  • Para ver la propiedad attributes dentro de cada variación, debes agregar el parámetro include_attributes=all a la URL de consulta.

Ejemplo:

https://api.mercadolibre.com/items/MLA640992661?include_attributes=all

Agregar nuevas variaciones

Si entró en stock una nueva variante de tu ítem ya publicado, podrás agregar una nueva variación.
Ejemplo:

curl -H 'Content-Type: application/json' -X POST https://api.mercadolibre.com/items/MLA658778048/variations?access_token=$ACCESS_TOKEN -d '{
    "attribute_combinations": [
       {
          "id": "COLOR",
          "value_id": "52035"
        }
    ],
    "price": 100,
    "available_quantity": 10,
    "sold_quantity": 0,
    "picture_ids": [
      "553111-MLA20482692355_112015"
    ]
  }'

Respuesta

[
 {
   "id": 15092589430,
   "attribute_combinations": [
     {
       "id": "COLOR",
       "name": "Color",
       "value_id": "52028",
       "value_name": "Celeste Oscuro"
     }
   ],
   "price": 100,
   "available_quantity": 4,
   "sold_quantity": 0,
   "picture_ids": [
     "553111-MLA20482692355_112015",
     "629425-MLA25446587248_032017"
   ],
   "seller_custom_field": null,
   "catalog_product_id": null,
   "attributes": [
     {
       "id": "EAN",
       "name": "EAN",
       "value_id": null,
       "value_name": "7794940000796"
     },
     {
       "id": "UPC",
       "name": "UPC",
       "value_id": null,
       "value_name": "7792931000015"
     }
   ]
 },
 {
   "id": 15094538043,
   "attribute_combinations": [
     {
       "id": "COLOR",
       "name": "Color",
       "value_id": "52035",
       "value_name": "Violeta"
     }
   ],
   "price": 100,
   "available_quantity": 10,
   "sold_quantity": 0,
   "picture_ids": [
     "553111-MLA20482692355_112015"
   ],
   "seller_custom_field": null,
   "catalog_product_id": null,
   "attributes": []
 }
]

¡Bien hecho! Si verificas el ítem verás publicada la nueva variante.
Otra forma de agregar una variación es hacer un PUT al ítem, listando en la propiedad variations los Ids de las variaciones ya existentes, así como la variación a crear.

Ejemplo

curl -H 'Content-Type: application/json' -X PUT https://api.mercadolibre.com/items/MLA658778048?access_token=$ACCESS_TOKEN  -d '{
"variations": [
    {
      "id": 15092589430    
    },
    {
      "id": "15092589427",
    },
    {
      "attribute_combinations": [
        {
          "id": "COLOR",
          "value_id": "52000"
        }
      ],
      "price": 100,
      "available_quantity": 4,
      "picture_ids": [
        "553111-MLA20482692355_112015"
      ]
    }
  ],
}'  

Modificar variaciones

Ahora que ya aprendiste cómo publicar y consultar ítems con variaciones es posible que en algún momento debas realizar cambios a fin de actualizar stock, precios, agregar variantes de tu ítem o modificar el valor de algún atributo publicado.

Agregar o modificar los atributos por los que varía el ítem

Es posible que en algún caso desees agregar un nuevo atributo a tus variaciones.
Siguiendo con ejemplo de Ventiladores, anteriormente te hemos mostrado cómo publicar un Ventilador que varíe por Color. Ahora imagina que además de variar por Color quieres que varíe por Voltaje, para eso debes hacer un PUT, como el del ejemplo a continuación, enviando todas las variaciones y sumando el atributo Voltaje en el campo attribute_combinations de cada variación.

Ejemplo

curl -H 'Content-Type: application/json' -X PUT https://api.mercadolibre.com/items/MLA658778048?access_token=$ACCESS_TOKEN  -d '{
"variations": [
    {
      "id": 15092589430,
      "attribute_combinations": [
        {
          "id": "COLOR",
          "value_id": "52005"
        },
        {
          "id": "VOLTAGE",
          "value_id": "198812"
        }
      ]
    },
    {
      "id": 15093506680,
      "attribute_combinations": [
        {
          "id": "COLOR",
          "value_id": "52035"
        },
        {
          "id": "VOLTAGE",
          "value_id": "198813"
        }
      ]
    }
  ]
}' 

También puede darse el caso que quieras modificar un atributo, por el que varía tu ítem.
Partiendo del ejemplo de Ventiladores, supongamos que tu Ventilador no es Azul, sino Celeste Oscuro, para hacer este cambio deberás hacer un PUT, como el del ejemplo a continuación, enviando la variación que corresponde al color Azul y modificando el value_name por Celeste Oscuro.

Ejemplo

curl -H 'Content-Type: application/json' -X PUT https://api.mercadolibre.com/items/MLA658778048/variations/15092589430?access_token=$ACCESS_TOKEN  -d '{
      "attribute_combinations": [
        {
          "id": "COLOR",
          "value_id": "52028",
          "value_name": "Celeste Oscuro"
        }
      ]
    }

Respuesta

[
 {
   "id": 15092589430,
   "attribute_combinations": [
     {
       "id": "COLOR",
       "name": "Color",
       "value_id": "52028",
       "value_name": "Celeste Oscuro"
     }
   ],
   "price": 100,
   "available_quantity": 4,
   "sold_quantity": 0,
   "picture_ids": [
     "553111-MLA20482692355_112015",
     "629425-MLA25446587248_032017"
   ],
   "seller_custom_field": null,
   "catalog_product_id": null,
   "attributes": [
     {
       "id": "EAN",
       "name": "EAN",
       "value_id": null,
       "value_name": "7794940000796"
     },
     {
       "id": "UPC",
       "name": "UPC",
       "value_id": null,
       "value_name": "7792931000015"
     }
   ]
 }
]

Agregar o modificar los atributos propios de cada variación

Por otro lado, es posible que en algún momento quieras agregar más atributos propios de una o varias variaciones en particular.
Siguiendo con el ejemplo de Ventiladores, hasta el momento cada variación posee la información del código de barras (EAN). Supongamos que ahora contamos con la información de otro código de barras, el UPC, para algunas variaciones y queremos sumarlo.
Para eso tenemos dos opciones, hacer un PUT, como el del ejemplo a continuación, enviando todas las variaciones pero sumando el campo attributes, en las variaciones que queremos sumar el atributo UPC.

Ejemplo

curl -H 'Content-Type: application/json' -X PUT https://api.mercadolibre.com/items/MLA658778048?access_token=$ACCESS_TOKEN  -d '{
"variations": [
    {
      "id": "15092589430",
       "attributes": [{ "id": "EAN", "name": "EAN", "value_name": "7794940000796"}, 
{ "id": "UPC", "name": "UPC", "value_name": "7792931000015"}]
      }
  ],
}' 

Respuesta

{
    "id": "MLA658778048",
    "site_id": "MLA",
    "title": "Item De Testeo",
    "subtitle": null,
    "seller_id": 247212006,
    "category_id": "MLA378496",
    "official_store_id": null,
    "price": 100,
    "base_price": 100,
    "original_price": null,
    "currency_id": "ARS",
    "initial_quantity": 4,
    "available_quantity": 4,
    "sold_quantity": 0,
    "buying_mode": "buy_it_now",
    "listing_type_id": "gold_special",
    "start_time": "2017-03-20T15:44:00.000Z",
    "stop_time": "2037-03-15T15:44:00.000Z",
    "end_time": "2037-03-15T15:44:00.000Z",
    "expiration_time": "2017-06-17T14:50:42.000Z",
    "condition": "not_specified",
    "permalink": "http://articulo.mercadolibre.com.ar/MLA-658778048-item-de-testeo-_JM",
    "thumbnail": "http://mla-s2-p.mlstatic.com/553111-MLA20482692355_112015-I.jpg",
    "secure_thumbnail": "https://mla-s2-p.mlstatic.com/553111-MLA20482692355_112015-I.jpg",
    "pictures": [
        {
            "id": "553111-MLA20482692355_112015",
            "url": "http://mla-s2-p.mlstatic.com/553111-MLA20482692355_112015-O.jpg",
            "secure_url": "https://mla-s2-p.mlstatic.com/553111-MLA20482692355_112015-O.jpg",
            "size": "320x320",
            "max_size": "320x320",
            "quality": ""
        },
        {
            "id": "629425-MLA25446587248_032017",
            "url": "http://mla-s2-p.mlstatic.com/629425-MLA25446587248_032017-O.jpg",
            "secure_url": "https://mla-s2-p.mlstatic.com/629425-MLA25446587248_032017-O.jpg",
            "size": "384x500",
            "max_size": "922x1200",
            "quality": ""
        }
    ],
    "video_id": null,
    "descriptions": [],
    "accepts_mercadopago": true,
    "non_mercado_pago_payment_methods": [],
    "shipping": {
        "mode": "not_specified",
        "local_pick_up": false,
        "free_shipping": false,
        "methods": null,
        "dimensions": null,
        "tags": [],
        "logistic_type": "not_specified"
    },
    "international_delivery_mode": "none",
    "seller_address": {
        "id": 265953311,
        "comment": "",
        "address_line": "Test Address 123",
        "zip_code": "1414",
        "city": {
            "id": "",
            "name": "Palermo"
        },
        "state": {
            "id": "AR-C",
            "name": "Capital Federal"
        },
        "country": {
            "id": "AR",
            "name": "Argentina"
        },
        "latitude": "",
        "longitude": "",
        "search_location": {
            "neighborhood": {
                "id": "TUxBQlBBTDI1MTVa",
                "name": "Palermo"
            },
            "city": {
                "id": "TUxBQ0NBUGZlZG1sYQ",
                "name": "Capital Federal"
            },
            "state": {
                "id": "TUxBUENBUGw3M2E1",
                "name": "Capital Federal"
            }
        }
    },
    "seller_contact": null,
    "location": {},
    "geolocation": {
        "latitude": "",
        "longitude": ""
    },
    "coverage_areas": [],
    "attributes": [
        {
            "id": "FAN_TYPE",
            "name": "Tipo de Ventilador",
            "value_id": "291719",
            "value_name": "De Techo",
            "attribute_group_id": "DFLT",
            "attribute_group_name": "Otros"
        },
        {
            "id": "HEIGHT_ADJUSTABLE",
            "name": "Altura Regulable",
            "value_id": "242084",
            "value_name": "No",
            "attribute_group_id": "DFLT",
            "attribute_group_name": "Otros"
        },
        {
            "id": "LATERAL_OSCILLATION",
            "name": "Oscilación Lateral",
            "value_id": "242084",
            "value_name": "No",
            "attribute_group_id": "DFLT",
            "attribute_group_name": "Otros"
        },
        {
            "id": "REMOTE_CONTROL",
            "name": "Control Remoto",
            "value_id": "242084",
            "value_name": "No",
            "attribute_group_id": "DFLT",
            "attribute_group_name": "Otros"
        },
        {
            "id": "WITH_LIGHT",
            "name": "Con Luz",
            "value_id": "242084",
            "value_name": "No",
            "attribute_group_id": "DFLT",
            "attribute_group_name": "Otros"
        },
        {
            "id": "BRAND",
            "name": "Marca",
            "value_id": "86416",
            "value_name": "Eiffel",
            "attribute_group_id": "MAIN",
            "attribute_group_name": "Atributos Principales"
        }
    ],
    "warnings": [],
    "listing_source": "",
    "variations": [
        {
            "id": 15092589430,
            "attribute_combinations": [
                {
                    "id": "COLOR",
                    "name": "Color",
                    "value_id": "52005",
                    "value_name": "Marrón"
                },
                {
                    "id": "VOLTAGE",
                    "name": "Voltaje",
                    "value_id": "198812",
                    "value_name": "110V/220V (Bivolt)"
                }
            ],
            "price": 100,
            "available_quantity": 4,
            "sold_quantity": 0,
            "picture_ids": [
                "553111-MLA20482692355_112015",
                "629425-MLA25446587248_032017"
            ],
            "seller_custom_field": null,
            "catalog_product_id": null,
            "attributes": [
                {
                    "id": "EAN",
                    "name": "EAN",
                    "value_id": null,
                    "value_name": "7794940000796"
                },
                {
                    "id": "UPC",
                    "name": "UPC",
                    "value_id": null,
                    "value_name": "7792931000015"
                }
            ]
        }
    ],
    "status": "active",
    "sub_status": [],
    "tags": [
        "poor_quality_picture",
        "immediate_payment"
    ],
    "warranty": null,
    "catalog_product_id": null,
    "domain_id": "MLA-FANS",
    "seller_custom_field": null,
    "parent_item_id": null,
    "differential_pricing": null,
    "deal_ids": [],
    "automatic_relist": false,
    "date_created": "2017-03-20T15:44:01.000Z",
    "last_updated": "2017-03-29T14:51:54.627Z"
}

O bien puedes hacer un PUT, como el del ejemplo a continuación, para cada variación por separado.
Ejemplo

curl -H 'Content-Type: application/json' -X PUT https://api.mercadolibre.com/items/MLA658778048/variations/15092589430?access_token=$ACCESS_TOKEN  -d '{
    "attributes": [{ "id": "EAN", "name": "EAN", "value_name": "7794940000796"},
{ "id": "UPC", "name": "UPC", "value_name": "7793704000225"}]
  }'

Respuesta

[
    {
        "id": 15092589430,
        "attribute_combinations": [
            {
                "id": "COLOR",
                "name": "Color",
                "value_id": "52005",
                "value_name": "Marrón"
            },
            {
                "id": "VOLTAGE",
                "name": "Voltaje",
                "value_id": "198812",
                "value_name": "110V/220V (Bivolt)"
            }
        ],
        "price": 100,
        "available_quantity": 4,
        "sold_quantity": 0,
        "picture_ids": [
            "553111-MLA20482692355_112015",
            "629425-MLA25446587248_032017"
        ],
        "seller_custom_field": null,
        "catalog_product_id": null,
        "attributes": [
            {
                "id": "EAN",
                "name": "EAN",
                "value_id": null,
                "value_name": "7794940000796"
            },
            {
                "id": "UPC",
                "name": "UPC",
                "value_id": null,
                "value_name": "7793704000225"
            }
        ]
    }
]

También puede darse el caso que quieras modificar el valor de un atributo propio de cada variación. Supongamos que queremos modificar el valor del atributo EAN de una variación en particular. Para eso debes hacer un PUT, como el del ejemplo a continuación, especificando la variación que quieres modificar y en el campo attributes deberás enviar todos los atributos y para el atributo EAN el campo value_name modificado.

Ejemplo

curl -H 'Content-Type: application/json' -X PUT https://api.mercadolibre.com/items/MLA658778048?access_token=$ACCESS_TOKEN  -d '{
"variations": [
    {
       "id": "15092589430",
       "attributes": [{ "id": "EAN", "name": "EAN", "value_name": "7792931000015"},
{ "id": "UPC", "name": "UPC", "value_name": "7792931000015"}]
    }
  ],
}' 

Respuesta

{
    "id": "MLA658778048",
    "site_id": "MLA",
    "title": "Item De Testeo",
    "subtitle": null,
    "seller_id": 247212006,
    "category_id": "MLA378496",
    "official_store_id": null,
    "price": 100,
    "base_price": 100,
    "original_price": null,
    "currency_id": "ARS",
    "initial_quantity": 4,
    "available_quantity": 4,
    "sold_quantity": 0,
    "buying_mode": "buy_it_now",
    "listing_type_id": "gold_special",
    "start_time": "2017-03-20T15:44:00.000Z",
    "stop_time": "2037-03-15T15:44:00.000Z",
    "end_time": "2037-03-15T15:44:00.000Z",
    "expiration_time": "2017-06-17T14:55:54.306Z",
    "condition": "not_specified",
    "permalink": "http://articulo.mercadolibre.com.ar/MLA-658778048-item-de-testeo-_JM",
    "thumbnail": "http://mla-s2-p.mlstatic.com/553111-MLA20482692355_112015-I.jpg",
    "secure_thumbnail": "https://mla-s2-p.mlstatic.com/553111-MLA20482692355_112015-I.jpg",
    "pictures": [
        {
            "id": "553111-MLA20482692355_112015",
            "url": "http://mla-s2-p.mlstatic.com/553111-MLA20482692355_112015-O.jpg",
            "secure_url": "https://mla-s2-p.mlstatic.com/553111-MLA20482692355_112015-O.jpg",
            "size": "320x320",
            "max_size": "320x320",
            "quality": ""
        },
        {
            "id": "629425-MLA25446587248_032017",
            "url": "http://mla-s2-p.mlstatic.com/629425-MLA25446587248_032017-O.jpg",
            "secure_url": "https://mla-s2-p.mlstatic.com/629425-MLA25446587248_032017-O.jpg",
            "size": "384x500",
            "max_size": "922x1200",
            "quality": ""
        }
    ],
    "video_id": null,
    "descriptions": [],
    "accepts_mercadopago": true,
    "non_mercado_pago_payment_methods": [],
    "shipping": {
        "mode": "not_specified",
        "local_pick_up": false,
        "free_shipping": false,
        "methods": null,
        "dimensions": null,
        "tags": [],
        "logistic_type": "not_specified"
    },
    "international_delivery_mode": "none",
    "seller_address": {
        "id": 265953311,
        "comment": "",
        "address_line": "Test Address 123",
        "zip_code": "1414",
        "city": {
            "id": "",
            "name": "Palermo"
        },
        "state": {
            "id": "AR-C",
            "name": "Capital Federal"
        },
        "country": {
            "id": "AR",
            "name": "Argentina"
        },
        "latitude": "",
        "longitude": "",
        "search_location": {
            "neighborhood": {
                "id": "TUxBQlBBTDI1MTVa",
                "name": "Palermo"
            },
            "city": {
                "id": "TUxBQ0NBUGZlZG1sYQ",
                "name": "Capital Federal"
            },
            "state": {
                "id": "TUxBUENBUGw3M2E1",
                "name": "Capital Federal"
            }
        }
    },
    "seller_contact": null,
    "location": {},
    "geolocation": {
        "latitude": "",
        "longitude": ""
    },
    "coverage_areas": [],
    "attributes": [
        {
            "id": "FAN_TYPE",
            "name": "Tipo de Ventilador",
            "value_id": "291719",
            "value_name": "De Techo",
            "attribute_group_id": "DFLT",
            "attribute_group_name": "Otros"
        },
        {
            "id": "HEIGHT_ADJUSTABLE",
            "name": "Altura Regulable",
            "value_id": "242084",
            "value_name": "No",
            "attribute_group_id": "DFLT",
            "attribute_group_name": "Otros"
        },
        {
            "id": "LATERAL_OSCILLATION",
            "name": "Oscilación Lateral",
            "value_id": "242084",
            "value_name": "No",
            "attribute_group_id": "DFLT",
            "attribute_group_name": "Otros"
        },
        {
            "id": "REMOTE_CONTROL",
            "name": "Control Remoto",
            "value_id": "242084",
            "value_name": "No",
            "attribute_group_id": "DFLT",
            "attribute_group_name": "Otros"
        },
        {
            "id": "WITH_LIGHT",
            "name": "Con Luz",
            "value_id": "242084",
            "value_name": "No",
            "attribute_group_id": "DFLT",
            "attribute_group_name": "Otros"
        },
        {
            "id": "BRAND",
            "name": "Marca",
            "value_id": "86416",
            "value_name": "Eiffel",
            "attribute_group_id": "MAIN",
            "attribute_group_name": "Atributos Principales"
        }
    ],
    "warnings": [],
    "listing_source": "",
    "variations": [
        {
            "id": 15092589430,
            "attribute_combinations": [
                {
                    "id": "COLOR",
                    "name": "Color",
                    "value_id": "52005",
                    "value_name": "Marrón"
                },
                {
                    "id": "VOLTAGE",
                    "name": "Voltaje",
                    "value_id": "198812",
                    "value_name": "110V/220V (Bivolt)"
                }
            ],
            "price": 100,
            "available_quantity": 4,
            "sold_quantity": 0,
            "picture_ids": [
                "553111-MLA20482692355_112015",
                "629425-MLA25446587248_032017"
            ],
            "seller_custom_field": null,
            "catalog_product_id": null,
            "attributes": [
                {
                    "id": "EAN",
                    "name": "EAN",
                    "value_id": null,
                    "value_name": "7792931000015"
                },
                {
                    "id": "UPC",
                    "name": "UPC",
                    "value_id": null,
                    "value_name": "7792931000015"
                }
            ]
        }
    ],
    "status": "active",
    "sub_status": [],
    "tags": [
        "poor_quality_picture",
        "immediate_payment"
    ],
    "warranty": null,
    "catalog_product_id": null,
    "domain_id": "MLA-FANS",
    "seller_custom_field": null,
    "parent_item_id": null,
    "differential_pricing": null,
    "deal_ids": [],
    "automatic_relist": false,
    "date_created": "2017-03-20T15:44:01.000Z",
    "last_updated": "2017-03-29T14:55:54.337Z"
}

Modificar las imágenes

Si quieres agregar una imagen a una variación existente deberás enviar la URL de esta en la lista de pictures general del ítem y en el de pictures de la variación. Al mismo tiempo, como la actualización se hará sobre el recurso de ítems, es importante que envíes los IDs de cada variación existente en el Json. De lo contrario la API interpretará que no deseas conservarlas en la publicación.

Ejemplo

curl -H 'Content-Type: application/json' -X PUT https://api.mercadolibre.com/items/MLA658778048?access_token=$ACCESS_TOKEN  -d '{
"variations": [
    {
      "id": 15092589430,
      "picture_ids": [
        "629425-MLA25446587248_032017"
      ]
    }
  ]
}' 

Respuesta

{
    "id": "MLA658778048",
    "site_id": "MLA",
    "title": "Item De Testeo",
    "subtitle": null,
    "seller_id": 247212006,
    "category_id": "MLA378496",
    "official_store_id": null,
    "price": 100,
    "base_price": 100,
    "original_price": null,
    "currency_id": "ARS",
    "initial_quantity": 4,
    "available_quantity": 4,
    "sold_quantity": 0,
    "buying_mode": "buy_it_now",
    "listing_type_id": "gold_special",
    "start_time": "2017-03-20T15:44:00.000Z",
    "stop_time": "2037-03-15T15:44:00.000Z",
    "end_time": "2037-03-15T15:44:00.000Z",
    "expiration_time": "2017-06-17T14:57:57.371Z",
    "condition": "not_specified",
    "permalink": "http://articulo.mercadolibre.com.ar/MLA-658778048-item-de-testeo-_JM",
    "thumbnail": "http://mla-s2-p.mlstatic.com/553111-MLA20482692355_112015-I.jpg",
    "secure_thumbnail": "https://mla-s2-p.mlstatic.com/553111-MLA20482692355_112015-I.jpg",
    "pictures": [
        {
            "id": "553111-MLA20482692355_112015",
            "url": "http://mla-s2-p.mlstatic.com/553111-MLA20482692355_112015-O.jpg",
            "secure_url": "https://mla-s2-p.mlstatic.com/553111-MLA20482692355_112015-O.jpg",
            "size": "320x320",
            "max_size": "320x320",
            "quality": ""
        },
        {
            "id": "629425-MLA25446587248_032017",
            "url": "http://mla-s2-p.mlstatic.com/629425-MLA25446587248_032017-O.jpg",
            "secure_url": "https://mla-s2-p.mlstatic.com/629425-MLA25446587248_032017-O.jpg",
            "size": "384x500",
            "max_size": "922x1200",
            "quality": ""
        }
    ],
    "video_id": null,
    "descriptions": [],
    "accepts_mercadopago": true,
    "non_mercado_pago_payment_methods": [],
    "shipping": {
        "mode": "not_specified",
        "local_pick_up": false,
        "free_shipping": false,
        "methods": null,
        "dimensions": null,
        "tags": [],
        "logistic_type": "not_specified"
    },
    "international_delivery_mode": "none",
    "seller_address": {
        "id": 265953311,
        "comment": "",
        "address_line": "Test Address 123",
        "zip_code": "1414",
        "city": {
            "id": "",
            "name": "Palermo"
        },
        "state": {
            "id": "AR-C",
            "name": "Capital Federal"
        },
        "country": {
            "id": "AR",
            "name": "Argentina"
        },
        "latitude": "",
        "longitude": "",
        "search_location": {
            "neighborhood": {
                "id": "TUxBQlBBTDI1MTVa",
                "name": "Palermo"
            },
            "city": {
                "id": "TUxBQ0NBUGZlZG1sYQ",
                "name": "Capital Federal"
            },
            "state": {
                "id": "TUxBUENBUGw3M2E1",
                "name": "Capital Federal"
            }
        }
    },
    "seller_contact": null,
    "location": {},
    "geolocation": {
        "latitude": "",
        "longitude": ""
    },
    "coverage_areas": [],
    "attributes": [
        {
            "id": "FAN_TYPE",
            "name": "Tipo de Ventilador",
            "value_id": "291719",
            "value_name": "De Techo",
            "attribute_group_id": "DFLT",
            "attribute_group_name": "Otros"
        },
        {
            "id": "HEIGHT_ADJUSTABLE",
            "name": "Altura Regulable",
            "value_id": "242084",
            "value_name": "No",
            "attribute_group_id": "DFLT",
            "attribute_group_name": "Otros"
        },
        {
            "id": "LATERAL_OSCILLATION",
            "name": "Oscilación Lateral",
            "value_id": "242084",
            "value_name": "No",
            "attribute_group_id": "DFLT",
            "attribute_group_name": "Otros"
        },
        {
            "id": "REMOTE_CONTROL",
            "name": "Control Remoto",
            "value_id": "242084",
            "value_name": "No",
            "attribute_group_id": "DFLT",
            "attribute_group_name": "Otros"
        },
        {
            "id": "WITH_LIGHT",
            "name": "Con Luz",
            "value_id": "242084",
            "value_name": "No",
            "attribute_group_id": "DFLT",
            "attribute_group_name": "Otros"
        },
        {
            "id": "BRAND",
            "name": "Marca",
            "value_id": "86416",
            "value_name": "Eiffel",
            "attribute_group_id": "MAIN",
            "attribute_group_name": "Atributos Principales"
        }
    ],
    "warnings": [],
    "listing_source": "",
    "variations": [
        {
            "id": 15092589430,
            "attribute_combinations": [
                {
                    "id": "COLOR",
                    "name": "Color",
                    "value_id": "52005",
                    "value_name": "Marrón"
                },
                {
                    "id": "VOLTAGE",
                    "name": "Voltaje",
                    "value_id": "198812",
                    "value_name": "110V/220V (Bivolt)"
                }
            ],
            "price": 100,
            "available_quantity": 4,
            "sold_quantity": 0,
            "picture_ids": [
                "629425-MLA25446587248_032017"
            ],
            "seller_custom_field": null,
            "catalog_product_id": null,
            "attributes": [
                {
                    "id": "EAN",
                    "name": "EAN",
                    "value_id": null,
                    "value_name": "7792931000015"
                },
                {
                    "id": "UPC",
                    "name": "UPC",
                    "value_id": null,
                    "value_name": "7792931000015"
                }
            ]
        }
    ],
    "status": "active",
    "sub_status": [],
    "tags": [
        "poor_quality_picture",
        "immediate_payment"
    ],
    "warranty": null,
    "catalog_product_id": null,
    "domain_id": "MLA-FANS",
    "seller_custom_field": null,
    "parent_item_id": null,
    "differential_pricing": null,
    "deal_ids": [],
    "automatic_relist": false,
    "date_created": "2017-03-20T15:44:01.000Z",
    "last_updated": "2017-03-29T14:57:57.397Z"
}

Nota: En caso de no querer conservar las imágenes anteriores, no las envíes en el Json y serán desvinculadas automáticamente.

Modificar el precio

Si deseas cambiar el precio de un ítem con variaciones deberás hacerlo por cada una.
Para esto basta con hacer un PUT a la API de ítems, incluyendo la propiedad variations, listando con su Id, y el nuevo precio.

Ejemplo

curl -H 'Content-Type: application/json' -X PUT https://api.mercadolibre.com/items/MLA658778048?access_token=$ACCESS_TOKEN  -d '{
"variations": [
    {
      "id": 15092589430,
      "price": 300
  ],
}'

Respuesta

{
    "id": "MLA658778048",
    "site_id": "MLA",
    "title": "Item De Testeo",
    "subtitle": null,
    "seller_id": 247212006,
    "category_id": "MLA378496",
    "official_store_id": null,
    "price": 300,
    "base_price": 300,
    "original_price": null,
    "currency_id": "ARS",
    "initial_quantity": 8,
    "available_quantity": 8,
    "sold_quantity": 0,
    "buying_mode": "buy_it_now",
    "listing_type_id": "gold_special",
    "start_time": "2017-03-20T15:44:00.000Z",
    "stop_time": "2037-03-15T15:44:00.000Z",
    "end_time": "2037-03-15T15:44:00.000Z",
    "expiration_time": "2017-06-17T15:03:02.581Z",
    "condition": "not_specified",
    "permalink": "http://articulo.mercadolibre.com.ar/MLA-658778048-item-de-testeo-_JM",
    "thumbnail": "http://mla-s2-p.mlstatic.com/553111-MLA20482692355_112015-I.jpg",
    "secure_thumbnail": "https://mla-s2-p.mlstatic.com/553111-MLA20482692355_112015-I.jpg",
    "pictures": [
        {
            "id": "553111-MLA20482692355_112015",
            "url": "http://mla-s2-p.mlstatic.com/553111-MLA20482692355_112015-O.jpg",
            "secure_url": "https://mla-s2-p.mlstatic.com/553111-MLA20482692355_112015-O.jpg",
            "size": "320x320",
            "max_size": "320x320",
            "quality": ""
        },
        {
            "id": "629425-MLA25446587248_032017",
            "url": "http://mla-s2-p.mlstatic.com/629425-MLA25446587248_032017-O.jpg",
            "secure_url": "https://mla-s2-p.mlstatic.com/629425-MLA25446587248_032017-O.jpg",
            "size": "384x500",
            "max_size": "922x1200",
            "quality": ""
        }
    ],
    "video_id": null,
    "descriptions": [],
    "accepts_mercadopago": true,
    "non_mercado_pago_payment_methods": [],
    "shipping": {
        "mode": "not_specified",
        "local_pick_up": false,
        "free_shipping": false,
        "methods": null,
        "dimensions": null,
        "tags": [],
        "logistic_type": "not_specified"
    },
    "international_delivery_mode": "none",
    "seller_address": {
        "id": 265953311,
        "comment": "",
        "address_line": "Test Address 123",
        "zip_code": "1414",
        "city": {
            "id": "",
            "name": "Palermo"
        },
        "state": {
            "id": "AR-C",
            "name": "Capital Federal"
        },
        "country": {
            "id": "AR",
            "name": "Argentina"
        },
        "latitude": "",
        "longitude": "",
        "search_location": {
            "neighborhood": {
                "id": "TUxBQlBBTDI1MTVa",
                "name": "Palermo"
            },
            "city": {
                "id": "TUxBQ0NBUGZlZG1sYQ",
                "name": "Capital Federal"
            },
            "state": {
                "id": "TUxBUENBUGw3M2E1",
                "name": "Capital Federal"
            }
        }
    },
    "seller_contact": null,
    "location": {},
    "geolocation": {
        "latitude": "",
        "longitude": ""
    },
    "coverage_areas": [],
    "attributes": [
        {
            "id": "FAN_TYPE",
            "name": "Tipo de Ventilador",
            "value_id": "291719",
            "value_name": "De Techo",
            "attribute_group_id": "DFLT",
            "attribute_group_name": "Otros"
        },
        {
            "id": "HEIGHT_ADJUSTABLE",
            "name": "Altura Regulable",
            "value_id": "242084",
            "value_name": "No",
            "attribute_group_id": "DFLT",
            "attribute_group_name": "Otros"
        },
        {
            "id": "LATERAL_OSCILLATION",
            "name": "Oscilación Lateral",
            "value_id": "242084",
            "value_name": "No",
            "attribute_group_id": "DFLT",
            "attribute_group_name": "Otros"
        },
        {
            "id": "REMOTE_CONTROL",
            "name": "Control Remoto",
            "value_id": "242084",
            "value_name": "No",
            "attribute_group_id": "DFLT",
            "attribute_group_name": "Otros"
        },
        {
            "id": "WITH_LIGHT",
            "name": "Con Luz",
            "value_id": "242084",
            "value_name": "No",
            "attribute_group_id": "DFLT",
            "attribute_group_name": "Otros"
        },
        {
            "id": "BRAND",
            "name": "Marca",
            "value_id": "86416",
            "value_name": "Eiffel",
            "attribute_group_id": "MAIN",
            "attribute_group_name": "Atributos Principales"
        }
    ],
    "warnings": [],
    "listing_source": "",
    "variations": [
        {
            "id": 15092589430,
            "attribute_combinations": [
                {
                    "id": "COLOR",
                    "name": "Color",
                    "value_id": "52005",
                    "value_name": "Marrón"
                },
                {
                    "id": "VOLTAGE",
                    "name": "Voltaje",
                    "value_id": "198812",
                    "value_name": "110V/220V (Bivolt)"
                }
            ],
            "price": 300,
            "available_quantity": 8,
            "sold_quantity": 0,
            "picture_ids": [
                "629425-MLA25446587248_032017"
            ],
            "seller_custom_field": null,
            "catalog_product_id": null,
            "attributes": [
                {
                    "id": "EAN",
                    "name": "EAN",
                    "value_id": null,
                    "value_name": "7792931000015"
                },
                {
                    "id": "UPC",
                    "name": "UPC",
                    "value_id": null,
                    "value_name": "7792931000015"
                }
            ]
        }
    ],
    "status": "active",
    "sub_status": [],
    "tags": [
        "poor_quality_picture",
        "immediate_payment"
    ],
    "warranty": null,
    "catalog_product_id": null,
    "domain_id": "MLA-FANS",
    "seller_custom_field": null,
    "parent_item_id": null,
    "differential_pricing": null,
    "deal_ids": [],
    "automatic_relist": false,
    "date_created": "2017-03-20T15:44:01.000Z",
    "last_updated": "2017-03-29T15:03:02.744Z"
}

Modificar el stock

Análogamente a la modificación de precio, solo basta con hacer un PUT a la API de ítems, incluyendo la propiedad variations, listando cada una de ellas con su id, y el nuevo available_quantity de aquellas variaciones que desees modificar stock.
Ejemplo

curl -H 'Content-Type: application/json' -X PUT https://api.mercadolibre.com/items/MLA658778048?access_token=$ACCESS_TOKEN  -d '{
"variations": [
    {
      "id": 15092589430,
      "available_quantity": 10
    }
  ],
}'

Respuesta

{
    "id": "MLA658778048",
    "site_id": "MLA",
    "title": "Item De Testeo",
    "subtitle": null,
    "seller_id": 247212006,
    "category_id": "MLA378496",
    "official_store_id": null,
    "price": 100,
    "base_price": 100,
    "original_price": null,
    "currency_id": "ARS",
    "initial_quantity": 10,
    "available_quantity": 10,
    "sold_quantity": 0,
    "buying_mode": "buy_it_now",
    "listing_type_id": "gold_special",
    "start_time": "2017-03-20T15:44:00.000Z",
    "stop_time": "2037-03-15T15:44:00.000Z",
    "end_time": "2037-03-15T15:44:00.000Z",
    "expiration_time": "2017-06-17T15:00:27.592Z",
    "condition": "not_specified",
    "permalink": "http://articulo.mercadolibre.com.ar/MLA-658778048-item-de-testeo-_JM",
    "thumbnail": "http://mla-s2-p.mlstatic.com/553111-MLA20482692355_112015-I.jpg",
    "secure_thumbnail": "https://mla-s2-p.mlstatic.com/553111-MLA20482692355_112015-I.jpg",
    "pictures": [
        {
            "id": "553111-MLA20482692355_112015",
            "url": "http://mla-s2-p.mlstatic.com/553111-MLA20482692355_112015-O.jpg",
            "secure_url": "https://mla-s2-p.mlstatic.com/553111-MLA20482692355_112015-O.jpg",
            "size": "320x320",
            "max_size": "320x320",
            "quality": ""
        },
        {
            "id": "629425-MLA25446587248_032017",
            "url": "http://mla-s2-p.mlstatic.com/629425-MLA25446587248_032017-O.jpg",
            "secure_url": "https://mla-s2-p.mlstatic.com/629425-MLA25446587248_032017-O.jpg",
            "size": "384x500",
            "max_size": "922x1200",
            "quality": ""
        }
    ],
    "video_id": null,
    "descriptions": [],
    "accepts_mercadopago": true,
    "non_mercado_pago_payment_methods": [],
    "shipping": {
        "mode": "not_specified",
        "local_pick_up": false,
        "free_shipping": false,
        "methods": null,
        "dimensions": null,
        "tags": [],
        "logistic_type": "not_specified"
    },
    "international_delivery_mode": "none",
    "seller_address": {
        "id": 265953311,
        "comment": "",
        "address_line": "Test Address 123",
        "zip_code": "1414",
        "city": {
            "id": "",
            "name": "Palermo"
        },
        "state": {
            "id": "AR-C",
            "name": "Capital Federal"
        },
        "country": {
            "id": "AR",
            "name": "Argentina"
        },
        "latitude": "",
        "longitude": "",
        "search_location": {
            "neighborhood": {
                "id": "TUxBQlBBTDI1MTVa",
                "name": "Palermo"
            },
            "city": {
                "id": "TUxBQ0NBUGZlZG1sYQ",
                "name": "Capital Federal"
            },
            "state": {
                "id": "TUxBUENBUGw3M2E1",
                "name": "Capital Federal"
            }
        }
    },
    "seller_contact": null,
    "location": {},
    "geolocation": {
        "latitude": "",
        "longitude": ""
    },
    "coverage_areas": [],
    "attributes": [
        {
            "id": "FAN_TYPE",
            "name": "Tipo de Ventilador",
            "value_id": "291719",
            "value_name": "De Techo",
            "attribute_group_id": "DFLT",
            "attribute_group_name": "Otros"
        },
        {
            "id": "HEIGHT_ADJUSTABLE",
            "name": "Altura Regulable",
            "value_id": "242084",
            "value_name": "No",
            "attribute_group_id": "DFLT",
            "attribute_group_name": "Otros"
        },
        {
            "id": "LATERAL_OSCILLATION",
            "name": "Oscilación Lateral",
            "value_id": "242084",
            "value_name": "No",
            "attribute_group_id": "DFLT",
            "attribute_group_name": "Otros"
        },
        {
            "id": "REMOTE_CONTROL",
            "name": "Control Remoto",
            "value_id": "242084",
            "value_name": "No",
            "attribute_group_id": "DFLT",
            "attribute_group_name": "Otros"
        },
        {
            "id": "WITH_LIGHT",
            "name": "Con Luz",
            "value_id": "242084",
            "value_name": "No",
            "attribute_group_id": "DFLT",
            "attribute_group_name": "Otros"
        },
        {
            "id": "BRAND",
            "name": "Marca",
            "value_id": "86416",
            "value_name": "Eiffel",
            "attribute_group_id": "MAIN",
            "attribute_group_name": "Atributos Principales"
        }
    ],
    "warnings": [],
    "listing_source": "",
    "variations": [
        {
            "id": 15092589430,
            "attribute_combinations": [
                {
                    "id": "COLOR",
                    "name": "Color",
                    "value_id": "52005",
                    "value_name": "Marrón"
                },
                {
                    "id": "VOLTAGE",
                    "name": "Voltaje",
                    "value_id": "198812",
                    "value_name": "110V/220V (Bivolt)"
                }
            ],
            "price": 100,
            "available_quantity": 10,
            "sold_quantity": 0,
            "picture_ids": [
                "629425-MLA25446587248_032017"
            ],
            "seller_custom_field": null,
            "catalog_product_id": null,
            "attributes": [
                {
                    "id": "EAN",
                    "name": "EAN",
                    "value_id": null,
                    "value_name": "7792931000015"
                },
                {
                    "id": "UPC",
                    "name": "UPC",
                    "value_id": null,
                    "value_name": "7792931000015"
                }
            ]
        }
    ],
    "status": "active",
    "sub_status": [],
    "tags": [
        "poor_quality_picture",
        "immediate_payment"
    ],
    "warranty": null,
    "catalog_product_id": null,
    "domain_id": "MLA-FANS",
    "seller_custom_field": null,
    "parent_item_id": null,
    "differential_pricing": null,
    "deal_ids": [],
    "automatic_relist": false,
    "date_created": "2017-03-20T15:44:01.000Z",
    "last_updated": "2017-03-29T15:00:27.650Z"
}

Republicar variaciones

Si tu publicación finalizó pero aún tienes stock en algunas de las variaciones, puedes volver a publicar enviando sólo las variaciones vigentes junto con la cantidad disponible y el precio de cada una de ellas.

Ejemplo

curl -H 'Content-Type: application/json' -X PUT https://api.mercadolibre.com/items/MLA658778048?access_token=$ACCESS_TOKEN  -d '{
"variations": [
    {
      "id": 15092589430,
      "price": 350,
      "available_quantity": 8
    }
  ]
}'

Respuesta

{
    "id": "MLA658778048",
    "site_id": "MLA",
    "title": "Item De Testeo",
    "subtitle": null,
    "seller_id": 247212006,
    "category_id": "MLA378496",
    "official_store_id": null,
    "price": 350,
    "base_price": 350,
    "original_price": null,
    "currency_id": "ARS",
    "initial_quantity": 8,
    "available_quantity": 8,
    "sold_quantity": 0,
    "buying_mode": "buy_it_now",
    "listing_type_id": "gold_special",
    "start_time": "2017-03-20T15:44:00.000Z",
    "stop_time": "2037-03-15T15:44:00.000Z",
    "end_time": "2037-03-15T15:44:00.000Z",
    "expiration_time": "2017-06-17T15:01:21.418Z",
    "condition": "not_specified",
    "permalink": "http://articulo.mercadolibre.com.ar/MLA-658778048-item-de-testeo-_JM",
    "thumbnail": "http://mla-s2-p.mlstatic.com/553111-MLA20482692355_112015-I.jpg",
    "secure_thumbnail": "https://mla-s2-p.mlstatic.com/553111-MLA20482692355_112015-I.jpg",
    "pictures": [
        {
            "id": "553111-MLA20482692355_112015",
            "url": "http://mla-s2-p.mlstatic.com/553111-MLA20482692355_112015-O.jpg",
            "secure_url": "https://mla-s2-p.mlstatic.com/553111-MLA20482692355_112015-O.jpg",
            "size": "320x320",
            "max_size": "320x320",
            "quality": ""
        },
        {
            "id": "629425-MLA25446587248_032017",
            "url": "http://mla-s2-p.mlstatic.com/629425-MLA25446587248_032017-O.jpg",
            "secure_url": "https://mla-s2-p.mlstatic.com/629425-MLA25446587248_032017-O.jpg",
            "size": "384x500",
            "max_size": "922x1200",
            "quality": ""
        }
    ],
    "video_id": null,
    "descriptions": [],
    "accepts_mercadopago": true,
    "non_mercado_pago_payment_methods": [],
    "shipping": {
        "mode": "not_specified",
        "local_pick_up": false,
        "free_shipping": false,
        "methods": null,
        "dimensions": null,
        "tags": [],
        "logistic_type": "not_specified"
    },
    "international_delivery_mode": "none",
    "seller_address": {
        "id": 265953311,
        "comment": "",
        "address_line": "Test Address 123",
        "zip_code": "1414",
        "city": {
            "id": "",
            "name": "Palermo"
        },
        "state": {
            "id": "AR-C",
            "name": "Capital Federal"
        },
        "country": {
            "id": "AR",
            "name": "Argentina"
        },
        "latitude": "",
        "longitude": "",
        "search_location": {
            "neighborhood": {
                "id": "TUxBQlBBTDI1MTVa",
                "name": "Palermo"
            },
            "city": {
                "id": "TUxBQ0NBUGZlZG1sYQ",
                "name": "Capital Federal"
            },
            "state": {
                "id": "TUxBUENBUGw3M2E1",
                "name": "Capital Federal"
            }
        }
    },
    "seller_contact": null,
    "location": {},
    "geolocation": {
        "latitude": "",
        "longitude": ""
    },
    "coverage_areas": [],
    "attributes": [
        {
            "id": "FAN_TYPE",
            "name": "Tipo de Ventilador",
            "value_id": "291719",
            "value_name": "De Techo",
            "attribute_group_id": "DFLT",
            "attribute_group_name": "Otros"
        },
        {
            "id": "HEIGHT_ADJUSTABLE",
            "name": "Altura Regulable",
            "value_id": "242084",
            "value_name": "No",
            "attribute_group_id": "DFLT",
            "attribute_group_name": "Otros"
        },
        {
            "id": "LATERAL_OSCILLATION",
            "name": "Oscilación Lateral",
            "value_id": "242084",
            "value_name": "No",
            "attribute_group_id": "DFLT",
            "attribute_group_name": "Otros"
        },
        {
            "id": "REMOTE_CONTROL",
            "name": "Control Remoto",
            "value_id": "242084",
            "value_name": "No",
            "attribute_group_id": "DFLT",
            "attribute_group_name": "Otros"
        },
        {
            "id": "WITH_LIGHT",
            "name": "Con Luz",
            "value_id": "242084",
            "value_name": "No",
            "attribute_group_id": "DFLT",
            "attribute_group_name": "Otros"
        },
        {
            "id": "BRAND",
            "name": "Marca",
            "value_id": "86416",
            "value_name": "Eiffel",
            "attribute_group_id": "MAIN",
            "attribute_group_name": "Atributos Principales"
        }
    ],
    "warnings": [],
    "listing_source": "",
    "variations": [
        {
            "id": 15092589430,
            "attribute_combinations": [
                {
                    "id": "COLOR",
                    "name": "Color",
                    "value_id": "52005",
                    "value_name": "Marrón"
                },
                {
                    "id": "VOLTAGE",
                    "name": "Voltaje",
                    "value_id": "198812",
                    "value_name": "110V/220V (Bivolt)"
                }
            ],
            "price": 350,
            "available_quantity": 8,
            "sold_quantity": 0,
            "picture_ids": [
                "629425-MLA25446587248_032017"
            ],
            "seller_custom_field": null,
            "catalog_product_id": null,
            "attributes": [
                {
                    "id": "EAN",
                    "name": "EAN",
                    "value_id": null,
                    "value_name": "7792931000015"
                },
                {
                    "id": "UPC",
                    "name": "UPC",
                    "value_id": null,
                    "value_name": "7792931000015"
                }
            ]
        }
    ],
    "status": "active",
    "sub_status": [],
    "tags": [
        "poor_quality_picture",
        "immediate_payment"
    ],
    "warranty": null,
    "catalog_product_id": null,
    "domain_id": "MLA-FANS",
    "seller_custom_field": null,
    "parent_item_id": null,
    "differential_pricing": null,
    "deal_ids": [],
    "automatic_relist": false,
    "date_created": "2017-03-20T15:44:01.000Z",
    "last_updated": "2017-03-29T15:01:21.506Z"
}

Nota: Ten en cuenta que cuando un producto se republica se genera una nueva publicación por lo tanto, se deberá renovar Item_id y Id de las variaciones.

Eliminar variaciones

Si deseas eliminar una variación podrás hacerlo tal como se muestra en el siguiente ejemplo.

Ejemplo

curl -X DELETE 'https://api.mercadolibre.com/items/MLA599099879/variations/10449631060?access_token=¢ACCESS_TOKEN

Respuesta

{
    "id": "MLA658778048",
    "site_id": "MLA",
    "title": "Item De Testeo",
    "subtitle": null,
    "seller_id": 247212006,
    "category_id": "MLA378496",
    "official_store_id": null,
    "price": 300,
    "base_price": 300,
    "original_price": null,
    "currency_id": "ARS",
    "initial_quantity": 8,
    "available_quantity": 8,
    "sold_quantity": 0,
    "buying_mode": "buy_it_now",
    "listing_type_id": "gold_special",
    "start_time": "2017-03-20T15:44:00.000Z",
    "stop_time": "2037-03-15T15:44:00.000Z",
    "end_time": "2037-03-15T15:44:00.000Z",
    "expiration_time": "2017-06-17T15:03:02.000Z",
    "condition": "not_specified",
    "permalink": "http://articulo.mercadolibre.com.ar/MLA-658778048-item-de-testeo-_JM",
    "thumbnail": "http://mla-s2-p.mlstatic.com/553111-MLA20482692355_112015-I.jpg",
    "secure_thumbnail": "https://mla-s2-p.mlstatic.com/553111-MLA20482692355_112015-I.jpg",
    "pictures": [
        {
            "id": "553111-MLA20482692355_112015",
            "url": "http://mla-s2-p.mlstatic.com/553111-MLA20482692355_112015-O.jpg",
            "secure_url": "https://mla-s2-p.mlstatic.com/553111-MLA20482692355_112015-O.jpg",
            "size": "320x320",
            "max_size": "320x320",
            "quality": ""
        },
        {
            "id": "629425-MLA25446587248_032017",
            "url": "http://mla-s2-p.mlstatic.com/629425-MLA25446587248_032017-O.jpg",
            "secure_url": "https://mla-s2-p.mlstatic.com/629425-MLA25446587248_032017-O.jpg",
            "size": "384x500",
            "max_size": "922x1200",
            "quality": ""
        }
    ],
    "video_id": null,
    "descriptions": [],
    "accepts_mercadopago": true,
    "non_mercado_pago_payment_methods": [],
    "shipping": {
        "mode": "not_specified",
        "local_pick_up": false,
        "free_shipping": false,
        "methods": null,
        "dimensions": null,
        "tags": [],
        "logistic_type": "not_specified"
    },
    "international_delivery_mode": "none",
    "seller_address": {
        "id": 265953311,
        "comment": "",
        "address_line": "Test Address 123",
        "zip_code": "1414",
        "city": {
            "id": "",
            "name": "Palermo"
        },
        "state": {
            "id": "AR-C",
            "name": "Capital Federal"
        },
        "country": {
            "id": "AR",
            "name": "Argentina"
        },
        "latitude": "",
        "longitude": "",
        "search_location": {
            "neighborhood": {
                "id": "TUxBQlBBTDI1MTVa",
                "name": "Palermo"
            },
            "city": {
                "id": "TUxBQ0NBUGZlZG1sYQ",
                "name": "Capital Federal"
            },
            "state": {
                "id": "TUxBUENBUGw3M2E1",
                "name": "Capital Federal"
            }
        }
    },
    "seller_contact": null,
    "location": {},
    "geolocation": {
        "latitude": "",
        "longitude": ""
    },
    "coverage_areas": [],
    "attributes": [
        {
            "id": "FAN_TYPE",
            "name": "Tipo de Ventilador",
            "value_id": "291719",
            "value_name": "De Techo",
            "attribute_group_id": "DFLT",
            "attribute_group_name": "Otros"
        },
        {
            "id": "HEIGHT_ADJUSTABLE",
            "name": "Altura Regulable",
            "value_id": "242084",
            "value_name": "No",
            "attribute_group_id": "DFLT",
            "attribute_group_name": "Otros"
        },
        {
            "id": "LATERAL_OSCILLATION",
            "name": "Oscilación Lateral",
            "value_id": "242084",
            "value_name": "No",
            "attribute_group_id": "DFLT",
            "attribute_group_name": "Otros"
        },
        {
            "id": "REMOTE_CONTROL",
            "name": "Control Remoto",
            "value_id": "242084",
            "value_name": "No",
            "attribute_group_id": "DFLT",
            "attribute_group_name": "Otros"
        },
        {
            "id": "WITH_LIGHT",
            "name": "Con Luz",
            "value_id": "242084",
            "value_name": "No",
            "attribute_group_id": "DFLT",
            "attribute_group_name": "Otros"
        },
        {
            "id": "BRAND",
            "name": "Marca",
            "value_id": "86416",
            "value_name": "Eiffel",
            "attribute_group_id": "MAIN",
            "attribute_group_name": "Atributos Principales"
        }
    ],
    "warnings": [],
    "listing_source": "",
    "variations": [
        {
            "id": 15092589430,
            "attribute_combinations": [
                {
                    "id": "COLOR",
                    "name": "Color",
                    "value_id": "52005",
                    "value_name": "Marrón"
                },
                {
                    "id": "VOLTAGE",
                    "name": "Voltaje",
                    "value_id": "198812",
                    "value_name": "110V/220V (Bivolt)"
                }
            ],
            "price": 300,
            "available_quantity": 8,
            "sold_quantity": 0,
            "picture_ids": [
                "629425-MLA25446587248_032017"
            ],
            "seller_custom_field": null,
            "catalog_product_id": null,
            "attributes": [
                {
                    "id": "EAN",
                    "name": "EAN",
                    "value_id": null,
                    "value_name": "7792931000015"
                },
                {
                    "id": "UPC",
                    "name": "UPC",
                    "value_id": null,
                    "value_name": "7792931000015"
                }
            ]
        }
    ],
    "status": "active",
    "sub_status": [],
    "tags": [
        "poor_quality_picture",
        "immediate_payment"
    ],
    "warranty": null,
    "catalog_product_id": null,
    "domain_id": "MLA-FANS",
    "seller_custom_field": null,
    "parent_item_id": null,
    "differential_pricing": null,
    "deal_ids": [],
    "automatic_relist": false,
    "date_created": "2017-03-20T15:44:01.000Z",
    "last_updated": "2017-03-29T15:04:20.999Z"
}

Como puedes ver, eliminamos la variación 10449631060 y conservamos las variaciones 10449631063 y 10449631067.
Otra forma de eliminar variaciones, es enviando un PUT a la API de ítems con la propiedad variations, listando únicamente los Ids de las variaciones que deseamos mantener.

Ejemplo

curl -H 'Content-Type: application/json' -X DELETE https://api.mercadolibre.com/items/MLA658778048/variations/15092589430?access_token=$ACCESS_TOKEN

Característica personalizada

Si bien para una gran cantidad de categorías hay identificados atributos por los cuales puedes variar tu ítem, posiblemente necesites generar variantes por características personalizadas no definidas en la API de atributos por categoría.
Por ejemplo, un vendedor de fundas de teléfonos celulares puede querer variar su ítem por el “Diseño”, para poder así ofrecer en una misma publicación las variantes Flamenco, Cocodrilo y Búho. Como la categoría no tiene este atributo definido, podemos enviar la característica personalizada en el attribute_combinations de la variación.

Consideraciones:

  • A la hora de publicar un ítem con características personalizadas deberás asegurarte que los atributos en la categoría donde deseas publicar, son distintos a aquellos que deseas agregar.
  • Solo podrás varíar tu ítem por una única característica personalizada.
  • Las características personalizadas deberán estar dentro de la sección attribute_combinations en variations.

Publicar y modificar ítems con variaciones con características personalizadas

Agregar o modificar los atributos personalizados es análogo a hacerlo con los definidos en la API de atributos por categoría, simplemente debes especificar el name del atributo y el value_name del valor a cargar. Recuerda ser consistente con el name definido para el atributo, y modifica su value_name de la misma forma que lo harías con cualquier otro.
El name del atributo es lo que verán los compradores en la VIP. Para el ejemplo anterior, el name que utilizaremos es “Diseño”. Una vez que hayas creado la variación utilizando esta característica personalizada, la VIP se verá así:

Ejemplo

curl -H 'Content-Type: application/json' -X PUT https://api.mercadolibre.com/items/MLA658778048?access_token=$ACCESS_TOKEN  -d '{
"variations": [
{
	"attribute_combinations": [
	      {
	        "name": "Diseño",
	        "value_name": "Buho"
	      }
	    ],
	    "price": 100,
	    "available_quantity": 10
    },
    {
	"attribute_combinations": [
	      {
	        "name": "Diseño",
	        "value_name": "Flamenco"
	      }
	    ],
	    "price": 100,
	    "available_quantity": 10
    },
    {
	"attribute_combinations": [
	      {
	        "name": "Diseño",
	        "value_name": "Cocodrilo"
	      }
	    ],
	    "price": 100,
	    "available_quantity": 10
    }
  ]
}' 

Respuesta

{
  "id": "MLA658778048",
  "site_id": "MLA",
  "title": "Item De Testeo",
  "subtitle": null,
  "seller_id": 247212006,
  "category_id": "MLA378496",
  "official_store_id": null,
  "price": 100,
  "base_price": 100,
  "original_price": null,
  "currency_id": "ARS",
  "initial_quantity": 30,
  "available_quantity": 30,
  "sold_quantity": 0,
  "buying_mode": "buy_it_now",
  "listing_type_id": "gold_special",
  "start_time": "2017-03-20T15:44:00.000Z",
  "stop_time": "2037-03-15T15:44:00.000Z",
  "end_time": "2037-03-15T15:44:00.000Z",
  "expiration_time": "2017-06-26T16:55:52.935Z",
  "condition": "not_specified",
  "permalink": "http://articulo.mercadolibre.com.ar/MLA-658778048-item-de-testeo-_JM",
  "thumbnail": "http://mla-s2-p.mlstatic.com/553111-MLA20482692355_112015-I.jpg",
  "secure_thumbnail": "https://mla-s2-p.mlstatic.com/553111-MLA20482692355_112015-I.jpg",
  "pictures": [
    {
      "id": "553111-MLA20482692355_112015",
      "url": "http://mla-s2-p.mlstatic.com/553111-MLA20482692355_112015-O.jpg",
      "secure_url": "https://mla-s2-p.mlstatic.com/553111-MLA20482692355_112015-O.jpg",
      "size": "320x320",
      "max_size": "320x320",
      "quality": ""
    },
    {
      "id": "629425-MLA25446587248_032017",
      "url": "http://mla-s2-p.mlstatic.com/629425-MLA25446587248_032017-O.jpg",
      "secure_url": "https://mla-s2-p.mlstatic.com/629425-MLA25446587248_032017-O.jpg",
      "size": "384x500",
      "max_size": "922x1200",
      "quality": ""
    }
  ],
  "video_id": null,
  "descriptions": [],
  "accepts_mercadopago": true,
  "non_mercado_pago_payment_methods": [],
  "shipping": {
    "mode": "not_specified",
    "local_pick_up": false,
    "free_shipping": false,
    "methods": null,
    "dimensions": null,
    "tags": [],
    "logistic_type": "not_specified"
  },
  "international_delivery_mode": "none",
  "seller_address": {
    "id": 265953311,
    "comment": "",
    "address_line": "Test Address 123",
    "zip_code": "1414",
    "city": {
      "id": "",
      "name": "Palermo"
    },
    "state": {
      "id": "AR-C",
      "name": "Capital Federal"
    },
    "country": {
      "id": "AR",
      "name": "Argentina"
    },
    "latitude": "",
    "longitude": "",
    "search_location": {
      "neighborhood": {
        "id": "TUxBQlBBTDI1MTVa",
        "name": "Palermo"
      },
      "city": {
        "id": "TUxBQ0NBUGZlZG1sYQ",
        "name": "Capital Federal"
      },
      "state": {
        "id": "TUxBUENBUGw3M2E1",
        "name": "Capital Federal"
      }
    }
  },
  "seller_contact": null,
  "location": {},
  "geolocation": {
    "latitude": "",
    "longitude": ""
  },
  "coverage_areas": [],
  "attributes": [
    {
      "id": "FAN_TYPE",
      "name": "Tipo de Ventilador",
      "value_id": "291719",
      "value_name": "De Techo",
      "attribute_group_id": "DFLT",
      "attribute_group_name": "Otros"
    },
    {
      "id": "HEIGHT_ADJUSTABLE",
      "name": "Altura Regulable",
      "value_id": "242084",
      "value_name": "No",
      "attribute_group_id": "DFLT",
      "attribute_group_name": "Otros"
    },
    {
      "id": "REMOTE_CONTROL",
      "name": "Control Remoto",
      "value_id": "242084",
      "value_name": "No",
      "attribute_group_id": "DFLT",
      "attribute_group_name": "Otros"
    },
    {
      "id": "WITH_LIGHT",
      "name": "Con Luz",
      "value_id": "242084",
      "value_name": "No",
      "attribute_group_id": "DFLT",
      "attribute_group_name": "Otros"
    },
    {
      "id": "BRAND",
      "name": "Marca",
      "value_id": "86416",
      "value_name": "Eiffel",
      "attribute_group_id": "MAIN",
      "attribute_group_name": "Atributos Principales"
    }
  ],
  "warnings": [],
  "listing_source": "",
  "variations": [
    {
      "id": 15311871917,
      "attribute_combinations": [
        {
          "id": null,
          "name": "Diseño",
          "value_id": null,
          "value_name": "Buho"
        }
      ],
      "price": 100,
      "available_quantity": 10,
      "sold_quantity": 0,
      "picture_ids": [],
      "seller_custom_field": null,
      "catalog_product_id": null,
      "attributes": []
    },
    {
      "id": 15313572235,
      "attribute_combinations": [
        {
          "id": null,
          "name": "Diseño",
          "value_id": null,
          "value_name": "Flamenco"
        }
      ],
      "price": 100,
      "available_quantity": 10,
      "sold_quantity": 0,
      "picture_ids": [],
      "seller_custom_field": null,
      "catalog_product_id": null,
      "attributes": []
    },
    {
      "id": 15313572237,
      "attribute_combinations": [
        {
          "id": null,
          "name": "Diseño",
          "value_id": null,
          "value_name": "Cocodrilo"
        }
      ],
      "price": 100,
      "available_quantity": 10,
      "sold_quantity": 0,
      "picture_ids": [],
      "seller_custom_field": null,
      "catalog_product_id": null,
      "attributes": []
    }
  ],
  "status": "active",
  "sub_status": [],
  "tags": [
    "poor_quality_picture",
    "immediate_payment"
  ],
  "warranty": null,
  "catalog_product_id": null,
  "domain_id": "MLA-FANS",
  "seller_custom_field": null,
  "parent_item_id": null,
  "differential_pricing": null,
  "deal_ids": [],
  "automatic_relist": false,
  "date_created": "2017-03-20T15:44:01.000Z",
  "last_updated": "2017-04-07T16:55:52.996Z"
}

¡Bien hecho! Ahora que ya sabes para qué sirven las variaciones no tendrás la necesidad de repetir información entre distintos ítems que sólo se diferencian por este atributo. Te invitamos a ponerlas en práctica.

Por favor califica del 1 al 5