VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API atual/Referência completa/ERP Estoque

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.

GET/api/v1/vendor/erp/inventory/warehousesSeller

Lista os depósitos do seller

Exemplo de requisição: Listar depósitos

bash
curl "$BASE_URL/api/v1/vendor/erp/inventory/warehouses" \
  -H "Authorization: Bearer $TOKEN"

Resposta: Listar depósitos

200Depósitos retornados
json
{
  "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

warehousesarray

Depósitos.

iduuid
Id do depósito.
vendor_iduuid
Id do seller dono do depósito (sempre o seller do token).
namestring
Nome do depósito.
codestring
Código interno livre. String vazia quando não informado.
cepstring
CEP do depósito, texto livre (a plataforma não valida o formato). Vazio quando não informado.
addressstring
Endereço em texto livre. Vazio quando não informado.
is_activeboolean
false 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_atdatetime
Criação, RFC 3339 UTC.
updated_atdatetime
Última alteração, RFC 3339 UTC.
totalinteger
Quantidade de depósitos devolvidos.

Erros: Listar depósitos

StatusQuandoCorpo
401Cabeçalho Authorization ausente, token inválido, expirado ou revogado.{"error":"missing authorization header"}
403O token não é de um usuário seller (por exemplo, é de administrador).{"error":"insufficient permissions"}
403O 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.

POST/api/v1/vendor/erp/inventory/warehousesSeller

Cria um depósito

Corpo da requisição

namestringobrigatório
Nome do depósito. Obrigatório (em branco é recusado).
codestring
Código interno livre.
cepstring
CEP, texto livre.
addressstring
Endereço em texto livre.
is_activebooleanpadrão: true
Se o depósito está ativo.

Exemplo de requisição: Criar depósito

bash
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

201Depósito criado
json
{
  "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

iduuid
Id do depósito.
vendor_iduuid
Id do seller dono do depósito (sempre o seller do token).
namestring
Nome do depósito.
codestring
Código interno livre. String vazia quando não informado.
cepstring
CEP do depósito, texto livre (a plataforma não valida o formato). Vazio quando não informado.
addressstring
Endereço em texto livre. Vazio quando não informado.
is_activeboolean
false 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_atdatetime
Criação, RFC 3339 UTC.
updated_atdatetime
Última alteração, RFC 3339 UTC.

Erros: Criar depósito

StatusQuandoCorpo
400Corpo não é um JSON válido.{"error":"invalid request body","detail":"invalid character 'b' looking for beginning of object key string"}
400name ausente ou em branco.{"error":"vendorerp: name required"}
401Cabeçalho Authorization ausente, token inválido, expirado ou revogado.{"error":"missing authorization header"}
403O token não é de um usuário seller (por exemplo, é de administrador).{"error":"insufficient permissions"}
403O 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.

PUT/api/v1/vendor/erp/inventory/warehouses/{id}Seller

Altera um depósito

Parâmetros de caminho

iduuidobrigatório
Id (UUID) do depósito.

Corpo da requisição

namestringobrigatório
Nome do depósito. Obrigatório (em branco é recusado).
codestring
Código interno livre.
cepstring
CEP, texto livre.
addressstring
Endereço em texto livre.
is_activebooleanpadrão: true
Se o depósito está ativo.

Exemplo de requisição: Alterar depósito

bash
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

200Depósito alterado
json
{
  "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

iduuid
Id do depósito.
vendor_iduuid
Id do seller dono do depósito (sempre o seller do token).
namestring
Nome do depósito.
codestring
Código interno livre. String vazia quando não informado.
cepstring
CEP do depósito, texto livre (a plataforma não valida o formato). Vazio quando não informado.
addressstring
Endereço em texto livre. Vazio quando não informado.
is_activeboolean
false 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_atdatetime
Criação, RFC 3339 UTC.
updated_atdatetime
Última alteração, RFC 3339 UTC.

Erros: Alterar depósito

StatusQuandoCorpo
400Corpo não é um JSON válido.{"error":"invalid request body","detail":"invalid character 'b' looking for beginning of object key string"}
400name ausente ou em branco.{"error":"vendorerp: name required"}
404Depósito não existe ou é de outro seller.{"error":"warehouse not found"}
409Você 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":"..."}
401Cabeçalho Authorization ausente, token inválido, expirado ou revogado.{"error":"missing authorization header"}
403O token não é de um usuário seller (por exemplo, é de administrador).{"error":"insufficient permissions"}
403O 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"}
Omitir is_active reativa o depósito

is_active vale true quando não vem no corpo. Para só renomear um depósito inativo sem reativá-lo, envie "is_active": false junto.

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.

DELETE/api/v1/vendor/erp/inventory/warehouses/{id}Seller

Apaga um depósito vazio

Parâmetros de caminho

iduuidobrigatório
Id (UUID) do depósito.

Exemplo de requisição: Apagar depósito

bash
curl -X DELETE "$BASE_URL/api/v1/vendor/erp/inventory/warehouses/3f6c1c1e-8d0b-4a55-9a52-1d6f6a4a7b10" \
  -H "Authorization: Bearer $TOKEN"

Resposta: Apagar depósito

200Depósito apagado
json
{
  "message": "warehouse deleted"
}

Campos da resposta

messagestring
Sempre warehouse deleted.

Erros: Apagar depósito

StatusQuandoCorpo
404Depósito não existe ou é de outro seller.{"error":"warehouse not found"}
409O depósito ainda tem saldo. Transfira ou dê baixa antes de apagar.{"error":"warehouse_has_stock","detail":"..."}
401Cabeçalho Authorization ausente, token inválido, expirado ou revogado.{"error":"missing authorization header"}
403O token não é de um usuário seller (por exemplo, é de administrador).{"error":"insufficient permissions"}
403O 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"}
Sem força bruta

Para esvaziar um depósito use Transferir estoque ou uma saída em Registrar movimento. As duas deixam rastro no extrato.

Veja também

  • Saldos por depósito
  • Movimentos e transferências
Anterior
ERP de estoque do seller
Próxima
Movimentos e transferências
Nesta página
  • Listar depósitos
  • Exemplo de requisição: Listar depósitos
  • Resposta: Listar depósitos
  • Erros: Listar depósitos
  • Criar depósito
  • Exemplo de requisição: Criar depósito
  • Resposta: Criar depósito
  • Erros: Criar depósito
  • Alterar depósito
  • Exemplo de requisição: Alterar depósito
  • Resposta: Alterar depósito
  • Erros: Alterar depósito
  • Apagar depósito
  • Exemplo de requisição: Apagar depósito
  • Resposta: Apagar depósito
  • Erros: Apagar depósito
  • Veja também