Estoque do armazém
Consulte e atualize os níveis de estoque dos produtos em um armazém específico, com as quantidades reservadas e as quantidades por variante.
A API de estoque do armazém permite gerenciar os níveis de estoque dos produtos nos armazéns da loja. Você pode atualizar, consultar e administrar o estoque de um produto específico em um armazém específico, o que dá controle preciso sobre a alocação e a distribuição do estoque.
Use-a depois de criar um armazém (veja Armazéns), por exemplo quando um ERP envia uma nova contagem ou quando você quer ver o que há para vender em um local. As rotas ficam em $BASE_URL/api/2.0/warehouses/{warehouse_id}/stock, exigem uma conta de administrador e usam credenciais HTTP Basic ($EMAIL:$API_KEY).
Estrutura do estoque
Esta é a estrutura de um objeto de estoque de um produto em um armazém:
{
"warehouse_id": "12",
"product_id": "423",
"product_code": "LAPTOP-PRO-15",
"product_name": "Professional Laptop 15\"",
"amount": 150, // Current stock quantity
"reserved_amount": 25, // Reserved for pending orders
"available_amount": 125, // Available for sale (amount - reserved)
"min_amount": 10, // Minimum stock level alert
"max_amount": 500, // Maximum stock capacity
"cost_price": "899.99", // Unit cost price
"tracking": "B", // B - track with options, O - track without options, D - don't track
"status": "A", // A - active, D - disabled
"location": "A-12-34", // Physical location within warehouse
"batch_number": "LOT2024001", // Batch/lot tracking
"last_updated": "2024-06-24T14:30:00Z",
"options": [
{
"option_id": "15",
"option_name": "Color",
"variant_id": "45",
"variant_name": "Silver",
"amount": 75,
"reserved_amount": 10
},
{
"option_id": "15",
"option_name": "Color",
"variant_id": "46",
"variant_name": "Black",
"amount": 75,
"reserved_amount": 15
}
]
}Campos do estoque
warehouse_idstringproduct_idstringproduct_codestringproduct_namestringamountintegerreserved_amountintegeravailable_amountintegermin_amountintegermax_amountintegercost_pricestringtrackingstringBODB controlar com opções, O controlar sem opções, D não controlar.statusstringADA para ativo, D para desativado.locationstringbatch_numberstringlast_updatedstringoptionsarrayoption_id, option_name, variant_id, variant_name, amount e reserved_amount.Operações principais de estoque
Listar o estoque de um armazém
/api/2.0/warehouses/{warehouse_id}/stockAdminRecupera os níveis de estoque de todos os produtos de um armazém
Parâmetros de caminho
warehouse_idintegerobrigatóriocurl -u "$EMAIL:$API_KEY" "$BASE_URL/api/2.0/warehouses/12/stock"Consultar o estoque de um produto
/api/2.0/warehouses/{warehouse_id}/stock/{product_id}AdminRecupera as informações de estoque de um produto em um armazém
Parâmetros de caminho
warehouse_idintegerobrigatórioproduct_idintegerobrigatóriocurl -u "$EMAIL:$API_KEY" "$BASE_URL/api/2.0/warehouses/12/stock/423"Atualizar o estoque de um produto
/api/2.0/warehouses/{warehouse_id}/stock/{product_id}AdminAtualiza os níveis de estoque de um produto em um armazém
Parâmetros de caminho
warehouse_idintegerobrigatórioproduct_idintegerobrigatórioCorpo da requisição
amountintegerreserved_amountintegermin_amountintegermax_amountintegercost_pricestringlocationstringbatch_numberstringoptionsarrayQuantidades por variante do produto.
variant_idstringamountintegerreserved_amountintegerExemplo de requisição para atualizar o estoque de um produto específico em um armazém:
curl -X PUT "$BASE_URL/api/2.0/warehouses/12/stock/423" \
-H "Content-Type: application/json" \
-u "$EMAIL:$API_KEY" \
-d '{
"amount": 200,
"reserved_amount": 30,
"min_amount": 15,
"max_amount": 600,
"cost_price": "899.99",
"location": "A-12-35",
"batch_number": "LOT2024002",
"options": [
{
"variant_id": "45",
"amount": 100,
"reserved_amount": 15
},
{
"variant_id": "46",
"amount": 100,
"reserved_amount": 15
}
]
}'Melhores práticas
- Sincronização em tempo real: implemente webhooks para manter os sistemas externos sincronizados com as mudanças de estoque.
- Níveis mínimos: defina níveis mínimos de estoque adequados para receber alertas automáticos.
- Localização: use códigos de localização física para uma gestão eficiente do armazém.
- Controle por opção: gerencie o estoque no nível da variante em produtos com várias opções.