Depósitos
Cria, lista, altera e apaga os depósitos onde o estoque do seller fica guardado.
Listar depósitos
Devolve todos os depósitos do seller que não foram apagados, ativos primeiro e depois em ordem alfabética. Não há paginação nem filtro: um seller costuma ter poucos depósitos.
/api/v1/vendor/erp/inventory/warehousesSellerLista os depósitos do seller
Exemplo de requisição: Listar depósitos
curl "$BASE_URL/api/v1/vendor/erp/inventory/warehouses" \
-H "Authorization: Bearer $TOKEN"Resposta: Listar depósitos
{
"warehouses": [
{
"id": "8204b8b8-e7e2-4b96-bba8-5a937fe001c8",
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"name": "Depósito Central",
"code": "CD-01",
"cep": "01310-100",
"address": "Av. Paulista, 1000, São Paulo, SP",
"is_active": true,
"created_at": "2026-10-11T14:30:00Z",
"updated_at": "2026-10-11T14:30:00Z"
}
],
"total": 1
}Campos da resposta
warehousesarrayDepósitos.
iduuidvendor_iduuidnamestringcodestringcepstringaddressstringis_activebooleanfalse tira o depósito das operações de entrada (recebimento de compra, lançamento de NF-e de entrada e o depósito padrão usado nas reservas de pedido). Movimentos manuais, transferências e vendas no PDV não verificam esse campo.created_atdatetimeupdated_atdatetimetotalintegerErros: Listar depósitos
| Status | Quando | Corpo |
|---|---|---|
| 401 | Cabeçalho Authorization ausente, token inválido, expirado ou revogado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário seller (por exemplo, é de administrador). | {"error":"insufficient permissions"} |
| 403 | O usuário não está vinculado a um seller, ou o cadastro do seller ainda está em análise (vendor_pending_review). | {"error":"no vendor account associated with this user"} |
Criar depósito
Um depósito é o lugar físico (ou lógico) onde o estoque do seller fica. Todo saldo, movimento e recebimento aponta para um depósito, então crie ao menos um antes de lançar estoque.
/api/v1/vendor/erp/inventory/warehousesSellerCria um depósito
Corpo da requisição
namestringobrigatóriocodestringcepstringaddressstringis_activebooleanpadrão: trueExemplo de requisição: Criar depósito
curl -X POST "$BASE_URL/api/v1/vendor/erp/inventory/warehouses" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Depósito Central",
"code": "CD-01",
"cep": "01310-100",
"address": "Av. Paulista, 1000, São Paulo, SP"
}'Resposta: Criar depósito
{
"id": "8204b8b8-e7e2-4b96-bba8-5a937fe001c8",
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"name": "Depósito Central",
"code": "CD-01",
"cep": "01310-100",
"address": "Av. Paulista, 1000, São Paulo, SP",
"is_active": true,
"created_at": "2026-10-11T14:30:00Z",
"updated_at": "2026-10-11T14:30:00Z"
}Campos da resposta
iduuidvendor_iduuidnamestringcodestringcepstringaddressstringis_activebooleanfalse tira o depósito das operações de entrada (recebimento de compra, lançamento de NF-e de entrada e o depósito padrão usado nas reservas de pedido). Movimentos manuais, transferências e vendas no PDV não verificam esse campo.created_atdatetimeupdated_atdatetimeErros: Criar depósito
| Status | Quando | Corpo |
|---|---|---|
| 400 | Corpo não é um JSON válido. | {"error":"invalid request body","detail":"invalid character 'b' looking for beginning of object key string"} |
| 400 | name ausente ou em branco. | {"error":"vendorerp: name required"} |
| 401 | Cabeçalho Authorization ausente, token inválido, expirado ou revogado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário seller (por exemplo, é de administrador). | {"error":"insufficient permissions"} |
| 403 | O usuário não está vinculado a um seller, ou o cadastro do seller ainda está em análise (vendor_pending_review). | {"error":"no vendor account associated with this user"} |
Alterar depósito
Substitui os dados do depósito. É um PUT completo: name é obrigatório e os campos de texto que você não enviar ficam vazios.
/api/v1/vendor/erp/inventory/warehouses/{id}SellerAltera um depósito
Parâmetros de caminho
iduuidobrigatórioCorpo da requisição
namestringobrigatóriocodestringcepstringaddressstringis_activebooleanpadrão: trueExemplo de requisição: Alterar depósito
curl -X PUT "$BASE_URL/api/v1/vendor/erp/inventory/warehouses/3f6c1c1e-8d0b-4a55-9a52-1d6f6a4a7b10" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Depósito Central",
"code": "CD-01",
"cep": "01310-100",
"address": "Av. Paulista, 1000, São Paulo, SP",
"is_active": true
}'Resposta: Alterar depósito
{
"id": "8204b8b8-e7e2-4b96-bba8-5a937fe001c8",
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"name": "Depósito Central",
"code": "CD-01",
"cep": "01310-100",
"address": "Av. Paulista, 1000, São Paulo, SP",
"is_active": true,
"created_at": "2026-10-11T14:30:00Z",
"updated_at": "2026-10-11T14:30:00Z"
}Campos da resposta
iduuidvendor_iduuidnamestringcodestringcepstringaddressstringis_activebooleanfalse tira o depósito das operações de entrada (recebimento de compra, lançamento de NF-e de entrada e o depósito padrão usado nas reservas de pedido). Movimentos manuais, transferências e vendas no PDV não verificam esse campo.created_atdatetimeupdated_atdatetimeErros: Alterar depósito
| Status | Quando | Corpo |
|---|---|---|
| 400 | Corpo não é um JSON válido. | {"error":"invalid request body","detail":"invalid character 'b' looking for beginning of object key string"} |
| 400 | name ausente ou em branco. | {"error":"vendorerp: name required"} |
| 404 | Depósito não existe ou é de outro seller. | {"error":"warehouse not found"} |
| 409 | Você tentou desativar (is_active: false) um depósito ativo que ainda tem saldo. A mensagem em detail diz quantas unidades são. | {"error":"warehouse_has_stock","detail":"..."} |
| 401 | Cabeçalho Authorization ausente, token inválido, expirado ou revogado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário seller (por exemplo, é de administrador). | {"error":"insufficient permissions"} |
| 403 | O usuário não está vinculado a um seller, ou o cadastro do seller ainda está em análise (vendor_pending_review). | {"error":"no vendor account associated with this user"} |
Apagar depósito
Faz a exclusão lógica do depósito. A plataforma só deixa apagar um depósito sem saldo: unidades dentro de um depósito apagado ficariam presas, sem rota para transferir ou dar baixa. Não existe parâmetro force.
/api/v1/vendor/erp/inventory/warehouses/{id}SellerApaga um depósito vazio
Parâmetros de caminho
iduuidobrigatórioExemplo de requisição: Apagar depósito
curl -X DELETE "$BASE_URL/api/v1/vendor/erp/inventory/warehouses/3f6c1c1e-8d0b-4a55-9a52-1d6f6a4a7b10" \
-H "Authorization: Bearer $TOKEN"Resposta: Apagar depósito
{
"message": "warehouse deleted"
}Campos da resposta
messagestringwarehouse deleted.Erros: Apagar depósito
| Status | Quando | Corpo |
|---|---|---|
| 404 | Depósito não existe ou é de outro seller. | {"error":"warehouse not found"} |
| 409 | O depósito ainda tem saldo. Transfira ou dê baixa antes de apagar. | {"error":"warehouse_has_stock","detail":"..."} |
| 401 | Cabeçalho Authorization ausente, token inválido, expirado ou revogado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário seller (por exemplo, é de administrador). | {"error":"insufficient permissions"} |
| 403 | O usuário não está vinculado a um seller, ou o cadastro do seller ainda está em análise (vendor_pending_review). | {"error":"no vendor account associated with this user"} |