Endereços do armazém
Cadastra, lista, altera, apaga e importa em lote os endereços (corredor, prateleira, posição) dentro dos depósitos.
Listar endereços
Um endereço (location) é uma posição dentro de um depósito: corredor (aisle), prateleira (shelf) ou posição de caixa (bin). É o que permite dizer onde exatamente um produto está. A lista vem ordenada por depósito e por código, sem paginação.
/api/v1/vendor/erp/wms/locationsSellerLista os endereços do armazém
Parâmetros de consulta
warehouse_iduuidExemplo de requisição: Listar endereços
Resposta: Listar endereços
Campos da resposta
locationsarrayEndereços.
iduuidvendor_iduuidwarehouse_iduuidwarehouse_namestringcodestringA-01-03).typestringaisleshelfbinactivebooleancreated_atdatetimeupdated_atdatetimetotalintegerErros: Listar endereços
| Status | Quando | Corpo |
|---|---|---|
| 500 | Um filtro de id não é um UUID válido (a plataforma devolve 500, não 400). | {"error":"failed to list locations","detail":"o valor \"xyz\" não é um uuid válido. Envie o identificador completo, com os 36 caracteres e os hífens. Corrija o campo e reenvie."} |
| 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 endereço
/api/v1/vendor/erp/wms/locationsSellerCria um endereço
Corpo da requisição
warehouse_iduuidobrigatóriocodestringobrigatóriotypestringobrigatórioaisleshelfbinactivebooleanpadrão: trueExemplo de requisição: Criar endereço
Resposta: Criar endereço
Campos da resposta
iduuidvendor_iduuidwarehouse_iduuidwarehouse_namestringcodestringA-01-03).typestringaisleshelfbinactivebooleancreated_atdatetimeupdated_atdatetimeErros: Criar endereço
| 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 | code em branco. | {"error":"vendorerp: code required"} |
| 400 | type inválido. | {"error":"vendorerp: type must be aisle|shelf|bin"} |
| 400 | warehouse_id ausente. | {"error":"vendorerp: warehouse_id required"} |
| 404 | O depósito não existe ou é de outro seller. | {"error":"warehouse not found"} |
| 400 | Já existe um endereço com esse código no depósito (a plataforma devolve uma mensagem genérica de banco de dados). | {"error":"a database error occurred"} |
| 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 endereço
Substitui os dados do endereço (PUT completo: warehouse_id, code e type são obrigatórios).
/api/v1/vendor/erp/wms/locations/{id}SellerAltera um endereço
Parâmetros de caminho
iduuidobrigatórioCorpo da requisição
warehouse_iduuidobrigatóriocodestringobrigatóriotypestringobrigatórioaisleshelfbinactivebooleanpadrão: trueExemplo de requisição: Alterar endereço
Resposta: Alterar endereço
Campos da resposta
iduuidvendor_iduuidwarehouse_iduuidwarehouse_namestringcodestringA-01-03).typestringaisleshelfbinactivebooleancreated_atdatetimeupdated_atdatetimeErros: Alterar endereço
| 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 | code em branco. | {"error":"vendorerp: code required"} |
| 400 | type inválido. | {"error":"vendorerp: type must be aisle|shelf|bin"} |
| 404 | O depósito não existe ou é de outro seller. | {"error":"warehouse not found"} |
| 404 | O endereço não existe ou é de outro seller. | {"error":"location not found"} |
| 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 endereço
Faz a exclusão lógica do endereço. Diferente do depósito, o endereço pode ser apagado mesmo com saldo; as linhas de saldo dele deixam de aparecer em Saldos por endereço.
/api/v1/vendor/erp/wms/locations/{id}SellerApaga um endereço
Parâmetros de caminho
iduuidobrigatórioExemplo de requisição: Apagar endereço
Resposta: Apagar endereço
Campos da resposta
messagestringlocation deleted.Erros: Apagar endereço
| Status | Quando | Corpo |
|---|---|---|
| 404 | O endereço não existe ou é de outro seller. | {"error":"location not found"} |
| 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"} |
Importar endereços
Cria vários endereços de uma vez a partir de um texto CSV enviado no JSON (não é upload de arquivo). Cada linha tem código e, opcionalmente, tipo; o separador pode ser vírgula ou ponto e vírgula e uma primeira linha de cabeçalho (code, codigo, código, endereco ou endereço) é ignorada. Sem tipo, vale bin. A importação não é atômica: linhas válidas são criadas mesmo que outras falhem.
/api/v1/vendor/erp/wms/locations/importSellerImporta endereços de um CSV
Corpo da requisição
warehouse_iduuidobrigatóriocontentstringobrigatórioA-01-01,bin com quebras de linha \n.Exemplo de requisição: Importar endereços
Resposta: Importar endereços
Campos da resposta
createdintegerduplicatesintegererrorsarrayErros: Importar endereços
| 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 | warehouse_id ausente. | {"error":"vendorerp: warehouse_id required"} |
| 404 | O depósito não existe ou é de outro seller. | {"error":"warehouse not found"} |
| 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"} |