Documentação do Mercado Livre
Confira todas as informações necessárias sobre as APIs Mercado Livre.Documentação do
Estoque distribuído
O Estoque Distribuído tem como objetivo permitir que os vendedores configurem diferentes locais de estoque (stock_locations) para um mesmo Produto do Usuário.
Nota:
Como evidenciado pelo gráfico, o estoque será compartilhado entre canais (marketplace e MShops).
Tipos de estoque
Para a gestão do estoque, definimos as três tipologias seguintes de stock_locations:
Tipo de local | Caso de uso | Gestor do estoque | Permite editar estoque via API |
---|---|---|---|
meli_facility | O vendedor envia seu estoque para os depósitos de Fulfillment do Mercado Livre. | Mercado Livre (Full) | Não. |
selling_address | Depósito de origem do vendedor quando tiver estoque de Flex em publicações que também estão em Fulfillment do Mercado Livre (meli_facility). | Usuário (Vendedor) | Sim, desde que o item tenha Flex ativado. |
seller_warehouse | Múltiplas origens de estoque gerenciadas pelo vendedor. Permite ao vendedor gerenciar o estoque de vários depósitos que correspondem às localidades onde possui seu inventário. | Usuário (Vendedor) | Sim, desde que o vendedor tenha pelo menos um depósito configurado. |
Obter detalhe de estoque
Tenha em mente que um mesmo UP pode ter até duas tipologias, seja (selling_address e meli_facility) ou (seller_warehouse e meli_facility).
Para consultar o estoque associado a um Produto do Usuário, você deve fazer a seguinte requisição.
Chamada:
curl -X GET https://api.mercadolibre.com/user-products/$USER_PRODUCT_ID/stock -H 'Authorization: Bearer $ACCESS_TOKEN'
Exemplo:
curl -X GET https://api.mercadolibre.com/user-products/MLAU123456789/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 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"
}
Considerações:
- Ao consultar os detalhes do estoque, será retornado um header chamado x-version, que terá um valor inteiro (do tipo long) que representará a versão atual de /stock/.
- Este header deve ser enviado ao realizar chamadas PUT no recurso /stock/.
- Se não for enviado, retornará um bad request (status code: 400).
- Adicionalmente, caso a versão enviada não seja a mais recente, será retornado um conflito (status code: 409).
- No caso de uma resposta com código 409, você deve consultar novamente o estoque para obter a versão atualizada do header x-version.
Gerir estoque
Utilize a seguinte chamada para enviar a quantidade de estoque a nível User Products
nesses dois tipos de localizações de estoque selling_address e meli_facility
Nota:
Para itens com localização selling_address, você ainda poderá continuar utilizando o PUT de itens. Nesse caso, o Mercado Livre atualizará o estoque para todos os itens associados ao mesmo user_product_id. No entanto, já é recomendado adaptar-se ao novo recurso de user-products/stock, que passará a ser o recurso definitivo para essas atualizações.
Chamada:
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
}'
Exemplo:
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 status da resposta:
Código | Mensagem | Descrição | Recomendação |
---|---|---|---|
204 | OK | O estoque será atualizado de maneira assíncrona em todas as condições de venda do produto do usuário. | |
400 | Você não pode modificar o estoque do endereço de venda se os itens associados são apenas fulfillment ou nenhum item está associado. | ||
400 | Você não pode modificar o estoque do endereço de venda em itens sem ID de inventário. | ||
400 | Você não pode modificar o estoque do endereço de venda porque é necessário realizar uma entrada completa primeiro antes de modificar. | ||
400 | Falta o cabeçalho X-Version | Cabeçalho “x-version” não informado. | Você deve informar o cabeçalho “x-version”. |
Nota:
Para atualizar o estoque do tipo seller_warehouse, deve rever a documentação de estoque multi-origem.
Próxima documentação: Estoque multi-origem.