Documentação do Mercado Livre

Confira todas as informações necessárias sobre as APIs Mercado Livre.
circulos azuis em degrade

Documentação do

Última atualização em 22/05/2024

Estoque distribuído

Importante:
A iniciativa estará em produção a partir de setembro de 2024, começando pelo México. Por enquanto, não teremos um ambiente de testes disponível.

Fornecemos estas informações para que você possa analisá-las e ajustar o backlog de desenvolvimento. Para realizar testes, será necessário simular o fluxo utilizando mocks criados a partir das integrações.

Stock distribuído tem como objetivo permitir que os vendedores configurem diferentes localizações de estoque (stock_locations) para um mesmo User Product.



Como mostra o gráfico, o estoque será compartilhado entre channels (marketplace e MShops).


Para a gestão do estoque, definimos três tipologias de stock_locations:

Tipo de localização Caso de uso Gestor do estoque
selling_address O estoque gerido pelo vendedor tem um único ponto de origem. usuário (vendedor)
meli_facility O vendedor envia seu estoque para os depósitos de Fulfillment do Mercado Livre. Mercado Livre (Full)
store Múltiplas origens de estoque geridas pelo vendedor. Permite ao vendedor configurar diferentes lojas ou localizações onde tem seu inventário. usuário (vendedor)


Obter detalhe de estoque

Para consultar o estoque associado a um User Product, você deverá fazer a seguinte chamada:

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

Exemplo para um UP específico:

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

Exemplo de resposta para tipologia selling_address:

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

Exemplo de resposta para tipologia meli_facility:

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

Exemplo de resposta para tipologia store:

{
   "locations": [
       {
           "type": "store",
           "store_id": 9876543,
           "quantity": 15
       },
       {
           "type": "store",
           "store_id": 9876553,
           "quantity": 15
       }
   ],
   "user_id": 1234,
   "id": "MLBU206642488"
}
Nota:
Ao consultar o detalhe de estoque, será retornado um header chamado "x-version", que terá um valor inteiro (do tipo long) representando a versão atual de /stock/. Este header deve ser enviado ao realizar chamadas PUT em /stock/.

Se não for enviado, será retornado um código de status 400 (Bad Request). Se a versão enviada não for a correta, será retornado um código de status 409 (Conflict).

No caso de uma resposta com código 409, é necessário consultar novamente o estoque para obter a versão atualizada do header "x-version".

Um mesmo UP pode ter até duas tipologias, seja (selling_address e meli_facility) ou (store e meli_facility).



Gerenciar estoque

Para modificar o estoque de uma localização selling_address, você pode continuar utilizando o PUT de itens.
Ou pode utilizar o método PUT para enviar a quantidade desejada de estoque.

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
}'

Exemplo para um 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: Estoque multi-origem.