New mode to search with the search resource

All searches about Items in the form of users/{Cust_id}/items/search, Questions and Answers in the form of /questions/search should be with access token; otherwise, they will fail.

New resources (Scan + Hash)

All the searches to the Items, Questions and Answers API in the form of users/{Cust_id}/items/search or /questions/search over 1,000 should have the new search_type=scan parameter without the offset parameter.
Note: if you want to query data below 1,000, you can continue doing it as today (with offset).

These are the steps to query more than 1,000 results:

  • Add search_type=scan to your query and remove the offset.
  • The result will be a scroll_id field.
  • Add to your scroll_id query the field obtained before.
  • You will get results starting from 1,000.
  • If you don’t use the limit parameter you will get a total of 50 items by default. You can add a maximum limit of 100.
  • To get the following result pages, you can do the same GET to the call until you reach the end of the list.

See below how to do it:
– Add search_type=scan to get the scroll_id:

Items

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

Questions

https://api.mercadolibre.com/questions/search?search_type=scan&item={Item_id}&access_token=$ACCESS_TOKEN

Respuesta

"scroll_id": "YXBpY29yZS1pdGVtcw==:ZHMtYXBpY29yZS1pdGVtcy0wMQ==:DXF1ZXJ5QW5kRmV0Y2gBAAAAABIu7AgWMXl6anF3SU5SMVNaQXFxTkZubHBqQQ=="

– Add the scroll_id= obtained in the previous step:

https://api.mercadolibre.com/users/{Cust_id}/items/search?search_type=scan&access_token=$ACCESS_TOKEN&scroll_id=YXBpY29yZS1pdGVtcw==:ZHMtYXBpY29yZS1pdGVtcy0wMQ==:DXF1ZXJ5QW5kRmV0Y2gBAAAAABIu7AgWMXl6anF3SU5SMVNaQXFxTkZubHBqQQ==

To get the following result pages, you can do the same GET to the call until you reach the end of the list.

When the GET returns null you will be at the end.

Nueva opción de free shipping para MLM

Con el objetivo de seguir mejorando la experiencia de compra de los usuarios de nuestra plataforma cambiaremos la forma de entrega en productos nuevos de más de $549 para que siempre ofrezcan envíos gratis. Este impacto se verá reflejado para sellers de Tiendas Oficiales y Mercado Líderes.

Además, a partir del 8 de Agosto Mercado Libre cubrirá hasta el 50% del costo de todos los envíos gratis durante los 3 primeros meses.

¿Cómo impactará este cambio?

Ítems Activos

Para todos los ítems que cumplen esta condición modificaremos el shipping modes automáticamente para que tengan free shipping obligatorio.

Nota: No podrás modificar esta opción desde tu integración.

Ahora con FS

 "shipping": {
    "mode": "me2",
    "local_pick_up": false,
    "free_shipping": true,
    "free_methods": [
      {
        "id": 501245,
        "rule": {
          "free_mode": "country",
          "value": null
        }
      }
    ],
    "dimensions": null,
    "tags": [
      ]
  },

Ahora sin FS

 "shipping": {
    "mode": "me2",
    "local_pick_up": false,
    "free_shipping": true,
    "free_methods": [ ],
    "dimensions": null,
    "tags": [
      ]
  },

Nuevos cambios

 "shipping": {
    "mode": "me2",
    "local_pick_up": false,
    "free_shipping": true,
    "free_methods": [
      {
        "id": 501245,
        "rule": {
          "free_mode": "country",
          "value": null
        }
      }
    ],
    "dimensions": null,
    "tags": [
	"mandatory_free_shipping"
      ]
  },

Publicación de nuevos ítems

En todos los items que desees subir que estén bajo esta condición deberás marcar la opción de free shipping ya que si no lo haces no podrás publicarlos.

Para consultar cuáles son los ítems que deben tener free_method por medio del recurso /modes, de la siguiente forma.
Llamada:

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

Respuesta:

 {
    "mode": "me2",
    "shipping_attributes": {
      "dimensions": "optional",
      "costs": "not_allowed",
      "free": {
        "methods": "mandatory",
        "accepted_methods": [
          501245
        ],
        "rules": [
          {
            "default": false,
            "free_mode": "county",
            "value": null,
            "free_shipping_flag": true
          }
        ],
        "flat": true
      },
      "local_pick_up": "optional",
      "mandatory_for_user": false
    }
  }
]

Si al hacer GET obtienes “mandatory” en methods deberás agregar en el ítem esta opción de modo obligatorio.

Re-publicar ítems

Si deseas re publicar un ítem que cumple las condiciones de este nuevo cambio deberás tener en cuenta que será republicado automáticamente con free shipping.


Si tienes dudas con respecto a tu integración dejanos tu consulta en nuestro formulario de soporte.

Changes on free shipping options on MLM and MLB

We’re making changes on our free shipping options by country: From now on seller’s will have a country flat rate for the items they free ship. This rate is going to be calculated basing on dimensions.
By now it’s only available on MercadoLibre México (MLM) and MercadoLivre Brasil (MLB), but soon it’s going to work for all sites where our MercadoEnvios unit is active in Colombia as well.
Follow this guide to know what options you have available for free shipping your items on MLM and MLB.

1- Calculate free_shipping costs by user:

México: There will always be one possibility

Brazil: Depending on the seller address he willl be able to set free shipping for the whole country or exclude north region.

Example:

 https://api.mercadolibre.com/users/204839306/shipping_options/free?dimensions=10x10x10,500

Response:

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

1.1 Calculate free shipping costs by site & item dimensions

This case is similar to the above but can be seen all possible free shipping configurations for that item. When item’s dimensions aren’t specified we’ll calculate over category standard dimensions.
Example:

 https://api.mercadolibre.com//users/204839306/shipping_options/free?item_id=MLB739217081

Response:

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

2- Calculate free shipping costs by dimensions or categories

Example:

 https://api.mercadolibre.com/items/MLB739217081/shipping_options/free

Response:

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

3- Calculate free shipping costs by dimensions & item

Example:

 https://api.mercadolibre.com/items/shipping_options/free?ids=MLB739714311,MLB739749862,MLB739753303

Response:

 {
 "MLB739753303": {
   "coverage": {
     "all_country": {
       "list_cost": 14.02,
       "currency_id": "BRL"
     }
   }
 },
 "MLB739749862": {
   "coverage": {
     "all_country_except_exclusion_zone": {
       "list_cost": 11.86,
       "currency_id": "BRL"
     }
   }
 }
}

Changes arrived to Mercado Libre



The new publishing model is available from Mercado Libre Argentina, Mercado Libre México, Mercado Libre Chile, Mercado Libre Venezuela, Mercado Libre Uruguay and Mercado Libre Colombia (July 3, 2017).
Little by little we are improving the experience of all our vendors.


You won’t have to pay any cost for list products
. You are going to pay just the sales charge. Besides, there will be only three types of listings to choose:

Argentina
Gratuita Without cost.

-Duration: 60 days
-Available if the seller has 5 sales or less.
-Without limits for used products.

Clásica 11% per sale.

-Unlimited duration.


Mexico
Gratuita Without cost.

-Duration: 60 days
-Available if the seller has 5 sales or less.
-Without limits for used products.

Clásica 11.5% per sale.

-Unlimited duration.

Premium 16% per sale.

-Unlimited duration.
– 12 Interest-free installment


Chile
Gratuita Without cost.

-Duration: 60 days
-Available if the seller has 20 sales or less.
-Without limits for used products.

Clásica 8% per sale.

-Unlimited duration.

Premium 12% per sale.

-Unlimited duration.
-Interest-free 12 installment plans


Venezuela
Gratuita Without cost.

-Duration: 60 days
-Available if the seller has 5 sales or less.
-Without limits for used products.

Clásica 9% per sale.

-Unlimited duration.

Premium 11% per sale.

-Unlimited duration.

Uruguay
Gratuita Without cost.

-Duration: 60 days
-Available if the seller has 5 sales or less.
-Without limits for used products.

Clásica 10% per sale.

-Unlimited duration.
-Interest free installments.

Premium 12% per sale.

-Unlimited duration.
-Interest free installments-

Colombia
Gratuita Without cost.

-Duration: 60 days
-Available if the seller has 5 sales or less.
-Without limits for used products.

Clásica 11% per sale.

-Unlimited duration.

Premium 15% per sale.

-Unlimited duration.
-Up to 12 installments with no interest.


In both cases (Mexico and Chile),* the items location on search lists will depend on:

  • Offer installments without interests
  • Use MercadoEnvios
  • Offer free shipping
  • Ship products on time
  • Answer buyer’s questions on time
  • Reputation

*no aply for Venezuela

Take a look at the current version of JSON and the new one, which will be available starting in March:

curl -X GET 'https://api.mercadolibre.com/sites/MLC/listing_types'
Previous JSON New JSON
[
  {
    "site_id": "MLC",
    "id": "gold_pro",
    "name": "Oro Premium Full"
  },
  {
    "site_id": "MLC",
    "id": "gold_premium",
    "name": "Oro Premium"
  },
  {
    "site_id": "MLC",
    "id": "gold_special",
    "name": "Oro Profesional"
  },
  {
    "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"
  }
]
[
    {
        "site_id": "MLC",
        "id": "gold_pro",
        "name": "Premium"
    },
    {
        "site_id": "MLC",
        "id": "gold_special",
        "name": "Clásica"
    },
    {
        "site_id": "MLC",
        "id": "gold_premium",
        "name": "Oro Premium"
    },
    {
        "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"
    }
]

Items Clásica and Premium will have unlimited duration, you could consult it from stop_time field:

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

Also, this listings will be paused if stock is 0, and will be activated when you add new quantity. You’ll see the item like this:

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

If you want to add stock and active the item again, you should do it in this way:

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

Don’t forget that the listing type Gratuita is going to keep the current flow.

The seller could change between the listing type Clásica and Premium every time that he wishes it without any charge, and could pause and finish the items in the same way that is working now.

If you wish to change from Premium to Clásica, you will have to follow these steps:

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

To conclude, we want to tell you that we are creating a test environment because we want to give you all the resources to develop the feature and introduce the changes before they become effective. Soon we will contact you to share more news.

New improvement: Bulk sale to “ceramicas” and “porcelanatos” categories! – Only for MLA


Introduction

We are working to improve the publications in “ceramicas” and “porcelanatos” categories (only MLA for now). To accomplish that now we allow Bulk sale in those categories.

¿What we change?

  • You can specify if your product is sold by boxes, packages, pallets, units or m2 through SALES_UNIT attribute, and what it’s their yield with YIELD_OF_SALES_UNIT.
  • We add a new section to you can add more detail for products. You can add measures, thicknesses, model and other features.
  • All those information is exhibited in your Item publication and your customers can know what they will buy exactly.

Those attributes will be NOT REQUIRED! You can publish normally without them but we recommend you to use those attributes to improve the functionality of bulk sale inside your items.

Before to continue check the new attribute type number_unit which is mostly used in bulk sale.

¿How to create or update an item with those attributes?

Simply, you have to add the attributes into a common POST or PUT call. Here some examples:

Possible values to bulk feature

Possible values are displayed into category through the following call:

curl https://api.mercadolibre.com/categories/$category_id/attributes

Example:

curl https://api.mercadolibre.com/categories/MLA321215/attributes

Response:

[
  …
{
    "id": "SALES_UNIT",
    "name": "Unidad de venta",
    "value_type": "list",
    "tags": {
    },
    "values": [
      {
        "id": "121602",
        "name": "Unidad"
      },
      {
        "id": "121604",
        "name": "Caja"
      },
      {
        "id": "121605",
        "name": "Pallet"
      },
      {
        "id": "145190",
        "name": "m²"
      }
    ],
    "attribute_group_id": "DFLT",
    "attribute_group_name": "Otros"
  },
  {
    "id": "YIELD_OF_SALES_UNIT",
    "name": "Rendimiento",
    "value_type": "number_unit",
    "tags": {
    },
    "allowed_units": [
      {
        "id": "m²",
        "name": "m²"
      }
    ],
    "attribute_group_id": "DFLT",
    "attribute_group_name": "Otros"
  },
  {
    "id": "WEIGHT_OF_SALES_UNIT",
    "name": "Peso",
    "value_type": "number_unit",
    "tags": {
    },
    "allowed_units": [
      {
        "id": "g",
        "name": "g"
      },
      {
        "id": "kg",
        "name": "kg"
      }
    ],
    "attribute_group_id": "DFLT",
    "attribute_group_name": "Otros"
  },
    ...
]


Attribute example – POST item with bulk attributes

 curl -X POST 'https://api.mercadolibre.com/items?access_token=$access_token' -d '
{
	"site_id": "MLA",
	"title": "test bulk item",
	"seller_custom_field": null,
	"category_id": "MLA14559",
	"price": 100,
	"currency_id": "ARS",
	"buying_mode": "buy_it_now",
	"listing_type_id": "free",
	"condition": "new",
	"warranty": null,
	"available_quantity": 1,
	"video_id": null,
	"pictures": [],
	"accepts_mercadopago": false,
	"official_store_id": null,
	"non_mercado_pago_payment_methods": [],
	"shipping": {
		"local_pick_up": true,
		"free_shipping": false,
		"costs": []
	},
	"attributes": [{
		"id": "SALES_UNIT",
		"value_id": "121604"
	}, {
		"id": "YIELD_OF_SALES_UNIT",
		"value_name": "4 m²"
	}, {
		"id": "SIDE_A",
		"value_name": "12 cm"
	}, {
		"id": "SIDE_B",
		"value_name": "12 cm"
	}, {
		"id": "THICKNESS",
		"value_name": "2 mm"
	}, {
		"id": "WEIGHT_OF_SALES_UNIT",
		"value_name": "3 kg"
	}, {
		"id": "FINISH",
		"value_name": "bicelado"
	}],
	"automatic_relist": false,
	"description": {
		"text": "

item de test<\/p>", "plain_text": null } }'


Attributes type: number_unit

There is a new attribute called “number_unit”. The “value_name” of the attribute must be a number followed by the corresponding unit. For example “1.33 cm”.
This attribute type has the field “allowed_units” which enumerate the units that are allowed.

Example:

Attribute example – PUT item

curl -X PUT 'https://api.mercadolibre.com/items/$item_id?access_token=$access_token' -d '
{"attributes" : [{"id": "YIELD_OF_SALES_UNIT", "value_name": "5.34 cm"}]}'


Add invalid attribute example – PUT item

In case we add an invalid “value_name” the attribute is discarded and a error message is shown inside “warnings” but doesn’t interrupt the creation or modification of the item.

Example:

curl -X PUT 'https://api.mercadolibre.com/items/$item_id?access_token=$access_token' -d '{"attributes" : [{"id": "YIELD_OF_SALES_UNIT", "value_name": "2.22 z"}, {"id": "SALES_UNIT", "value_id": "121604"}]}'

Response:

{
	"id": "MLA604016753",
	...
	"attributes": [{ "id": "SALES_UNIT", "name": "Unidad de venta", "value_id": "121604", "value_name": "Caja", "attribute_group_id": "DFLT", "attribute_group_name": "Otros" }],
	"warnings": [{
		"code": "item.attributes.omitted",
		"message": "Attribute YIELD_OF_SALES_UNIT with value 2.22 z was omitted. You can use a number followed by one of these valid units: [m2]."
	}],
	...
}


Empty value example – PUT item

curl -X PUT 'https://api.mercadolibre.com/items/$item_id?access_token=$access_token' -d '{"attributes" : [{"id": "YIELD_OF_SALES_UNIT", "value_name": ""}]}'

Category prediction resource


Introduction

The category prediction resource was created to help sellers and developers predict under which category a certain item should be listed. It’s currently working for Argentina, Brazil, Colombia, Chile and Mexico.

Parameters

Parameter Description
title The title of the item to predict. It must be a complete title in the language of the site. This parameter is mandatory.
category_from This parameter accepts a level 1 category and it’s used to limit the prediction to the subtree that spans from category_from as root. This parameter is optional.


Predicting by GET

Using the GET method it’s possible to predict one item at a time:

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


Predicting by POST

Using the POST method it’s possible to predict multiple (up to 10K) items at a time. When multiple items needs to be predicted, this method is recommended.

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


Response fields

Parameter Description
id Id of predicted category for the item.
name Name of the predicted category.
prediction_probability Confidence of the prediction. This value ranges between [0, 1], values closer to zero indicate low confidence whereas values closer to 1 indicate high confidence.
path_from_root List with the categories from the root to the leaf (the predicted category). Every category is represented by ID and NAME attributes.
variations this field appears only when the predicted category supports variations.
shipping_modes Shipping modes supported by the predicted category.

Learn how to build a good title so buyers can find your items and you can get the most accurate category prediction.

New validations for variations

We’re adding validations for listings with variations. This is because we were accepting numbers in cases when a String is required, according to our Documentation. Starting next Monday, November 10th, we’ll only accept the value you send for attribute_combinations as a String, so if you’re sending another data type we suggest you adapt your system as soon as possible.

If you want to learn how to work with variations, check the List with variations and Modify item with variations tutorials.

If you have any questions, please go to our forum.