Documentación Mercado Libre
Descubre toda la información que debes conocer sobre las APIs de Mercado Libre.Documentación
Stock distribuido
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.