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 22/05/2024

Stock distribuido

Importante:
La iniciativa estará en producción a partir de septiembre de 2024, comenzando por México. Por el momento no contaremos con un entorno de pruebas disponible.

Te proporcionamos esta información para que puedas analizarla y ajustar el backlog de desarrollo. Para realizar pruebas, será necesario simular el flujo utilizando mocks creados desde las integraciones.

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



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


Para la gestión del store definimos tres tipologías de stock_locations:

Location type Caso de uso Gestor del stock
selling_address El stock gestionado por el vendedor tiene un sólo punto de origen. usuario (vendedor)
meli_facility El vendedor envía su stock a los depósitos de Fulfillment de Mercado Libre. Mercado Libre (Full)
store Múltiples orígenes de stock gestionados por el vendedor. Permite al vendedor configurar distintas tiendas o ubicaciones donde tiene su inventario. usuario (vendedor)


Obtener detalle de stock

Para consultar el stock asociado a un User Product deberás hacer el siguiente llamado:

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

Ejemplo para un UP específico:

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

Ejemplo de respuesta para tipologia selling_address:

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

Ejemplo de respuesta para tipologia meli_facility:

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

Ejemplo de respuesta para tipologia store:

{
   "locations": [
       {
           "type": "store",
           "store_id": 9876543,
           "quantity": 15
       },
       {
           "type": "store",
           "store_id": 9876553,
           "quantity": 15
       }
   ],
   "user_id": 1234,
   "id": "MLBU206642488"
}
Nota:
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 /stock/.

Si no se envía, retornará un código de status 400 (Bad Request). Si la versión enviada no es la correcta, se retornará un código de estado 409 (Conflict).

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".

Un mismo UP podrá tener hasta dos tipologías, ya sea (selling_address y meli_facility) o (store y meli_facility).



Gestionar stock

Para modificar el stock de un location selling_address, podrás continuar utilizando el PUT de ítems.
O podrás utilizar el método PUT para enviar la cantidad deseada de stock.

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

Ejemplo para un UP específico:

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


Siguiente: Stock Multi Origen.