Mensajería post venta

El recurso de la API de mensajería te permitirá obtener mensajes de una orden en particular, crear nuevos mensajes en el sistema como así también enviar o recibir archivos adjuntos. ¡Veamos cómo usarla!

Contenidos:

Descripción de parámetros

message_id Id del mensaje
date_created Fecha de creación
date Fecha en que se guarda el mensaje
date_received Fecha en que se recibió el mensaje
date_availableFecha en el que el mensaje ha pasado por moderación
date_notified Fecha en el que el mensaje ha sido notificado a la contraparte
date_read Fecha en el que el mensaje fue leído por la contraparte

from Quién envía el mensaje
user_id El id del usuario que envió el mensaje
email El email del usuario que envió el mensaje (secure email de la orden)
name El nombre del usuario que envió el mensaje

to Quién recibe el mensaje
user_id El id del usuario que recibió el mensaje
email El email del usuario que recibió el mensaje (secure email de la orden)

subject Subject del email
text Texto del mensaje
plain Texto plano del mensaje
attachments Archivos adjuntos
attachments_validations Validaciones de adjuntos
invalid_size Si el tamaño del adjunto es inválido
invalid_extension Extensión del adjunto inválido
internal_error Error interno

site_id El sitio de mercadolibre (MLA, MLB, etc)
resource Corresponde a la orden que pertenece (orders)
resource_id El ID de la orden
status Estado del mensaje
moderation_status Estado de moderación del mensaje

Obtener mensajes

Para obtener mensajes de una orden en particular deberás asociar el order_id con este recurso realizando un GET.

Llamada:

GET ".../messages/orders/$order_id"

Ejemplo:

 curl -X GET “https://api.mercadolibre.com/messages/orders/{resource_id}?access_token=$ACCESS_TOKEN”

Posibles parámetros extras:

Estos parámetros pueden ser utilizados para determinar la cantidad de los mensajes recuperados en el GET.

&limit={límite} >> número entero positivo

Ejemplo:

curl -X GET “https://api.mercadolibre.com/messages/orders/{order_id}?access_token=$ACCESS_TOKEN&limit=10”

&offset={compensación} >> número entero positivo

Ejemplo:

curl -X GET “https://api.mercadolibre.com/messages/orders/{order_id}?access_token=$ACCESS_TOKEN&limit=10&offset=1”

Respuesta:

{
    "paging": {
        "limit": 2,
        "offset": 1,
        "total": 270
    },
    "results": [
        {
            "_id": "43b450d6bd3f47fb94394041b26c519f",
            "message_id": "43b450d6bd3f47fb94394041b26c519f",
            "date_received": "2016-11-07T15:03:14.978Z",
            "date": "2016-11-07T15:03:14.978Z",
            "date_available": "2016-11-07T15:03:14.978Z",
            "date_notified": "2016-11-07T15:05:50.179Z",
            "date_read": "2016-11-08T22:43:17.767Z",
            "from": {
                "user_id": "76601286",
                "email": "mailfrom.3fd70y+2-ogeytenjqgi3tombx@mail.mercadolibre.com",
                "name": null
            },
            "to": [
                {
                    "user_id": "106459677",
                    "email": "mailto.lj36rj8+2-ogeytenjqgi3tomjw@test.mercadolibre.com"
                }
            ],
            "subject": null,
            "text": {
                "plain": "Mensaje de pruebas desde api publica con attachment. Multiples 'to' "
            },
            "attachments": [
                {
                    "size": "103584",
                    "type": "image/png",
                    "date": "Tue, 25 Oct 2016 22:56:47 GMT",
                    "filename": "76601286_51a2e39b-7ff6-48ef-85f8-3025676db43e.png",
                    "original_filename": "Captura de pantalla 2016-10-20 a las 2.26.09 p.m..png"
                }
            ],
            "attachments_validations": null,
            "headers": null,
            "site_id": "MLA",
            "resource": "orders",
            "resource_id": "1125027671",
            "status": "available",
            "moderation_status": "non_moderated",
            "moderation": {
                "status": "non_moderated"
            },
            "client_id": 1000
        },
        {
            "_id": "37befd545a2d436f89e672b33990ef8b",
            "message_id": "37befd545a2d436f89e672b33990ef8b",
            "date_received": "2016-11-07T14:56:02.500Z",
            "date": "2016-11-07T14:56:02.500Z",
            "date_available": "2016-11-07T14:56:02.500Z",
            "date_notified": "2016-11-07T14:57:46.659Z",
            "date_read": "2016-11-07T15:19:08.967Z",
            "from": {
                "user_id": "76601286",
                "email": "mailfrom.3fd70y+2-ogeytenjqgi3tombx@mail.mercadolibre.com",
                "name": null
            },
            "to": [
                {
                    "user_id": "106459677",
                    "email": "mailto.lj36rj8+2-ogeytenjqgi3tomjw@test.mercadolibre.com"
                }
            ],
            "subject": null,
            "text": {
                "plain": "Mensaje de pruebas desde api publica con attachment. Multiples 'to' "
            },
            "attachments": [
                {
                    "size": "103584",
                    "type": "image/png",
                    "date": "Tue, 25 Oct 2016 22:56:47 GMT",
                    "filename": "76601286_51a2e39b-7ff6-48ef-85f8-3025676db43e.png",
                    "original_filename": "Captura de pantalla 2016-10-20 a las 2.26.09 p.m..png"
                }
            ],
            "attachments_validations": null,
            "headers": null,
            "site_id": "MLA",
            "resource": "orders",
            "resource_id": "1125027671",
            "status": "available",
            "moderation_status": "non_moderated",
            "moderation": {
                "status": "non_moderated"
            },
            "client_id": 1000
        }
    ]
}

Notas:

  • Por cada venta que tengas de un comprador tendrás un email enmascarado diferente. Es decir, si el mismo comprador te compra dos productos diferentes en distintos momentos, se generarán emails para cada venta.
  • Los mails de contacto del comprador comenzarán a verse de manera enmascarada lo que hará que aumenten la cantidad de caracteres (entre 55 y 60).

Obtener mensajes por ID

Request:

GET “https://api.mercadolibre.com/messages/{message_id}?access_token=$ACCESS_TOKEN”

Ejemplo de respuesta:

{
  "message_id": "0033b582a1474fa98c02d229abcec43c",
  "date_received": "2016-09-01T05:15:25.821Z",
  "date": "2016-09-01T05:15:25.821Z",
  "date_available": "2016-09-01T05:15:25.821Z",
  "date_notified": "2016-09-01T05:17:42.945Z",
  "date_read": "2016-09-01T21:31:19.606Z",
  "from": {
    "user_id": "123456789",
    "email": "userfrom.n4tx9d+2-ogeytenjqgi3tomjw@mail.mercadolibre.com",
    "name": "User from"
  },
  "to": [
    {
      "user_id": "123456780",
      "email": "userto.3fd70y+2-ogeytenjqgi3tombx@mail.mercadolibre.com"
    }
  ],
  "subject": "Test Item subject",
  "text": {
    "plain": "Ejemplo de texto"
  },
  "attachments": [
    {}
  ],
  "attachments_validations": {
    "invalid_size": [
    ],
    "invalid_extension": [
    ],
    "forbidden": [
    ],
    "internal_error": [
    ]
  },
  "site_id": "MLA",
  "resource": "orders",
  "resource_id": "1234567871",
  "status": "available",
  "moderation": {
    "status": "non_moderated"
  }
}

Crear mensajes

En caso de que el from sea el vendedor se pasará en from.user_id el seller.id de la órden.

Llamada:

POST “https://api.mercadolibre.com/messages?access_token=$ACCESS_TOKEN&application_id=$APPLICATION_ID”

Notas: El “application_id” solo es requerido cuándo el Access Token no tiene el APP ID incorporado.

Ejemplo:

curl -i -X POST -H "Content-Type: application/json" -H “X-Client-Id: {application id}” -d
'{
    "from": {
        "user_id": 123435,
    },
    "to": [
        {
            "user_id": 9191923,
            "resource": "orders",
            "resource_id": 2223213,
            "site_id": "MLA"
        }
    ],
    "text": {
        "plain": "Plain text message here"
    }
}’ https://api.mercadolibre.com/messages?access_token=$ACCESS_TOKEN&application_id=$APPLICATION_ID

Nota: El atributo attachments se obtiene de la respuesta del POST de attachments. (Ver sección adjuntos).

Enviar adjunto

Para adjuntar un archivo dentro del mensaje primero deberá ser guardado.
Luego, cuando se envía un adjunto, se devuelve el id del archivo como respuesta.

Llamada:

POST “https://api.mercadolibre.com/messages/attachments?access_token=$ACCESS_TOKEN”

Notas:

  • El POST debe realizarse como form.data con key: value > file = referencia al file (es decir el archivo en sí).
  • El archivo debe tener un tamaño máximo de 25 MB.
  • Podrán intercambiarse fotos, manuales de instrucciones, facturas y demás archivos adjuntos en JPG, PNG, PDF y TXT de hasta 25 MB.

Ejemplo:

curl-i-XPOST-H"Content-Type: multipart/form-data"-F"file=@/home/user/file""https://api.mercadolibre.com/messages/attachments?access_token=$ACCESS_TOKEN"

En este caso el servidor responderá con un JSON que contendrá el id del archivo en caso que el request haya sido exitoso.

Nota: La respuesta obtenida se deberá anexar en el mensaje deseado.

Respuesta:

{
  "id": "210438685_59f0f034-db1b-4ea6-8c5e-1d34e2092482.jpg"
}

Obtener adjunto

Para obtener un mensaje adjunto se deberá una llamada GET.

Llamada:

GET “https://api.mercadolibre.com/messages/attachments/{attachment_id}?access_token=$ACCESS_TOKEN”

Ejemplo:

https://api.mercadolibre.com/messages/attachments/76601286_5946e4c4-168a-45fd-945e-b8f0c306c58d.png?access_token=$ACCESS_TOKEN

Respuesta:
Si el request es exitoso, la llamada devolverá el archivo solicitado.
En caso de que no sea posible acceder al archivo la respuesta del servidor será la siguiente:

{
    "message": "File can not be accessed, try it later",
    "error": null,
    "status": 500,
    "cause": []
}

En caso de que no se envíe el access token el mensaje será:

{
    "message": "Access token is required",
    "error": "bad_request",
    "status": 400,
    "cause": []
}

 

Para finalizar, siguiendo todos estos pasos el POST deberá quedar de la siguiente manera…

Ejemplo:

{
    "from": {
      "user_id": 123455677
    },
    "to": [
        {
            "user_id": 72345286,
            "resource": "orders",
            "resource_id": 1234567671,
            "site_id": "MLA"
        }
    ],
    "text": {
      "plain" : "Mensaje de pruebas"
    },
  	"attachments" : ["76602286_52a2e39b-7ff6-48ef-85f8-3025676db43a.png" ]


}

Respuesta:

[
    {
        "message_id": "d2345e6e7bb844469ae79623018223af",
        "date_received": "2016-11-14T20:46:49.678Z",
        "date": "2016-11-14T20:46:49.678Z",
        "date_available": "2016-11-14T20:46:49.678Z",
        "date_notified": null,
        "date_read": null,
        "from": {
            "user_id": "123455677",
            "email": "userseller.n4tx9d+2-ogeytenjqgi3tomjw@mail.mercadolibre.com",
            "name": null
        },
        "to": [
            {
                "user_id": "72345286",
                "email": "userbuyer.3fd70y+2-ogeytenjqgi3tombx@mail.mercadolibre.com"
            }
        ],
        "subject": null,
        "text": {
            "plain": "Mensaje de pruebas"
        },
        "attachments": [
            {
                "size": "103584",
                "type": "image/png",
                "date": "Tue, 25 Oct 2016 22:56:47 GMT",
                "filename": "76602286_52a2e39b-7ff6-48ef-85f8-3025676db43a.png",
                "original_filename": "Captura de pantalla 2016-10-20 a las 2.26.09 p.m..png"
            }
        ],
        "attachments_validations": null,
        "site_id": "MLA",
        "resource": "orders",
        "resource_id": "1125027671",
        "status": "available",
        "moderation": {
            "status": "non_moderated"
        }
    }
]

Mensajes pendientes de leer

Esta opción te permitirá obtener los mensajes pendientes de leer en Mercado Libre de todas las órdenes existentes o sólo las especificadas. Además, también podrás definir el role del usuario para cada caso, ya sea comprador o vendedor.

Para obtener la información mencionada deberás realizar el GET que se muestra a continuación.

Llamada:

GET https://api.mercadolibre.com/messages/pending_read?access_token=$ACCESS_TOKEN

Parámetros (opcionales)

Para recibir un listado de órdenes específicas, deberás enviar los IDs separados por coma (…&orders_id=id1,id2,…,):
orders_id=$ORDERS_ID

Por otro lado, para recibir el role del usuario en la orden. Ejemplo comprador: …&role=buyer – Ejemplo vendedor: …&role=seller) tendrás que hacerlo con el siguiente parámetro: role=$ROLE

Modos de uso

Si deseas obtener todas las órdenes con mensajes pendientes de leer como vendedor deberás realizar la siguiente llamada:

Sin role:

CURL -X GET https://api.mercadolibre.com/messages/pending_read?access_token=$ACCESS_TOKEN

Aclaración: En caso de no especificar un role o que el mismo sea inválido (diferente de “buyer” o “seller”), por defecto el recurso asumirá que el role es “seller”.

Con role:

CURL -X GET https://api.mercadolibre.com/messages/pending_read?access_token=$ACCESS_TOKEN&role=seller

Para obtener todas las órdenes con mensajes pendientes de leer como comprador deberás realizar la siguiente llamada:

CURL -X GET https://api.mercadolibre.com/messages/pending_read?access_token=$ACCESS_TOKEN&role=buyer

En caso que quieras obtener la cantidad de mensajes pendientes de leer para las órdenes deberás hacerlo de la siguiente manera:

CURL -X GET https://api.mercadolibre.com/messages/pending_read?access_token=$ACCESS_TOKEN&orders_id=123,124,125

Respuesta:
En caso de que la respuesta de la api sea satisfactoria. Nos devolverá un JSON similar al siguiente:

{
    "user_id": "1234512314",
    "results": [
        {
            "order_id": "19912312312”
            "count": 1
        }
    ]
}

En esta respuesta visualizarás

  • ID del usuario que hizo la petición (“user_id”).
  • Mensajes pendientes de leer (“count”).
  • Cada orden que disponemos (“order_id”).

Por último, en caso de no tener mensajes pendientes de leer ya sea para todas las órdenes del usuario o para las órdenes que el usuario específica) o si el usuario especifica dentro del parámetro “orders_id” órdenes de las cuales no forma parte, la respuesta será similar a la siguiente:

{
    "user_id": "1234512314",
    "results": []
}

Nota: Éste es un recurso privado por lo que si realizas una llamada sin access_token obtendrás un error 400.

Petición sin access token:

{
    "message": "Access token required",
    "error": "bad_request",
    "status": 400,
    "cause": []
}

Marcar mensajes como leídos

Con esta llamada PUT podrás marcar los mensajes como leídos en Mercado Libre pasando los IDs que desees leer en la URL.

Nota: Los mensajes deben estar separados por coma (,) caso contrario no serán reconocidos como mensajes diferentes.

Llamada:

PUT /messages/mark_as_read/:messages_id

Ejemplo:

https://api.mercadolibre.com/messages/mark_as_read/id1,id2,id3?access_token=$ACCESS_TOKEN

Respuesta:

{
    "message": "Messages marked as read successfully",
    "status": 200
}

Revisar mensajes bloqueados

Con el fin de disminuir el spam y mensajes innecesarios, dentro de mensajería post venta existe la posibilidad de bloquear mensajes ya sea porque:

  • El comprador bloqueó el envío de mensajes.
  • Después de un periodo de tiempo el envío del mensaje es bloqueado automáticamente.

Vía API podrás encontrarlos bajo el status “Bloqueada” en un nuevo apartado llamado “conversation”:

Llamada:

https://api.mercadolibre.com/messages/orders/{resource_id}?access_token=$ACCESS_TOKEN

Respuesta:

{
  "paging": {...},
  "results": [{...},{...}],
  "conversation": {
"status": "blocked",
"substatus": "blocked_by_buyer",
      "status_date": "2017-05-26T13:17:23.511-04:00"
   }
}

status: This field allows two values:

  • active: conversation is open for sending/receiving messages
  • – substatus: null

  • blocked: conversation is closed to sending/receiving messages
  • – substatus: Blocked_by_time: Conversation has been blocked automatically after a period of time.
    – substatus: Blocked_by_buyer: Conversation has been blocked due to buyer request.

status_date: Represents the date when conversation status was recorded.

Posibles errores

Errores comunes

Request sin access token:

{
  "message": "Access token is required",
  "error": "bad_request",
  "status": 400,
  "cause": [ ]
}

Errores al obtener mensajes por id

Usuario sin acceso a un determinado mensaje:

{
  "message": "Access denied for user 30265782 to message with id 006b9b2df38f452b80402041ae86f6d4",
  "error": "forbidden",
  "status": 403,
  "cause": [ ]
}

No existe el mensaje pedido:

{
    "message": "The specified message id does not exists",
    "error": "bad_request",
    "status": 400,
    "cause": []
}

Errores post

Mensaje sin receptor (falta agregar “to”):
400: The field ‘to.user_id’ is required

User id “to” inválido:
400:Invalid ‘to’ user id

El user “from” y “to” son iguales:
400: Sender and received must not be equals

El user “from” no tiene acceso a la orden:
403: Access denied for user {from.user_id} to order {to.resource_id}

Si el user_id es 0 y el email no es un secure_email:
400: The field ‘to.email’ must be a secure email

El receptor del mensaje no pertenece a la orden:
403: Receiver does not belong to order {to.resource_id}

No se encuentra el atributo “resource”:
400: The field ‘to.resource’ is required

Atributo resource inválido:
400: Invalid field ‘to.resource’

Request sin site_id:
400: The field ‘to.site_id’ is required

Atributo site_id inválido:
400: The field ‘to.site_id’ has an invalid value

Post sin Json body:
400: A JSON body is required

Mensaje sin ‘from’:
400: The field ‘from’ is required

Request sin access token:
400: Access token is required

Access Token sin application_id:
400: Application id is required

Messaging is blocked:
403: You can not send the message because the conversation is blocked by buyer.

Errores GET mensajes por orden

Usuario sin acceso a la orden:
403: User access token invalid for resource {resource_id}”

El param “limit” del request debe ser mayor a 0:
400: The limit param must be greater than 0

Param “offset” inválido:
400: Invalid offset param

Param “limit” inválido:
400: Invalid limit param

Errores GET attachments

No se pudo obtener el archivo solicitado:
500: File can not be accessed, try it later

Errores Post attachments

Problemas al almacenar el archivo:
500: File can not be saved, try it later

Attachment vacío o nulo:
400: File attached is empty

El nombre del archivo no puede tener caracteres como: /, \
400: File name cannot include characters like /, \

El tamaño del archivo excede los 25 Mb.
400: File attachment is bigger than 25 Mb.

El mensaje excede la cantidad permitida de adjuntos: 25
400: The message exceeds the allowed number of attachments: 25

Errores PUT mensajes marcados como no leídos

IDs de mensajes inválidos o vacíos

{
    "message": "Messages id empty or invalid.",
    "error": "bad_request",
    "status": 400,
    "cause": []
}

ID de mensaje inexistente

{
    "message": "The specified message id: a does not exists",
    "error": "bad_request",
    "status": 400,
    "cause": []
}

ID de mensajes que corresponden a diferentes órdenes

{
    "message": "Not allowed messages from multiple orders",
    "error": "bad_request",
    "status": 400,
    "cause": []
}

Para obtener más información sobre cómo utilizar este servicio sin salir de Mercado Libre ingresa aquí.

Siguiente:
Recibe notificaciones.

Por favor califica del 1 al 5

Ofertas

Los vendedores que reciben asesoramiento por parte del equipo comercial de Mercado Libre son invitados periódicamente a participar de diferentes campañas de ofertas que se realizan en el sitio. Si recibiste la invitación para alguna campaña puntual y quieres sumarte, sigue este tutorial para conocer los pasos básicos de cómo sugerir tus productos en oferta.

Deals

Contenidos:

Importante:

    • Para poder realizar pruebas, deberás utilizar un usuario de test. Esto te garantizará que siempre tengas una oferta (campaña) disponible para los artículos sugeridos.
    • Para acceder a esta API, necesitarás una access token.

Acceder a las campañas a las que has sido invitado

Este recurso invoca las campañas de ofertas asociadas a un user_id [id de usuario]. Puede existir más de una campaña por usuario.

Ejemplo:

curl -X GET https://api.mercadolibre.com/users/{User_id}/deals/search?access_token=$ACCESS_TOKEN

Respuesta:

{
  "paging": {
    "total": 2,
    "offset": 0,
    "limit": 0
  },
  "filters": {
    "site_id": "MLA"
  },
  "results": [
    {
      "id": "MLA90",
      "name": "pruebaIntegracion",
      "description": "Prueba Integracion",
      "site_id": "MLA",
      "status": "test",
      "offers_reception_deadline": "2016-08-30T23:00:00-04:00",
      "start_time": "2016-08-18T03:00:00.000Z",
      "end_time": "2016-08-19T02:59:00.000Z",
      "requisites": [
        {
          "name": "RequisiteDiscount",
          "criteria": "original_price",
          "categories": [
            "MLA1144"
          ],
          "parameters": {
            "value": "20",
            "type": "gold_special"
          },
          "description": "Items with listing gold_special type must have at least 20% off"
        },
        {
          "name": "RequisiteDiscount",
          "criteria": "original_price",
          "categories": [
            "MLA1144"
          ],
          "parameters": {
            "value": "15",
            "type": "gold_premium"
          },
          "description": "Items with listing type gold_premium must have at least 15% off"
        },
        {
          "name": "CATEGORIES_REQUISITE",
          "criteria": "NA",
          "categories": [
            "MLA5726",
            "MLA1276",
            "MLA1384"
          ],
          "parameters": {
          },
          "description": "Items must belong to the specified categories"
        },
        {
          "name": "RequisiteFreeShipping",
          "criteria": "retail_price",
          "categories": [
            "MLA5725"
          ],
          "parameters": {
            "currency": "ARS",
            "value": "500"
          },
          "description": "Items in the specified categories and with price higher than ARS 500 must have free shipping"
        }
      ]
    }
  ]
}

Un campo importante a tener en cuenta en esta respuesta es el campo “dead_line” [”plazo”], que indica hasta cuándo podrás sugerir tus productos. Una vez transcurrido ese plazo, no podrás sugerir artículos para la campaña.
El campo “requisites” [”requisitos”] contiene un conjunto de requisitos que tus artículos sugeridos deben cumplir para poder ser incluidos en la campaña. Estos requisitos son definidos por Mercado Libre para cada campaña.

Sugerir un producto para la campaña

Una vez que has sido invitado a una campaña de ofertas, puedes seleccionar qué productos deseas incluir en la campaña y sugerirlos. Es posible que tengas que detallar las condiciones en las que tus productos participarán de la campaña (es decir, precio de descuento para la campaña, stock para la campaña, etc.).

Solicitud (ejemplo):

curl -X POST -d '{"item_id":"MLA632979587","deal_price":149,"regular_price":200,"declared_stock":8,"declared_free_shipping":true, "brand":"brand1","model":"model1","declared_oro_premium_full":true}' 'https://api.mercadolibre.com/users/{User_id}/deals/{Deal_id}/proposed_items?access_token=$ACCESS_TOKEN'

Respuesta (ejemplo):

{
  "item_id": "MLA633000763",
  "regular_price": 200,
  "deal_price": 149,
  "declared_stock": 8,
  "declared_free_shipping": true,
  "declared_oro_premium_full": true,
  "category_l1": "MLA1953",
  "category_l2": "MLA3530",
  "brand": "brand1",
  "model": "model1",
  "date_created": "2016-08-29T14:08:10.902-04:00",
  "last_updated": "2016-08-29T14:08:10.902-04:00",
  "status": "pending_approval",
  "title": "Item De Testeo, Por Favor No Ofertar --kc:off"
}

Modificar un producto en una campaña

Si aún no se ha cumplido el plazo, podrás realizar modificaciones a los productos que has sugerido previamente para una campaña.

Solicitud:

curl -X PUT -d '{"deal_price":150}' 'https://api.mercadolibre.com/users/{User_id}/deals/{Deal_id}/proposed_items/{Item_id}?access_token=$ACCESS_TOKEN'

Respuesta (ejemplo):

{
  "item_id": "MLA633000763",
  "regular_price": 200,
  "deal_price": 152,
  "declared_stock": 8,
  "declared_free_shipping": true,
  "declared_oro_premium_full": true,
  "category_l1": "MLA1953",
  "category_l2": "MLA3530",
  "brand": "brand1",
  "model": "model1",
  "date_created": "2016-08-29T14:08:11.000-04:00",
  "last_updated": "2016-08-29T14:34:53.662-04:00",
  "status": "pending_approval",
  "title": "Item De Testeo, Por Favor No Ofertar --kc:off"
}

Retirar un producto de una campaña

Si aún no se ha cumplido el plazo, podrás retirar productos que has sugerido previamente para una campaña.
Solicitud:

curl -X DELETE https://api.mercadolibre.com/users/{User_id}/deals/{Deal_id}/proposed_items/{Item_id}?access_token=$ACCESS_TOKEN

Respuesta:

{}

Respuesta con estado 204.

Obtener mis productos en una campaña

Podrás obtener los productos que has sugerido para una campaña.

Solicitud:

curl -X GET https://api.mercadolibre.com/users/{User_id}/deals/{Deal_id}/proposed_items/search?access_token=$ACCESS_TOKEN

Respuesta:

{
  "paging": {
    "total": 2,
    "offset": 0,
    "limit": 50
  },
  "filters": {
    "deal_id": "MLA90",
    "seller_id": "210456151"
  },
  "results": [
    {
      "item_id": "MLA632979587",
      "current_price": 170,
      "regular_price": 200,
      "deal_price": 149,
      "declared_stock": 8,
      "declared_free_shipping": true,
      "declared_oro_premium_full": true,
      "category_l1": "MLA1953",
      "category_l2": "MLA3530",
      "brand": "brand1",
      "model": "model1",
      "date_created": "2016-08-29T11:52:01.000-04:00",
      "last_updated": "2016-08-29T11:52:01.000-04:00",
      "status": "pending_approval",
      "title": "Item De Testeo, Por Favor No Ofertar --kc:off",
      "discount": 26
    },
    {
      "item_id": "MLA632632625",
      "current_price": 200,
      "regular_price": null,
      "deal_price": 100,
      "declared_stock": 50,
      "declared_free_shipping": false,
      "declared_oro_premium_full": false,
      "category_l1": "MLA1953",
      "category_l2": "MLA3530",
      "brand": "Prueba",
      "model": "Cool",
      "date_created": "2016-08-26T10:34:04.000-04:00",
      "last_updated": "2016-08-26T10:34:04.000-04:00",
      "status": "pending_approval",
      "title": "Item De Testeo, Por Favor No Ofertar --kc:off",
      "discount": 50
    }
  ]
}

Por favor califica del 1 al 5

Programa de Protección de Propiedad Intelectual (PPPI)

Nuestro Programa permite únicamente a los titulares o apoderados de un derecho de propiedad intelectual denunciar y pedir la baja de publicaciones que infrinjan sus derechos.

Para poder denunciar publicaciones es imprescindible que estén adheridos al Programa.

Una vez que sean miembros del PPPI, deberán solicitarnos el instructivo de la Api de denuncia a través del formulario. Allí encontrarán toda la información necesaria para que puedas hacer la integración.

Si los miembros necesitan más información sobre el programa, deben escribirnos desde el siguiente formulario.

En caso de tener algún problema o duda sobre el funcionamiento de la Api, puedes contactarnos.

Por favor califica del 1 al 5

Guía para Productos

En MercadoLibre puedes publicar bajo distintas condiciones y luego puedes modificar, pausar, republicar y finalizar las publicaciones cuando lo desees, así como guardar publicaciones de otros vendedores en favoritos, hacer y responder preguntas, compartir en redes sociales, etc.

Hay distintos tipos de publicaciones, por un lado están los productos en los que se puede ofertar. Se oferta, se crea una orden de compra, las contrapartes intercambian datos de contacto, se genera un pago, se entrega el producto, ambas partes se califican, fin.

Al publicar este tipo de productos será posible trabajar con sistemas que gestionen búsquedas, preguntas y respuestas, manejar inventario, variaciones del mismo producto, gestionar ventas, envío y calificaciones.

Siguiente:
Autorización.

Por favor califica del 1 al 5

Descarga de categorías

¿Qué es el Árbol de Categorías?

El árbol de categorías es una estructura en la cual MercadoLibre organiza sus publicaciones. Cada país tiene su propio árbol de categorías que es diferente de los demás. Las publicaciones solo se pueden realizar en las categorías hoja [leaf] del árbol.

Cambios en el Árbol de Categorías

En ocasiones, el árbol de categorías cambia porque se crea una nueva categoría o una existente se divide en dos o más categorías. Todas las publicaciones incluidas en la categoría anterior se trasladan automáticamente a la nueva categoría.

¿Por qué debo sincronizar el Árbol de Categorías?

Se recomienda realizar una descarga diaria de todo el árbol de categorías para el sitio de un país determinado destinado al procesamiento offline para estar al día con las nuevas categorías. Es muy útil darle a tu usuario la posibilidad de mapear categorías desde su lado hacia el árbol de categorías de MercadoLibre.

Descarga el Árbol de Categorías

La API devuelve el árbol de categorías en formato JSON dentro de una respuesta codificada con gzip.
Por ejemplo, para obtener las categorías de Brasil utiliza este URL:

curl https://api.mercadolibre.com/sites/MLB/categories/all  > categoriesMLB.gz 

Este URL contiene 2 encabezados que se pueden utilizar para verificar cuándo se generó la última descarga.

  • X-Content-Created: contiene la fecha de la última generación.
  • X-Content-MD5: contiene la suma de comprobación MD5 de la última generación.
~$ curl -I  https://api.mercadolibre.com/sites/MLB/categories/all
HTTP/1.1 200 OK
Server: nginx/1.0.4
Date: Tue, 24 Jul 2012 15:14:58 GMT
Content-Type: application/json;charset=UTF-8
Connection: keep-alive
X-MLAPI-Version: 1.9.5
Content-Encoding: gzip
X-Content-Created: 2012-07-24T14:00:59.716Z
X-Content-MD5: 943541196986770119b4af1e66bda2dc

Descarga de categorías con atributos

Dado que las categorías tienen atributos propios es necesario hacer la siguiente llamada para buscar un archivo que contiene el árbol de categorías con cada uno de sus atributos.

Ejemplo:

curl https://api.mercadolibre.com/sites/MLA/categories/all?withAttributes=true > mla.gz


Por favor califica del 1 al 5

Análisis y Benchmarking

Si tu intención es que vendedores usen la aplicación que desarrollaste para potenciar su negocio, ten en cuenta que hay muchísima información que puedes consumir y será fructífera para ayudar a que vendedores creen estrategias de venta y tomen decisiones acertadas a tiempo.

Ten en cuenta que utilizando nuestra API podrás realizar las siguientes acciones:

¡Sigue nuestras guías para aprender a sacarle provecho a cada recurso!

Métricas de ventas

A esta altura ya debes saber que las ventas en MercadoLibre se encuentran en el recurso de Orders, el cual podrás utilizar para tomar métricas de cuántas ventas tiene un producto, cuántas ventas mensuales está teniendo tu vendedor, el resultado de cada una y el dinero generado, así ofrecerlas a tus vendedores para que conozcan datos exactos de cómo van sus negocios en MercadoLibre.

Sigue la guía del recurso de Orders y aprende como sacar métricas de ventas.

Métricas de visitas y preguntas

Puede ser conveniente llevar métricas de las visitas y preguntas y así utilizar esta información para tomar medidas respecto de cómo reaccionan los compradores ante los artículos que publicaste. Por ejemplo, puedes probar artículos o imágenes y ver si las visitas aumentan o disminuyen y puedes probar diferentes plantillas de descripciones y especificaciones para verificar si los usuarios necesitan formular muchas preguntas antes de ofertar por tus productos o si ofertan rápido. Además, esto será de utilidad para conocer las preguntas más frecuentes y desarrollar una prestación que sugiera las respuestas a las mismas.
Para lograrlo, puedes utilizar nuestro recurso de visitas y la búsqueda de preguntas.

Métricas de reputación

La reputación es la cara pública de cada usuario en MercadoLibre; por eso, los vendedores con mejor reputación aumentarán sus posibilidades de vender respecto de otros usuarios. Recuérdalo y haz que tus vendedores tomen conciencia de la importancia de ofrecer y recibir feedback. Consulta esta guía para conocer cómo trabajar con el recurso de feedback.

Tendencias de mercado

Ayuda a los vendedores que utilicen tu aplicación a conocer las palabras más buscadas en nuestro Marketplace. Sigue este artículo para usar nuestro recurso de Tendencias.

Compara precios

Con tu sistema, puedes sugerir a los vendedores cuál es mejor precio para vender sus productos y mantener tu competitividad al analizar el precio del mismo tipo de productos publicados en MercadoLibre. Para hacerlo, es conveniente aprender cómo buscar artículos por categoría, consultar el campo precio de esos artículos y calcular el promedio.


Siguiente:
MercadoLíder y Tiendas Oficiales.

Por favor califica del 1 al 5

Autenticación y Autorización

La plataforma de Mercado Libre te permite trabajar con recursos públicos y privados de la API a través de llamadas HTTP con los verbos GET, PUT, POST, DELETE y OPTIONS.
El acceso a los recursos públicos, tales como sites y categories disponibles, se puede hacer en forma anónima pero los recursos privados y las acciones propias de los usuarios como publicar un artículo, responder preguntas o ver la información de ventas/compras requieren autorización mediante una aplicación.
Por tal motivo en la siguiente guía te explicaremos el significado de autenticación y el flujo de autorización que se debe seguir para obtener un access_token (llave de acceso a los recursos privados por cada usuario que autorice la aplicación- válida por 6 horas).
Por ejemplo:
Sin access_token (Recurso público)

https://api.mercadolibre.com/users/226384143/

{
  "id": 226384143,
  "nickname": "TETE9928972",
  "registration_date": "2016-08-25T11:36:00.000-04:00",
  "country_id": "AR",
  "address": {
    "state": "AR-C",
    "city": "Palermo"
  },
  "user_type": "normal",
  "tags": [
    "normal",
    "test_user",
    "user_info_verified"
  ],
  "logo": null,
  "points": 100,
  "site_id": "MLA",
  "permalink": "http://perfil.mercadolibre.com.ar/TETE9928972",
  "seller_reputation": {
    "level_id": null,
    "power_seller_status": null,
    "transactions": {
      "period": "historic",
      "total": 1,
      "completed": 1,
      "canceled": 0,
      "ratings": {
        "positive": 0,
        "negative": 0,
        "neutral": 1
      }
    }
  },
  "buyer_reputation": {
    "tags": [
    ]
  },
  "status": {
    "site_status": "active"
  }
}


Con access_token (Recurso privado)

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

{
  "id": 226384143,
  "nickname": "TETE9928972",
  "registration_date": "2016-08-25T11:36:00.000-04:00",
  "first_name": "Test",
  "last_name": "Test",
  "country_id": "AR",
  "email": "test_user_38730994@testuser.com",
  "identification": {
    "type": "DNI",
    "number": "1111111"
  },
  "address": {
    "state": "AR-C",
    "city": "Palermo",
    "address": "Test Address 123",
    "zip_code": "1414"
  },
  "phone": {
    "area_code": "01",
    "number": "1111-1111",
    "extension": "",
    "verified": false
  },
  "alternative_phone": {
    "area_code": "",
    "number": "",
    "extension": ""
  },
  "user_type": "normal",
  "tags": [
    "normal",
    "test_user",
    "user_info_verified"
  ],
  "logo": null,
  "points": 100,
  "site_id": "MLA",
  "permalink": "http://perfil.mercadolibre.com.ar/TETE9928972",
  "shipping_modes": [
    "custom",
    "not_specified"
  ],
  "seller_experience": "ADVANCED",
  "bill_data": {
    "accept_credit_note": null
  },
  "seller_reputation": {
    "level_id": null,
    "power_seller_status": null,
    "transactions": {
      "period": "historic",
      "total": 1,
      "completed": 1,
      "canceled": 0,
      "ratings": {
        "positive": 0,
        "negative": 0,
        "neutral": 1
      }
    }
  },
  "buyer_reputation": {
    "canceled_transactions": 0,
    "transactions": {
      "period": "historic",
      "total": null,
      "completed": null,
      "canceled": {
        "total": null,
        "paid": null
      },
      "unrated": {
        "total": null,
        "paid": null
      },
      "not_yet_rated": {
        "total": null,
        "paid": null,
        "units": null
      }
    },
    "tags": [
    ]
  },
  "status": {
    "site_status": "active",
    "list": {
      "allow": true,
      "codes": [
      ],
      "immediate_payment": {
        "required": false,
        "reasons": [
        ]
      }
    },
    "buy": {
      "allow": true,
      "codes": [
      ],
      "immediate_payment": {
        "required": false,
        "reasons": [
        ]
      }
    },
    "sell": {
      "allow": true,
      "codes": [
      ],
      "immediate_payment": {
        "required": false,
        "reasons": [
        ]
      }
    },
    "billing": {
      "allow": true,
      "codes": [
      ]
    },
    "mercadopago_tc_accepted": true,
    "mercadopago_account_type": "personal",
    "mercadoenvios": "not_accepted",
    "immediate_payment": false,
    "confirmed_email": false,
    "user_type": "simple_registration",
    "required_action": ""
  },
  "credit": {
    "consumed": 101.1,
    "credit_level_id": "MLA1"
  }
}

Contenidos:

Autenticación

La autenticación es el acto o proceso para el establecimiento o confirmación de algo o alguien como real.
En el caso de la autenticación de una persona consiste en verificar su identidad en función a uno o varios factores asegurando que los datos de quién los envió sean los correctos.

Algunos métodos de autenticación son:

  • Biomédicas, por huellas dactilares, retina del ojo, etc.
  • Tarjetas inteligentes que guardan información de los certificados de un usuario.
  • Métodos clásicos basados en contraseña.
  • Por ejemplo, para ingresar a Mercado Libre nos autenticamos a través del login (usuario y contraseña).

login

Autorización

La autorización es el proceso por el cual permitimos a alguien o a algo acceder a recursos privados.
Dentro de la autorización se deberá definir qué recursos y qué operaciones se pueden realizar ya que no es lo mismo otorgar permisos de sólo lectura, que lectura y escritura.

¿Cómo logramos la autorización? A través del Protocolo OAuth 2.0, uno de los más utilizados en plataforma abiertas (Twitter, Facebook, etc.) y método seguro para trabajar con recursos privados.

OAuth nos brinda:

  • Confidencialidad, el usuario no deberá revelar su clave en ningún momento.
  • Integridad, sólo podrán ver datos privados aquellas aplicaciones que tengan el permiso de hacerlo.
  • Disponibilidad, los datos siempre estarán disponibles en el momento que se necesiten.

Dentro de este protocolo existen 4 modos de funcionamiento posibles denominados Grant Types:

– The Authorization Code Grant Type (Server Side)
– The Implicit Grant Type (Client Side)
– The Password Credentials Grant Type
– The Client Credentials Grant Type

Si bien cada uno de ellos es utilizado para diferentes propósitos dependiendo del servicio que se está construyendo a continuación sólo explicaremos los dos primeros ya que son los que te permitirán trabajar con nuestros recursos y generar herramientas para todos los usuarios de Mercado Libre.

Client-side

El flujo de autorización Client side es el adecuado para las aplicaciones que ejecutan código del lado del cliente, por ejemplo aplicaciones desarrolladas en lenguaje javascript/ajax, Angular o aplicaciones mobile.
Para conocer más detalles sobre este flujo te sugerimos ir al tutorial “Autorización Client-Side

Server-side

El flujo de autorización Server side es 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.

Nota: Esta opción te será de utilidad para aplicaciones que ejecutan cron jobs para actualizar stock de productos u operar sin que un usuario esté interactuando directamente con la aplicación.
Si deseas conocer más detalles sobre este flujo te sugerimos ir al tutorial “Autorización Server-Side

¡Obtén tu access_token!

Introduzca el ID de la aplicación que acaba de crear:

*Please enter a valid Application ID
Información del usuarioJSON Response

-

Uso de nuestros SDK

Mediante el uso de nuestros SDKs el proceso de autorización será más simple ya que te ahorrará la codificación de todo el protocolo OAuth de cero.
¡Nuestra comunidad ya los está utilizando!
Ofrecemos SDK para:

Si descubres una mejora o sugerencia puedes brindarla a la comunidad generando un Pull Request dentro de nuestro repositorio GitHub.

Consideraciones

Validez y expiración de tokens
Cuando obtienes un access_token, será válido de inmediato y se podrá utilizar para realizar solicitudes a la API durante un período limitado de 6 horas.
Existen eventos que pueden invalidar un access_token antes del tiempo de expiración. Por ejemplo: cambio de contraseña por parte del usuario, la actualización del App Secret por parte de una aplicación y, por supuesto, la revocación de permisos a tu aplicación por parte del usuario.

Referencia de códigos de error

ErrorMensaje de errorPosible solución
invalid_client

client_id o client_secret inválido.

El client_id y/o client_secret provisto es inválido.Controla la información de tu aplicación y verifica los parámetros client_id y client_secret
invalid_grant

Para crear un access token el usuario {0} debe tener una sesión activa o tu aplicación debe solicitar autorización para el alcance offline_access.

El otorgamiento de la autorización provista es inválido, expiró, fue revocado o no coincide con el URI de redireccionamiento utilizado en la solicitud de autorización.Verifica que el parámetro redirect_uri sea el mismo configurado en tu aplicación (Administrador de Aplicaciones); si esto no resuelve el problema, realiza una nueva solicitud para obtener un código nuevo.
invalid_grant

Error en la validación del otorgamiento. Es posible que tu código de autorización o refresh token haya expirado o que ya haya sido utilizado.

Expiró o ya fue utilizado.Realiza una nueva solicitud para obtener un nuevo código o refresh_token.
invalid_grant

El client_id no coincide con el original.

El ID de cliente no coincide.No se encontró el parámetro client_id; para obtener tu client_id, consulta tu aplicación (Administrador de Aplicaciones).
invalid_grant

El redirect_uri no coincide con el original.

El URl de redireccionamiento no coincide con el original.El parámetro redirect_uri no es el mismo configurado en tu aplicación; para obtener un redirect_uri, consulta tu aplicación (Administrador de Aplicaciones)
invalid_scope

Alcance inválido.

El alcance solicitado es inválido, desconocido o está mal formado.Los valores permitidos para el parámetro alcance son: “offline_access”,”write”,”read”.
invalid_request

Cantidad incorrecta de parámetros con valores duplicados.

La solicitud no incluye un parámetro obligatorio, incluye un parámetro o valor de parámetro no soportado o está mal formada de otro modo.Verifica que los parámetros enviados sean válidos y no estén duplicados.
unsupported_grant_type

Tipo de otorgamiento no soportado: ${0}.

El server de autorización no soporta el tipo de otorgamiento.Los valores permitidos para grant_type son “authorization_code” o “refresh_token”.
forbidden

La llamada no autorizada acceder a este recurso.

La llamada no autoriza el accesoSe está utilizando el token de otro usuario.


Siguiente:
Consulta usuario.


Artículos relacionados:
Server side
Client side

Por favor califica del 1 al 5

Sincroniza y modifica publicaciones

Una vez que tienes publicaciones activas en nuestro marketplace, es probable que debas actualizarlas y modificarlas en forma periódica para sincronizar el stock con otras plataformas con las que trabajas, pausar publicaciones, mejorar descripciones, actualizar precios, etc.
Sigue esta guía para aprender cómo hacerlo.

Contenidos:

Consideraciones

No todos los campos se pueden actualizar y esto cambiará si el artículo tiene ventas o no. Además, recuerda que tu artículo debe estar activo para poder modificarlo. Puedes modificar los valores para:

  • Título
  • Available_quantity
  • Precio
  • Video
  • Imágenes
  • Descripción*
  • Envío

*No es posible modificar, sólo agregar un post.
Cuando el artículo tiene ventas, no podrás cambiar ninguno de los siguientes campos del mismo:

  • Estado
  • Modo de compra
  • Métodos de Pago distintos de MercadoPago
  • Garantía

También recuerda que:

  • La categoría no se puede modificar a través de la API.
  • El tipo de publicación se puede modificar solo una vez.

Actualiza tu artículo

Veamos un ejemplo básico de actualización del título y el precio de un artículo. Lo único que necesitas es el item_id del producto publicado y, por supuesto, el access_token del vendedor.

Ejemplo:

curl -X PUT -H "Content-Type: application/json" -H "Accept: application/json" -d
{
  "title": "Your new title",
  "price": 1000
}
https://api.mercadolibre.com/items/ITEM_ID?access_token=YOUR_ACCESS_TOKEN

Bien: el título y precio de tu artículo fueron actualizados y deberías recibir un estado de respuesta con código 200 OK para confirmar que no hubo inconvenientes.
Recuerda que puede tardar un momento hasta ver la información actualizada.

Descripciones

Es muy fácil actualizar una descripción y lo puedes hacer independientemente de que el artículo tenga o no ofertas. Pero como existen ciertas consideraciones que debes recordar al agregar o reemplazar descripciones, consulta nuestro artículo sobre descripciones para asegurarte de entenderlo bien.

Imágenes

Siempre puedes agregar o reemplazar imágenes de artículos; consulta nuestro tutorial Trabajar con imágenes para conocer la mejor forma de hacerlo.

Tipos de publicación

Cuando quieres más exposición para tu artículo, debes actualizar el tipo de publicación. Conoce los detalles y consideraciones y aprende cómo realizar una actualización en nuestro tutorial Tipos y actualización de publicaciones.

Cambiar los estados de las publicaciones

Cualquier artículo publicado en nuestro marketplace puede tener diferentes estados; analiza la descripción de cada uno a continuación:


cerrado: Finaliza tu publicación. Una vez cerrado, no se puede volver a activar, pero se puede volver a publicar.
Ejemplo:

curl -X PUT -H "Content-Type: application/json" -H "Accept: application/json" -d
{
  "status":"closed"
}
https://api.mercadolibre.com/items/ITEM_ID?access_token=YOUR_ACCESS_TOKEN



pausado: Pausa tu publicación. Una vez pausado, no será visible para otros usuarios de MercadoLibre, pero no se cerrará y se podrá reactivar más tarde.
Ejemplo:

curl -X PUT -H "Content-Type: application/json" -H "Accept: application/json" -d
{
  "status":"paused"
}
https://api.mercadolibre.com/items/ITEM_ID?access_token=YOUR_ACCESS_TOKEN



activo: Reactiva un artículo previamente pausado.
Ejemplo:

curl -X PUT -H "Content-Type: application/json" -H "Accept: application/json" -d
{
  "status":"active"
}
https://api.mercadolibre.com/items/ITEM_ID?access_token=YOUR_ACCESS_TOKEN

Nota: Recuerda que el valor distingue entre mayúsculas y minúsculas y se debe enviar en minúscula.

Si actualmente tu artículo está cerrado y quieres volver a publicarlo, consulta nuestro artículo sobre volver a publicar para hacerlo rápido.
Para más información sobre el estado del artículo, por favor consulta el artículo sobre el ciclo de vida de las publicaciones.

Flujo de estados de las publicaciones

Active: La publicación se encuentra activa y tiene la posibilidad de recibir ofertas o preguntas. Puede cambiar la exposición de la publicación (upgrade de listing type).

Payment required: Este caso se da cuando un usuario con deuda o baja política de crédito realiza una publicación y se reactiva automáticamente una vez que el usuario realiza el pago.

Under Review: El ítem se encuentra bajo revisión por Mercado Libre por los siguientes motivos:

  • warning: ítem que sigue activo, pero tiene una corrección pendiente por parte del usuario. Si no se corrige en 2 días pasa a waiting_for_patch.
  • waiting_for_patch: ítem oculto hasta que el usuario corrija la infracción reportada.
  • held: ítem oculto a la espera de una moderación manual por parte de Mercado Libre.
  • pending_documentation: ítem oculto hasta que el usuario presente la documentación solicitada.
  • forbidden: ítem dado de baja por moderación.

Nota: Si tienes dudas con respecto a este estado te sugerimos que lo revises con tu asesor comercial o en MyML.

Paused: Ser puede dar de forma automática (out of stock) o por decisión del usuario.

  • out of stock: el ítem fue pausado por falta de stock y será activado automáticamente cuando sea repuesto.

Nota: El ítem se verá pausado en la VIP y no podrá recibir ofertas.

Closed: Este es el estado final del ítem y se puede dar por las siguientes causas:

  • waiting for patch
  • held
  • expired: se alcanzó la fecha de finalización de la publicación (end_time) y aún tiene stock.
  • deleted: se agrega cuando el ítem está cerrado y el seller decide eliminarlo. O cuando el ítem expira y se republica automaticamente.
  • suspended
  • freezed

Nota: Ten en cuenta que luego de un periodo de tiempo, los ítems finalizados dejaran de mostrarse para ser consultados.

Inactive: Si no se realiza la corrección necesaria para salir del estado under review el ítem pasa a inactive. La corrección se puede encontrar en la cuenta del usuario en la sección de ventas en la solapa de publicaciones “revisar”.

Elimina publicaciones

Después de eliminar una publicación no hay vuelta atrás; por eso, ten cuidado cuando realizas esta acción. Además, recuerda que no es necesario eliminar los artículos cerrados porque serán descartados automáticamente después de cierto tiempo.
Si aún necesitas eliminar un artículo, por ejemplo artículos en estado: payment_required que no responderán al estado ‘cerrado’, deberás realizar los siguientes PUTs:

Ejemplo:
Primer paso

curl -X PUT -H "Content-Type: application/json" -H "Accept: application/json" -d
{
"status": "closed"
}
https://api.mercadolibre.com/items/ITEM_ID?access_token=YOUR_ACCESS_TOKEN

Segundo paso

curl -X PUT -H "Content-Type: application/json" -H "Accept: application/json" -d
{
"deleted":"true"
}
https://api.mercadolibre.com/items/ITEM_ID?access_token=YOUR_ACCESS_TOKEN

Notas:

  • En caso que al hacer el segunda PUT obtengas el error:
  • message: item optimistic locking
    error: conflict
    status: 409
    cause: array(0)
    Se debe a que deberás esperar unos segundos hasta que se actualice la información.

  • Una vez eliminada la publicación se continuará viendo en la VIP por un período de tiempo corto bajo la leyenda “publicación finalizada”.

¡Eso es! Tu artículo será eliminado.

Actualiza el stock

Actualizar el stock de un artículo es muy fácil. Solo debes agregar el valor en el campo “available_quantity” teniendo en cuenta los siguientes puntos:

  • Al hacer PUT del available_quantity con 0 cambiará el estado a “paused” con sub estado out_of_stock.
  • Al hacer PUT del available_quantity con 0 y el sub estado es out_of_stock cambiará el estado a activo sin sub estado out_of_stock.

Nota: Este cambio es posible hacerlo tanto en ítems como en variaciones de un ítem.

¿Dónde está posible esta funcionalidad?

Los sites que soportan pausado automático con stock 0 son MLB, MLA, MLM, MLC, MPE, MLV.
Ejemplo:

curl -X PUT -H "Content-Type: application/json" -H "Accept: application/json" -d
{
  "available_quantity": 6
}
https://api.mercadolibre.com/items/ITEM_ID?access_token=YOUR_ACCESS_TOKEN

Fácil. Puedes consultar tu publicación y ver el stock actualizado.



Siguiente:
Gestiona contactos y visitas.

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,http://developers.mercadolibre.com/es/gestiona-tus-aplicaciones/?preview=true
  "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 los 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 la autorización 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={...}

La respuesta debería ser:

{
   	"user_id":"{user_id}",
   	"app_id":"{app_id}",
   	"msg":"Autorización eliminada"
}

Por favor califica del 1 al 5

Envío gratis

Los vendedores que utilizan el módulo de envío MercadoEnvíos, modo 1 o modo 2, pueden publicar artículos y ofrecer uno de los métodos de envío gratis.
Este tipo de envío tiene algunos beneficios: es una experiencia de compras superior para el comprador, aparece resaltada en los resultados de búsqueda y los compradores pueden filtrar publicaciones que ofrecen envío gratis.
Recientemente implementamos algunos cambios en la API y en la estructura JSON de los artículos al incorporar la posibilidad de configurar reglas para la opción free_shipping. Ahora, los vendedores brasileños con ME pueden excluir las regiones norte y noreste cuando incluyen free_shipping en sus artículos, si así lo desean. Esto es posible gracias a la regla ‘exclude_regions’. Otros sites solo pueden utilizar la regla ‘país’, es decir que si incluyen envío gratis en sus artículos, se aplica a todo el país.

Contenidos:

Modos de envío

curl https://api.mercadolibre.com/users/{user_id}/shipping_modes?category_id={category_id}

Este recurso devolverá la configuración de envío disponible al vendedor para una categoría específica.

Respuesta:

http://developers.mercadolibre.com/free-shipping/
{
"mode": "me2",
 "shipping_attributes": {
   "costs": "not_allowed",
   "dimensions": "clear",
   "free": {
      "methods": "optional",
  	"accepted_methods": [100009,182],
  	"rules": [{
         "free_mode":"exclude_region",
     	"value": [’BR-NO’, ’BR-NE’],
     	"default": true,
     	"free_shipping_flag": false
  	},{
     	"free_mode":"country",
     	"value": null,
     	"default": false,
     	"free_shipping_flag": true
  	}]
   }
}

Calcula los costos de envío gratis

Sites

Calcula los costos de envío gratis por site y dimensión del producto

Ejemplo:

curl -X GET https://api.mercadolibre.com/sites/MLM/shipping_options/free?dimensions=2x11x25,500

Respuesta:

{
"coverage": {
"all_country": {
"list_cost": 97,
"currency_id": "MXN"
}
}
}

Usuarios y productos

En México ofrecemos a los vendedores la opción de tarifa plana única. Cuando no se especifican las dimensiones del producto, el cálculo se realiza en base a las dimensiones estándares de la categoría.
Conoce las dimensiones estándares para una categoría determinada

Ejemplo:

curl -X GET https://api.mercadolibre.com/categories/MLM165702/shipping

Respuesta:

{
  "category_id": "MLM1055",
  "height": 10,
  "width": 10,
  "length": 15,
  "weight": 500
}

Calcula los costos de envío gratis por usuario y dimensiones del producto

Ejemplo:

curl -X GET https://api.mercadolibre.com/users/4422224/shipping_options/free?dimensions=10x10x10,500

Respuesta:

{
"coverage": {
"all_country": {
"list_cost": 97,
"currency_id": "MXN"
}
}
}

Calcula los costos de envío gratis por usuario e item_id

Ejemplo:

curl -X GET https://api.mercadolibre.com/users/4422224/shipping_options/free?item_id=MLM531425223
{
"coverage": {
"all_country": {
"list_cost": 97,
"currency_id": "MXN"
}
}
}

Calcula los costos de envío gratis por artículo

Ejemplo:

curl -X GET https://api.mercadolibre.com/items/MLB739217081/shipping_options/free

Respuesta:

{
"coverage": {
"all_country": {
"list_cost": 14.02,
"currency_id": "BRL"
}
}
}

Utiliza multiget para calcular el costo del envío gratis de hasta 50 productos en una sola llamada a la API:

Ejemplo:

curl -X GET curl -X GET https://api.mercadolibre.com/items/shipping_options/free?ids=MLM531425223,MLM537956425,MLM537955922

Respuesta:

{
"MLM537955922": {
"coverage": {
"all_country": {
"list_cost": 140,
"currency_id": "MXN"
}
}
},
"MLM531425223": {
"coverage": {
"all_country": {
"list_cost": 97,
"currency_id": "MXN"
}
}
},
"MLM537956425": {
"coverage": {
"all_country": {
"list_cost": 105,
"currency_id": "MXN"
}
}
}
}

Productos con envío gratis

curl https://api.mercadolibre.com/items/{item_id}

En el producto verás que reemplazamos los “métodos” de propiedad por “free_methods” cuando “free_shipping” es verdadero. De acuerdo con free_methods, tendrás el ID del método y la “regla”.
En la sección “reglas”, deberás especificar si deseas excluir o no regiones en “free_mode”. Si configuras “free_mode”:”exclude_region”, debes enviar los valores, que por ahora serán ‘BR-NO’ y ‘BR-NE’.

{
   "shipping":{
  	"mode":"me2",
  	"local_pick_up":true,
  	"free_shipping":true,
  	"free_methods":[
     	{
        	"id":182,
        	"rule":{
                "free_mode":"exclude_region",
                "value":[’BR-NO’, ’BR-NE’]
         	}
     	},
  	],
  	"dimensions":null
   }
}

Ofrece el modo free_shipping para todo el país

Ejemplo:

{
"title": "Titulo del item",
...
"shipping": {
	"mode": "me2",
	"local_pick_up": false,
	"free_methods": [
    	{
        	"id": 100009,
        	"rule": {
            	"free_mode": "country",
            	"value": null
        	}
    	}
	]
}
}

Ofrece free_shipping excluyendo regiones

Ejemplo:

{
	"shipping": {
    	"free_methods": [
        	{
            	"id": 182,
            	"rule": {
                	"free_mode": "exclude_region",
                	"value": [
                        "BR-NO",
                    	"BR-NE"
                	]
            	}
        	}
    	}
	],
	
}

Ofrece free shipping para envíos personalizados

Para países donde Mercado Envíos se encuentra activo sólo podrás agregar envíos custom gratis en categorías que no acepten ME.

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

Por favor califica del 1 al 5

Mercado Envíos modo 2

Ya conoces algunas de las particularidades de optar por Mercado Envíos 2. Este tutorial te ayudará a publicar un producto con este modo y manejar todo el proceso de envío utilizando los recursos de nuestra API.

Contenidos:

Opta por ME2

Si deseas utilizar Mercado Envios modo 2, puedes activarlo. Por favor, consulta estos links:
Argentina: http://envios.mercadolibre.com.ar/
Brasil: http://envios.mercadolivre.com.br/
Colombia: http://envios.mercadolibre.com.co/
México: http://envios.mercadolibre.com.mx/
Chile: http://envios.mercadolibre.cl/

Ofrece ME2 en tus productos

Una vez que optas por trabajar con ME, puedes agregar la opción a tus artículos. Cuando un comprador adquiera tu producto, necesitará ingresar una dirección al terminar y salir [checkout] y pagar el producto con los costos de envío incluidos.
Realizaremos el seguimiento del paquete y nos aseguraremos de que llegue al destino correcto.
El dinero del pago estará disponible en tu cuenta dos días después de la entrega exitosa.
Podrás agregar envío gratis a tus artículos y esto impulsará tus publicaciones en la búsqueda.

Publicar un producto con ME2 es muy fácil: solo publica un artículo de la forma habitual, incluyendo me2 en el conjunto de envío.
Ejemplo:

 curl -X POST -H "Content-Type: application/json" -d '{
	"title": "Item de teste",
	"category_id": "MLA91727",
	"price": 1200,
	"currency_id": "ARS",
	"available_quantity": 2,
	"buying_mode": "buy_it_now",
	"listing_type_id": "bronze",
	"condition": "new",
	"description": "test",
	"pictures": [
    	{
        	"source": "http://upload.wikimedia.org/wikipedia/commons/f/fd/Ray_Ban_Original_Wayfarer.jpg"
        },
    	{
        	"source": "http://en.wikipedia.org/wiki/File:Teashades.gif"
    	}
	],
   "shipping": {
   "mode": "me2",
   "local_pick_up": false,
   "free_shipping": false,
   "free_methods": []
 }
}' https://api.mercadolibre.com/items?access_token=$ACCESS_TOKEN

Envío gratis

Los vendedores pueden publicar sus productos ofreciendo uno de los métodos de envío gratuito y Mercadolibre le cobra al vendedor el costo de envío. Conoce los detalles y cómo publicar con envío gratis.

Costos de envío y handling time calculator

En nuestro Marketplace, los vendedores tendrán un calculador de envíos en la página descripción de artículos; por eso, los compradores conocerán el costo de envío y el tiempo de manipulación estimado.
Puedes utilizar nuestros recursos para calcularlo en base a la información que tienes.

Imprime etiquetas de envío

Una etiqueta prepaga es un archivo PDF a utilizar en la entrega de tu producto. Ya fue pagado por el comprador cuando terminó el flujo de compra [checkout]. Una vez que el comprador pagó el pedido, deberás imprimir la etiqueta prepaga.
Para poder obtener una etiqueta, el estado de los envíos debe ser ready_to_ship (revisa más adelante cómo consultar el estado del envío). Eso significa que el pago fue procesado y la etiqueta prepaga está disponible para el vendedor.
La API para obtener una etiqueta, o una serie de etiquetas, recibe una lista de los ID de envío y un access token y devuelve las etiquetas en el formato de tu preferencia. Las opciones son PDF o ZPL.
Para obtener la etiqueta de envío en formato PDF, realiza la siguiente llamada:

 https://api.mercadolibre.com/shipment_labels?shipment_ids=20178600648,20182100995&response_type=pdf&access_token=

La respuesta será un archivo PDF con una o más etiquetas de envío prepago listas para imprimir.

Si deseas las etiquetas de envío en formato ZPL, debes cambiar el response_type=pdf a response_type=zpl2 en la solicitud GET que realizas a la API.

Ejemplo:

 https://api.mercadolibre.com/shipment_labels?shipment_ids={shipping_id}&response_type=zpl2&access_token={access_token}

Este recurso devuelve un archivo ZIP. Este ZIP incluye un PDF con el PLP y un archivo TXT. Ahora puedes imprimir el archivo TXT desde tu impresora Zebra.

Impresora térmica Zebra (solo para Mercadolibre Colombia)

Si trabajas en Mercadolibre Colombia (MCO), existe otro formato de impresión disponible: las impresoras térmicas Zebra. Puedes acceder al mismo con la siguiente llamada:

 /shipment_labels?shipment_ids={shipping_id}&response_type=thermal_pdf&access_token={access_token}

La configuración del papel debe ser 100 x 213 milímetros.
Nota: Si tu sistema operativo es Microsoft Windows, utiliza el driver: Driver Genérico Solo Texto.
autorizacao

Consideraciones sobre los tipos de etiquetas por site

Tipo de impresiónImpresoraSites disponiblesTipo de respuestaSalida
PDFImpresora común
  • Argentina (MLA)
  • México (MLM)
  • Brasil (MLB)
  • Colombia (MCO)
  • Chile (MLC)
response_type=pdfetiqueta pdf
ZPL2Impresora térmica
  • Argentina (MLA)
  • México (MLM)
  • Brasil (MLB)
  • Chile (MLC)
response_type=zpl2archivo zip con la etiqueta en formato txt y resumen de impresión en formato pdf
Terminal PDFImpresora a términa
  • Colombia (MCO)
response_type=thermal_pdfetiqueta PDF

Estado del envío

El estado del envío puede variar en el pedido dependiendo del modo de envío seleccionado para el producto. Para modos que soportan seguimiento automático y monitoreo de los números de seguimiento, nosotros actualizaremos el estado del envío, mientras que para otros modos de envío, tú serás responsable de enviar un número de seguimiento y actualizar el estado del envío. Si bien no es obligatorio, te sugerimos que lo hagas para mejorar tus posibilidades de recibir mejor feedback de los compradores.
Estado:
Pending (pendiente)
El envío se crea con este estado.
handling (en manejo)
El pago para este envío fue recibido.
ready_to_ship (listo para envío)
Se recibió el código de autorización del transportista.
shipped (enviado)
El transportista informó el despacho del envío.
delivered (entregado)
El transportista informó la llegada del envío.
not_delivered (no entregado)
El transportista no pudo entregar el paquete.
cancelled (cancelado)
El envío fue cancelado.

Consideraciones

Los envíos con Mercado Envíos vienen por defecto en las publicaciones de la categoría R $ 30 cuando el servicio está disponible.
En todos los casos, el vendedor puede agregar a la publicación la posibilidad de entrega del producto en mano.
No habrá cambios en las publicaciones inferiores a R $ 30 o en las categorías en las que el servicio no esté activo.

Por favor califica del 1 al 5

Envío de productos

El departamento de envíos de Mercadolibre maneja toda la información relativa a cómo pasa un producto de un usuario a otro.

Contenidos:

Modos de envío

En pocas palabras, las publicaciones en MercadoLibre cuentan con 4 modos de envío diferentes (por favor consulta los modos disponibles en tu país):

  • not_specified (no especificado): Significa que el vendedor no especificó ningún precio de envío para sus artículos y el comprador debe ponerse en contacto con el vendedor para acordar una opción de envío y el precio de la compra.
  • custom (personalizado): Los vendedores pueden incluir una tabla con hasta 10 costos de envío en un artículo y el comprador debe entregar ese número al terminar y salir [checkout] del proceso.
  • me1: (Mercado Envios modo 1) Este método ofrece un calculador de envíos para calcular el costo de envío de cada pedido y permitir que el vendedor seleccione el servicio de envío de su preferencia, pero eligiendo un transportista. El vendedor se encarga de administrar el número de seguimiento.
  • me2 (Mercado Envios modo 2) Este método ofrece al vendedor una etiqueta prepaga y un código numérico de seguimiento con un transportista local predefinido en cada país. El vendedor no tiene que preocuparse de elegir un transportista ni de manejar el número de seguimiento. Es el modo más recomendado porque ofrece una experiencia excelente tanto para compradores como para vendedores. ML elige la empresa de transporte.

Especificaciones de cada país

BrasilArgentinaMéxicoColombiaChile
Modes

ME2, ME1, custom, not_specifiedME2, ME1, custom, not_specifiedME2, custom, not_specifiedME2, custom, not_specifiedME2, custom, not_specified
Envío gratisSiSiSiSiSi
Exclusión regional para Envío GratisSí, Norte y NordesteNoNoNoNo
TransportistaCorreiosOcaDHLServiEntregaChilexpress
Restricciones sobre las dimensiones(C) Mínimo 16cm Máximo 105cm – (L) Mínimo 11cm Máximo 105cm – (A) Mínimo 2cm Máximo 105 cmSin restricciones250,250,250cm40x40x40cm80x80x120cm
Peso máximo30kg25kg70kg30kg50kg

Notas:

  • Mercado Envios modo 2 se encuentra disponible para vendedores de Argentina, Brasil, Colombia y México que desean optar por participar en el programa.
  • Mercado Envios modo 1 solo se encuentra disponible para vendedores seleccionados de Argentina y Brasil que llegaron a un acuerdo comercial con MercadoLibre y están integrados.

¿Cómo averiguo el modo de un usuario?

Puedes consultar si el usuario ya tiene autorización para publicar con modo de envío ME1 o ME2 con una solicitud GET a la API del usuario.

GET https://api.mercadolibre.com/users/:user_id?access_token=

Esto devolverá gran cantidad de información sobre el usuario autenticado, incluido el atributo shipping_modes.
Respuesta:

"shipping_modes":[
	"custom",
	"not_specified",
	"me1"
]

Además, existen algunas restricciones en ciertas categorías. Utiliza el recurso de shipping_modes para verificar si un comprador puede publicar un artículo con envío me2 para una categoría determinada. La respuesta indica si se encuentra disponible el modo me2 y los métodos de envío que se pueden utilizar.
URL

https://api.mercadolibre.com/users/:user_id/shipping_modes?category_id=MLB39373

Respuesta:

[
  {
	"mode": "custom",
	"shipping_attributes": {
  	"dimensions": "optional",
  	"costs": "required",
  	"free": {
    	"methods": "not_allowed",
    	"accepted_methods": [
    	],
    	"rules": [
    	]
  	},
  	"local_pick_up": "optional"
	}
  },
  {
	"mode": "not_specified",
	"shipping_attributes": {
  	"dimensions": "optional",
  	"costs": "not_allowed",
  	"free": {
    	"methods": "not_allowed",
    	"accepted_methods": [
    	],
    	"rules": [
    	]
  	},
  	"local_pick_up": "optional"
	}
  },
  {
	"mode": "me2",
	"shipping_attributes": {
  	"dimensions": "optional",
  	"costs": "not_allowed",
      "free": {
    	"methods": "optional",
    	"accepted_methods": [
      	73328,
      	73330
    	],
    	"rules": [
      	{
        	"free_mode": "country",
        	"value": null,
        	"default": true,
        	"free_shipping_flag": true
      	}
    	]
  	},
  	"local_pick_up": "optional"
	}
  }
]

Los usuarios pueden publicar envío “no especificado” y “personalizado” por defecto. Si un usuario está identificado con el modo me1 o me2, puedes verlo como opción en los modos de envío.

Preferencias de envío

También existe un recurso público que te permitirá conocer las preferencias de envío de cualquier usuario si lo necesitas. Simplemente, realiza la siguiente llamada:

curl -X GET https://api.mercadolibre.com/users/:user_id/shipping_preferences
{
    "custom_calculator": false,
    "free_configurations": [
    	{
            "condition": {
                "type": "all",
                "value": null
        	},
            "rule": {
        	    "default": true,
                "free_mode": "country",
                "value": null
        	}
    	},
    	{
            "condition": {
                "type": "all",
                "value": null
        	},
            "rule": {
                "default": false,
                "free_mode": "exclude_region",
                "value": [
                    "BR-NO",
                    "BR-NE"
                ]
        	}
    	}
	],
    "local_pick_up": false,
	"mandatory_mode_for_user": [],
    "modes": [
        "custom",
        "not_specified",
        "me2"
	],
    "option": "in",
    "picking_type": null,
    "services": [
    	21,
    	22,
    	23
	],
    "site_id": "MLB",
    "thermal_printer": null,
    "trusted_user": false
}

Podrás consultar la configuración del envío gratis (más adelante presentaremos mayor información), modos, etc.

Métodos de envío

Cada site cuenta con un conjunto de métodos de envío disponibles. Presentan diferentes tiempos y costos de envío. Los vendedores pueden ofrecer envío gratis en uno o ambos métodos.
Existe un recurso especial para ver los métodos disponibles por site.
URL para Brasil

https://api.mercadolibre.com/sites/MLB/shipping_methods

Respuesta JSON:

{
	"id": 500645,
	"name": "Expresso",
	"status": "active",
	"site_id": "MLB",
	"free_options": [
    	"country"
	]
},
{
	"id": 501548,
	"name": "CBT MLB",
	"status": "active",
	"site_id": "MLB",
	"free_options": [
 	   "country"
	]
},
{
	"id": 100009,
	"name": "Normal",
	"status": "active",
	"site_id": "MLB",
	"free_options": [
    	"country"
	]
},
{
	"id": 182,
	"name": "Expresso",
	"status": "active",
	"site_id": "MLB",
	"free_options": [
    	"country"
	]
}

Respuesta:

  • id – El ID del método de envío se utiliza al publicar un artículo con envío.
  • name (nombre) – Nombre del método de envío.
  • site_id – El ID del sitio al que pertenece el método de envío.
  • free_options (opciones gratis),

Estado del envío

El estado del envío puede variar en el pedido dependiendo del modo de envío seleccionado para el producto. Para modos que soportan seguimiento automático y monitoreo de los números de seguimiento, como con Mercado Envios modo 2 y modo 1 en ciertas configuraciones, nosotros actualizaremos el estado del envío, mientras que para el modo de envío personalizado y otras configuraciones de Mercado Envios modo 1, tú serás responsable de enviar un número de seguimiento y actualizar el estado del envío. Si bien no es obligatorio, te sugerimos que lo hagas para mejorar tus posibilidades de recibir mejor feedback de los compradores.
Estado:
to_be_agreed (a convenir)
El envío se acordará entre el vendedor y el comprador.
pending (pendiente)
Los envíos se crean con este estado.
handling (en manejo)
El pago para este envío fue recibido.
ready_to_ship (listo para envío)
Se recibió el código de autorización del transportista.
shipped (enviado)
El transportista informó el despacho del envío.
delivered (entregado)
El transportista informó la llegada del envío.
not_delivered (no entregado)
El transportista no pudo entregar el paquete.
cancelled
El envío fue cancelado.

Introducción a Mercado Envios

Mercado Envios es nuestra unidad de negocios que ayuda a los vendedores con numerosas facilidades para enviar sus productos; actualmente se encuentra activo en MLA, MLB, MLM, MLC y MCO. Como especificamos más arriba, existen dos opciones de Mercado Envios que puedes elegir: modo 1 y modo 2.

Diferencias entre ME1 y ME2

ME1ME2
Ideal para grandes vendedores que ya trabajan con un transportista de preferencia y tienen un proceso que se encarga de calcular costos de envío, cobrar los pagos e imprimir las etiquetas de envío con la información de venta y envío.La mejor opción para vendedores medianos y grandes que necesitan un intermediario para tratar con el transportista; ayuda al vendedor y al comprador a realizar el seguimiento del producto, calcula los costos de envío y se encarga de todo el proceso de envío, cobranza de pagos e impresión de etiquetas de envío con toda la información de venta y envío.
Solo en MLA, MLC y MLB.Solo en MLA, MLB, MLM, MLC y MCO.
Los vendedores seleccionan el transportista.Tenemos acuerdos con los transportistas más confiables de cada país y ofrecemos a los vendedores etiquetas de envío prepagas.
Los vendedores entregan las dimensiones del paquete o utilizan las dimensiones estándares de la categoría.Los vendedores trabajan con las dimensiones estándares de cada categoría.
Calculamos y fijamos los costos de envío en base al origen, destino y dimensiones del paquete.Calculamos y fijamos los costos de envío en base al origen, destino, precio del artículo y dimensiones del paquete.
El vendedor recibe el pago cobrado por el envío de inmediato y se encarga del pago de la etiqueta y del transportista.Nos encargamos de cobrar el dinero y pagar por el envío.
Soporta envío gratis. El vendedor se encarga del envío del producto.Soporta envío gratis. Te enviamos la factura para pagar los costos de envío del producto.
Los vendedores se encargan de realizar el seguimiento del producto e informar el estado del envío a los compradores.Realizamos el seguimiento del producto y actualizamos automáticamente el estado del envío para los vendedores y compradores.

No especificado

Al hacer un POST enviando Mercado Envío cuando la categoría no lo acepta y el usuario no lo tiene activo pero así mismo se agrega esta esta opción por defecto se publica el ítem como shipping modes “not_specified”.
Por otro lado, si no mandas información sobre el envío para el artículo se marcará como “not_specified” por defecto. Además, si no existen modos que soporten las dimensiones de tu artículo, debes publicar bajo este modo.
Puedes realizar una llamada a nuestra API con tu user_id en la categoría donde deseas publicar y las dimensiones de tu artículo para conocer los modos de envío disponibles; si no se soportan las dimensiones, solo tendrás el modo “not_specified” en la respuesta.

Nota: Si la categoría tiene ME2 se ignorarán las dimensiones enviadas ya que se tienen en cueta las dimesiones establecidas en la categoría.

Ejemplo:

curl -X GET https://api.mercadolibre.com/users/:user_id/shipping_modes?category_id=MLB74723&dimensions=10x50x100,30001

Respuesta:

[
   {
      "mode":"not_specified",
  	"shipping_attributes":{
         "dimensions":"optional",
         "costs":"not_allowed",
     	"accepted_methods":[

     	]
  	}
   }
]

Retiro en el local

El atributo local_pick_up permite que los compradores tengan la opción de retirar el artículo de la tienda sin incurrir en costos de envío. Configura local_pick_up en true para los vendedores ofrezcan esta opción a los compradores.


Artículos relacionados



Siguiente:
Sincroniza publicaciones.

Por favor califica del 1 al 5

Recibe notificaciones

Algunos eventos se producen del lado de Mercado Libre y la única forma de conocerlos es a través de notificaciones.
Recibir notificaciones te permite tener un feed en tiempo real de los cambios que se producen en los diferentes recursos de nuestra la API.
Por ejemplo, si publicaste un artículo y más tarde fue pausado, si alguien formuló una pregunta, si compraron un artículo o incluso lo pagaron y/o solicitó envío.
¡Una manera eficiente sin tener que consultar permanentemente nuestra API!

Contenidos:

Suscríbete a las notificaciones

Si quieres comenzar a recibir notificaciones, debes dirigirte a nuestro administrador de aplicaciones, donde creaste tu aplicación por primera vez, editar los detalles y especificar los topics que recibirás.
Nota: Si aún no creaste tu Aplicación, dirígete a la sección Crea tu aplicación.
topicsconmensajeria

– Callback URL de Notificaciones: Configura el URL público del dominio donde quieres recibir notificaciones para los diferentes topics. Por ejemplo: “http://myshoes-app.com/callbacks”.

– Topics: Selecciona entre diferentes topics para recibir sus notificaciones.
Aclaración: Ten en cuenta que los topics orders, created_orders, payments y messaging no son utilizados para vehículos, inmuebles y servicios ya que no se generan ventas ni pagos.

Topics Disponibles

  • items – Recibirás notificaciones de cualquier cambio en un artículo que publicaste.

  • orders – Recibirás notificaciones de cualquier cambio que se realice en alguna de tus ventas confirmadas.

  • created_orders – Recibirás notificaciones de tus ventas recién creadas cuando ingresan por el flujo de Mercado Pago obligatorio.
    Sólo obtendrás datos del producto y cantidad de unidades ya que la compra aún no fue confirmada. No debes realizar ninguna acción hasta que no pase a “paid”.
    Sirve únicamente para reservar el stock, ya que si el comprador finalmente paga pero el item ya no tiene stock, el pago se devuelve automáticamente y se cancela la venta.
    Aclaración: Una vez que la orden esté paga, se comenzarán a enviar las notificaciones al igual que desde “orders”, por lo que sugerimos elegir sólo uno de los topics para evitar eventos duplicados.

  • questions – Recibirás notificaciones de todas las preguntas formuladas o respondidas.

  • payments – Recibirás notificaciones cuando se crea un pago en una orden o el estado del mismo cambia.

  • pictures – Recibirás notificaciones sólo de las imágenes que por algún error no van a poder descargarse.
    Nota: En paralelo se envía un e-mail automático al vendedor agrupando las imágenes que tuvieron problemas.

  • messaging – Recibirás notificaciones de los mensajes nuevos que se generen teniendo como destinatario su user_id.

Consideraciones

  • Los mensajes se enviarán y se reintentará enviarlos por un período de 12 horas. Después de ese período, si no son aceptados por la aplicación, serán descartados.
  • Como enviaremos un POST a tu URL, tu aplicación debe acusar recibo con un código de estado HTTP 200; de lo contrario, el mensaje será considerado no entregado y se reintentará enviarlo.
  • Tu aplicación debe enviar una respuesta en 20 segundos; de lo contrario, el límite de tiempo expirará, se considerará no entregada y se reintentará enviarla.

¿Qué eventos disparan notificaciones?

items

  • Cambios en cualquiera de los atributos.
  • Cambios en el estado: La publicación debe ser revisada por un operador y el estado se modifica a “under_review” o se pausa y el estado se modifica a “pausado”.

orders

    • Reducción de stock: Alguien compra uno de tus artículos y el stock se reduce. Se crea un nuevo pedido.
    • Pago: El comprador agrega un pago al pedido.
    • Envío: Existe nueva información de envío asociada al pedido o el estado del envío cambia a: pendiente, listo para imprimir, en tránsito, entregado, no entregado.
    • Feedback: El comprador te califica como vendedor o envías feedback al comprador. Se recibe un feed en el pedido.

Aclaración: orders está compuesto por bloques de otras apis, pero no todos los datos se muestran ya que no son necesarios. Esos bloques independientes pueden tener cambios, lo que genera eventos y posteriores notificaciones sobre la orden, aunque a veces no se vean cambios con respecto al json anterior.

created_orders

  • Llegará la notificación de created_orders cuando se crea una orden que ingresó por el flujo de Mercado Pago obligatorio. Sirve únicamente para reservar el stock.
  • El resto de las notificaciones una vez que está “paid” la orden, son las mismas que las del topic “orders”. Si están ambos seleccionados, llegan notificaciones de los dos topics.

questions

  • Recibes una nueva pregunta.
  • Respondes una pregunta.
  • Eliminas una pregunta que consideras inapropiada.

payments

  • Se genera un pago.
  • El estado del pago cambia.

pictures

  • Cuando alguna imagen por error no pudo descargarse.

messaging

  • Por cada mensaje nuevo que ingrese a la plataforma se publicará el topic que notificará al suscriptor.
  • Al enviar mensajes.
  • Cuando haya mensajes leídos.



Aclaración: En caso que recibas notificaciones que consideres duplicadas ten en cuenta que existen eventos internos que no son visibles al integrador pero disparan notificaciones.

Accede a los detalles

Después de recibir una notificación sobre un tema, deberás realizar una solicitud GET al recurso para acceder a los detalles y luego, si guardaste el JSON anterior, comparar ambos.

items

Notification response:

{
  "resource": "/items/MLB139876",
  "user_id": 1234,
  "topic": "items",
  "received": "2011-10-19T16:38:34.425Z",
  "sent" : "2011-10-19T16:40:34.425Z",
}

Con esta información podrás realizar un GET al recurso de ítems:

curl -X GET https://api.mercadolibre.com/items/{Item_id}?access_token=ACCESS_TOKEN

 

orders y created_orders

Notification response:

{
    "resource": "/orders/139876",
    "user_id": 1234,
    "topic": "orders",
    "received": "2011-10-19T16:38:34.425Z",
    "sent" : "2011-10-19T16:40:34.425Z",
}

Con esta información podrás realizar un GET al recurso de órdenes:

curl -X GET https://api.mercadolibre.com/orders/{Order_id}?access_token=ACCESS_TOKEN

 

questions

Notification response:

{
  "resource": "/questions/139876",
  "user_id": 1234,
  "topic": "questions",
  "received": "2011-10-19T16:38:34.425Z",
  "sent" : "2011-10-19T16:40:34.425Z",
}

Con esta información podrás realizar un GET al recurso de questions:

curl -X GET https://api.mercadolibre.com/questions/{Question_id}?access_token=ACCESS_TOKEN

 

payments

Notification response:

{
  "resource": "/collections/1780558484",
  "user_id": 149218964,
  "topic": "payments",
  "application_id": 2470,
  "attempts": 1,
  "sent": "2016 - 01 - 15 T18: 12: 31.313 Z ",
  "received": "2016 - 01 - 15 T18: 12: 31.299 Z "
}

Con esta información podrás realizar un GET al recurso de collections:

curl -X GET https://api.mercadolibre.com/collections/{Payment_id}?access_token=ACCESS_TOKEN

 

pictures

Notification response:

{
  "messages": [
    {
      "_id": "123aaa456bbb789ccc",
      "application_id": "1234",
      "user_id": "123456789",
      "resource": "/pictures/12345-MLA1234567-20160729/errors",
      "topic": "pictures",
      "sent": "2016-07-24T11:00:00.836Z",
      "received": "2016-07-24T11:00:00.836Z",
      "attempts": "2",
      "created_at": "2016-07-24T11:00:00.836Z"
    }
  ]
}

Con esta información podrás realizar un GET al recurso de picture:

curl -X GET https://api.mercadolibre.com/pictures/{picture_id}/errors?access_token=ACCESS_TOKEN

Deberás identificar por qué la imagen no se pudo procesar correctamente. Ver “Consideraciones y mejores prácticas para trabajar con imágenes

messaging

Notification response:

{
 	"resource": "3f6da1e35ac84f70a24af7360d24c7bc",
 	"user_id": "268897726",
 	"topic": "messages",
 	"application_id": 2219612378080430,
 	"attempts": 1,
 	"sent": "2017-08-17T12:59:44.164Z",
 	"received": "2017-08-17T12:59:44.131Z"
 }

Con esta información podrás realizar un GET al recurso de mensajes:

curl -X GET https://api.mercadolibre.com/messages/{RESOURCE}?access_token=ACCESS_TOKEN

Recurso historial de Feeds

Guardamos un registro de tu historial de notificaciones y puedes acceder al mismo en cualquier momento llamando a nuestro recurso myfeeds.
Ejemplo:

curl -X GET https://api.mercadolibre.com/myfeeds?app_id={App_id}

Respuesta:

{
  "messages": [
  {
    "_id": "123aaa456bbb789ccc",
    "application_id": "1234",
    "user_id": "123456789",
    "resource": "/orders/12345678",
    "topic": "orders",
    "sent": "2014-10-24T11:00:00.836Z",
    "received": "2014-10-24T11:00:00.836Z",
    "attempts": "2",
    "http_code": "400",
    "created_at": "2014-10-24T11:00:00.836Z"
  }
}
}

Nota: Ten en cuenta que por defecto sólo se mostrarán 10 notificaciones pero, puedes utilizar LIMIT y OFFSET para modificar la cantidad que quieres recibir tal como se muestra a continuación:

https://api.mercadolibre.com/myfeeds?app_id=(APP_ID)&offset=1&limit=5



Siguiente:
Califica automáticamente.

Por favor califica del 1 al 5

Publica Productos

Ahora que ya analizamos autenticación, usuarios y categorías, creemos que estás listo para realizar tu primera publicación. Sigue este tutorial para aprender cómo hacerlo.

Contenidos:

Puntos básicos

En la API de MercadoLibre, las publicaciones son artículos que contienen productos y otros atributos que puedes vender o comprar. Los usuarios no pueden intercambiar información de contacto de inmediato. Por eso, cada vez que existe la intención de comprar un producto, los compradores potenciales pueden formular tantas preguntas como deseen sobre el artículo y, cuando están listos, deben hacer una oferta por el producto del vendedor para que se cree un pedido tanto para el comprador como para el vendedor con el detalle de la transacción como venta o compra para cada uno. En ese momento la información de contacto se hace automáticamente visible entre esos usuarios.

Resultados de publicaciones

Cada artículo que publicas aparecerá en los resultados de publicaciones de la búsqueda de un producto determinado. Por ejemplo, cuando un usuario busca la consulta “ipod”, obtendrá como resultado una lista de todos los artículos relacionados. Tu artículo puede estar en esa lista.
Cuando alguien hace clic en un artículo, se muestra la página Detalles del artículo con toda la información sobre el artículo que fue ingresada al momento de la publicación.

Página detalles de publicaciones

Cuando un usuario selecciona un artículo del resultado, esta página muestra los siguientes detalles del artículo:

  • Item_id
  • Título
  • Categoría
  • Imágenes
  • Precio
  • Ciudad
  • Cantidad vendida
  • Preguntas
  • Reputación del vendedor
  • Descripción detallada
  • Campos del artículo

    Veamos un artículo común en detalle. Esto es fácil, porque solo debes conocer el item_id asociado al producto y, como es público, puedes obtenerlo en la página Detalles del artículo en la parte superior de la página, como en la imagen del ejemplo. Debes agregar el site_id antes del número y listo. Ahora puedes llamar al recurso Artículos para obtener toda la información relacionada:

    Llamada:

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

    Ejemplo:

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

    Respuesta:

    {
      "id": "MLA600190449",
      "site_id": "MLA",
      "title": "Iphone 6 64gb Space Gray Liberado",
      "subtitle": null,
      "seller_id": 118617944,
      "category_id": "MLA352543",
      "official_store_id": null,
      "price": 16550,
      "base_price": 16550,
      "original_price": null,
      "currency_id": "ARS",
      "initial_quantity": 2,
      "available_quantity": 2,
      "sold_quantity": 0,
      "buying_mode": "buy_it_now",
      "listing_type_id": "bronze",
      "start_time": "2016-01-13T18:10:29.000Z",
      "stop_time": "2016-03-13T18:10:29.000Z",
      "condition": "new",
      "permalink": "http://articulo.mercadolibre.com.ar/MLA-600190449-iphone-6-64gb-space-gray-liberado-_JM",
      "thumbnail": "http://mla-s1-p.mlstatic.com/873411-MLA20547233702_012016-I.jpg",
      "secure_thumbnail": "https://a248.e.akamai.net/mla-s1-p.mlstatic.com/873411-MLA20547233702_012016-I.jpg",
      "pictures": [
    	{
      	"id": "873411-MLA20547233702_012016",
          "url": "http://mla-s1-p.mlstatic.com/873411-MLA20547233702_012016-O.jpg",
      	"secure_url": "https://a248.e.akamai.net/mla-s1-p.mlstatic.com/873411-MLA20547233702_012016-O.jpg",
      	"size": "225x225",
      	"max_size": "225x225",
      	"quality": ""
    	},
    	{
      	"id": "234411-MLA20547233720_012016",
      	"url": "http://mla-s1-p.mlstatic.com/234411-MLA20547233720_012016-O.jpg",
      	"secure_url": "https://a248.e.akamai.net/mla-s1-p.mlstatic.com/234411-MLA20547233720_012016-O.jpg",
      	"size": "259x194",
      	"max_size": "259x194",
      	"quality": ""
    	},
    	{
      	"id": "768311-MLA20547233735_012016",
      	"url": "http://mla-s1-p.mlstatic.com/768311-MLA20547233735_012016-O.jpg",
      	"secure_url": "https://a248.e.akamai.net/mla-s1-p.mlstatic.com/768311-MLA20547233735_012016-O.jpg",
      	"size": "300x168",
      	"max_size": "300x168",
      	"quality": ""
    	}
      ],
      "video_id": null,
      "descriptions": [
    	{
      	"id": "MLA600190449-1007729488"
    	}
      ],
      "accepts_mercadopago": true,
      "non_mercado_pago_payment_methods": [
      ],
      "shipping": {
    	"mode": "me2",
    	"local_pick_up": true,
    	"free_shipping": true,
    	"free_methods": [
      	{
        	"id": 73328,
        	"rule": {
          	"free_mode": "country",
          	"value": null
        	}
      	}
    	],
    	"dimensions": null,
    	"tags": [
    	]
      },
      "international_delivery_mode": "none",
      "seller_address": {
    	"id": 138834162,
    	"comment": "",
    	"address_line": "",
    	"zip_code": "",
    	"city": {
      	"id": "TUxBQ05FVXF1ZW4",
      	"name": "Neuquén"
    	},
    	"state": {
      	"id": "AR-Q",
      	"name": "Neuquén"
    	},
    	"country": {
      	"id": "AR",
      	"name": "Argentina"
    	},
    	"latitude": -38.95628353,
    	"longitude": -68.12749595,
    	"search_location": {
      	"neighborhood": {
        	"id": "",
        	"name": ""
      	},
      	"city": {
        	"id": "TUxBQ05FVXF1ZW4",
        	"name": "Neuquén"
      	},
      	"state": {
        	"id": "TUxBUE5FVW4xMzMzNQ",
        	"name": "Neuquén"
      	}
    	}
      },
      "seller_contact": null,
      "location": {
      },
      "geolocation": {
    	"latitude": -38.96055205,
    	"longitude": -68.12525497
      },
      "coverage_areas": [
      ],
      "attributes": [
      ],
      "listing_source": "",
      "variations": [
      ],
      "status": "active",
      "sub_status": [
      ],
      "tags": [
      ],
      "warranty": null,
      "catalog_product_id": null,
      "parent_item_id": null,
      "differential_pricing": null,
      "deal_ids": [
      ],
      "automatic_relist": false,
      "date_created": "2016-01-13T18:10:29.000Z",
      "last_updated": "2016-01-13T18:26:54.000Z"
    }

    Obtener esta respuesta utilizando nuestro SDK.

    [Ejemplos de SDK] http://developers.mercadolibre.com/list-your-item/ - listing-type-attribute

    Existe mucha información en la respuesta JSON. A continuación encontrarás la descripción de algunos de estos campos.

    Definición de atributos

    Cuando creas un artículo, algunos de los campos son obligatorios, mientras que otros se pueden omitir o los agregaremos automáticamente. Definirán cómo se muestra el artículo, cómo pueden comprarlo los compradores y la posición en los resultados de la búsqueda, entre otras variables.

    Título

    El título es un atributo obligatorio y la clave para que los compradores encuentren tu producto; por eso, debes ser lo más específico posible.
    La mejor forma de armar un título es nombre + marca + modelo + especificaciones técnicas y características + servicios adicionales. Separa las palabras con espacios y no utilices símbolos ni signos de puntuación. Controla para evitar palabras con errores de ortografía. Por ejemplo: Ipod Touch Apple 16gb 5 Geração.

    Descripción

    La información detallada mejorará tus posibilidades de vender un producto y te ahorrará tiempo al no tener que responder preguntas. Al trabajar con descripciones, existen algunas consideraciones; por ejemplo, no se permite publicar una descripción con información de contacto. Si te interesa conocer más sobre este tema, consulta nuestra guía Descripciones de Artículos.

    Nota: Ten en cuenta que la descripción del producto deberá ser en texto sin formato.

    Estado

    Al publicar un artículo, debes declarar si el estado es nuevo, usado o no especificado. Este atributo es obligatorio para completar una operación de publicación.

    Cantidad disponible

    Este atributo define el stock, que es la cantidad de productos disponibles para la venta de este artículo. El tipo de publicación elegido define el valor más alto. Para más detalles, consulta la sección tipos de publicación.

    Imágenes

    Las buenas imágenes pueden hacer que un artículo sea más atractivo y ofrecer a los compradores una idea más certera de su aspecto. Básicamente, deberías agregar un conjunto de hasta seis imágenes URL en el JSON.

    {
     ....
     "pictures":[
      {"source":"http://yourServer/path/to/your/picture.jpg"},
      {"source":"http://yourServer/path/to/your/otherPicture.gif"},
      {"source":"http://yourServer/path/to/your/anotherPicture.png"}
     ]
     ...
    }

    Te recomendamos no utilizar servidores lentos para alojar tus imágenes porque pueden generar desventajas al momento de publicar.
    También puedes agregar o cambiar las imágenes de tu artículo aquí más adelante. Por favor, lee más sobre este tema para conocer qué tipo de imágenes se permiten y cómo trabajar con ellas.

    Categoría

    Los vendedores deben definir una categoría en el site de MercadoLibre. Este atributo es obligatorio y solo acepta ID preestablecidos. Para más información, lee la guía de categorías. Para acceder a una sugerencia de categorías, lee este artículo.

    {
     ....
      "category_id":"MLA12683",
     ...
    }

    Precio

    Éste es un atributo obligatorio: cuando defines un nuevo artículo, debe tener precio. Te sugerimos que busques artículos similares en nuestro mercado para conocer el mejor precio para tus productos y aumentar tu competitividad. Si definiste un precio, pero no estás contento con el mismo, puedes cambiarlo más tarde; aprende cómo modificar artículos.

    Moneda

    Además del precio, debes definir una moneda. Este atributo también es obligatorio. Debes definirla utilizando un ID preestablecido. Sabrás qué ID enviar llamando a nuestro recurso Monedas.

    Métodos de pago

    Es importante que consideres los métodos de pago disponibles para trabajar contigo. Esto variará dependiendo del país donde trabajas actualmente. Consulta esta guía para conocer más sobre este tema.

    Envío

    Los detalles de envío no son obligatorios, pero existen muchas opciones para elegir y el envío de los productos que vendes es una ventaja competitiva. Conoce más sobre las opciones de envío que tienes aquí.

    Identificadores de productos

    Tampoco es un atributo obligatorio y solo está disponible para algunos países y tipos de usuarios. Conoce más sobre este tema.

    Seller custom field

    Si bien el Seller custom field no es obligatorio, es muy útil porque no existen valores preestablecidos y puedes enviar lo que desees como una String [cadena]. La mayoría de los vendedores utilizan este campo para asociar sus propios SKU a sus productos y así identificar el producto vendido en el pedido.

    Ejemplo para modificar este campo en un item:

    curl -X PUT -d '{"seller_custom_field": "21000093"}' https://api.mercadolibre.com/items/MLA599074368?access_token=¢ACCESS_TOKEN

    Tipos de publicación

    Es otro caso de un atributo obligatorio que solo acepta valores predefinidos y es muy importante que lo entiendas.
    Existen diferentes tipos de publicación disponibles para cada país. Debes realizar una llamada mixta a través de los sites y recursos listing_types para conocer los listing_types soportados.

    Llamada:

    curl https://api.mercadolibre.com/sites/{Site_id}/listing_types

    Ejemplo:

    curl https://api.mercadolibre.com/sites/MLA/listing_types

    Ejemplo:

    [
      {
    	"site_id": "MLA",
    	"id": "gold_pro",
    	"name": "Oro Premium Full"
      },
      {
    	"site_id": "MLA",
        "id": "gold_premium",
    	"name": "Oro Premium"
      },
      {
    	"site_id": "MLA",
    	"id": "gold_special",
    	"name": "Oro Profesional"
      },
      {
    	"site_id": "MLA",
    	"id": "gold",
    	"name": "Oro"
      },
      {
    	"site_id": "MLA",
    	"id": "silver",
    	"name": "Plata"
      },
      {
    	"site_id": "MLA",
    	"id": "bronze",
    	"name": "Bronce"
      },
      {
    	"site_id": "MLA",
    	"id": "free",
    	"name": "Gratuita"
      }
    ]

    Las comisiones por vender tu artículo, al igual que su posición en los resultados de la búsqueda, variarán de acuerdo con el tipo de publicación. Encontrarás información sobre los feeds y características de cada tipo de publicación en las Preguntas Frecuentes del mercado de cada país o puedes realizar una llamada a la API como esta:
    Llamada:

    curl https://api.mercadolibre.com/sites/{Site_id}/listing_types/{Listing_type}

    Ejemplo:

    curl https://api.mercadolibre.com/sites/MLA/listing_types/silver

    Respuesta:

    {
      "id": "silver",
      "not_available_in_categories": [
      ],
      "configuration": {
    	"name": "Plata",
    	"listing_exposure": "mid",
    	"requires_picture": false,
    	"max_stock_per_item": 9999,
    	"deduction_profile_id": null,
    	"differential_pricing_id": null,
    	"duration_days": {
      	"buy_it_now": 60,
      	"auction": 7,
      	"classified": null
    	},
    	"immediate_payment": {
      	"buy_it_now": false,
      	"auction": false,
      	"classified": false
    	},
    	"mercado_pago": "mandatory",
    	"listing_fee_criteria": {
     	 "min_fee_amount": 5,
      	"max_fee_amount": 160,
      	"percentage_of_fee_amount": 1,
      	"currency": "ARS"
    	},
    	"sale_fee_criteria": {
      	"min_fee_amount": 0,
      	"max_fee_amount": 100000000000000000,
      	"percentage_of_fee_amount": 7.5,
      	"currency": "ARS"
    	}
      },
      "exceptions_by_category": [
    	{
      	"category_id": "MLA1743",
      	"category_name": "Autos, Motos y Otros",
      	"configuration": {
        	"name": "Plata",
        	"listing_exposure": "mid",
        	"requires_picture": false,
        	"max_stock_per_item": 1,
        	"deduction_profile_id": null,
        	"differential_pricing_id": null,
      	  "duration_days": {
          	"buy_it_now": null,
          	"auction": null,
          	"classified": 60
        	},
        	"immediate_payment": {
          	"buy_it_now": false,
          	"auction": false,
          	"classified": false
        	},
        	"mercado_pago": "not_available",
        	"listing_fee_criteria": {
          	"min_fee_amount": 147,
          	"max_fee_amount": 147,
          	"percentage_of_fee_amount": 0,
          	"currency": "ARS"
        	},
        	"sale_fee_criteria": {
          	"min_fee_amount": 0,
          	"max_fee_amount": 0,
          	"percentage_of_fee_amount": 0,
          	"currency": null
        	}
     	 },
      	"exceptions_by_category": [
      	]
    	},
    	{
      	"category_id": "MLA1459",
      	"category_name": "Inmuebles",
      	"configuration": {
        	"name": "Plata",
        	"listing_exposure": "mid",
        	"requires_picture": false,
        	"max_stock_per_item": 1,
        	"deduction_profile_id": null,
        	"differential_pricing_id": null,
        	"duration_days": {
          	"buy_it_now": null,
          	"auction": null,
          	"classified": 60
        	},
        	"immediate_payment": {
          	"buy_it_now": false,
          	"auction": false,
          	"classified": false
        	},
        	"mercado_pago": "not_available",
        	"listing_fee_criteria": {
          	"min_fee_amount": 147,
          	"max_fee_amount": 147,
          	"percentage_of_fee_amount": 0,
          	"currency": "ARS"
        	},
        	"sale_fee_criteria": {
          	"min_fee_amount": 0,
          	"max_fee_amount": 0,
          	"percentage_of_fee_amount": 0,
          	"currency": null
        	}
      	},
      	"exceptions_by_category": [
      	]
    	},
    	{
      	"category_id": "MLA1540",
      	"category_name": "Servicios",
      	"configuration": {
        	"name": "Básico 365",
        	"listing_exposure": "mid",
        	"requires_picture": false,
        	"max_stock_per_item": 999,
        	"deduction_profile_id": null,
        	"differential_pricing_id": null,
        	"duration_days": {
              "buy_it_now": null,
          	"auction": null,
          	"classified": 365
        	},
        	"immediate_payment": {
          	"buy_it_now": false,
          	"auction": false,
          	"classified": false
        	},
        	"mercado_pago": "not_available",
        	"listing_fee_criteria": {
          	"min_fee_amount": 727,
          	"max_fee_amount": 727,
          	"percentage_of_fee_amount": 0,
          	"currency": "ARS"
        	},
        	"sale_fee_criteria": {
          	"min_fee_amount": 0,
          	"max_fee_amount": 0,
          	"percentage_of_fee_amount": 0,
          	"currency": null
        	}
      	},
      	"exceptions_by_category": [
      	]
    	}
      ]
    }

    Publica un artículo

    Estás listo para publicar tu primer artículo. Recuerda que necesitarás un access_token para hacerlo. Si tienes preguntas sobre cómo obtener tu access token, por favor regresa al tutorial de autenticación. También te recomendamos utilizar usuarios de test para publicar artículos de prueba. Si no estás familiarizado con los mismos, por favor consulta la sección generar usuarios de test aquí. Además, te recomendamos validar el JSON que envías antes de realizar la solicitud POST; por eso, será mejor que consultes este tutorial de validación de artículos, que es fácil y rápido.
    Puedes crear un JSON para tu artículo en base al ejemplo a continuación o simplemente envíalo así y estarás publicando un producto de muestra en el site:

    curl -X POST -H "Content-Type: application/json" -d
    '{
    "title":"Item de test - No Ofertar",
    "category_id":"MLA3530",
    "price":10,
    "currency_id":"ARS",
    "available_quantity":1,
    "buying_mode":"buy_it_now",
    "listing_type_id":"gold_special",
    "condition":"new",
    "description": "Item de test - No Ofertar",
    "video_id": "YOUTUBE_ID_HERE",
    "warranty": "12 months",
    "pictures":[
    {"source":"http://mla-s2-p.mlstatic.com/968521-MLA20805195516_072016-O.jpg"}
    ]
    }'
    https://api.mercadolibre.com/items?access_token=$ACCESS_TOKEN

    Recuerda que este ejemplo funciona para MLA (Argentina). Si estás trabajando en cualquier otro país, deberás reemplazar los valores para category_id, currency_id y quizás listing_type_id.
    Ahora hagámoslo con nuestro SDK:
    [Ejemplos de SDK] La API de Artículos descargará automáticamente las imágenes ingresadas a MercadoLibre Storage y creará una publicación para tu artículo. Recibirás la siguiente respuesta JSON:

    {
      "id":"MLA430387888",
      "site_id":"MLA",
      "title":"Anteojos Ray Ban Wayfare",
      "sold_quantity":0,
      "permalink":"http://articulo.mercadolibre.com.ar/MLA-430387888-anteojos-ray-ban-wayfare-_JM",
      ...
    }

    ¡Felicitaciones! ¡Publicaste tu primer artículo! Accede a la página Detalles del artículo a través del permalink.

    Para calcular los feeds de venta de un artículo a través de diferentes parámetros, sigue la guía de la Calculadora de precios de publicaciones.
    Nota: Si tienes problemas al intentar publicar, consulta la referencia de la tabla de códigos de Error de la API al final de esta guía.

    Artículos con Mercado Pago obligatorio

    A la opción de utilizar únicamente Mercado Pago como medio de pago, la podemos llamar “Mercado Pago obligatorio” o “Pago Inmediato”. De este modo excluimos la opción de pago “Acuerdo con el vendedor”.
    Así como puede estar marcado con pago inmediato un user, o una categoría, también lo puede estar un item.
    Este escenario se presenta cuando:

    • Todas las publicaciones de MLB.
    • Todas las publicaciones de MLA y MLM por venta de productos con “condition”: “new”.
    • Las publicaciones de Tiendas Oficiales en todos los países con Mercado Pago.
    • Existen categorías con Mercado Pago como única opción (Para obtener más información dirígete a: “Categorías con pago inmediato”)
    • Usuario marcado automáticamente para que sus operaciones vayan por este flujo, con la marca “immediate_payment” en la API de users.
    • Vendedor “auto” marcado para que sus ventas vayan por este flujo.

    Publica un artículo con pago inmediato

    Si deseas que tu ítem se pueda abonar solamente con Mercado Pago, podrás definirlo al momento de crear un ítem nuevo, o bien modificar uno ya activo. Para eso, utilizarás el tag “inmediate_payment”.

    Ejemplo:

    POST
    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": "Item:,  Ray-Ban WAYFARER Gloss Black RB2140 901  Model: RB2140. Size: 50mm. Name: WAYFARER. Color: Gloss Black. Includes Ray-Ban Carrying Case and Cleaning Cloth. New in Box",
        "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
    PUT
    curl -X PUT -H "Content-Type: application/json" -H "Accept: application/json" -d 
    
    ‘{
      "tags": [
            "immediate_payment"
        ],
    }’
    
    
    https://api.mercadolibre.com/items/MLA626369506?access_token=$ACCESS_TOKEN

    Categorías con pago inmediato

    Dentro de Mercado Libre existen categorías que exigen como única opción a Mercado Pago. Para saber si la categoría en la que se quiere publicar es una de ellas, consulta lo siguiente:

    curl https://api.mercadolibre.com/sites/categories/{category_id}
    
    "immediate_payment": "required",
        "item_conditions": [
          "new",
          "not_specified",
          "used"
        ],

    Si tiene el campo “immediate_payment” en “required” es porque Mercado Pago es obligatorio. Si tiene “optional” es porque también acepta “Acuerdo con el vendedor”.

    Publica un artículo en una Tienda Oficial

    Publicar un artículo en una tienda oficial es lo mismo que publicar cualquier otro artículo, salvo que también debes agregar el atributo official_store_id en el JSON.

    Ejemplo:

    curl -X POST -H "Content-Type: application/json" -d
    '{
      "title":"Item de Test -No Ofertar",
      "category_id":"MLA5529",
      "price":10,
      "official_store_id": 1,
      "currency_id":"ARS",
      "available_quantity":1,
      "buying_mode":"buy_it_now",
      "listing_type_id":"bronze",
      "condition":"new",
      "description": "Item:, Ray-Ban WAYFARER Gloss Black RB2140 901 Model: RB2140. Size: 50mm. Name: WAYFARER. Color: Gloss Black. Includes Ray-Ban Carrying Case and Cleaning Cloth. New in Box",
      "video_id": "YOUTUBE_ID_HERE",
      "warranty": "12 months by Ray Ban",
      "pictures":[
        {"source":"http://upload.wikimedia.org/wikipedia/commons/f/fd/Ray_Ban_Original_Wayfarer.jpg"},
        {"source":"http://en.wikipedia.org/wiki/File:Teashades.gif"}
      ]
    }'
    
    https://api.mercadolibre.com/items?access_token=$ACCESS_TOKEN

    Nota: Si tu tienda es multimarca, debes especificar el official_store_id de la marca donde deseas publicar ese artículo. Consulta nuestra guía de Tiendas Oficiales para conocer más sobre este tema.

    Errores comunes en la respuesta de la API al publicar en Tiendas Oficiales multimarca
    Si no envías el official_store_id del artículo para una Tienda Oficial multimarca, como respuesta recibirás los posibles ID que podrías enviar con tu usuario:

    "message": "Validation error",
       "error": "validation_error",
       "status": 400,
       "cause": [{
       	"code": "item.official_store_id.invalid",
       	"message": "Users type brand have to provide one of this [60, 274, 257] official store id"

    Si envías un official_store_id inválido para una Tienda Oficial multimarca recibirás:

    {
       "message": "body.invalid_official_store_id",
       "error": "The seller 148829068 is not allowed to use official_store_id 315 on site MLA.",
       "status": 403,
       "cause": []
    }

    Referencia de código de error

    Error_codeMensaje de errorDescripciónPosible solución
    item.start_time.invalidLa hora de inicio $startTime solo se puede actualizar en artículos NOT_YET_ACTIVEEl campo hora de inicio no se puede actualizar.El parámetro start_time solo se puede actualizar si el estado del artículo es NOT_YET_ACTIVE.
    item.category_id.invalidLa categoría $categoryId no existe.Categoría no encontrada.Para ver las categorías disponibles, consulta page/sites/$siteId (Consulta $sideId).
    item.category_id.invalidNo se permite publicar en la categoría $categoryId. Asegúrate de publicar en una categoría hoja.$category.listing_allowed falso.Antes de publicar un artículo, asegúrate de publicar en la categoría elegida; consulta el parámetro listing_allowed en /categories/$categoryId.
    item.buying_mode.invalidLa categoría $categoryId solo soporta modos de publicación: $category.buyingModes.$item.buying_modes es inválido.Para ver los modos de publicación disponibles en categoría, consulta la página /categories/$categoryId en configuraciones de parámetros:{buying_modes:[…]}.
    item.attributes.missing_requiredLos atributos $requiredAttributeIds son obligatorios para la categoría $item.categoryId. Controla que el atributo esté incluido en la lista de atributos o en la combinación de todos los atributos de variaciones.Categoría es un atributo obligatorio.Para ver los atributos obligatorios en esta categoría, consulta la página /categories/$categoryId/attributes en el parámetro {tags:{required:{true}}}.
    item.listing_type_id.invalidlisting_type_id inválido.El $item.listing_type_id es inválido.Para ver los tipos de publicaciones disponibles en la categoría, consulta la página /categories/$categoryId/listing_types.
    item.listing_type_id.requiresPicturesLas imágenes del artículo son obligatorias para el $item.listingTypeId del tipo de publicación.Las imágenes son obligatorias.Para ver si las imágenes son obligatorias en la categoría, consulta la página /categories/$categoryId/listing_types/silver en el parámetro requires_picture:{}.
    item.site_id.invalid$item.siteId del site no existe.El $item.site_id es inválido.Para ver los sites disponibles, consulta la página /sites
    item.description.maxEl campo descripción es demasiado largo. No se permiten más de $maxSize caracteres.Cantidad de caracteres superada.La cantidad de caracteres en la descripción debe ser menor que 50.000 caracteres.
    item.pictures.maxLos artículos en $item.categoryId no pueden superar las imágenes $maxPicturesPerItem .Cantidad de imágenes superada.Para ver la cantidad de imágenes por artículo en la categoría, consulta la página /categories/$categoryId en el parámetro max_pictures_per_item:{}.
    item.attributes.invalid_lengthLongitud de valor inválida para el atributo $it.attributeId.La longitud máxima es ${attribute.value_max_length}.Para ver los atributos max_length en este atributo, consulta la página /categories/$categoryId/attributes en el parámetro value_max_length para atributos con string [cadena] o número value_type.
    seller.unable_to_listEl vendedor no puede publicar.El vendedor por determinada causa no puede publicar. Identifica el campo “cause” dentro del response.
    • Consulta el significado de “cause” en /users#options ese status to list y podrás ver el significado.
    • Prueba realizar una primer publicación manual desde Mi Cuenta de Mercado Libre para que aparezcan las advertencias en el flujo.

    Artículos relacionados:
    Tutorial de tipos de publicación y actualizaciones de artículos.
    Variaciones.
    Identificadores de productos.

    Siguiente:
    Envío de productos.

    Por favor califica del 1 al 5

    Gestiona preguntas y respuestas

    Las preguntas son la forma en que los compradores pueden comunicarse con los vendedores en la página Detalles del artículo antes de realizar una transacción y, por lo tanto, la forma en que manejes la interacción en esta etapa será decisiva para realizar una venta exitosa.

    Contenidos:

    Buscar preguntas

    Existen varias formas de buscar preguntas.

    Preguntas recibidas por un vendedor

    curl -X GET -H "Content-Type: application/json" 'https://api.mercadolibre.com/questions/search?seller_id={Seller_id}&access_token=$ACCESS_TOKEN'

    Preguntas recibidas respecto de un artículo

    curl -X GET -H "Content-Type: application/json" 'https://api.mercadolibre.com/questions/search?item={Item_id}'

    Preguntas realizadas por un usuario respecto de un artículo

    curl -X GET -H "Content-Type: application/json" 'https://api.mercadolibre.com/questions/search?item={Item_id}&from={Cust_id}'

    Preguntas por id

    curl -X GET -H "Content-Type: application/json" 'https://api.mercadolibre.com/questions/{question_id}?access_token=$ACCESS_TOKEN'

    Nota: Ten en cuenta que si consultas sin access token y el estado de la pregunta es DELETED o BANNED obtendrás “question not found” .



    Analicemos los atributos que encontraremos en el recurso de Buscar Preguntas.

    Descripción de atributos

    id
    ID de la pregunta.
    date_created
    Fecha de creación.
    item_id
    ID del artículo al cual pertenece la pregunta.
    seller_id
    ID del vendedor del artículo.
    status
    Estado de la pregunta. Valores posibles:
    Atributos
    unanswered
    La pregunta aún no fue respondida.
    answered
    La pregunta fue respondida.
    closed_unanswered
    El artículo está cerrado y la pregunta nunca fue respondida.
    under_review
    El artículo está en revisión y la pregunta también.
    text
    Texto de la pregunta.
    answer
    Respuesta del vendedor a la pregunta.
    Atributos
    date_created
    Fecha de creación.
    status
    Estado de la respuesta. Valores posibles:
    Atributos
    active
    La respuesta está activa.
    disabled
    La respuesta fue deshabilitada.
    text
    Texto de la respuesta.


    ¡Excelente! Ahora conoces qué aspectos debes tener en cuenta sobre las preguntas. Consulta las acciones disponibles conforme a la búsqueda de preguntas.

    Métodos permitidos

    GET /questions/:id
    Devuelve una pregunta con ese ID.
    POST /questions
    Crea una pregunta sobre un artículo.
    DELETE /questions/:id
    Elimina una pregunta.
    POST /answers/
    PUBLICA una respuesta a una pregunta determinada.
    POST /my/questions/hidden
    Oculta preguntas.
    Como ves, puedes buscar preguntas por artículo, vendedor y usuario que la formuló y filtrarlas por estado o período. Si lo deseas, también puedes buscar todas las preguntas recibidas y ocultarlas.

    Recursos y conexiones relacionados

    Utiliza los siguientes recursos para buscar preguntas por artículo o por usuario. Deberás incluir el item_id o el cust:id.

    "related_resources": [
        	"/items",
            "/users"
    	],
    	"connections": {
        	"item_id": "/items/:id",
        	"seller_id": "/users/:id"
    	}
    }


    Veamos algunos ejemplos de cómo buscar preguntas en nuestra plataforma.

    Formular preguntas

    Es una tarea muy fácil. Solo debes conocer el item_id y enviarlo junto con un String de texto en el cuerpo del JSON como en el siguiente ejemplo:

    curl -i -X POST -H "Content-Type: application/json" -d
    '{
       "text":"Do you have these shoes in red?",
       "item_id":"MLA123456"
    }'
    
    https://api.mercadolibre.com/questions/{Item_Id}?access_token=$ACCESS_TOKEN

    Responder preguntas

    Cuando tienes gran cantidad de artículos publicados en Mercado Libre, es probable que recibas muchas preguntas; por eso, te recomendamos que desarrolles un método para responder esas preguntas de un modo semiautomático, en el cual los operadores reciben respuestas sugerencias en base a palabras clave frecuentemente recibidas.
    Para hacerlo, debes saber cómo responder una pregunta por API. Esto será fácil.

    Primero, veamos todas las preguntas recibidas para tu artículo. Simplemente, realiza una búsqueda de preguntas por artículo como muestra el ejemplo:

    curl 'https://api.mercadolibre.com/questions/search?item_id=ITEM_ID&access_token=XXXX'

    Verás que las preguntas tienen un estado, por eso es probable que debas mantenerlas en el estado “unanswered”.

    Ahora, respondamos una sola pregunta:

    curl -i -X POST -H "Content-Type: application/json" -d
    '{
       	question_id: QUESTION_ID,
       	text:"Some text here..."
    }'
    
    https://api.mercadolibre.com/answers?access_token=XXXX

    Al trabajar con preguntas, es muy útil escuchar las Notificaciones, porque te permiten tener un feed en tiempo real de los eventos que se producen con relación a las mismas. Conoce cómo trabajar con Notificaciones.

    Eliminar preguntas

    Si necesitas eliminar una pregunta que realizó un usuario sobre tu artículo, simplemente utiliza el método ELIMINAR con el ID de pregunta y el access token del usuario.

    Ejemplo:

    curl -X DELETE 'https://api.mercadolibre.com/questions/${question_id}?access_token=$ACCESS_TOKEN'

    Eliminar con nuestros SDK (ejemplo)

    Respuesta:

    [
      "Question deleted."
    ]

    Lista negra de preguntas

    Administrar la lista negra de preguntas te permite bloquear usuarios para evitar que pregunten sobre tus artículos. Más tarde, puedes eliminarlos de la lista negra para permitir preguntas.

    La lista negra está basada en el usuario y el vendedor tiene pleno control sobre la lista de usuarios que la integran. Veamos algunos ejemplos de lo que puedes hacer con ella.

    Enviar usuarios a la lista negra de preguntas

    curl -X POST -H "Content-Type: application/json" -d
    '{
      "user_id": blocked user id
    }'
    https://api.mercadolibre.com/users/$SELLER_ID/questions_blacklist?access_token=$ACCESS_TOKEN

    Ver la lista negra

    curl -X GET 'https://api.mercadolibre.com/users/$SELLER_ID/questions_blacklist?access_token=$ACCESS_TOKEN '

    Eliminar a un usuario de la lista negra

    curl -X DELETE 'https://api.mercadolibre.com/users/$SELLER_ID/questions_blacklist/$USER_ID?access_token=$ACCESS_TOKEN'

    Prefecto, ahora sabes todo lo necesario sobre nuestra lista negra de preguntas. Esperamos que te sea útil, si fuese necesario.

    Cómo tomar conocimiento de una pregunta

    Una pregunta sobre un artículo es un evento que se produce del lado de Mercado Libre, por eso deberás suscribirte a nuestro feed de preguntas para tomar conocimiento en tiempo real cuando ese evento ocurre.
    En primer lugar, debemos configurar nuestra aplicación para poder recibir notificaciones. Esto se puede realizar al suscribir tu aplicación a notificaciones de preguntas. Dirígete a nuestro Administrador de Aplicaciones y edita las Configuraciones de Notificaciones de tu aplicación. Para más información sobre crear y configurar una nueva aplicación, por favor consulta este link.
    Debes seleccionar un Callback URL: configura el URL público del dominio donde deseas recibir todas las notificaciones de Mercado Libre. Por ejemplo: “http://backend.soleorigami.com/notification”.
    También debes especificar qué “topic” [tema] consignarás; en este caso, debe seleccionar preguntas.
    Esta configuración te permite interactuar con las notificaciones de Mercado Libre. Todos los eventos relativos a nuevas preguntas serán notificados a tu Callback URL.

    Recibir una Notificación

    Mercado Libre te enviará notificaciones a través de un mensaje POST con información en el cuerpo de artículo. El atributo más importante del mensaje es el user_id, que está relacionado con la notificación, y el segundo en importancia es el recurso. El recurso es el elemento que fue actualizado o creado.

    {
      "user_id": 1234,
      "resource": "/questions/139876",
      "topic": "questions",
      "received": "2011-10-19T16:38:34.425Z",
      "sent" : "2011-10-19T16:40:34.425Z",
    }

    Después de recibir la notificación, debes enviar un acuse de recibo [acknowledgment] (ACK 200) a Mercado Libre para dejar de recibirla.
    Para más información, consulta nuestro tutorial de Notificaciones.

    Referencia de códigos de error

    Error_codeMensaje de errorDescripciónPosible solución
    invalid_questionLa pregunta es inválidaNo se puede responder la pregunta.El parámetro question_id debe ser un número entero. (Para buscar tu pregunta, llama a resource/questions/search [recurso/preguntas/búsqueda]).
    invalid_post_bodyJSON inválido. Los atributos válidos son: {0}.Parámetros inválidos.Los parámetros esperados son question_id y text.



    Siguiente:
    Gestiona ventas.

    Por favor califica del 1 al 5

    Mercado Envíos modo 1

    Esta guía explica cómo trabajar con todos los recursos que ofrece nuestra API para publicar y administrar las publicaciones con éxito utilizando el modo de envío me1. También explica cómo publicar números de seguimiento para ofrecer información de seguimiento a los compradores.

    Contenidos:

    Opta por utilizar ME1

    Para comenzar a utilizar MercadoEnvios modo 1, debes ponerte en contacto con tu asesor comercial de MercadoLibre, porque este modo solo se encuentra disponible para usuarios VIP y es activado por nuestro equipo de desarrolladores de Envío para cada caso individual.
    Ofrece ME1 en tus productos
    Publicar un artículo con me1 es bastante fácil. Publica las opciones de envío gratis y las dimensiones del paquete cuando se encuentren disponibles.
    Si los vendedores no incluyen las dimensiones del paquete en su publicación, se utilizarán las dimensiones estándares de la categoría.
    URL a POST

     https://api.mercadolibre.com/items?access_token=

    JSON para el cuerpo

     {
       "title":"Item de teste",
       "category_id":"MLA48786",
       "price":1200,
       "currency_id":"ARS",
       "available_quantity":2,
       "buying_mode":"buy_it_now",
       "listing_type_id":"bronze",
       "condition":"new",
       "description":"test",
       "pictures":[
      	{
             "source":"http://upload.wikimedia.org/wikipedia/commons/f/fd/Ray_Ban_Original_Wayfarer.jpg"
      	},
      	{
             "source":"http://en.wikipedia.org/wiki/File:Teashades.gif"
      	}
       ],
       "shipping":{
      	"local_pick_up":false,
      	"mode": "me1",
          "dimensions":"10x10x20,700"
       }
    }

    Agrega dimensiones

    Después de ser identificado con el modo me1, puedes agregar dimensiones a tus publicaciones existentes. Modificar las dimensiones de un artículo no afecta su relevancia en los resultados de búsqueda y no existe restricción alguna para modificar las dimensiones si el artículo tiene ventas.
    Si bien cada categoría cuenta con sus propias dimensiones estándares, puedes agregar los valores que desees, siempre que se encuentren dentro del rango de valores permitidos. Consulta esta tabla para conocer los valores permitidos para cada site.
    Conoce las dimensiones estándares para una categoría determinada
    Ejemplo:

     curl -X GET https://api.mercadolibre.com/categories/MLM165702/shipping

    Agrega dimensiones

     curl -X PUT -H "Content-Type: application/json" -d ‘{
       "shipping":{
      	"dimensions":"10x10x20,700",
      	"mode": "me1"
       }
    }’ https://api.mercadolibre.com/items/:item_id?access_token=

    Envío gratis

    Los vendedores tienen la opción de publicar artículos ofreciendo uno de los métodos de envío gratuito.
    Por favor, consulta esta entrada para conocer los detalles y cómo publicar con envío gratis.

    Calculadora del Costo de Envío

    Nuestra API tiene un recurso para calcular los costos de envío para una dimensión, categoría y código postal de destino determinados.
    El calculador de envíos puede elegir entre 2 recursos para adaptarse mejor a tus parámetros disponibles; ambos devuelven el mismo resultado.
    URL:

    https://api.mercadolibre.com/users/:user_id/shipping_options?category_id=:category_id&dimensions=:dim&zip_code=13565905
    https://api.mercadolibre.com/items/:item_id/shipping_options?zip_code=13565905

    Respuesta:

    {
      "destination": - {
    	"zip_code": "01001000",
    	"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": "Praça da Sé",
      	"owner_name": null,
      	"zip_code_type": - {
        	"type": "LO",
        	"description": "Logradouro",
      	},
      	"city_type": "CP",
      	"city_name": "São Paulo",
      	"version": 6,
    	},
      },
      "options": - [
    	- {
      	"id": 18310062,
      	"name": "Normal",
      	"currency_id": "BRL",
      	"list_cost": 13.86,
      	"cost": 13.86,
          "tracks_shipments_status": "not_verified",
      	"display": "recommended",
      	"speed": - {
        	"shipping": 72,
        	"handling": 24,
      	},
    	},
    	- {
      	"id": 18310061,
      	"name": "Expresso",
      	"currency_id": "BRL",
      	"list_cost": 14.88,
      	"cost": 14.88,
          "tracks_shipments_status": "not_verified",
      	"display": "always",
      	"speed": - {
        	"shipping": 24,
        	"handling": 24,
      	},
    	},
      ],
    }

    Descripción de atributos

    • currency_id: Moneda en la cual se cobra el precio.
    • costo de publicación: Costo para esta opción de envío.
    • costo: Costo real a pagar; el costo para “envío gratis” es 0.
    • tracks_shipments_status: Indica cómo se podrá realizar el seguimiento de este método.
    • tracks_shipments_status.verified: Se puede realizar el seguimiento a nivel interno.
    • tracks_shipments_status.not_verified: La información de seguimiento debe ser entregada por el vendedor.
    • tracks_shipments_status.no: No se puede realizar seguimiento.
    • speed.shipping: Promesa de tiempo de entrega, expresada en horas.
    • speed.handling: Promesa de tiempo de manejo, expresada en horas.

    Estado del envío

    Algunas configuraciones de ME1 soportan seguimiento automático, por eso nosotros actualizaremos el estado del envío. Si éste no es tu caso, entonces serás responsable de enviar un número de seguimiento y de actualizar el estado del envío. Si bien no es obligatorio, te sugerimos que lo hagas para mejorar tus posibilidades de recibir mejor feedback de los compradores.
    Estado:
    pending (pendiente)
    El envío se crea con este estado.
    handling (en manejo)
    El pago para este envío fue recibido.
    shipped (enviado)
    El transportista informó el despacho del envío.

    Agrega un número de seguimiento

    Es esencial que los vendedores entreguen el número de seguimiento de sus envíos para que los compradores puedan conocer el estado de sus paquetes y el tiempo de entrega estimado.
    Todo lo que debes hacer es realizar una solicitud PUT al envío con los atributos service_id y tracking_number.

    curl -X PUT -H "Content-Type: application/json" -d  ‘{
      "tracking_number": "TR1234567891",
      "service_id": 1
    }’  https://api.mercadolibre.com/shipments/:shipment_id?access_token=&ACCESS_TOKEN

    Actualiza el estado del envío

    Para actualizar el estado del envío en el pedido, debes realizar una solicitud PUT al envío.
    Para conocer el shipment_id, puedes realizar una llamada a pedidos de esta manera:

    Ejemplo:

    curl -X GET https://api.mercadolibre.com/orders/{Order_id}/shipments

    El estado inicial del envío es “pending” (pendiente). Una vez identificado el shipping_id, puedes actualizarlo a otro estado.

    Actualiza el estado a handling (en manejo)

    Ejemplo:

    curl -X PUT -H "Content-Type: application/json" -d '{"status": "handling"}' https://api.mercadolibre.com/shipments/{Shipment_id}

    Actualiza el estado a shipped (enviado)

    Ejemplo:

    curl -X PUT -H "Content-Type: application/json" -d '{shipping_option: {id:27569508},receiver_address: {"contact":"Roberto Gomez Bolaño","phone":"12345", address_line:"Avenida siempre viva updated", comment:"Casa azul.",zip_code:"90040060", "city": {"id": "TUxCQ1BPUjgwZTJl","name": "Porto Alegre"}, "state": {"id": "BR-RS","name": "Rio Grande do Sul"}, country: {id:"BR", name:"Argentina"}}}' https://api.mercadolibre.com/shipments/{Shipment_id}

    Por favor califica del 1 al 5

    Envío personalizado

    Cuando un comprador elige preferencias de envío e ingresa su domicilio se crea un shipment que se asocia a la orden.
    Cuando se crea el envío, se recibirá un nuevo feed de order luego, se informará cada cambio de estado hasta que el paquete sea entregado.

    Contenidos:

    Accede a detalles de envío

    Si bien puedes encontrar cierta información básica sobre los envíos en la orden, es mejor que trabajes con el recurso de envíos para obtener todos los detalles. Para hacerlo, deberás conocer el shipment_id.

    No conozco el shipment_id

    Puedes tomarlo de la orden dentro de la información de envío básica.

    Ejemplo:

    curl -X GET https://api.mercadolibre.com/orders/:order_id?access_token=

    Respuesta:

    {
      "id": 123456789,
      "status": "paid",
      "status_detail": null,
      "date_created": "2012-12-18T09:35:07.000-04:00",
      "date_closed": "2012-12-18T09:35:07.000-04:00",
      "order_items":  [
     	{
      	"item":  {
        	"id": "MLB446311775",
        	"title": "Capa Couro Flip Original Samsung Galaxy S3 Siii  Branca",
        	"variation_id": null,
        	"variation_attributes": [
        	],
      	},
      	"quantity": 1,
      	"unit_price": 99.98,
      	"currency_id": "BRL",
    	},
      ],
      "total_amount": 99.98,
      "currency_id": "BRL",
      "buyer":  {
    	"id": "123456565",
    	"nickname": "BUYER NICKNAME",
    	"email": "email@buyer.com",
    	"phone":  {
      	"area_code": "11",
      	"number": "55565656",
      	"extension": null,
    	},
    	"first_name": "Name",
    	"last_name": "Last Name",
    	"billing_info": - {
      	"doc_type": "CPF",
      	"doc_number": "123456789",
    	},
      },
      "seller":  {
    	"id": "123456",
    	"nickname": "SELLER NICKNAME",
    	"email": "email@seller.com",
    	"phone": - {
      	"area_code": null,
      	"number": "011 4444 1234",
      	"extension": null,
    	},
    	"first_name": "Name.",
    	"last_name": "Last Name LTDA.",
      },
      "payments":  [
    	- {
      	"id": "459656119",
      	"transaction_amount": 99.98,
      	"currency_id": "BRL",
      	"status": "approved",
      	"date_created": null,
      	"date_last_modified": null,
    	},
      ],
      "feedback":  {
    	"purchase": null,
    	"sale": null,
      },
      "shipping":  {
    	"id": 20176304039,
    	"status": "pending",
    	"date_created": "2012-12-18T09:37:35.000-04:00",
    	"receiver_address":  {
      	"id": 123456789,
      	"address_line": "Rua Júlio Sérgio de Castro 262 0  ",
      	"zip_code": "223232",
      	"city": - {
        	"id": "BR-SP-44",
        	"name": "São Paulo",
      	},
      	"state":  {
        	"id": "BR-SP",
        	"name": "São Paulo",
      	},
      	"country": - {
        	"id": "BR",
        	"name": "Brasil",
      	},
      	"latitude": null,
      	"longitude": null,
      	"comment": null,
    	},
    	"currency_id": "BRL",
    	"cost": 5.9,
      },
      "tags":  [
    	"paid",
    	"not_delivered",
      ],
    }

    Para obtener los detalles completos de un shipment (detalle de estado, fecha de creación, opciones de envío, tales como velocidad de envío, etc.) realiza una llamada mixta entre pedidos y envíos como ésta:

    https://api.mercadolibre.com/orders/:order_id/shipments?access_token=

    Ya conozco el shipment_id

    Si ya tienes el id, simplemente realiza una llamada a los recursos de envío:

    curl -X GET https://api.mercadolibre.com/shipments/:shipment_id?access_token=

    Ejemplo:

    {
      "id": 12345678,
      "status": "active",
      "status_history":  {
    	"date_shipped": null,
    	"date_delivered": null,
      },
      "date_created": "2011-09-07T13:29:42.000-04:00",
      "last_updated": "2011-09-07T13:30:29.000-04:00",
      "tracking_number": null,
      "tracking_method_id":182,
      "tracking_method": null,
      "sender_id": "99580221",
      "receiver_id": "8408542",
      "sender_address":  {
    	"id": "53742741",
    	"address_line": "Rua X",
    	"comment": null,
    	"zip_code": "01154020",
    	"city":  {
      	"id": "null",
      	"name": "Sao Paulo",
    	},
    	"state":  {
      	"id": "BR-SP",
      	"name": "Sao Paulo",
    	},
        "country":  {
      	"id": "BR",
      	"name": "Brasil",
    	},
    	"types":  [
          "default_selling_address",
    	],
    	"latitude": null,
    	"longitude": null,
      },
      "receiver_address":  {
    	"id": "12181995",
    	"address_line": "Estrada Geral Cachoeira de Fátima 77777",
    	"comment": null,
    	"zip_code": "88990000",
    	"city":  {
      	"id": "null",
      	"name": "Praia Grande",
    	},
    	"state":  {
      	"id": "BR-SC",
      	"name": "Santa Catarina",
    	},
    	"country":  {
      	"id": "BR",
      	"name": "Brasil",
    	},
    	"types":  [
      	"default_buying_address",
    	],
    	"latitude": null,
    	"longitude": null,
      },
      "shipping_items":  [
     	{
      	"id": "MLB402220356",
      	"description": "Celular Apple Iphone 4 16gb Libre De Fábrica ",
      	"quantity": 49,
      	"dimensions": “15x15x25,500”,
    	},
      ],
      "shipping_option":  {
    	"id": 18309457,
    	"name": "Express",
    	"currency_id": "BRL",
    	"cost": 1,
    	"speed":{
      	"shipping": 48,
      	"handling": 24
    	},
      "comments": "other info shipping",
      }

    Ofrece envío personalizado para tus productos

    Todo lo que tienes que hacer es un POST. El JSON debe incluir los ‘costos’ para el modo de envío personalizado con la descripción de los parámetros y el costo especificado.

    curl -X POST -H "Content-Type: application/json" -d
    JSON
    {
    	"title": "Anteojos Ray Ban Wayfare",
    	"category_id": "MLA3636",
    	"price": 10,
    	"currency_id": "ARS",
    	"available_quantity": 1,
    	"buying_mode": "buy_it_now",
    	"listing_type_id": "bronze",
    	"condition": "new",
    	"description": "Item:,  Ray-Ban WAYFARER Gloss Black RB2140 901  Model: RB2140. Size: 50mm. Name:	WAYFARER. Color: Gloss Black. Includes Ray-Ban Carrying Case and Cleaning Cloth. New in Box",
    	"video_id": "YOUTUBE_ID_HERE",
    	"warranty": "12 months by Ray Ban",
    	"pictures": [
        	{
            	"source": "http://upload.wikimedia.org/wikipedia/commons/f/fd/Ray_Ban_Original_Wayfarer.jpg"
        	}
    	],
    	"shipping": {
        	"mode": "custom",
        	"local_pick_up": false,
        	"free_shipping": false,
        	"methods": [],
        	"costs": [
            	{
                	"description": "TEST1",
                	"cost": "70"
            	},
      	      {
                	"description": "TEST2 ",
                	"cost": "80"
            	}
        	]
    	}
    }
    https://api.mercadolibre.com/items?access_token=$ACCESS_TOKEN

    Una vez creado un ítem con envío custom y configurada la tabla de costos podrá verse en shipping options.
    Llamada:

    https://api.mercadolibre.com/items/item_id/shipping_options

    NOTA: Para países donde Mercado Envíos se encuentra activo sólo podrás agregar envíos custom gratis en categorías que no acepten ME.

    Ofrece envío personalizado para tus productos

    También puedes agregar el modo envío personalizado a un artículo con método de envío not_specified.
    Es muy fácil. Realiza una solicitud PUT a la API del artículo incluyendo el Item_ID y envía un JSON similar al consignado a continuación.

    curl -X PUT -H "Content-Type: application/json" -H "Accept: application/json" -d
    JSON
    {
    "shipping": {
    	"mode": "custom",
    	"methods": [],
    	"costs": [
        	{
            	"description": "TEST1",
            	"cost": "70"
        	},
        	{
            	"description": "TEST2 ",
            	"cost": "80"
    	    }
    	]
    }
    }
    
    https://api.mercadolibre.com/items/{item_id}?access_token=$ACCESS_TOKEN

    Este modo también acepta un tracking_number, pero nosotros no monitorearemos el código.

    Agrega un número de seguimiento

    Antes de incluir el número de seguimiento, debes conocer el shipment_id para poder realizar una solicitud PUT al envío con los atributos service_id y tracking_number.

    curl curl -X PUT -H "Content-Type: application/json" -H "Accept: application/json" -d‘{
      "tracking_number": "TR1234567891",
      "status": "shipped"
    }’ https://api.mercadolibre.com/shipments/:shipment_id?access_token=

    Consideraciones

    Entrega de producto (sólo disponible para México y Brasil)

    Con el siguiente recurso puedes informar a los compradores el status de entrega de sus productos cuando no utilicen Mercado Envío.
    Comienza a utilizarlo teniendo en cuenta los siguientes escenarios:

    Escenario 1

    Ocurre cuando la orden tiene un Custom Shipping creado y está en estado “pending”:

    curl -X PUT -H "Content-Type: application/json" -H "Accept: application/json" -d 
    JSON
    {
        "speed"= 120,
        "status"="shipped",
        "tracking_number"=000000001234,
        "receiver_id"=12345678
    }
    https://api.mercadolibre.com/shipments/{shipping_id}?access_token=$ACCESS_TOKEN

    Aclaraciones:

    • El campo speed representa la distancia en horas que va a demorar la entrega del producto.
    • La fecha de promesa de entrega será igual a la cantidad de horas especificadas en el campo “speed”, contadas a partir del día en que se indique este valor.
    • El campo tracking_number es requerido para la API, pero no será en ningún listado y/o detalle de venta.

    Escenario 2

    Se da cuando la orden tiene un Custom Shipping creado y está en estado “shipped”:

    curl -X PUT -H "Content-Type: application/json" -H "Accept: application/json" -d 
    JSON
    {
        "speed"= 120,
        "receiver_id"=12345678
    }
    https://api.mercadolibre.com/shipments/{shipping_id}?access_token=$ACCESS_TOKEN

    Aclaración:

    • En este caso solo se actualiza la promesa de entrega, por lo que no se requiere un tracking_number de parte de la API.

    Escenario 3

    Se presenta cuando la orden no tiene shipping:

    curl -X POST -H "Content-Type: application/json" -H "Accept: application/json" -d 
    JSON
    {
      "status": "shipped",
      "receiver_id": 12345678,
      "shipping_option": {
          "currency_id": "MXN",
          "cost": 0,
          "speed": 120
      }
    }
    https://api.mercadolibre.com/orders/{order_id}/shipments?access_token=$ACCESS_TOKEN

    Aclaración:

    • El campo speed debe ir dentro de la sección “shipping_options”. Así mismo, se debe especificar un costo al momento de crear el shipping.

    Escenario 4

    En caso que haya que Informar que ya fue entregado:

    curl -X POST -H "Content-Type: application/json" -H "Accept: application/json" -d 
    JSON
    {
      "fulfilled": true,
      "rating": positive
    }
    https://api.mercadolibre.com/orders/{orderId}/feedback?access_token=$ACCESS_TOKEN

    Escenario 5

    Cuando sea necesario cancelar una venta:

    curl -X POST -H "Content-Type: application/json" -H "Accept: application/json" -d 
    JSON
    {
      "fulfilled": false,
      "rating": neutral
    }
    https://api.mercadolibre.com/orders/{orderId}/feedback?access_token=$ACCESS_TOKEN

    Aclaración:

    • Al cancelar la venta mediante el feedback se va a devolver los pagos al comprador.

    Por favor califica del 1 al 5

    Categorización de productos

    Las categorías son un conjunto jerárquico de grupos en los cuales se enumeran los artículos de naturaleza similar, denominados “Árbol de Categorías”. Las categorías ayudan a los compradores a encontrar el tipo de artículo que desean, ya que el comprador solo debe buscar en una o pocas categorías para encontrar lo que le interesa. Los vendedores aprovechan el uso de categorías para aumentar las posibilidades de vender gracias a que los compradores acceden más rápido a los artículos.
    Cada sitio tiene su propio conjunto de categorías, es decir que Argentina tendrá un conjunto único de categorías, diferente de las de Brasil. https://api.mercadolibre.com/sites/MLB/categories
    Antes de publicar un artículo, debes explorar la estructura de categorías y elegir en cuál deseas publicar. Para ayudarte, puedes descargar la jerarquía completa de categorías con ID y nombres cortos desde nuestra API.

    Contenidos:

    Categorías por Site

    El recurso Sites puede ofrecerte la estructura de categorías para un país en particular, en este caso Argentina.

    https://api.mercadolibre.com/sites/MLA/categories
    "categories": [
       	{
       	"id": "MLA5725",
       	"name": "Accesorios para Vehiculos",
       	},
       	{
       	"id": "MLA1071",
       	"name": "Animales y Mascotas",
       	},
       	{
       	"id": "MLA1367",
       	"name": "Antigüedades",
       	},
       	{
       	"id": "MLA1743",
       	"name": "Autos, Motos y Otros",
    },

    Para categorías de segundo nivel o información relacionada con categorías específicas, debes utilizar el recuso Categorías y enviar el ID de categoría como parámetro URL.
    El siguiente ejemplo muestra la categoría “Animales y Mascotas”:

    https://api.mercadolibre.com/categories/MLA1071
    {
       	"id": "MLA1071",
       	"name": "Animales y Mascotas",
       	"permalink": "http://home.mercadolibre.com.ar/animales-y-mascotas",
       	"total_items_in_this_category": "30434",
       	"path_from_root": [
             	{
                    	"id": "MLA1071",
                    	"name": "Animales y Mascotas",
             	},
       	],
       	"children_categories": [
             	{
                    	"id": "MLA1100",
                    	"name": "Aves",
                    	"total_items_in_this_category": "1430",
             	},
             	{
                    	"id": "MLA1117",
                    	"name": "Caballos",
                    	"total_items_in_this_category": "1092",
             	},
       	.
       	.

    Como puedes ver, obtienes los atributos “path_from_root” y children_categories. Utiliza estos atributos para explorar el árbol de categorías y encontrar la categoría específica para tu artículo.

    Categorías JSON

    Realizar una llamada a una categoría específica te permitirá conocer la información y descripción específica de la misma. A continuación encontrarás la descripción de algunos de estos atributos.

    curl https://api.mercadolibre.com/categories/MLA9558
    {
      "id": "MLA9558",
      "name": "Givenchy",
      "picture": null,
      "permalink": null,
      "total_items_in_this_category": 706,
      "path_from_root": [
    	{
      	"id": "MLA1246",
      	"name": "Salud y Belleza"
    	},
    	{
      	"id": "MLA1271",
      	"name": "Perfumes y Fragancias"
    	},
    	{
      	"id": "MLA1273",
      	"name": "Mujer"
    	},
    	{
      	"id": "MLA9558",
      	"name": "Givenchy"
    	}
      ],
      "children_categories": [
      ],
      "attribute_types": "none",
      "settings": {
    	"adult_content": false,
    	"buying_allowed": true,
    	"buying_modes": [
      	"buy_it_now",
      	"auction"
    	],
    	"coverage_areas": "not_allowed",
    	"currencies": [
      	"ARS"
    	],
    	"fragile": false,
    	"immediate_payment": "optional",
    	"item_conditions": [
      	"used",
      	"not_specified",
      	"new"
    	],
    	"items_reviews_allowed": false,
    	"max_description_length": 50000,
    	"max_pictures_per_item": 12,
    	"max_sub_title_length": 70,
    	"max_title_length": 60,
    	"price": "required",
    	"restrictions": [
    	],
    	"rounded_address": false,
    	"seller_contact": "not_allowed",
    	"shipping_modes": [
      	"custom",
      	"not_specified",
      	"me2",
      	"me1"
    	],
    	"shipping_options": [
      	"custom",
      	"carrier"
    	],
    	"shipping_profile": "optional",
    	"show_contact_information": false,
    	"simple_shipping": "optional",
    	"stock": "required",
    	"tags": [
    	],
    	"vip_subdomain": "articulo",
    	"mirror_category": null,
    	"listing_allowed": true,
        "maximum_price": null,
    	"minimum_price": null
      },
      "meta_categ_id": 38838,
      "attributable": false
    }

    Nombre

    Este atributo muestra un nombre corto, por el cual no puedes buscar. Si estás interesado en buscar utilizando ID de categorías, puedes utilizar la siguiente solicitud:

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

    Accede a más información en el artículo buscar productos por categoría.

    Path from root

    Cuando estás en una categoría, puedes conocer el path from root de la categoría seleccionada.
    Observa cómo MercadoLibre utiliza esta ruta para mostrar la categoría del artículo:

    image-category (1)

    Encontrar la mejor categoría para tu artículo

    La categoría hoja es la última categoría del árbol y es la única categoría donde puedes publicar artículos.
    Elegir la categoría correcta para tu artículo determinará la rapidez con que los compradores lo encontrarán y mejorará tus posibilidades de venderlo. Por este motivo, te recomendamos utilizar nuestra herramienta de predicción de Categorías antes de publicar un artículo.

    Quizás algunas categorías no tendrán buenas sugerencias, por eso tendrás que hacer que el usuario de tu sistema realice un mapeo manual de las categorías para sus productos. El proceso más simple podría ser utilizar la API de Categorías y navegar el árbol de categorías para detectar la mejor opción. Debes utilizar solo aquellas categorías recuperadas de la API que no tengan subcategorías relacionadas.
    Otra opción podría ser encontrar artículos similares en MercadoLibre y utilizar su categoría.


    Siguiente:
    Publica productos.

    Por favor califica del 1 al 5

    Gestiona ventas

    Una orden es una solicitud que realiza un cliente para una publicación con intención de comprarlo conforme a una serie de condiciones que seleccionará en el flujo del proceso de compra online (checkout).
    Estas condiciones se detallan en la orden, que también se replicará para las cuentas del comprador y del vendedor. En la orden encontrarás gran cantidad de información para completar sobre el producto como así también la posibilidad de reservar y/o descontar stock.

    Contenidos:

    Recibe una orden

    Una vez que se crea una nueva orden en el usuario, se puede consultar los detalles al realizar una solicitud al recurso de órdenes:
    Ejemplo:

    curl https://api.mercadolibre.com/orders/$ORDER_ID?access_token=$ACCESS_TOKEN

    Respuesta:

    {
      "id": 768570754,
      "status": "paid",
      "status_detail": null,
      "date_created": "2013-05-27T10:01:50.000-04:00",
      "date_closed": "2013-05-27T10:04:07.000-04:00",
      "order_items": - [
    	- {
      	"item": - {
        	"id": "MLB12345678",
      	  "title": "Samsung Galaxy",
        	"variation_id": null,
        	"variation_attributes": [
        	],
      	},
      	"quantity": 1,
      	"unit_price": 499,
      	"currency_id": "BRL",
    	},
      ],
      "total_amount": 499,
      "currency_id": "BRL",
      "buyer": - {
    	"id": "123456789",
    	"nickname": "COMPRADORTESTE",
    	"email": "b@b.com",
    	"phone": - {
      	"area_code": "11",
      	"number": "12345678",
      	"extension": null,
    	},
    	"first_name": "Comprador de testes",
    	"last_name": "da Silva",
    	"billing_info": - {
      	"doc_type": "CPF",
      	"doc_number": "12345678910",
    	},
      },
      "seller": - {
    	"id": "123456789",
    	"nickname": "VENDEDORTESTES",
    	"email": "a@a.com",
    	"phone": - {
      	"area_code": null,
      	"number": "11 12345678",
      	"extension": "11",
    	},
    	"first_name": "Vendedor de Testes",
    	"last_name": "testes de documentacao",
      },
      "payments": - [
    	- {
      	"id": "596707837",
      	"transaction_amount": 499,
      	"currency_id": "BRL",
      	"status": "approved",
      	"date_created": null,
      	"date_last_modified": null,
    	},
      ],
      "feedback": - {
    	"purchase": null,
    	"sale": null,
      },
      "shipping": - {
    	"id": 20676482441,
    	"shipment_type": "shipping",
    	"status": "handling",
        "date_created": "2013-05-27T10:03:28.000-04:00",
    	"receiver_address": - {
      	"id": 12345678,
      	"address_line": "Rua dos testes 123  ",
      	"zip_code": "01001000",
      	"city": - {
        	"id": "BR-SP-44",
        	"name": "São Paulo",
      	},
      	"state": - {
        	"id": "BR-SP",
        	"name": "São Paulo",
      	},
      	"country": - {
        	"id": "BR",
        	"name": "Brasil",
      	},
      	"latitude": null,
      	"longitude": null,
      	"comment": null,
    	},
    	"currency_id": "BRL",
    	"cost": 0,
      },
      "tags": - [
    	"paid",
    	"not_delivered",
      ],
    }

    Existen gran cantidad de atributos conforme a una orden. A continuación veremos una descripción de los campos más importantes.
    id Identificador único de la orden.
    date_created Fecha de creación de la orden
    date_closed Fecha de confirmación de la orden. Se define cuando una orden cambia por primera vez al estado: confirmed / paid y se descuenta el stock del ítem.
    expiration_date Fecha límite que tiene el usuario para calificar porque, luego de la misma, se vuelve visible el feedback, se emiten los pagos (si hubiese) y se crean los cargos.
    status Estado de la orden. Ver los valores posibles.
    status_detail Detalle del estado, en caso de cancelación de la orden.
    code Código del estado.
    description Descripción del estado.
    comprador Información del comprador.
    vendedor Información del vendedor.
    order_items Publicaciones en la orden.
    payments Pagos relacionados con la orden.
    feedback Información de feedback relacionada con la orden.
    shipping Configuración del envío para este orden.
    total_amount Monto total de la orden.
    currency_id ID de moneda.
    tags Lista de los tags seleccionados por el vendedor, tales como entregado, pagado.
    Nota: Del mismo modo que ocurre cada vez que se actualiza la información de una orden, en caso de que descubramos que la compra fue fraudulenta, marcaremos la orden con el tag “fraud_risk_detected” y te enviaremos una notificación con el topic “orders” y el ID de dicha orden.

    ¿Qué sucederá con la venta según su envío?

    Sin Mercado Envíos: El vendedor será notificado vía e-mail o telefónicamente.

    • En caso de que el producto ya haya sido entregado y exista una prueba de ello, el vendedor queda cubierto ante un contracargo. Eso significa que no le descontaremos el dinero de la venta.
    • Si el producto todavía no se entregó, el vendedor deberá hacer el refund del dinero.
    • Para conocer cómo hacer un refund vía API consulta la documentación correspondiente.
    • Para más información te sugerimos leer la documentación de “Requisitos del Programa de Protección al Vendedor”.

    Con Mercado Envíos: Si aún la etiqueta no ha sido impresa se cancelará la venta y se enviará una notificación al vendedor. Por otro lado, si el producto ya ha sido despachado Mercado Libre se comunicará con la empresa de envíos para que lo devuelva.

    Búsqueda de órdenes

    El recurso de búsqueda de órdenes te ayudará a buscar cada orden que pertenece a usuarios para quienes tienen un token válido.

    https://api.mercadolibre.com/orders/search?buyer=buyer_id&access_token={...}

    Dentro del seach a orders están disponibles los campos “available_filters” y “available_sorts”

    ¿Cómo filtrar?

    Para filtrar tus órdenes con status “paid” encontrarás entre los “available_filters” disponibles el ID “order.status” y dentro de éste el value con ID “paid”.

    https://api.mercadolibre.com/orders/search?seller=seller_id&order.status=paid&access_token={...}

    En el caso de querer filtrar tus órdenes por fecha deberás hacerlo de la siguiente manera:

    https://api.mercadolibre.com/orders/search?seller=&order.date_created.from=2015-07-01T00:00:00.000-00:00&order.date_created.to=2015-07-31T00:00:00.000-00:00&access_token=

    ¿Cómo ordenar?

    En este caso deberás agregar “sort” con el ID disponible del orden que quieras aplicar, por ejemplo: “date_desc”

    https://api.mercadolibre.com/orders/search?seller={seller_id}&order.status=paid&sort=date_desc&access_token={...}

    Nota: Por defecto ya viene con una orden date_asc aplicada. La fecha por la que se ordena es:

    • Sellers por date_closed.
    • Buyers por date_created.

    Órdenes Recientes

    Las órdenes recientes son las más nuevas generadas para un usuario. La respuesta incluirá órdenes en los que la fecha actual es anterior a la expiration_date y aún no han sido calificadas por ninguna de las partes.
    Búsqueda de las órdenes recientes de un vendedor:

    https://api.mercadolibre.com/orders/search/recent?seller=seller_id&access_token={...}

    Búsqueda de las órdenes recientes de un comprador:

    https://api.mercadolibre.com/orders/search/recent?buyer=buyer_id&access_token={...}

    Órdenes Archivadas

    Si buscas una orden con expiration_date posterior a la fecha actual o que fue calificada por ambas partes, puedes utilizar el recurso de búsqueda en órdenes archivadas:
    Búsqueda de las órdenes archivadas de un vendedor:

    https://api.mercadolibre.com/orders/search/archived?seller=seller_id&access_token={...}

    Búsqueda de las órdenes archivadas de un comprador:

    https://api.mercadolibre.com/orders/search/archived?buyer=buyer_id&access_token={...}

    Órdenes Pendientes

    Esta búsqueda recuperará todas las órdenes en estado “pendiente” y omitirá las canceladas automáticamente.
    Si deseas ver las órdenes de un vendedor, envía el seller_id:

    https://api.mercadolibre.com/orders/search/pending?seller=seller_id&access_token={...}

    Para buscar por comprador, reemplaza los parámetros como se indica a continuación:

    https://api.mercadolibre.com/orders/search/pending?buyer=user_id&access_token={...}

    Estado de la orden

    Los estados de la orden son los siguientes:
    confirmed
    Estado inicial de un orden; aún sin haber sido pagada.
    payment_required
    Es necesario que se confirme el pago de la orden necesita para mostrar la información del usuario.
    payment_in_process
    Existe un pago relacionado con la orden, pero aún no se acreditó.
    partially_paid
    La orden tiene un pago asociado acreditado, pero no es suficiente.
    paid
    La orden tiene un pago asociado acreditado.
    cancelled
    Por alguna razón, la orden no se completó.*
    invalid
    La orden fue invalidada porque provenía de un comprador malicioso.

    *Nota: Una orden puede ser cancelada por los siguiente motivos:

    • Se requería aprobación del pago para descontar el stock, pero en el tiempo de proceso de aprobación el ítem fue pausado/finalizado por falta de stock por lo tanto se devuelve el pago al comprador.
    • Se requería el pago, pero después de cierto tiempo no se abonó, por eso se cancela automáticamente.
    • Luego de efectuarse una transacción, por alguna razón el vendedor queda prohibido en el site.

    Flujo de Mercado Pago obligatorio (sólo para países con MP)

    ¿Cómo saber si un site tiene Mercado Pago activo?
    Para obtener esa información deberás realizar la siguiente llamada:

    curl https://api.mercadolibre.com/sites/MLA

    Si obtienes “MLAMP” como respuesta dentro de los “payment_method_ids” podrás trabajar sin problemas con este flujo.

    Aclaración: MLAMP es el ID del método de pago Mercado Pago:

    curl https://api.mercadolibre.com/payment_methods/MLAMP

    Dentro de nuestra plataforma encontrarás orders que pueden entrar por el flujo obligatorio de Mercado Pago como único medio de pago y otras que no.
    Los escenarios que se presentan a continuación son en los que podrás encontrar esta opción de manera obligatoria:

    • Todas las órdenes de MLB.
    • Todas las órdenes de MLA y MLM por venta de productos con “condition”: “new”.
    • Publicaciones de Tiendas Oficiales en todos los países con Mercado Pago.
    • Categorías con Mercado Pago como única opción (Para más información dirigete a:Categorías con pago inmediato.
    • Usuario marcado automáticamente para que sus operaciones vayan por este flujo, con la marca “immediate_payment” en la API de users.
    • Vendedor “auto” marcado para que sus ventas vayan por este flujo.


    Ahora explicamos cómo es el funcionamiento general de las órdenes ya sea que ingresen por este flujo o no:
    1) Las órdenes que entran por este flujo se crean en estado “payment_required”.
    En ese momento tienen las siguientes características:

    • No son visibles para el seller.
    • No se descuenta el stock de item.
    • No tienen establecido el campo date_closed.
    • No tienen datos de la contraparte.
    • Se envía sólo la notificación del topic “created_orders”.

    Cuando el pago se acredita por el monto total de la venta, la orden pasa del estado “payment_required” a “paid”. En ese momento:

    • Se hacen visibles para el seller.
    • Se descuenta el stock de item.
    • Se establece el campo date_closed.
    • Se agregan los datos de la contraparte.
    • Comienzan a enviarse además las notificaciones del topic “orders”.


    2) Las órdenes que NO entran por este flujo se crean en estado “confirmed”. Desde ese momento:

    • Son visibles para el seller.
    • Se descuenta el stock de item.
    • Se establece el campo date_closed.
    • Tiene los datos de la contraparte.
    • Comienzan a enviarse además las notificaciones del topic “orders”/”created_orders”.

    En caso de que se termine efectuando un pago a través de Mercado Pago y es acreditado por el monto total de la venta, la orden pasa del estado “confirmed” a “paid”.

    Aclaración: En ambos casos, si durante el flujo de pago el comprador elige Mercado Envíos (ME2, sólo en países dónde está activo este servicio), el envío tendrá disponible para imprimir la etiqueta una vez que haya pasado a “paid” la order. Más info.

    ¿Cómo tu app toma conocimiento de una compra?

    La creación de una orden es un evento que se produce del lado de Mercado Libre, por eso deberás suscribirte a nuestro feed de orders para tomar conocimiento en tiempo real cuando ese evento ocurre.
    Dirígete a nuestro Administrador de Aplicaciones y edita las Configuraciones de Notificaciones de tu aplicación. Para más información sobre crear y configurar una nueva aplicación, por favor consulta este link.
    Debes seleccionar un Callback URL: configura el URL público del dominio donde deseas recibir todas las notificaciones de Mercado Libre. Por ejemplo: “https://backend.soleorigami.com/notification”.

    topicsconmensajeria

    Esta configuración te permite interactuar con las notificaciones de Mercado Libre. Todos los eventos (como pagos y envío) relacionados con un orden serán notificados a tu callback URL.

    Recibir una Notificación

    Mercado Libre te enviará notificaciones a través de un mensaje POST con información en el cuerpo de publicación. El atributo más importante del mensaje es el user_id, que está relacionado con la notificación, y el segundo en importancia es el recurso. El recurso es el elemento que fue actualizado o creado.

    {
      "user_id": 1234,
      "resource": "/orders/731867397",
      "topic": "orders",
      "received": "2011-10-19T16:38:34.425Z",
      "application_id" : 14529
      "sent" : "2011-10-19T16:40:34.425Z",
      "attempts" : 0
    }

    Después de recibir la notificación, debes enviar un acuse de recibo [acknowledgment] (ACK 200) a Mercado Libre para dejar de recibirla.

    Pagos

    Mercado Pago es la plataforma de pagos de Mercado Libre. Si deseas integrar una solución de pagos en tu plataforma, debes consultar el sitio de desarrolladores de Mercado Pago.

    Escenario de pagos múltiples

    En algunos casos, cuando se rechaza el pago por llegar al límite de la tarjeta de crédito, permitimos a los usuarios agregar otro pago con una segunda tarjeta de crédito.

    ¿Cómo puedo saber si existen dos pagos?

    Cuando realizas una solicitud GET a la API de órdenes, verás que dentro del conjunto de pagos habrá dos ID con los detalles de cada pago.
    Ejemplo:

    curl -X GET https://api.mercadolibre.com/orders/893431118?access_token=&ACCESS_TOKEN

    Respuesta

    {
    	"buyer": {
        	"alternative_phone": {
            	"area_code": null,
            	"extension": null,
            	"number": ""
        	},
        	"billing_info": {
            	"doc_number": "67045427794",
            	"doc_type": "CPF"
        	},
        	"email": "test_user_21963158@testuser.com",
        	"first_name": "Test",
        	"id": 160903317,
        	"last_name": "Test",
        	"nickname": "TETE2022123",
        	"phone": {
            	"area_code": "01",
            	"extension": null,
            	"number": "1111-1111"
        	}
    	},
    	"coupon": {
        	"amount": 0,
        	"id": null
        },
    	"currency_id": "BRL",
    	"date_closed": null,
    	"date_created": "2014-10-26T22:46:18.000-04:00",
    	"feedback": {
        	"purchase": null,
        	"sale": null
    	},
    	"id": 893431118,
    	"last_updated": "2014-10-26T22:50:10.000-04:00",
        "mediations": [],
    	"order_items": [
        	{
            	"currency_id": "BRL",
            	"item": {
                	"id": "MLB600034093",
                	"title": "Item De Testeo, Por Favor No Ofertar --kc:off",
                	"variation_attributes": [],
                	"variation_id": null
            	},
            	"quantity": 1,
            	"unit_price": 591
        	}
    	],
    	"paid_amount": 591,
    	"payments": [
        	{
            	"activation_uri": null,
            	"atm_transfer_reference": {
                	"company_id": null,
                    "transaction_id": null
            	},
                "available_actions": [],
            	"card_id": null,
            	"collector": {
                	"id": 169648308
            	},
            	"coupon_amount": 0,
            	"coupon_id": null,
            	"currency_id": "BRL",
            	"date_created": "2014-10-26T22:48:46.000-04:00",
                "date_last_modified": "2014-10-27T00:51:53.000-04:00",
            	"id": 885920310,
            	"installments": 1,
            	"issuer_id": "25",
            	"operation_type": "regular_payment",
            	"order_id": 893431118,
            	"overpaid_amount": 0,
            	"payer_id": 160903317,
                "payment_method_id": "visa",
            	"payment_type": "credit_card",
            	"reason": "Item De Testeo, Por Favor No Ofertar --kc:off",
            	"shipping_cost": 0,
            	"site_id": "MLB",
            	"status": "approved",
            	"status_code": null,
            	"status_detail": "accredited",
                "total_paid_amount": 296,
                "transaction_amount": 296
        	},
        	{
            	"activation_uri": null,
                "atm_transfer_reference": {
                	"company_id": null,
                    "transaction_id": null
            	},
                "available_actions": [],
            	"card_id": null,
            	"collector": {
                	"id": 169648308
            	},
            	"coupon_amount": 0,
            	"coupon_id": null,
            	"currency_id": "BRL",
    	        "date_created": "2014-10-26T22:50:10.000-04:00",
                "date_last_modified": "2014-10-26T22:50:21.000-04:00",
            	"id": 885920410,
            	"installments": 3,
            	"issuer_id": "25",
            	"operation_type": "regular_payment",
            	"order_id": 893431118,
            	"overpaid_amount": 0,
            	"payer_id": 160903317,
                "payment_method_id": "visa",
            	"payment_type": "credit_card",
            	"reason": "Item De Testeo, Por Favor No Ofertar --kc:off",
            	"shipping_cost": 0,
            	"site_id": "MLB",
            	"status": "approved",
            	"status_code": null,
            	"status_detail": "accredited",
                "total_paid_amount": 315.62,
                "transaction_amount": 295
        	}
    	],
    	"seller": {
        	"alternative_phone": {
            	"area_code": null,
            	"extension": null,
            	"number": ""
        	},
        	"email": "test_user_70385259@testuser.com",
        	"first_name": "Test",
      	  "id": 169648308,
        	"last_name": "Test",
        	"nickname": "TETE6072468",
        	"phone": {
            	"area_code": "01",
            	"extension": null,
            	"number": "1111-1111"
        	}
    	},
    	"shipping": {
        	"status": "to_be_agreed"
    	},
    	"status": "paid",
    	"status_detail": null,
    	"tags": [
        	"not_delivered",
        	"paid"
    	],
    	"total_amount": 591,
        "total_amount_with_shipping": 591
    }

    ¿Cómo obtener información de un pago?

    Para obtener información del pago de un comprador utilizando el token deberás recurrir al recurso “payments”.

    Ejemplo:

    https://api.mercadolibre.com/payments?access_token=

    ¿Cómo obtener información del pago siendo vendedor?

    Para obtener información del pago desde el rol del vendedor, el recurso que deberás acudir con el payment_id es “collections”.

    Ejemplo:

    https://api.mercadolibre.com/collections/{collection_id}?access_token=

    Avanzado

    Notas de órdenes

    Una nota es una anotación que los vendedores pueden agregar a las órdenes. Las notas pueden tener hasta 300 caracteres cada una y, una vez que publicas una nota, puedes modificarla o eliminarla.

    Cómo agregar una nota a una orden

    curl -X POST -H "Content-Type: application/json" -d '{  	
       	"note": "test",
    }' https://api.mercadolibre.com/orders/{order_Id}/notes?access_token=$ACCESS_TOKEN

    Visualiza notas de órdenes

    curl -X GET https://api.mercadolibre.com/orders/{order_Id}/notes?access_token=$ACCESS_TOKEN

    Cómo modificar una nota

    curl -X PUT -H "Content-Type: application/json" -d '{
       	"note": "test2",
    }' https://api.mercadolibre.com/orders/{order_Id}/notes/{note_Id}?access_token=$ACCESS_TOKEN

    Elimina notas

    curl -X DELETE https://api.mercadolibre.com/orders/{order_Id}/notes/{note_Id}?access_token=$ACCESS_TOKEN

    Bloquea ofertas

    Aunque contamos con una prestación y flujos de prevención de fraude para mantener la seguridad de los compradores y vendedores, en algunas ocasiones puedes encontrar usuarios que, por algún motivo ofertan en las publicaciones. Estos casos pueden ser enviados a la lista negra para evitarles la posibilidad de ofertar.

    ¿Cómo bloqueo ofertas de un usuario específico?

    Realiza una solicitud POST con el cust_id del usuario que deseas bloquear en el JSON y el tuyo en el url, como muestra el siguiente ejemplo:

    curl -X POST -H "Content-Type: application/json" -d
    { user_id: {cust_id} }
    https://api.mercadolibre.com/users/{cust_Id}/order_blacklist?access_token=$ACCESS_TOKEN

    Consulta tu lista negra

    Si deseas saber cuáles son los usuarios de tu lista negra, realiza una solicitud GET a la API con tu cust_id en el url:

    curl -X GET https://api.mercadolibre.com/users/{cust_id}/order_blacklist?access_token=$ACCESS_TOKEN

    Elimina a un usuario de tu lista negra

    Si ya no deseas bloquear a un usuario para que realice ofertas, puedes eliminarlo de tu lista negra al realizar una solicitud DELETE a la API con tu cust_id y el cust_id del usuario.

    curl -X DELETE https://api.mercadolibre.com/users/{your_cust_id}/order_blacklist/{cust_id}

    Referencias de Códigos de Error

    Error_codeMensaje de errorDescripciónPosible solución
    order_not_foundorden no encontrada.$order_id incorrecto.No se puede encontrar la orden; consulta si el order_id es correcto. (Más información)
    empty_order_idEl ID de la orden no puede estar vacío.$order_id es nulo.El parámetro order_id no puede ser nulo; consulta el URL utilizado. (Más información)
    invalid_order_idID de la orden inválido.$order_id incorrecto.El parámetro order_id debe ser un número entero. (Para buscar tus órdenes consulta este tema)
    not_identified_userFalta de Token.No existe un Token.Se deberá enviar un Token.
    not_owned_orderEl usuario no tiene acceso al orden.$seller o $buyer incorrectos.Para ver un orden, tu access_token debe ser generado desde el vendedor o el comprador.
    caller.id.invalidEl caller.id no coincide con el comprador ni el vendedor.$seller o $buyer incorrectos.Para ver un orden, debes utilizar un ID del vendedor o del comprador.
    feedback_not_foundEl feedback no existe.Error de respuesta.Consulta si existe feedback para dar una respuesta.
    invalid_fulfilledEl parámetro ‘completado’ debe ser verdadero o falso.Error al dar feedback.Consulta el parámetro $fulfilled; debe ser booleano (elimina las comillas) y consulta si el parámetro $reason no es nulo en caso de $fulfilled: falso.
    reply_time_expiredEl tiempo de respuesta expiró. Existe un período de 14 días para responder el feedback.Error al dar respuesta sobre el feedback.La respuesta se puede enviar en los 14 días posteriores a la fecha del feedback.
    reply_already_existsYa existe respuesta para el feedback.Error al dar respuesta sobre el feedback.El feedback soporta una sola respuesta.



    Siguiente:
    API de mensajería.

    Por favor califica del 1 al 5

    MercadoLíder y Tiendas Oficiales

    Ahora que ya sabes como trabajar con usuarios de Mercado Libre, es hora que entremos en características especiales que puedes encontrar en MercadoLíderes y Tiendas Oficiales.

    Tiendas Oficiales

    Algunos usuarios selectos son parte de las Tiendas Oficiales de Mercado Libre y tienen una o más marcas bajo el mismo usuario. Para conocer cómo trabajar con ellos te sugerimos que ingreses al siguiente tutorial.

    Campañas promocionales

    Si recibiste la invitación para alguna campaña puntual y quieres sumarte, sigue este tutorial para conocer los pasos básicos de cómo sugerir tus productos en oferta.

    Programa de Protección de Propiedad Intelectual

    Este programa permite únicamente a los titulares o apoderados de un derecho de propiedad intelectual denunciar y pedir la baja de publicaciones que infrinjan sus derechos. Para conocer cómo adherirse te sugerimos que sigas la siguiente guía.

    Por favor califica del 1 al 5

    Consultas sobre el usuario

    Si ya lograste registrar tu aplicación, autenticarte y generar un usuario de Test, el siguiente paso a seguir es aprender a trabajar con usuarios (vendedores y compradores):

    Contenidos:

    Consultar mis datos personales

    Si te encuentras logueado en MercadoLibre y tienes un token podrás hacer la siguiente llamada y conocer qué información se encuentra relacionada a tu usuario:

    Ejemplo:

    curl  - X GET https://api.mercadolibre.com/users/me?access_token=$ACCESS_TOKEN

    Respuesta:

    {
      "id": 202593498,
      "nickname": "TETE2870021",
      "registration_date": "2016-01-06T11:31:42.000-04:00",
      "first_name": "Test",
      "last_name": "Test",
      "country_id": "AR",
      "email": "test_user_50698062@testuser.com",
      "identification": {
    	"type": "DNI",
    	"number": "1111111"
      },
      "address": {
    	"state": "AR-C",
    	"city": "Palermo",
    	"address": "Test Address 123",
    	"zip_code": "1414"
      },
      "phone": {
    	"area_code": "01",
    	"number": "1111-1111",
    	"extension": "",
    	"verified": false
      },
      "alternative_phone": {
    	"area_code": "",
    	"number": "",
    	"extension": ""
      },
      "user_type": "real_estate_agency",
      "tags": [
    	"real_estate_agency",
    	"test_user",
    	"user_info_verified"
      ],
      "logo": null,
      "points": 100,
      "site_id": "MLA",
      "permalink": "http://perfil.mercadolibre.com.ar/TETE2870021",
      "shipping_modes": [
    	"custom",
    	"not_specified"
      ],
      "seller_experience": "ADVANCED",
      "seller_reputation": {
    	"level_id": null,
    	"power_seller_status": null,
    	"transactions": {
      	"period": "historic",
      	"total": 0,
      	"completed": 0,
      	"canceled": 0,
      	"ratings": {
        	"positive": 0,
        	"negative": 0,
        	"neutral": 0
      	}
    	}
      },
      "buyer_reputation": {
    	"canceled_transactions": 0,
    	"transactions": {
      	"period": "historic",
      	"total": null,
      	"completed": null,
      	"canceled": {
        	"total": null,
        	"paid": null
      	},
      	"unrated": {
        	"total": null,
        	"paid": null
      	},
      	"not_yet_rated": {
        	"total": null,
        	"paid": null,
        	"units": null
      	}
    	},
    	"tags": [
    	]
      },
      "status": {
    	"site_status": "active",
    	"list": {
      	"allow": true,
      	"codes": [
      	],
      	"immediate_payment": {
        	"required": false,
        	"reasons": [
        	]
      	}
    	},
    	"buy": {
      	"allow": true,
      	"codes": [
      	],
      	"immediate_payment": {
        	"required": false,
        	"reasons": [
       	 ]
      	}
    	},
    	"sell": {
      	"allow": true,
      	"codes": [
      	],
      	"immediate_payment": {
        	"required": false,
        	"reasons": [
        	]
      	}
    	},
    	"billing": {
      	"allow": true,
      	"codes": [
      	]
    	},
    	"mercadopago_tc_accepted": true,
    	"mercadopago_account_type": "personal",
    	"mercadoenvios": "not_accepted",
    	"immediate_payment": false,
    	"confirmed_email": false,
    	"user_type": "eventual",
    	"required_action": ""
      },
      "credit": {
    	"consumed": 100,
    	"credit_level_id": "MLA1"
      }
    }

    Consultar datos de usuarios terceros

    Si deseas consultar los datos de usuarios terceros, podrás identificar dos niveles de información: los datos públicos, aquellos que puedes encontrar navegando el perfil en MercadoLibre de cualquier otro usuario, Ej: http://perfil.mercadolibre.com.ar/TETE2870021 y los datos privados, que no serán visibles a menos que tengas los permisos del usuario y un token válido para trabajar en su nombre.
    En ambos casos, lo primero que deberás conocer es el id del usuario.

    ¿Cómo obtener el Id de un usuario?

    Si no tienes el id, pero conoces el nickname y el site al que pertenece un usuario, podrás obtener su Id con la siguiente búsqueda:

    Llamada:

    https://api.mercadolibre.com/sites/{Site_id}/search?nickname={Nickname}

    Ejemplo:

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

    Respuesta:

    {
      "site_id": "MLA",
      "seller": {
    	"id": 202593498,
    	"seller_reputation": {
      	"power_seller_status": null
    	},
    	"real_estate_agency": false,
    	"car_dealer": false,
    	"tags": [
    	]
      },
      "paging": {
    	"total": 2,
    	"offset": 0,
    	"limit": 50
      },
      "results": [
    	{
      	"id": "MLA598903377",
      	"site_id": "MLA",
      	"title": "Test Item - Nao Ofertar",
      	"subtitle": null,
      	"seller": {
        	"id": 202593498,
        	"power_seller_status": null,
        	"car_dealer": false,
        	"real_estate_agency": false,
        	"tags": [
        	]
          },
      	"price": 200,
      	"currency_id": "ARS",
      	"available_quantity": 1,
      	"sold_quantity": 0,
      	"buying_mode": "buy_it_now",
      	"listing_type_id": "bronze",
      	"stop_time": "2016-03-06T17:16:49.000Z",
          "condition": "new",
      	"permalink": "http://articulo.mercadolibre.com.ar/MLA-598903377-test-item-nao-ofertar-_JM",
      	"thumbnail": "http://mla-s2-p.mlstatic.com/546311-MLA20539702714_012016-I.jpg",
      	"accepts_mercadopago": true,
      	"installments": {
        	"quantity": 6,
        	"amount": 42.33,
        	"currency_id": "ARS"
      	},
      	"address": {
        	"state_id": "AR-C",
        	"state_name": "Capital Federal",
        	"city_id": "",
        	"city_name": "Palermo"
      	},
      	"shipping": {
        	"free_shipping": false,
        	"mode": "not_specified"
      	},
      	"seller_address": {
        	"id": 175597910,
        	"comment": "",
        	"address_line": "",
            "zip_code": "",
        	"country": {
          	"id": "AR",
          	"name": "Argentina"
        	},
        	"state": {
          	"id": "AR-C",
          	"name": "Capital Federal"
        	},
        	"city": {
          	"id": "",
          	"name": "Palermo"
        	},
        	"latitude": -34.571148,
        	"longitude": -58.423298
      	},
      	"attributes": [
      	],
      	"original_price": null,
      	"category_id": "MLA374515",
      	"official_store_id": null
    	},
    	{
      	"id": "MLA599121050",
      	"site_id": "MLA",
      	"title": "Item De Test - No Ofertar",
      	"subtitle": null,
      	"seller": {
        	"id": 202593498,
            "power_seller_status": null,
        	"car_dealer": false,
        	"real_estate_agency": false,
        	"tags": [
        	]
      	},
      	"price": 1000,
      	"currency_id": "ARS",
      	"available_quantity": 1,
      	"sold_quantity": 0,
      	"buying_mode": "buy_it_now",
      	"listing_type_id": "bronze",
      	"stop_time": "2016-03-07T20:12:41.000Z",
      	"condition": "new",
      	"permalink": "http://articulo.mercadolibre.com.ar/MLA-599121050-item-de-test-no-ofertar-_JM",
      	"thumbnail": "http://mla-s2-p.mlstatic.com/493311-MLA20538550251_012016-I.jpg",
      	"accepts_mercadopago": true,
      	"installments": {
        	"quantity": 6,
        	"amount": 211.65,
        	"currency_id": "ARS"
      	},
      	"address": {
        	"state_id": "AR-C",
        	"state_name": "Capital Federal",
        	"city_id": "",
        	"city_name": "Palermo"
      	},
      	"shipping": {
        	"free_shipping": false,
      	  "mode": "not_specified"
      	},
      	"seller_address": {
        	"id": 175597910,
        	"comment": "",
        	"address_line": "",
        	"zip_code": "",
        	"country": {
          	"id": "AR",
          	"name": "Argentina"
        	},
        	"state": {
          	"id": "AR-C",
          	"name": "Capital Federal"
        	},
        	"city": {
          	"id": "",
          	"name": "Palermo"
        	},
        	"latitude": -34.571148,
        	"longitude": -58.423298
      	},
      	"attributes": [
     	 ],
      	"original_price": null,
      	"category_id": "MLA90105",
      	"official_store_id": null
    	}
      ],
      "secondary_results": [
      ],
      "related_results": [
      ],
      "sort": {
    	"id": "relevance",
    	"name": "More relevant"
      },
      "available_sorts": [
    	{
      	"id": "price_asc",
      	"name": "Lower price"
    	},
    	{
      	"id": "price_desc",
      	"name": "Higher price"
    	}
      ],
      "filters": [
      ],
      "available_filters": [
    	{
      	"id": "category",
      	"name": "Categories",
      	"type": "text",
      	"values": [
        	{
          	"id": "MLA1648",
          	"name": "Computación",
          	"results": 1
        	},
        	{
          	"id": "MLA1430",
          	"name": "Ropa y Accesorios",
          	"results": 1
        	}
      	]
    	},
    	{
      	"id": "state",
      	"name": "Location",
      	"type": "text",
      	"values": [
        	{
          	"id": "TUxBUENBUGw3M2E1",
          	"name": "Capital Federal",
          	"results": 2
        	}
      	]
    	},
    	{
      	"id": "accepts_mercadopago",
      	"name": "MercadoPago filter",
      	"type": "boolean",
      	"values": [
        	{
          	"id": "yes",
          	"name": "With MercadoPago",
          	"results": 2
        	}
      	]
    	},
    	{
      	"id": "installments",
      	"name": "Pago",
      	"type": "text",
      	"values": [
        	{
          	"id": "yes",
          	"name": "Installments",
          	"results": 2
        	},
        	{
          	"id": "no_interest",
          	"name": "Sin interés",
          	"results": 0
        	}
          ]
    	},
    	{
      	"id": "condition",
      	"name": "Condition filter",
      	"type": "text",
      	"values": [
        	{
          	"id": "new",
          	"name": "New",
          	"results": 2
        	}
      	]
    	},
    	{
      	"id": "buying_mode",
      	"name": "Buying mode filter",
      	"type": "text",
      	"values": [
        	{
          	"id": "buy_it_now",
          	"name": "Buy it now",
          	"results": 2
        	}
      	]
    	},
    	{
      	"id": "has_pictures",
      	"name": "Items with images filter",
      	"type": "boolean",
      	"values": [
        	{
          	"id": "yes",
          	"name": "With pictures",
          	"results": 2
        	}
      	]
    	}
      ]
    }

    Consultar información pública de un usuario

    Muy bien, de ésta manera ya conoces el Id del usuario, por lo cual puedes realizar la llamada al recurso de users de la siguiente manera y obtener la información pública del usuario que deseas:

    Llamada:

    curl GET -X  https://api.mercadolibre.com/users/{User_id}

    Ejemplo:

    GET -X  https://api.mercadolibre.com/users/202593498

    Respuesta:

    {
      "id": 202593498,
      "nickname": "TETE2870021",
      "registration_date": "2016-01-06T11:31:42.000-04:00",
      "country_id": "AR",
      "address": {
    	"state": "AR-C",
    	"city": "Palermo"
      },
      "user_type": "normal",
      "tags": [
    	"normal",
    	"test_user",
    	"user_info_verified"
      ],
      "logo": null,
      "points": 100,
      "site_id": "MLA",
      "permalink": "http://perfil.mercadolibre.com.ar/TETE2870021",
      "seller_reputation": {
    	"level_id": null,
    	"power_seller_status": null,
    	"transactions": {
      	"period": "historic",
      	"total": 0,
      	"completed": 0,
      	"canceled": 0,
      	"ratings": {
        	"positive": 0,
        	"negative": 0,
        	"neutral": 0
      	}
    	}
      },
      "buyer_reputation": {
    	"tags": [
    	]
      },
      "status": {
    	"site_status": "active"
      }
    }

    Consultar información privada de un usuario que ha aceptado el uso de mi aplicación

    Para obtener los datos privados de un usuario, solo debes apendar el ACCESS_TOKEN del usuario al final de la llamada que realizaste anteriormente.

    Llamada:

    curl GET -X  https://api.mercadolibre.com/users/{User_id}?access_token=¢ACCESS_TOKEN

    Ejemplo:

    curl GET -X  https://api.mercadolibre.com/users/202593498?access_token=¢ACCESS_TOKEN

    Respuesta:

    {
      "id": 202593498,
      "nickname": "TETE2870021",
      "registration_date": "2016-01-06T11:31:42.000-04:00",
      "first_name": "Test",
      "last_name": "Test",
      "country_id": "AR",
      "email": "test_user_50698062@testuser.com",
      "identification": {
    	"type": "DNI",
    	"number": "1111111"
      },
      "address": {
    	"state": "AR-C",
    	"city": "Palermo",
    	"address": "Test Address 123",
    	"zip_code": "1414"
      },
      "phone": {
    	"area_code": "01",
    	"number": "1111-1111",
    	"extension": "",
    	"verified": false
      },
      "alternative_phone": {
    	"area_code": "",
    	"number": "",
    	"extension": ""
      },
      "user_type": "normal",
      "tags": [
    	"normal",
    	"test_user",
    	"user_info_verified"
      ],
      "logo": null,
      "points": 100,
      "site_id": "MLA",
      "permalink": "http://perfil.mercadolibre.com.ar/TETE2870021",
      "shipping_modes": [
    	"custom",
    	"not_specified"
      ],
      "seller_experience": "ADVANCED",
      "seller_reputation": {
    	"level_id": null,
    	"power_seller_status": null,
    	"transactions": {
      	"period": "historic",
          "total": 0,
      	"completed": 0,
      	"canceled": 0,
      	"ratings": {
        	"positive": 0,
        	"negative": 0,
        	"neutral": 0
      	}
    	}
      },
      "buyer_reputation": {
    	"canceled_transactions": 0,
    	"transactions": {
      	"period": "historic",
      	"total": null,
      	"completed": null,
      	"canceled": {
        	"total": null,
        	"paid": null
      	},
      	"unrated": {
        	"total": null,
        	"paid": null
      	},
      	"not_yet_rated": {
        	"total": null,
            "paid": null,
        	"units": null
      	}
    	},
    	"tags": [
    	]
      },
      "status": {
    	"site_status": "active",
    	"list": {
      	"allow": true,
      	"codes": [
      	],
      	"immediate_payment": {
        	"required": false,
        	"reasons": [
        	]
      	}
    	},
    	"buy": {
      	"allow": true,
      	"codes": [
      	],
      	"immediate_payment": {
        	"required": false,
        	"reasons": [
        	]
      	}
    	},
    	"sell": {
      	"allow": true,
      	"codes": [
      	],
          "immediate_payment": {
        	"required": false,
        	"reasons": [
        	]
      	}
    	},
    	"billing": {
      	"allow": true,
      	"codes": [
      	]
    	},
    	"mercadopago_tc_accepted": true,
    	"mercadopago_account_type": "personal",
    	"mercadoenvios": "not_accepted",
    	"immediate_payment": false,
    	"confirmed_email": false,
    	"user_type": "eventual",
    	"required_action": ""
      },
      "credit": {
    	"consumed": 100,
    	"credit_level_id": "MLA1"
      }
    }

    Puedes observar que esta vez obtuviste mayor cantidad de datos del usuario: Su nombre completo, email, teléfono, domicilio, etc. Te solicitamos que no reveles estos datos públicamente ya que pueden comprometer al usuario.

    Actualizar datos de usuario

    Puedes utilizar nuestros recursos para actualizar tu información de usuario después del registro. Es un tema común, porque en esta instancia no se te solicita que completes tu domicilio o identificación personal, pero debes tenerlos completos o no podrás publicar artículos en MercadoLibre.
    Para actualizar tu información de usuario sigue el ejemplo:

    curl -X PUT -H "Content-Type: application/json" -d
    {
    "identification_type": "DNI",
    "identification_number": "33333333",
    "address": "Triunvirato 5555",
    "state":"AR-C",
    "city":"Capital Federal",
    "zip_dode": "1431",
    "phone":{
            "area_code":"011",
            "number":"4444-4444",
        	"extension":"001"
        	},
    "first_name":"Pedro",
    "last_name": "Picapiedras",
    "company":{
              "corporate_name":"Acme",
              "brand_name":"Acme Company"
          	},
    "mercadoenvios": "accepted"
    }
    
    https://api.mercadolibre.com/users/{User_id}?access_token=

    ¡Felicitaciones, actualizaste tu información de usuario! Recuerda enviar solamente los campos que deseas actualizar.

    Usuario Vendedor con Mercado Pago obligatorio

    Si deseas que todas tus operaciones sean exclusivamente a través de Mercado Pago deberás indicar en la información de tu usuario que solo aceptas esta modalidad. De esta manera quedará deshabilitada la opción “Acuerdo con el vendedor”.

    PUT:

     curl -XPUT -H "Content-type: application/json" -d 
    
    '{
        "reason": "by_user"
    }'
    
    https://api.mercadolibre.com/users/{user_id}/immediate_payment?access_token=$ACCESS_TOKEN

    Si querés dejar de aceptar como única opción Mercado Pago, puedes eliminar la marca de la siguiente manera:

     curl -XDELETE 
    
    'https://api.mercadolibre.com/users/{user_id}/immediate_payment/by_user?access_token=$ACCESS_TOKEN

    Códigos de error comunes

    206 – Partial content: en algunos casos, el recurso de la API de Usuarios devolverá un código 206 – Partial content. Esto ocurrirá cuando falle la solicitud a algunos de los datos (por ejemplo, reputación del usuario) para informarte que recibirás una respuesta incompleta.



    Siguiente:
    Tiendas oficiales.

    Por favor califica del 1 al 5

    Califica automáticamente

    De acuerdo con las reglas de negocios de MercadoLibre, una vez completada la venta (o compra), el comprador y el vendedor deben dar feedback sobre la transacción y calificarse mutuamente. Los compradores y vendedores consolidan sus reputaciones en base a las calificaciones de sus socios comerciales.

    Contenidos:

    Descripción de recursos

    AtributoDescripción
    completadoVerdadero o Falso. Indica si el pedido se completó o no. Obligatorio.
    mensajeCadena con menos de 160 caracteres. Obligatorio.
    calificaciónLos valores posibles son: ‘negativo’, ‘neutro’ en caso de ‘completado: ‘falso’ o ‘positivo’ en caso de ‘completado’: ‘verdadero’. Obligatorio.
    motivoCampo obligatorio en caso de ‘completado’: ‘falso’.
    restock_itemSolo para compradores, en caso de ‘completado’: ‘falso’. En caso de ‘restock_item’: ‘verdadero’ significa que el pedido no fue completado, por eso se debe reponer el artículo. La única restricción para la reposición es que el estado del artículo no puede ser ‘cerrado’.
    has_seller_refunded_moneySolo para vendedores, cuando el pedido es ‘completado’: ‘falso’ y existe un pago asociado al pedido. Indica si el usuario emitió un reintegro al comprador.

    Valores aceptados para enviar como “motivo”

    VENDEDOR (Todos los sitios salvo MLB, MPA, MRD y MPT):

    • SELLER_OUT_OF_STOCK
    • SELLER_DIDNT_TRY_TO_CONTACT_BUYER
    • BUYER_NOT_ENOUGH_MONEY
    • BUYER_REGRETS

    VENDEDOR (MPA, MRD y MPT):

    • SELLER_REGRETS
    • THEY_DIDNT_ANSWER
    • BUYER_REGRETS
    • SELLER_OUT_OF_STOCK
    • SELLER_DIDNT_TRY_TO_CONTACT_BUYER
    • BUYER_NOT_ENOUGH_MONEY
    • THEY_NOT_HONORING_POLICIES
    • OTHER_MY_RESPONSIBILITY
    • OTHER_THEIR_RESPONSIBILITY

    COMPRADOR:

    • SELLER_OUT_OF_STOCK
    • BUYER_PAID_BUT_DID_NOT_RECEIVE
    • OTHER_MY_RESPONSIBILITY

    Publicar feedback

    Para asociar feedback a un pedido, realiza una solicitud POST al pedido como se muestra a continuación:

    curl -X POST -H "Content-Type: application/json" -d
    '{
      "fulfilled": false,
      "rating": "neutral",
      "message": "Operation not completed",
      "reason": "THEY_DIDNT_ANSWER",
      "restock_item": false,
      "has_seller_refunded_money": true
    }'
    
    "https://api.mercadolibre.com/orders/{order_Id}/feedback?access_token=$ACCESS_TOKEN"

    Responder al Feedback

    Puedes responder al feedback recibido de tus socios comerciales para explicar tus motivos u ofrecer información adicional con una solicitud POST a la API, incluyendo el feedback_id, como se describe a continuación:

    curl -X POST -H "Content-Type: application/json" -d'{
    "reply":"COMMENT 2."
    }' "https://api.mercadolibre.com/feedback/{feedback_Id}/reply?access_token=$ACCESS_TOKEN"

    ¿Cómo averiguo el ID de Feedback de la otra parte?

    Esta información se puede obtener con una solicitud GET a orders. Si ya la hiciste, no es necesario que vuelvas a hacerla porque el feedback_id está incluido en la respuesta GET:

    curl -X GET "https://api.mercadolibre.com/orders/{order_Id}?access_token=$ACCESS_TOKEN"

    Respuesta:

    {
      "id": 825103323,
      "status": "confirmed",
      "status_detail": {
    	"code": null,
    	"description": null
      },
      "date_created": "2014-03-17T23:27:53.000-04:00",
      "date_closed": "2014-03-17T23:27:53.000-04:00",
      "last_updated": "2014-06-01T16:36:28.000-04:00",
      "order_items": [
    	{
      	"item": {
        	"id": "MLA494467937",
        	"title": "Tag Heuer Aquaracer Automatico 43mm Cal16 Day-d Linea Nueva",
        	"variation_id": null,
        	"variation_attributes": []
      	},
      	"quantity": 1,
      	"unit_price": 24100,
      	"currency_id": "ARS"
    	}
      ],
      "total_amount": 24100,
      "currency_id": "ARS",
      "buyer": {
    	"id": 9981145,
    	"nickname": "CARLITOS8665",
    	"email": "carlitos8665@gmail.com",
    	"phone": {
      	"area_code": "011",
      	"number": "1544706706",
      	"extension": null
    	},
    	"alternative_phone": {
      	"area_code": "011",
      	"number": "48027618",
      	"extension": null
    	},
    	"first_name": "Carlos",
    	"last_name": "Acuña",
    	"billing_info": {
      	"doc_type": null,
      	"doc_number": null
    	}
      },
      "seller": {
    	"id": 114499680,
    	"nickname": "WATCHES-LUXURY2",
    	"email": "watches-luxury2@hotmail.com",
    	"phone": {
      	"area_code": null,
      	"number": "( 011) 1552490473",
      	"extension": null
    	},
    	"alternative_phone": {
      	"area_code": null,
      	"number": "",
      	"extension": null
    	},
    	"first_name": "carolina soledad",
    	"last_name": "casares"
      },
      "payments": [],
      "feedback": {
    	"purchase": {
      	"id": 5040068164512,
      	"date_created": "2014-04-07T11:20:00.000-04:00",
      	"fulfilled": true,
      	"rating": "positive",
      	"status": "active"
    	},
    	"sale": {
      	"id": 5040068160032,
      	"date_created": "2014-04-07T11:20:57.000-04:00",
      	"fulfilled": true,
     	 "rating": "neutral",
      	"status": "active"
    	}
      },
      "shipping": {
    	"status": "to_be_agreed"
      },
      "tags": [
    	"paid",
    	"not_delivered"
      ],
      "mediations": [],
      "application_id": "2568868276694852",
      "hidden_for_seller": false,
      "buying_mode": "buy_it_now"
    }

    Existe un par de feedback_id para cada transacción: venta y compra. En este ejemplo, el “id”: 5040103892781 es el feedback_id para el lado de venta, mientras que el “id”: 5040103885872 corresponde al lado de compra.

    Modificar el feedback

    Ya aprendiste cómo realizar una solicitud GET para obtener el feedback_id de la otra parte con solo realizar una solicitud POST a la API como se muestra a continuación:

    curl -X PUT -H "Content-Type: application/json" -d '{
      "fulfilled": true,
      "rating": "positive",
      "message": "It’s ok.",
    }' "https://api.mercadolibre.com//feedback/{feedback_id}?access_token=$ACCESS_TOKEN"



    Siguiente:
    Consultas avanzadas.

    Por favor califica del 1 al 5

    Recurso de visitas

    Esta API recupera información sobre visitas a las publicaciones de Mercado Libre.
    Puedes consultar datos por ventanas de tiempo y sites. Recuerda que al volver a publicar se heredan las visitas históricas del parent_item, sin importar cuántas veces se vuelva a publicar.

    Descripción de parámetros

    TipoParámetroDescripción
    EnteroUser_idID de usuario.
    CadenaItem_idID de artículo.
    FechaDate_fromFecha, en formato ISO, que define el inicio de la consulta.
    FechaDate_toFecha, en formato ISO, que define el fin de la consulta.
    FechaFinalizaciónOpcional. Fecha, en formato ISO, que establece el tiempo de finalización de la muestra; por defecto es la fecha y hora actuales.
    CadenaUnidadUnidad de consulta, valores posibles: [“día”].
    EnteroÚltimoOpcional. Denota cuántos días atrás cubrirá la muestra.
    Enterototal_visitsVisitas totales a un artículo.
    Conjuntovisits_detailVisitas detalladas por país y site.
    ConjuntoresultadosDetalle de visitas agrupadas por intervalos de tiempo. La Unidad del parámetro define la longitud.

    Visitas totales por usuario

    Recupera las visitas totales que recibe un usuario entre rangos de fechas. Esto también se aplica a visitas en otras compañías de MercadoLibre, como TuCarro, TuInmueble, Autoplaza, etc.
    Recurso:

    https://api.mercadolibre.com/users/{User_id}/items_visits?date_from={Date_from}&date_to={Date_to}

    Ejemplo:

    curl -X GET ‘https://api.mercadolibre.com/users/52366166/items_visits?date_from=2014-06-01T00:00:00.000-00:00&date_to=2014-06-10T00:00:00.000-00:00’

    Respuesta:

    {
      "user_id": 52366166,
      "date_from": "2014-06-01T00:00:00.000-00:00",
      "date_to": "2014-06-10T00:00:00.000-00:00",
      "total_visits": 120,
      "visits_detail": [
     	{
      	"company": "mercadolibre",
      	"quantity": 59,
    	},
       {
      	"company": "tuinmueble",
      	"quantity": 61,
    	},
      ],
    }

    Visitas totales por artículo

    Recupera las visitas totales a un artículo entre rangos de fecha y por site.
    Recurso:

    https://api.mercadolibre.com/items/{Items_id}/visits?date_from={Date_from}&date_to={Date_to}

    Ejemplo:

    curl -X GET ‘https://api.mercadolibre.com/items/MCO496961166/visits?date_from=2014-04-14T00:00:00.000-03:00&date_to=2014-05-30T23:59:59.999-03:00’

    Respuesta:

    {
      "item_id": "MCO496961166",
      "date_from": "2014-04-14T00:00:00.000-03:00",
      "date_to": "2014-05-30T23:59:59.999-03:00",
      "total_visits": 152,
      "visits_detail":  [
     	{
      	"company": "mercadolibre",
      	"quantity": 70,
    	},
     {
      	"company": "tucarro",
      	"quantity": 82,
    	},
      ],
    }

    Visitas totales por artículo MULTIGET

    Recupera las visitas totales de acuerdo con un conjunto de artículos concatenados dentro de un rango de fechas, por site.
    Recurso:

    https://api.mercadolibre.com/items/visits?ids={Id1, Id2}date_from={Date_from}&date_to={Date_to}

    Ejemplo:

    curl -X GET ‘https://api.mercadolibre.com/items/visits?ids=MLA506635149,MLA506634973,MLA503004418&date_from=2014-06-01T00:00:00.000-00:00&date_to=2014-06-10T00:00:00.000-00:00’

    Respuesta:

    [
     {
    	"item_id": "MLA506635149",
    	"date_from": "2014-06-01T00:00:00.000-00:00",
    	"date_to": "2014-06-10T00:00:00.000-00:00",
    	"total_visits": 134,
    	"visits_detail":  [
       	{
        	"company": "mercadolibre",
        	"quantity": 134,
      	},
    	],
      },
       {
    	"item_id": "MLA506634973",
    	"date_from": "2014-06-01T00:00:00.000-00:00",
    	"date_to": "2014-06-10T00:00:00.000-00:00",
    	"total_visits": 122,
    	"visits_detail": [
       	{
        	"company": "mercadolibre",
        	"quantity": 122,
          },
    	],
      },
       {
    	"item_id": "MLA503004418",
    	"date_from": "2014-06-01T00:00:00.000-00:00",
    	"date_to": "2014-06-10T00:00:00.000-00:00",
    	"total_visits": 355,
    	"visits_detail": [
       	{
        	"company": "mercadolibre",
        	"quantity": 355,
      	},
    	],
      },
    ]

    Visitas con fecha por usuario

    Recupera las visitas de un usuario a cada artículo para cierta ventana de tiempo, por site. El detalle de la información está agrupado por intervalos de tiempo.
    Recurso:

    https://api.mercadolibre.com/users/{User_id}/items_visits/time_window?last={Last}&unit={Unit}&ending={Ending}

    Ejemplo:

    curl -X GET ‘https://api.mercadolibre.com/users/52366166/items_visits/time_window?last=2&unit=day’

    Respuesta:

    {
      "user_id": 52366166,
      "total_visits": 2083,
      "date_from": "2014-06-10T04:00:00Z",
      "date_to": "2014-06-12T04:00:00Z",
      "last": 2,
      "unit": "day",
      "results": [
     	{
      	"date": "2014-06-10T04:00:00Z",
      	"total": 1637,
      	"visits_detail": [
         	{
          	"company": "mercadolibre",
          	"quantity": 1637,
        	},
      	],
    	},
     	{
      	"date": "2014-06-11T04:00:00Z",
      	"total": 446,
      	"visits_detail": [
        	{
          	"company": "mercadolibre",
          	"quantity": 446,
        	},
      	],
    	},
      ],
    }

    Visitas con fecha por artículo

    Recupera las visitas a un artículo para cierta ventana de tiempo, por site. El detalle de la información está agrupado por intervalos de tiempo.

    Recurso:

    https://api.mercadolibre.com/users/{Item_id}/visits/time_window?last={Last}&unit={Unit}&ending={Ending}

    Ejemplo:

    curl -X GET ‘https://api.mercadolibre.com/items/MLA506635149/visits/time_window?last=2&unit=day&ending=2014-06-11’

    Respuesta:

    {
      "item_id": "MLA506635149",
      "total_visits": 15,
      "date_from": "2014-06-09T04:00:00Z",
      "date_to": "2014-06-11T04:00:00Z",
      "last": 2,
      "unit": "day",
      "results": [
     	{
      	"date": "2014-06-09T04:00:00Z",
      	"total": 10,
      	"visits_detail": - [
         	{
          	"company": "mercadolibre",
          	"quantity": 10,
        	},
      	],
    	},
     	{
      	"date": "2014-06-10T04:00:00ZZ",
      	"total": 5,
      	"visits_detail": - [
         	{
          	"company": "mercadolibre",
          	"quantity": 5,
        	},
      	],
    	},
      ],
    }

    Visitas con fecha por artículo MULTIGET

    Recupera las visitas de acuerdo con un conjunto de artículos (máximo 50), por site. El detalle de la información está agrupado por intervalos de tiempo.
    Recurso:

    https://api.mercadolibre.com/items/visits/time_window?ids={Id1, Id2}last={Last}&unit={Unit}&ending={Ending}

    Ejemplo:

    curl -X GET ‘https://api.mercadolibre.com/items/visits/time_window?ids=MLA506635149,MLA506634973,MLA503004418&last=3&unit=day‘

    Respuesta:

    [
     {
     "item_id": "MLA506635149",
     "total_visits": 0,
     "date_from": "2015-08-30T04:00:00Z",
     "date_to": "2015-09-02T04:00:00Z",
     "last": 3,
     "unit": "day",
     "results": [
     {
     "date": "2015-08-30T04:00:00Z",
     "total": 0,
     "visits_detail": []
     },
     {
     "date": "2015-08-31T04:00:00Z",
     "total": 0,
     "visits_detail": []
     },
     {
     "date": "2015-09-01T04:00:00Z",
     "total": 0,
     "visits_detail": []
     }
     ]
     },
     {
     "item_id": "MLA506634973",
     "total_visits": 0,
     "date_from": "2015-08-30T04:00:00Z",
     "date_to": "2015-09-02T04:00:00Z",
     "last": 3,
     "unit": "day",
     "results": [
     {
     "date": "2015-08-30T04:00:00Z",
     "total": 0,
     "visits_detail": []
     },
     {
     "date": "2015-08-31T04:00:00Z",
     "total": 0,
     "visits_detail": []
     },
     {
     "date": "2015-09-01T04:00:00Z",
     "total": 0,
     "visits_detail": []
     }
     ]
     },
     {
     "item_id": "MLA503004418",
     "total_visits": 169,
     "date_from": "2015-08-30T04:00:00Z",
     "date_to": "2015-09-02T04:00:00Z",
     "last": 3,
     "unit": "day",
     "results": [
     {
     "date": "2015-08-30T04:00:00Z",
     "total": 42,
     "visits_detail": [
     {
     "company": "mercadolibre",
     "quantity": 42
     }
     ]
     },
     {
     "date": "2015-08-31T04:00:00Z",
     "total": 38,
     "visits_detail": [
     {
     "company": "mercadolibre",
     "quantity": 38
     }
     ]
     },
     {
     "date": "2015-09-01T04:00:00Z",
     "total": 89,
     "visits_detail": [
     {
     "company": "mercadolibre",
     "quantity": 89
     }
     ]
     }
     ]
     }
    ]

    Si necesitas más información sobre republicaciones, por favor consulta el tutorial re-publica tus items.

    Por favor califica del 1 al 5

    Atributos y Variaciones

    Te invitamos a conocer todas las opciones que puedes incluir a la hora de publicar un ítem para mejorar la ficha técnica y descripción de cada uno de ellos.
    Revisa la siguiente documentación para saber cómo utilizarlos:

    Atributos

    Ingresa aquí para conocer cómo representar características.

    Identificadores de productos

    Si quieres añadir códigos para unificar unívocamente a un producto, en la siguiente guía te enseñaremos cómo hacerlo.

    Variaciones

    Por último, si necesitas contar en una misma publicación cuáles son las variantes que tiene un ítem te lo contamos aquí.

    Por favor califica del 1 al 5

    Identificadores de productos

    Los identificadores son códigos que sirven para localizar unívocamente a un producto.

    Contenido:

    ¿Qué es GTIN?

    GTIN (Global Trade Item Number) es el número mundial de un artículo comercial, utilizado para identificar de manera única a cualquier producto o ítem sobre el que existe una necesidad de obtener información específica y se le debe asignar un precio.
    Es un estándar que engloba a los códigos: EAN, UPC, JAN, ISBN13.

    ¿Quién puede enviarnos esta información?

    Mediante recursos vía API, todos los vendedores de Argentina, Brasil, Chile, Colombia, México y Uruguay pueden enviar los identificadores de productos como atributos en sus publicaciones.

    Importante: Destacaremos las publicaciones de aquellos vendedores que envíen esta información correctamente.

    A su vez, aquellos vendedores dentro de Brasil y México que cuenten con nivel de reputación alto y envíen los identificadores de producto tendrán posibilidades de ser elegidos para mostrar sus artículos en el catálogo de Google Shopping.

    ¿Cómo los distingo del resto de los atributos?

    Son aquellos que tienen como “type”: “product_identifier” y los podrás encontrar en la sección de atributos del ítem o de cada variación.

    Beneficios

    • Beneficio en un futuro: Categorizar automáticamente el ítem.
    • Beneficio en un futuro: Completar los atributos de los ítems y mostrarlos en una ficha técnica en la VIP.
    • Boost en Search, tus publicaciones más arriba si cargas el código identificador de tu producto.

    ¿Cómo se debe enviar la información de los identificadores de productos?

    Se puede realizar de la misma manera en que se postean atributos independientemente de la categoría.
    Nota: En caso que el ítem tenga variaciones, podrás especificar, en cada una de ellas, en su sección de atributos identificadores de productos.

    Ejemplo de ítem sin variaciones

    curl -X POST -d '{
        "listing_type_id":"gold_special",
        "pictures":[ { "id":"553111-MLA20482692355_112015" } ],
        "title":"Item de testeo -- no ofertar --kc:off",
        "available_quantity":4,
        "buying_mode":"buy_it_now",
        "currency_id":"ARS",
        "condition":"not_specified",
        "category_id":"MLA377600",
        "site_id":"MLA",
        "price":100,
        "attributes": [
            { "id": "CARRIER", "value_id": "298335", "value_name":"Desbloqueado" },
            { "id": "EAN", "value_name": "9780471117094" }
        ]
    }' 'https://api.mercadolibre.com/items?access_token=$ACCESS_TOKEN'

    Ejemplo de ítem con variaciones

    curl -X POST -d '{
        "listing_type_id":"gold_special",
        "pictures":[ { "id":"553111-MLA20482692355_112015" } ],
        "title":"Item de testeo -- no ofertar --kc:off",
        "available_quantity":4,
        "buying_mode":"buy_it_now",
        "currency_id":"ARS",
        "condition":"not_specified",
        "category_id":"MLA377600",
        "site_id":"MLA",
        "price":100,
        "variations": [
            { "picture_ids": [ "553111-MLA20482692355_112015" ], "available_quantity": 2, "price": 100, "attribute_combinations": [ { "id": "COLOR", "value_id": "52049" } ], "attributes": [ { "id": "EAN", "value_name": "4006381333931" } ] },
            { "picture_ids": [ "553111-MLA20482692355_112015" ], "available_quantity": 2, "price": 100, "attribute_combinations": [ { "id": "COLOR", "value_id": "52055" } ], "attributes": [ { "id": "EAN", "value_name": "9780471117094" } ] }
        ]
    }
    ' 'https://api.mercadolibre.com/items?access_token=$ACCESS_TOKEN'

    ¿Cómo agregar la información a un ítem existente?

    Ejemplo de modificaciones de item

    Se deberán enviar todos los atributos existentes del ítem incluyendo el código de identificadores de productos.
    Sin variaciones

    curl -X PUT -d '''{
      "attributes": [
            {
              "id": "EAN",
              "value_name": "9780471117094"
            },
    {
              "id": "BRAND",
              "value_name": "Philips"
            }
          ]
    }''' 'https://api.mercadolibre.com/items/MLA642016284'

    Con variaciones
    En el caso que el ítem tenga variaciones, de enviar el PUT anterior, al ser los product identifiers variation_attributes, el atributo se replicará para todas las variaciones. De querer especificar un product identifier distinto para cada variación, ver el siguiente ejemplo:

    curl -X PUT -d '{"attributes": [{ "id": "EAN", "value_name": "9780471117094" }]}' https://api.mercadolibre.com/items/{Item_Id}/variations/{Variations_Id}?access_token=$ACCESS_TOKEN

    De la misma forma que se modifica cualquier atributo en una variación, para modificarlos se debe indicar la lista de variaciones que se desea permanezcan en el item (indicando su id de variación), y agregando la lista de atributos que se desea permanezcan en cada una de las variaciones.

    curl -X PUT -d '{
      "variations": [{
        "id": 847326284,
        "attributes": [{
          "id": "EAN",
          "value_name": "9780471117094"
        }]
      }, {
        "id": 847326282,
        "attributes": [{
          "id": "GRILL",
          "value_name": "No"
        }]
      }]
    }' 'https://api.mercadolibre.com/items/MLA642016284'

    Te invitamos a ver el siguiente video tutorial que te explicará en detalle cómo realizar las acciones comentadas.

    ¿Cómo consultar la información sobre los identificadores de tus productos?

    Para obtener estos datos deberás hacer un GET a la API:
    Llamada:

    curl -X GET https://api.mercadolibre.com/items/MLB558871250?include_attributes=all

    Nota: Recuerda que si vuelves a publicar tu artículo, el Identificador de Producto que enviaste para la publicación original se mantendrá automáticamente.

    Consideraciones

    • No son SKU internos.
    • La cantidad de caracteres varía por tipo de código: existen de 8, 10, 12, 13 o 14 caracteres. Incluso un mismo código puede volver a escribirse completandose con ‘0’s al comienzo e igual ser válido.
    • Se validan los GTIN enviados y en caso de no ser válidos no serán tenidos en cuenta por la API.
    • Puedes enviar más de un código identificador para un mismo producto. Por ejemplo EAN y UPC.
    • Se recomienda incluir la Marca y, por lo menos, uno de los demás identificadores. Estas son condiciones necesarias para poder participar en programas de publicaciones de productos de terceros, como Google Shopping.
    • Si deseas renunciar al beneficio, envía un correo electrónico a las siguientes direcciones de correo electrónico:
      Vendedores brasileños: gps-optout@mercadolivre.com.br
      Vendedores hispanos: gps-optout@mercadolibre.com
      Asunto: cancelar suscripción {SellerId}
      Mensaje: (opcional). Motivo por el cual se renuncia al beneficio.
      Recuerda que si renuncias al beneficio, ninguno de tus productos se mostrará en Google Shopping.

    Descripción de Identificadores de Recurso

    BRAND: Marca
    MPN: Número de Parte del Fabricante.
    GTIN: Números Mundial del Artículo Comercial [Global Trade Item Number] para el Artículo.
    ISBN: International Standard Book Number. Es un identificador único para libros, previsto para uso comercial.

    Existen dos tipos:

    ISBN-10
    Es un código de 10 caracteres, donde los primeros 9 siempre son dígitos, pero el último puede bien ser un dígito o una letra ‘X’. Esta versión del código NO es compatible con el estándar GTIN, pero puede ser suministrado para los ítems que así lo requieran.
    ISBN-13
    Es un código numérico de 13 caracteres, contemplado en el estándar GTIN.

    EAN: European Article Number (ahora renombrado a International Article Number). Es un sistema de código de barras adoptado por más de 100 países.

    UPC: Universal Product Code. Sistema de código de barras usado normalmente en Estados Unidos y Canadá.
    upc

    JAN: Japanese Article Number. Es el sistema de códigos de identificación de productos usado en Japón. Es compatible con la longitud y validaciones de los códigos EAN-13.

    Part Number

    Se denomina Part Number a los códigos que sirven para localizar unívocamente a un repuesto automotor definiendo las compatibilidades del repuesto, entre otras cosas.
    En base a un determinado número de parte podemos saber a qué tipo de auto aplica el repuesto.

    Beneficios

    Los listados de las personas que lo carguen van a ser indexados por el widget de autopartes.
    Se logrará un método de búsqueda más acertado.
    ejemplo-partnumber

    Siguiente:
    Variaciones.

    Por favor califica del 1 al 5

    Atributos

    Contenidos

    ¿Qué es un atributo?

    Un atributo sirve para representar una característica de tu ítem, como por ejemplo Marca y Modelo de Microondas. Estos pueden sumarse al momento de la publicación y posteriormente podrás modificar o agregar nuevos.
    Ten en cuenta que los atributos varían por categoría y podrás consultarlos visitando la siguiente url:

    curl -X GET https://api.mercadolibre.com/categories/{CATEGORY_ID}/attributes
    [
     {
       "id": "HEADPHONE_FORMAT",
       "name": "Formato",
       "tags": {
         "fixed": true
       },
       "value_type": "list",
       "values": [
         {
           "id": "182349",
           "name": "In-Ear"
         }
       ],
       "attribute_group_id": "DFLT",
       "attribute_group_name": "Otros"
     },
     {
       "id": "BRAND",
       "name": "Marca",
       "tags": {
         "fixed": true
       },
       "value_type": "string",
       "value_max_length": 60,
       "values": [
         {
           "id": "15438",
           "name": "Shure"
         }
       ],
       "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": "WIRELESS_RANGE",
       "name": "Alcance Inalámbrico",
       "tags": {
         "hidden": true
       },
       "value_type": "number_unit",
       "value_max_length": 60,
       "allowed_units": [
         {
           "id": "cm",
           "name": "cm"
         },
         {
           "id": "ft",
           "name": "ft"
         },
         {
           "id": "in",
           "name": "in"
         },
         {
           "id": "km",
           "name": "km"
         },
         {
           "id": "m",
           "name": "m"
         },
         {
           "id": "mm",
           "name": "mm"
         },
         {
           "id": "pulgadas",
           "name": "pulgadas"
         }
       ],
       "default_unit": "cm",
       "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": "BLUETOOTH",
       "name": "Bluetooth",
       "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": "BATTERY_LIFE",
       "name": "Duración de la Batería",
       "tags": {
         "hidden": true
       },
       "value_type": "number_unit",
       "value_max_length": 60,
       "allowed_units": [
         {
           "id": "h",
           "name": "h"
         },
         {
           "id": "años",
           "name": "años"
         },
         {
           "id": "d",
           "name": "d"
         },
         {
           "id": "m",
           "name": "m"
         },
         {
           "id": "meses",
           "name": "meses"
         },
         {
           "id": "ms",
           "name": "ms"
         },
         {
           "id": "s",
           "name": "s"
         }
       ],
       "default_unit": "h",
       "attribute_group_id": "DFLT",
       "attribute_group_name": "Otros"
     },
     {
       "id": "EAN",
       "name": "EAN",
       "tags": {
         "multivalued": true,
         "variation_attribute": true
       },
       "type": "product_identifier",
       "value_type": "string",
       "value_max_length": 60,
       "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": "IMPEDANCE",
       "name": "Impedancia",
       "tags": {
         "hidden": true
       },
       "value_type": "number_unit",
       "value_max_length": 60,
       "allowed_units": [
         {
           "id": "ω",
           "name": "ω"
         }
       ],
       "default_unit": "ω",
       "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": "CABLE_LENGTH",
       "name": "Longitud del Cable",
       "tags": {
         "hidden": true
       },
       "value_type": "number_unit",
       "value_max_length": 60,
       "allowed_units": [
         {
           "id": "cm",
           "name": "cm"
         },
         {
           "id": "ft",
           "name": "ft"
         },
         {
           "id": "in",
           "name": "in"
         },
         {
           "id": "km",
           "name": "km"
         },
         {
           "id": "m",
           "name": "m"
         },
         {
           "id": "mm",
           "name": "mm"
         },
         {
           "id": "pulgadas",
           "name": "pulgadas"
         }
       ],
       "default_unit": "cm",
       "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": "MICROPHONE_INCLUDED",
       "name": "Micrófono Incluido",
       "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": "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": "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": "WIRELESS_CAPABILITY",
       "name": "Recepción Inalámbrica",
       "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": "FREQUENCY_RESPONSE",
       "name": "Respuesta en Frecuencia",
       "tags": {
         "hidden": true
       },
       "value_type": "string",
       "value_max_length": 60,
       "attribute_group_id": "DFLT",
       "attribute_group_name": "Otros"
     },
     {
       "id": "SENSITIVITY",
       "name": "Sensibilidad",
       "tags": {
         "hidden": true
       },
       "value_type": "number_unit",
       "value_max_length": 60,
       "allowed_units": [
         {
           "id": "db",
           "name": "db"
         }
       ],
       "default_unit": "db",
       "attribute_group_id": "DFLT",
       "attribute_group_name": "Otros"
     },
     {
       "id": "MEMORY_SIZE",
       "name": "Tamaño Efectivo de Memoria",
       "tags": {
         "hidden": true
       },
       "value_type": "number_unit",
       "value_max_length": 60,
       "allowed_units": [
         {
           "id": "gb",
           "name": "gb"
         },
         {
           "id": "gib",
           "name": "gib"
         },
         {
           "id": "kb",
           "name": "kb"
         },
         {
           "id": "kib",
           "name": "kib"
         },
         {
           "id": "mb",
           "name": "mb"
         },
         {
           "id": "mib",
           "name": "mib"
         },
         {
           "id": "tb",
           "name": "tb"
         },
         {
           "id": "tib",
           "name": "tib"
         }
       ],
       "default_unit": "gb",
       "attribute_group_id": "DFLT",
       "attribute_group_name": "Otros"
     },
     {
       "id": "HEADPHONES_TYPE",
       "name": "Tipo",
       "tags": {
         "hidden": true
       },
       "value_type": "string",
       "value_max_length": 60,
       "attribute_group_id": "DFLT",
       "attribute_group_name": "Otros"
     },
     {
       "id": "TYPE_COUPLING",
       "name": "Tipo de Acoplamiento",
       "tags": {
         "hidden": true
       },
       "value_type": "string",
       "value_max_length": 60,
       "suggested_values": [
         {
           "id": "114209",
           "name": "Supraaural"
         },
         {
           "id": "114210",
           "name": "Intraural"
         },
         {
           "id": "114208",
           "name": "Circumaural"
         }
       ],
       "attribute_group_id": "DFLT",
       "attribute_group_name": "Otros"
     },
     {
       "id": "DIAPHRAGM_UNIT",
       "name": "Unidad de Diafragma",
       "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": "UPC",
       "name": "UPC",
       "tags": {
         "multivalued": true,
         "variation_attribute": true
       },
       "type": "product_identifier",
       "value_type": "string",
       "value_max_length": 60,
       "attribute_group_id": "DFLT",
       "attribute_group_name": "Otros"
     }
    ]

    Tipos de atributos posibles

    Existen varios tipos de atributos, dependiendo de ellos son los valores posibles que soportará. El tipo de un atributo se puede visualizar ingresando a la API de atributos de la categoría en cuestión y consultar el campo value_type.

    Los tipos posibles son:

    string

    Puedes completar atributos de este tipo con texto libre incluyendo letras y números indistintamente.
    Ejemplo

    Consideraciones: para este tipo de atributos te sugerimos una lista de valores conocidos, aunque también puedes ingresar nuevos que no estén en dicha lista. Para el caso de nuevos valores basta con enviarnos únicamente el name pero para valores conocidos lo puedes hacer enviando tanto el id como el name. ¡Te alentamos a ver los valores sugeridos en la API!

    number

    Estos atributos se completan únicamente con valores numéricos.
    Ejemplo

    Consideraciones: para este tipo de atributos te sugerimos una lista de valores conocidos, aunque también puedes ingresar nuevos que no estén en dicha lista. Para el caso de nuevos valores basta con enviarnos únicamente el name pero para valores conocidos lo puedes hacer enviando tanto el id como el name. ¡Te alentamos a ver los valores sugeridos en la API!

    number_unit

    Son atributos conformados por un valor numérico y una unidad. Desde la API de atributos puedes visualizar las unidades disponibles para dicho atributo.
    Ejemplo

    Notas:

    • Al momento de realizar o modificar una publicación se validará el formato de estos atributos, corroborando que se respete el formato antes descrito.
    • Para todos los tipos de atributos anteriores, el campo value_max_length indica la cantidad máxima de caracteres a cargar en el valor del atributo.

    boolean

    Permite únicamente dos valores, uno corresponde a un valor positivo y otro negativo.
    Ejemplo

    Consideraciones: es necesario enviar el id del valor, el cual puedes consultar en la API de atributos.

    list

    En la propiedad values se listan los valores posibles que puede tomar este atributo, siempre habrá por lo menos uno.
    Ejemplo

    Consideraciones: si quieres cargar un valor que no existe en la lista, puedes hacerlo enviando en el value_name tu valor personalizado, con el value_id del valor que más se asemeje al tuyo. Por ejemplo, si estás vendiendo un Aire Acondicionado móvil pero el atributo PRODUCT_TYPE no posee un valor que represente exactamente tu ítem, puedes usar el value_id del valor Portátil pero en value_name enviar Móvil.

    Comportamientos especiales

    En la propiedad tags se especifican comportamientos particulares del atributo. A continuación se listan los posibles valores que pueden incluirse, junto con la descripción del comportamiento.

    • allow_variations: se permite que el ítem varíe por este atributo. Si deseas conocer más sobre cómo agregarlos te invitamos a leer la documentación de Variaciones.
    • defines_picture: indica que el atributo define la foto. Por ejemplo, Color en zapatos. Utilizando este tag se interpretará como se deben mostrar diferentes componentes en los flujos.
    • Ten en cuenta que este comportamiento aplica solamente para los atributos que admiten variaciones.

    • fixed: indica que existe un valor fijo para la categoría y todos los ítems publicados bajo esta sección tendrán dicho valor.
      Por ejemplo, si estás vendiendo un Microondas en la categoría MLB232411 correspondiente a Microondas -> Otras Marcas -> 18 Litros, la misma posee el atributo VOLUMEN_CAPACITY con los valores 18 Litros, 20 Litros, etc, pero para dicha categoría ya sabemos que el valor adecuado para el atributo es 18 Litros, por tal motivo no es necesario que lo envíes en el momento de la publicación porque nosotros lo auto-completamos por tí.
    • hidden: los atributos con esta propiedad no se muestran en el flujo de vender, pero sí pueden ser cargados vía API.
    • inferred: indica que existe un valor inferido para el atributo. Dicho valor no es modificable. Por ejemplo: en la categoría iPhone debajo de celulares, está fijo el atributo LINE con valor iPhone, y se infiere que la marca es Apple.
    • multivalued: los atributos pueden completarse con más de un valor, separándolos por comas.
    • others: este tag es de uso interno.
    • product_pk: este tag sirve para reconocer los atributos que forman parte de la pk de un producto. A partir de la misma, podemos identificar unívocamente un producto del catálogo.
    • read_only: este tag es de uso interno. Los atributos con este tag no pueden ser cargados ni modificados por vendedores.
    • required: se requiere la completitud del atributo para la publicación del ítem.
    • restricted_values: este tag es de uso interno.
    • variation_attribute: sí al ítem se le especifican variaciones, este atributo puede ser publicado con un valor distinto para cada variación. Por ejemplo: cualquier publicación de electrónica que tenga variaciones por color, sus códigos identificadores de producto pueden cargarse para cada variación. En el caso que el ítem no tenga variaciones, igualmente se puede cargar un valor para este atributo.

    Exclusiones e implicaciones de comportamientos

    Matriz de exclusiones
    Required

    FixedAllow_variationsVariation_attributeDefines_PictureHidden
    Required

    X

    Fixed

    X

    X

    X

    Allow_variations

    X

    X

    Variation_attribute

    X

    X

    X

    Defines_Picture

    X

    X

    Hidden

    X

    Matriz de implicaciones
    Required

    FixedAllow_variationsVariation_attributeDefines_PictureHidden
    Required

    Fixed

    Allow_variations

    Variation_attribute

    Defines_Picture

    X

    Hidden

    Atributos por categoría en cada país

    Al ingresar primero debes elegir la categoría L1, para que luego utilizando el buscador puedas encontrar la categoría sobre la cual quieres consultar sus atributos.
    Te recomendamos hacer búsquedas más genéricas como por ejemplo Celulares, Microondas, en lugar de Samsung S7 o Philips.
    Podrás también ver los atributos disponibles, así como los comportamientos especiales definidos para los mismos.

    Para consultar cuáles están disponibles en cada país te invitamos a consultarlos en los siguientes links:

    Aclaración: Cada sitio de Mercado Libre está compuesto por un gran árbol de categorías, una manera para referirse a ellas es usando la terminología L (level) acompañado del nivel en el árbol donde esté, como por ejemplo L1, L2, etc.

    Beneficio

    La información del ítem será más completa y tendrá más protagonismo, mostrando los atributos a través de una ficha técnica en VIP, evitando así preguntas y fricciones.

    Para validar que atributos se mostrarán en la ficha técnica del ítem podrás consultarlos tal como te mostraremos a continuación.

    Llamada

    https://api.mercadolibre.com/categories/category_ID/technical_specifications

    Ejemplo

    https://api.mercadolibre.com/categories/MLA321250/technical_specifications

    Respuesta

    {
      "table": {
        "sections": [
          {
            "name": "Características Principales",
            "attributes": [
              {
                "id": "BRAND"
              },
              {
                "id": "MATERIAL"
              },
              {
                "id": "MODEL"
              },
              {
                "id": "MAXIMUM_POWER"
              },
              {
                "id": "HEATING_TECHNOLOGY"
              },
              {
                "id": "HEATER_MOUNT_TYPE"
              }
            ]
          }
        ]
      }
    }

    Crear ítem con atributos

    Supongamos que queremos vender un Microondas para el cual conocemos su marca, modelo y capacidad; primero, deberemos determinar en qué categoría queremos publicarlo y posteriormente consultar qué atributos posee dicha categoría:

    https://api.mercadolibre.com/categories/MLA125703/attributes
    [
     {
       "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"
     }
    ]

    En este ejemplo, se puede apreciar como el atributo BRAND tiene el tag fixed para la categoría. Esto tiene sentido, ya que al haber navegado por el árbol para buscar la categoría donde publicar el microondas, implícitamente ya elegiste la marca del mismo.
    Luego, analizando los atributos disponibles, sus tipos y los valores sugeridos, solo resta armar el JSON de publicación incluyendo la sección de attributes.
    A continuación te mostramos cómo hacerlo:

    curl -X POST -H "Content-Type: application/json" -d '{
     "site_id":"MLA",
     "title":"Item de testeo, por favor no contactar --kc:off",
     "category_id":"MLA125703",
     "price":4000,
     "currency_id":"ARS",
     "buying_mode":"buy_it_now",
     "listing_type_id":"gold_special",
     "condition":"new",
     "available_quantity":10,
     "attributes":[
       {
         "id":"MODEL",
         "value_name":"B228D"
       },
       {
         "id":"VOLUME_CAPACITY",
         "value_name":"28 L"
       }
     ]
    }' 'https://api.mercadolibre.com/items?access_token={YOUR_ACCESS_TOKEN}'

    Notas:

    • Los atributos pueden ser agregados en los ítems en cualquier momento del su ciclo de vida.
    • En caso que el atributo posea una lista de suggested_values puedes enviar uno de dichos valores o enviar un valor nuevo. Para enviar valores nuevos debes enviar únicamente el value_name pero para valores existentes basta con enviar el value_id.
    • En caso de atributos de tipo list debes enviar únicamente valores que pertenezcan a esa lista. Alcanza con enviar únicamente el value_id. Pero si quieres cargar un valor que no existe en la lista, puedes hacerlo enviando en el value_name tu valor personalizado, con el value_id del valor que más se asemeje al tuyo.
    • Todos los atributos principales son identificados como MAIN en el campo attribute_group_id mientras que, los atributos secundarios serán distinguidos bajo otros valores como por ejemplo: DELT.
    • Ten en cuentan que en categorías que contengan color primario y secundario, excepcionalmente, no será necesario que todas las variaciones repliquen ambos atributos.

    Modificar y/o agregar atributos

    Luego de creada la publicación, puedes agregar nuevos atributos o modificar los ya existentes.
    Supongamos que queremos modificar el Modelo del Microondas, y agregarle la Cantidad de Programas que posee, deberás realizar un PUT como el siguiente:

    curl -X PUT -H "Content-Type: application/json" -H "Accept: application/json" -d "{
       "attributes": [{
           "id": "BRAND"
       },{
           "id": "MODEL",
           "value_name": "B466GT"
       }, {
           "id": "VOLUME_CAPACITY"
       }, {
           "id": "NUMBER_OF_PROGRAMS",
           "value_name": "4"
       }]
    } "https://api.mercadolibre.com/items/MLA621092868?"access_token={YOUR_ACCESS_TOKEN}"

    Nota: en caso que desees modificar un sólo atributo deberás enviar los Ids de los ya existentes para no perderlos.

    Eliminar atributos

    Para eliminar un atributo deberás enviar la lista sólo con los Ids de atributos que deseas se mantengan en el ítem. El ítem se actualizará dejando sólo éstos como activos y eliminando los que no fueron incluidos.
    Para lograrlo realiza una llamada similar al siguiente ejemplo:

    curl -H 'Content-Type: application/json' -X PUT https://api.mercadolibre.com/items/MLA658778048?access_token=$ACCESS_TOKEN  -d '{
    "attributes": [
       {
         "id": "FAN_TYPE"
       },
       {
         "id": "HEIGHT_ADJUSTABLE"
       },
       {
         "id": "REMOTE_CONTROL"
       },
       {
         "id": "WITH_LIGHT"
       },
       {
         "id": "BRAND"
       }
     ]
    }'



    Siguiente:
    Identificadores de productos

    Por favor califica del 1 al 5

    Tiendas Oficiales

    Algunos usuarios selectos son parte de las Tiendas Oficiales de MercadoLibre y tienen una o más marcas bajo el mismo usuario. Si quieres formar parte de las Tiendas Oficiales de MercadoLibre, debes comunicarte con un asesor comercial. Si ya eres parte de las Tiendas Oficiales, sigue este tutorial para aprender los aspectos básicos de cómo trabajar con este tipo de usuario.

    Contenidos:

    Accede a los ID de tus marcas

    Este recurso recupera marcas asociadas a un user_id. Puede haber más de una por usuario. La tienda se identifica con el atributo official_store_id.

    Ejemplo:

    https://api.mercadolibre.com/users/{User_id}/brands

    Respuesta:

    {
      "cust_id": 12345678,
      "tags": [
    	"large_seller",
    	"user_info_verified",
    	"brand"
      ],
      "brands": [
    	{
      	"tags": [
        	"girls",
        	"female"
      	],
      	"official_store_id": 16,
      	"categories_ids": [
        	"MLA1430"
      	],
      	"fantasy_name": "47 Street",
      	"site_id": "MLA",
      	"status": "active",
      	"name": "47 Street",
      	"pictures": [
        	{
          	"id": 104,
          	"name": "big_logo",
          	"secure_url": null,
          	"url": "http://static.mlstatic.com/org-img/apparel/images/47street/149254178-logo-g2.jpg",
          	"size": "174x164"
        	},
        	{},
        	{},
        	{},
        	{},
        	{}
      	],
      	"relevance_position": 50
    	},
    	{},
    	{},
    	{},
    	{}
      ],
      "site_id": "MLA",
      "user_type": "brand"
    }

    Accede a toda la información sobre una marca específica

    Para obtener información sobre una marca específica, puedes realizar la llamada al brand_id que deseas conocer, tal como se muestra en el siguiente ejemplo:

    Ejemplo:

    curl -X GET https://api.mercadolibre.com/users/58715193/brands/133

    Respuesta:

    {
      "tags": [
    	"home",
    	"standout"
      ],
      "official_store_id": 133,
      "categories_ids": [
    	"MLA1403"
      ],
      "fantasy_name": "Bodega Lanzarini",
      "users": [
    	{
      	"cust_id": 58715193,
      	"tags": [
        	"eshop",
        	"large_seller",
        	"user_info_verified",
        	"brand"
      	],
      	"site_id": "MLA",
      	"user_type": "brand"
    	}
      ],
      "site_id": "MLA",
      "status": "active",
      "name": "Bodega Lanzarini",
      "date_created": "2014-08-04T04:00:00.000Z",
      "pictures": [
    	{
      	"id": 632,
      	"name": "big_logo",
      	"secure_url": null,
      	"url": "http://static.mlstatic.com/org-img/apparel/images/bodegalanzarini/58715193-logo-g.jpg",
      	"size": "174x164"
    	},
    	{
      	"id": 2474,
      	"name": "facebook_logo",
      	"secure_url": null,
      	"url": "http://static.mlstatic.com/org-img/apparel/images/mla-fb/58715193-logo-fb.jpg",
      	"size": "1600x750"
    	},
    	{
      	"id": 9428,
      	"name": "home_app",
      	"secure_url": null,
      	"url": "http://static.mlstatic.com/org-img/apparel/bkg_apps/58715193-bkg.jpg",
      	"size": "270x155"
    	},
    	{
      	"id": 634,
      	"name": "logo",
      	"secure_url": null,
      	"url": "http://static.mlstatic.com/org-img/apparel/images/bodegalanzarini/58715193-logo-home.jpg",
      	"size": "160x80"
    	},
    	{
      	"id": 633,
      	"name": "logo_landing",
      	"secure_url": null,
      	"url": "http://static.mlstatic.com/org-img/apparel/images/bodegalanzarini/58715193-logo-home.jpg",
      	"size": "160x80"
    	},
    	{
      	"id": 631,
      	"name": "background",
      	"secure_url": null,
      	"url": "http://static.mlstatic.com/org-img/apparel/images/bodegalanzarini/58715193-bkg.jpg",
      	"size": "1600x750"
    	},
    	{
      	"id": 635,
      	"name": "small_logo",
      	"secure_url": null,
      	"url": "http://static.mlstatic.com/org-img/apparel/images/bodegalanzarini/58715193-logo-ch2.jpg",
      	"size": "96x70"
    	}
      ],
      "boost": {
    	"is_active": false,
    	"last_update": "2015-08-17T20:55:12.000Z"
      },
      "relevance_position": 69
    }

    ¡Excelente! Ya conoces los brand_id asociados a tu usuario, los cuales deberás enviar cada vez que desees publicar un item.

    Siguiente:
    Categoriza productos.

    Por favor califica del 1 al 5

    Tutorial de tipos de publicación y obtener mayor exposición

    De acuerdo con el nivel de exposición que desees para tus artículos, podrás elegir entre diferentes tipos de publicación. Cada tipo de publicación tiene sus propias características y feeds. Veamos cómo trabajar correctamente con ellos.

    Contenidos:

    Tipos de publicación por site

    En primer lugar, debes saber que cada site tiene sus propios tipos de publicación. Para ver todos los tipos de publicación disponibles en un site, debes realizar una solicitud GET a los recursos listing_types con el Site_id:

    Ejemplo:

    https://api.mercadolibre.com/sites/MLC/listing_types

    Respuesta:

    [
      {
        "site_id": "MLC",
        "id": "gold_pro",
        "name": "Premium"
      },
      {
        "site_id": "MLC",
        "id": "gold_premium",
        "name": "Oro Premium"
      },
      {
        "site_id": "MLC",
        "id": "gold_special",
        "name": "Clásica"
      },
      {
        "site_id": "MLC",
        "id": "gold",
        "name": "Oro"
      },
      {
        "site_id": "MLC",
        "id": "silver",
        "name": "Plata"
      },
      {
        "site_id": "MLC",
        "id": "bronze",
        "name": "Bronce"
      },
      {
        "site_id": "MLC",
        "id": "free",
        "name": "Gratuita"
      }
    ]
    

    En algunos sites los tipos de publicación sufrieron cambios, para saber cuáles son te sugerimos que revises la siguiente noticia.

    No obstante, en la API se siguen listando los combos históricos que se mapean automáticamente para que no obtengas errores en tu integración.
    Sugerimos publicar de la siguiente forma:

    MLA, MLB, MLC, MLM, MCO

    gold_pro: Premium
    gold_special: Clasica
    free: Gratuita

    MPE, MLV, MLU

    gold_special: Premium
    bronze: Clasica
    free: Gratuita
    Notas:

    • En resto de los sites se pueden utilizar cualquiera de los listings listados en la API.

    Especificación del tipo de publicación

    Si deseas más información sobre un listing_type específico, incluye el listing_type en la llamada GET:
    Ejemplo:

    https://api.mercadolibre.com/sites/MLA/listing_types/bronze

    Respuesta:

    {
      "id": "bronze",
      "not_available_in_categories": [
        "MLA1743",
        "MLA1459"
      ],
      "configuration": {
        "name": "Bronce",
        "listing_exposure": "low",
        "requires_picture": false,
        "max_stock_per_item": 9999,
        "deduction_profile_id": null,
        "differential_pricing_id": null,
        "duration_days": {
          "buy_it_now": 60,
          "auction": 7,
          "classified": null
        },
        "immediate_payment": {
          "buy_it_now": false,
          "auction": false,
          "classified": false
        },
        "mercado_pago": "mandatory",
        "listing_fee_criteria": {
          "min_fee_amount": 0,
          "max_fee_amount": 0,
          "percentage_of_fee_amount": 0,
          "currency": "ARS"
        },
        "sale_fee_criteria": {
          "min_fee_amount": 0,
          "max_fee_amount": 100000000000000000,
          "percentage_of_fee_amount": 11,
          "currency": "ARS"
        }
      },
      "exceptions_by_category": [
        {
          "category_id": "MLA1540",
          "category_name": "Servicios",
          "configuration": {
            "name": "Básico 90",
            "listing_exposure": "mid",
            "requires_picture": false,
            "max_stock_per_item": 999,
            "deduction_profile_id": null,
            "differential_pricing_id": null,
            "duration_days": {
              "buy_it_now": null,
              "auction": null,
              "classified": 90
            },
            "immediate_payment": {
              "buy_it_now": false,
              "auction": false,
              "classified": false
            },
            "mercado_pago": "not_available",
            "listing_fee_criteria": {
              "min_fee_amount": 347,
              "max_fee_amount": 347,
              "percentage_of_fee_amount": 0,
              "currency": "ARS"
            },
            "sale_fee_criteria": {
              "min_fee_amount": 0,
              "max_fee_amount": 0,
              "percentage_of_fee_amount": 0,
              "currency": null
            }
          },
          "exceptions_by_category": [
          ]
        }
      ]
    }
    



    Los artículos Clásica y Premium tendrán una duración ilimitada; puedes consultarlo en el campo stop_time:

    curl -X GET https://api.mercadolibre.com/items/MCO415406202?attributes=stop_time

    Además, se pausarán estas publicaciones si el stock está en 0 y se activarán cuando agregues una nueva cantidad. Verás el artículo de la siguiente manera:

    "status": "paused",
      "sub_status": [
        "out_of_stock"
      ]
    

    Si deseas agregar stock y activar nuevamente el artículo, deberías hacer lo siguiente:

    curl -X PUT -H "Content-Type: application/json" -H "Accept: application/json" -d
    {
      "available_quantity": 1
    }
    https://api.mercadolibre.com/items/ITEM_ID?access_token=YOUR_ACCESS_TOKEN
    

    Recuerda que el tipo de publicación Gratuita mantendrá el flujo actual.

    El vendedor podría cambiar entre los tipos de publicación Clásica y Premium cada vez que lo desee sin cargo alguno, y podría poner los artículos en pausa y terminar de la misma manera en que funciona ahora.

    Si deseas cambiar de Premium a Clásica, deberás seguir estos pasos:

    curl -X POST -H "Content-Type: application/json" -H "Accept: application/json" -d
    {
      "id": "gold"
    }
    https://api.mercadolibre.com/items/{Item_id}/listing_type?access_token=$ACCESS_TOKEN
    

    Tipos de publicación disponibles

    Puedes consultar los tipos de publicación disponibles por usuario y para un category_id determinado.

    Ejemplo:

    https://api.mercadolibre.com/users/{Cust_id}/available_listing_types?category_id={Category_id}&access_token=$ACCESS_TOKEN

    Respuesta:

    {
      "category_id": "MLC3530",
      "available": [
    	{
      	"site_id": "MLC",
      	"id": "gold_premium",
      	"name": "Oro Premium",
      	"remaining_listings": null
    	},
    	{
      	"site_id": "MLC",
      	"id": "gold",
      	"name": "Oro",
      	"remaining_listings": null
    	},
    	{
      	"site_id": "MLC",
      	"id": "silver",
      	"name": "Plata",
      	"remaining_listings": null
    	},
    	{
      	"site_id": "MLC",
      	"id": "bronze",
      	"name": "Bronce",
      	"remaining_listings": null
    	},
    	{
      	"site_id": "MLC",
      	"id": "free",
      	"name": "Gratuita",
      	"remaining_listings": null
    	}
      ]
    }

    Si no puedes publicar en cierto tipo de publicación y quieres saber por qué no está disponible para ti, puedes realizar esta llamada GET para averiguar el motivo:

    Ejemplo:

    https://api.mercadolibre.com/users/{Cust_id}/available_listing_type/free?category_id={Category_id}&access_token=$ACCESS_TOKEN

    Respuesta:

    {
      "available": false,
      "cause": "You have more than 5 transactions in the last year.",
      "code": "list.transactions.exceeded"
    }

    Nota:

    • Los upgrades sólo están disponibles en MLB, para el resto de los sites deberás finalizar la publicación y republicar con el listing type deseado.

    Exposiciones de las publicaciones

    Esta API devuelve información sobre los niveles de exposición asociados a todos los tipos de publicaciones en MercadoLibre.
    Puedes consultar todas las exposiciones disponibles para las publicaciones por site, con una simple llamada GET.

    Ejemplo:

    https://api.mercadolibre.com/sites/MLA/listing_exposures

    Respuesta:

    {[
      {
    	"id": "lowest",
    	"name": "Última",
    	"home_page": false,
    	"category_home_page": false,
        "advertising_on_listing_page": true,
    	"priority_in_search": 4
      },
      {
    	"id": "low",
    	"name": "Inferior",
    	"home_page": false,
    	"category_home_page": false,
        "advertising_on_listing_page": false,
    	"priority_in_search": 3
      },
      {
    	"id": "mid",
    	"name": "Media",
    	"home_page": false,
    	"category_home_page": true,
    	"advertising_on_listing_page": false,
    	"priority_in_search": 2
      },
      {
    	"id": "high",
    	"name": "Alta",
    	"home_page": false,
    	"category_home_page": true,
        "advertising_on_listing_page": false,
    	"priority_in_search": 1
      },
      {
    	"id": "highest",
    	"name": "Superior",
    	"home_page": true,
    	"category_home_page": true,
        "advertising_on_listing_page": false,
    	"priority_in_search": 0
      }
    ]

    Y consultar cada una por su ID:

    Ejemplo:

    https://api.mercadolibre.com/sites/MLA/listing_exposures/high

    Respuesta:

    {
      "id": "high",
      "name": "Alta",
      "home_page": false,
      "category_home_page": true,
      "advertising_on_listing_page": false,
      "priority_in_search": 1
    }

    Actualizaciones disponibles

    Puedes realizar una actualización a un tipo de publicación superior una vez.
    Si necesitas realizar una actualización, puedes ver qué tipos de publicación están disponibles para tu artículo.

    Ejemplo:

    https://api.mercadolibre.com/items/{Item_id}/available_upgrades?access_token=$ACCESS_TOKEN

    Respuesta:

    [
      {
    	"site_id": "MLC",
    	"id": "gold_premium",
    	"name": "Oro Premium"
      },
      {
    	"site_id": "MLC",
    	"id": "gold",
    	"name": "Oro"
      },
      {
    	"site_id": "MLC",
    	"id": "silver",
    	"name": "Plata"
      }
    ]

    ¡Eso es! Ahora estás listo para acceder a la exposición correcta para tus productos y realizar actualizaciones de artículos.

    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 cómo la querías antes de publicarla. Por favor lee este artículo para más información sobre el validador de publicaciones.

    Bajar un artículo a un tipo de publicación inferior (downgrades)

    Downgrade es reducir la exposición de tu artículo al actualizarlo en un tipo de publicación inferior. Está disponible para algunos casos particulares:

    • En MLB (Brasil) está permitido realizar downgrades en las publicaciones entre gold_pro a gold_special y viceversa en cualquier momento.
    • Antes de que comiencen, se pueden realizar downgrades para las publicaciones en payment_required.
    • No está permitido realizar el downgrade de una publicación a gratis.

    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