Documentación Mercado Libre

Descubre toda la información que debes conocer sobre las APIs de Mercado Libre.
circulos azuis em degrade

Documentación

Última actualización 20/12/2024

Stock distribuido

Importante:

La iniciativa ya está en producción en Argentina y Chile, para vendedores que tengan convivencia Full y Flex. Además, a partir del 1ro de octubre de 2024 se empezó a encender la experiencia también para vendedores en México, para la iniciativa de Multi origen.

Stock Distribuido tiene como objetivo permitir que los sellers configuren diferentes ubicaciones del stock (stock_locations) a un mismo User Product.


Nota:

Como lo evidencia el gráfico el stock será compartido entre channels (marketplace y MShops).


Tipos de stock

Para la gestión del stock definimos las tres siguientes tipologías de stock_locations:

Location type Caso de uso Gestor del stock Permite editar stock vía API
meli_facility El vendedor envía su stock a los depósitos de Fulfillment de Mercado Libre. Mercado Libre (Full) No.
selling_address Depósito de origen del vendedor cuando tenga stock de Flex en publicaciones que también están en Fulfillment de Mercado Libre (meli_facility). Usuario (Vendedor) Sí, siempre y cuando el ítem tenga Flex prendido activo.
seller_warehouse Múltiples orígenes de stock gestionados por el vendedor. Permite al vendedor gestionar el stock de varios depósitos que corresponden a las ubicaciones donde tiene su inventario. Usuario (Vendedor) Sí, siempre y cuando el vendedor tenga al menos un depósito configurado.

Obtener detalle de stock

Tenga en cuenta que un mismo UP podrá tener hasta dos tipologías, ya sea (selling_address y meli_facility) o (seller_warehouse y meli_facility).

Para consultar el stock asociado a un User Product deberás hacer la siguiente requisición.

Llamada:

curl -X GET https://api.mercadolibre.com/user-products/$USER_PRODUCT_ID/stock -H 'Authorization: Bearer $ACCESS_TOKEN'

Ejemplo:

curl -X GET https://api.mercadolibre.com/user-products/MLAU123456789/stock -H 'Authorization: Bearer $ACCESS_TOKEN'

Ejemplo de respuesta para tipología selling_address:

{
  "locations": [
    {
      "type": "selling_address",
      "quantity": 5
    }
  ],
  "user_id": 1234,
  "id": "MLBU206642488"
}

Ejemplo de respuesta para tipología meli_facility:

{
  "locations": [
    {
      "type": "meli_facility", //fulfillment
      "quantity": 5
    }
  ],
  "user_id": 1234,
  "id": "MLBU206642488"
}

Ejemplo de respuesta para tipología seller_warehouse:

{
   "locations": [
       {
           "type": "seller_warehouse",
           "network_node_id": "MXP123451",
           "store_id": "9876543",
           "quantity": 15
       },
       {
           "type": "seller_warehouse",
           "network_node_id": "MXP123452",
           "store_id": "9876553",
           "quantity": 15
       }
   ],
   "user_id": 1234,
   "id": "MLAU123456789"
}

Consideraciones:

  • Al consultar el detalle de stock, se retornará un header llamado x-version, el cual tendrá un valor entero (de tipo long) que representará la versión actual de /stock/.
  • Este header debe ser enviado al realizar llamados PUT en el recurso /stock/.
  • Si no se envía, retornará un bad request (status code: 400).
  • Adicionalmente, en caso de que la versión enviada no sea la última, se retornará un conflict (status code: 409).
  • En el caso de una respuesta con código 409, se debe consultar nuevamente el stock para obtener la versión actualizada del header x-version.

Gestionar stock

Utiliza la siguiente llamada, para enviar la cantidad de stock a nivel User Products en estos dos tipos de stock locations selling_address y meli_facility

Nota:

Para items con location selling_address, todavía podrás continuar utilizando el PUT de ítems. En cuyo caso Mercado Libre, actualizará el stock para todos los ítems asociados al mismo user_product_id. Sin embargo, ya se recomienda adaptarse al nuevo recurso de user-products/stock que pasará a ser el recurso definitivo para las dichas actualizaciones.


Llamada:

curl -X PUT https://api.mercadolibre.com/user-products/$USER_PRODUCT_ID/stock/type/selling_address 
-H 'Content-Type: application/json' -H 'Authorization: Bearer $ACCESS_TOKEN' -H 'x-version: $HEADER' 
-d '{
    "quantity": $STOCK_QUANTITY
}'

Ejemplo:

curl -X PUT https://api.mercadolibre.com/user-products/MLAU123456789/stock/type/selling_address 
-H 'Content-Type: application/json' -H 'Authorization: Bearer $ACCESS_TOKEN' -H 'x-version: 1' 
-d '{
    "quantity": 10
}'

Códigos de estado de respuesta:

Código Mensaje Descripción Recomendación
204 OK El stock se actualizará de manera asíncrona en todas las condiciones de venta del user product.
400 You cannot modify selling address stock if associated items are fulfillment only or no items are associated.
400 You cannot modify selling address stock in items without inventory id.
400 You cannot modify selling address stock because you have to do a full inbound first before modifying.
400 Missing X-Version header Header “x-version” no informado. Debes informar el Header “x-version”.

Nota:

Para actualizar el stock de tipo seller_warehouse, debe revisar la documentación de stock multi-origen.



Próxima documentación: Stock multi-origen.