Documentação do Mercado Livre
Confira todas as informações necessárias sobre as APIs Mercado Livre.
Documentação do
Gestão de estoque multiorigem / User Products
Quando a conta tem multiorigem, não se deve usar available_quantity no endpoint /items. O estoque é gerenciado por depósitos e há endpoints específicos de User Products para isso: /user-products/{user_product_id}/stock/type/{seller_warehouse} (para depósitos do seller) ou os endpoints de estoque multiorigem. Atualizar available_quantity em /items será ignorado ou retornará erro; é preciso atualizar por localização (stores/warehouses) com os endpoints de User Products.
Esse erro aparece quando o User Product não tem estoque inicializado ou não tem locations criadas; o recurso de estoque não existe até que seja criado o estoque nas localizações. A solução é criar as stock locations correspondentes pelos endpoints de escrita de estoque (usar seller_warehouse) antes de consultar.
O endpoint selling_address (/user-products/{id}/stock/type/selling_address) está habilitado apenas para sites como MLA e MLC. Em sites como MLM não está disponível; nesses casos deve-se usar a gestão por seller_warehouse ou o fluxo multiorigem suportado para esse mercado. Não existe o mesmo fluxo de selling_address para todas as regiões.
Se a conta tem multiorigem ou estoque por depósitos, /items PUT com available_quantity pode retornar 200, mas não atualizar o estoque real. Em contas com warehouse_management o estoque deve ser atualizado via User Products (endpoint de estoque por seller_warehouse); a API /items não modifica o estoque em modo multiorigem.
A documentação indica que a criação/atualização de estoque para multiwarehouse exige criar stock locations associadas ao user_product pelo endpoint de estoque. Se faltarem network_node_id ou stock-locations, a operação falha; a criação de locations e sua associação deve ser feita antes de atualizar o estoque.
Essa mensagem indica que você está usando um endpoint de selling_address não suportado para esse site. A capacidade de modificar selling_address existe apenas em sites como MLA/MLC; em outros sites (ex. MLB) deve-se usar seller_warehouse ou o endpoint de estoque correspondente ao mercado.
Verifique se o item tem stock_locations ou um user_product_id; em seguida consulte /user-products/{user_product_id}/stock. Se as locations mostram type:seller_warehouse então está em multiorigem e é preciso atualizar por localização (seller_warehouse). Não use available_quantity em /items se a conta estiver em multiorigem.
A publicação falhará com erros (ex. validation error ou stock-locations not found). Você deve fornecer stock_locations válidas (store_id, network_node_id) e garantir que as lojas/depósitos estejam configurados para o seller antes de criar ou atualizar itens multiwarehouse.
Um 409 geralmente indica conflitos por modificações concorrentes ou colisões em recursos (por exemplo SKU ou GTIN já associado a outro user_product) ou tentativas de criar recursos que já existem. Também pode ocorrer por alterações simultâneas sobre a mesma chave.
Em alguns sites a atualização de estoque por selling_address para Flex não está habilitada; no Mercado Livre Brasil a opção geralmente está bloqueada e o estoque Full costuma ser gerenciado pelo Mercado Livre, portanto não é modificável pela API do seller.
Durante a sincronização multi-armazém o marketplace pode pausar anúncios enquanto processa as locations e o estoque; esse processo é assíncrono e pode levar mais de um dia em alguns casos, após o qual os anúncios são reativados automaticamente se houver estoque.