Enderecamento
Execucao de Enderecamento (putaway) via rotina automatica
MATA265 e consulta de movimentos SDB
resultantes. Substitui a User Function legada U_GAIZ265
(_incorporar/Execauto/GAIZ_MATA265.prw).
Enderecamento e acao irreversivel pelo proprio
MATA265 — consome saldo SDA, gera
SDB e atualiza SBF. Por isso este endpoint
expoe apenas POST de execucao e GETs read-only;
nao ha PUT/DELETE. Para desfazer, rodar estorno via
MATA266 em endpoint dedicado (roadmap).
https://erpapi.jetme.com.br/api/99/01
Empresa 99 - Filial 01
Endpoint OAuth2
Sem credenciais? Voce pode pegar o token rodando
./src/scripts/get-token.sh na biblioteca e colar o
access_token aqui no campo de refresh (ou clique em
"Logout" para limpar e voltar ao fake).
Convencoes
Bloqueio administrativo (MSBLQL/MSBLQD) nao se aplica a SDB.
SDB é tabela de movimento (linhas de enderecamento ja
efetivado) e nao possui DB_MSBLQL/DB_MSBLQD no
dicionario. O bloqueio relevante para este fluxo esta nos cadastros
consumidos: Produto (SB1) - pre-check de
B1_MSBLQL="1" no POST retorna 422 antes do
MATA265; Endereco (SBE) -
bloqueio gerenciado pelo endpoint Endereco.
O padrao Onda 6 (PUT condicional ao estado de bloqueio) nao aplica aqui
porque WsEnderecamento nao expoe PUT/DELETE.
Acao irreversivel. O POST executa
enderecamento real: consome saldo SDA, gera linha em
SDB, atualiza SBF. Nao existe
PUT/DELETE neste endpoint. Para desfazer, rodar estorno
via MATA266 em endpoint dedicado (roadmap).
Documento é obrigatorio. O cliente envia
doc especifico (mesmo do DA_DOC origem),
casando exatamente com uma pendencia em SDA. Sem doc,
o endpoint retorna 422 antes de chamar o MATA265.
Cardinalidade. Esta versao mantem 1 item por POST
(paridade com o legado U_GAIZ265). O MATA265
aceita N itens; a expansao multi-item esta no roadmap.
Id externo opcional. O campo idExterno
do payload é apenas ecoado na resposta —
nao é persistido em SDB (nao depende de campos customizados
x_*). Para gravar, depende de UPDDISTR com
DB_X_IDEXT na empresa (roadmap).
Paginacao e delta-sync. /_list usa
page/pageSize (default 50, max
500) no modo orderBy=chave (agrupa por
documento). Para sincronizacao incremental linha-a-linha, use
orderBy=recno com since/cursor
e o nextCursor retornado.
Enderecamento
Execucao MATA265 + consultas SDBDescricao
Executa enderecamento real consumindo uma pendencia da
SDA e gerando linha em SDB via
MATA265 modo 3. O servidor calcula o proximo
DB_ITEM via Soma1 do maior existente
para a chave produto+doc.
- Pre-requisito: existe
SDAcomDA_DOC=doc,DA_PRODUTO=produto,DA_LOCAL=local,DA_SALDO >= qtd. - Pre-requisito:
SBFcom o endereco cadastrado nolocal. - Whitelist do payload: ver
EnderecamentoPayload.
Request body
EnderecamentoPayload.
POST https://erpapi.jetme.com.br/api/99/01/WsEnderecamento Authorization: Bearer eyJhbGciOiJIUzI1NiIs... Content-Type: application/json Accept: application/json { "produto": "PA001", "local": "01", "doc": "999998", "endereco": "END01", "qtd": 1.0 }
POST https://erpapi.jetme.com.br/api/99/01/WsEnderecamento Authorization: Bearer eyJhbGciOiJIUzI1NiIs... Content-Type: application/json Accept: application/json { "produto": "PA001", "local": "01", "doc": "999998", "endereco": "END01", "qtd": 2.5, "dataReg": "20260503", "idExterno": "WMS-123456" }
Respostas
MsExecAuto do MATA265. Tier: business-error.Descricao
Retorna todas as linhas SDB do documento informado
(mesmo DA_DOC origem). Aplica filtro de filial
(xFilial("SDB")) via indice 2 da SDB
(DB_FILIAL+DB_DOC+...). Cada linha inclui os ids
tecnicos opcionais (recno, msuid,
msuidt) quando o dicionario tem esses campos.
Path parameter
DA_DOC origem).Chamada de exemplo
GET https://erpapi.jetme.com.br/api/99/01/WsEnderecamento/999998 Authorization: Bearer eyJhbGciOiJIUzI1NiIs... Accept: application/json
Respostas
data.filial, data.doc, data.count e data.linhas[] (array de Linha).Descricao
Lista movimentos de enderecamento com dois modos de ordenacao:
orderBy=chave(default) — agrupa por documento, indice 2 da SDB; paginacao porpage/pageSize. Cada item da resposta é um documento distinto.orderBy=recno— delta-sync linha-a-linha; usasince/cursorcomnextCursorretornado.
Filtros: filial, doc, produto, data (formato YYYYMMDD).
Query parameters
xFilial("SDB").^\d{8}$ (YYYYMMDD).1, minimo 1). Valido com orderBy=chave.50, max 500).chave.chaverecnoorderBy=recno).nextCursor de pagina anterior.Chamada de exemplo
GET https://erpapi.jetme.com.br/api/99/01/WsEnderecamento/_list?produto=PA001&page=1&pageSize=50 Authorization: Bearer eyJhbGciOiJIUzI1NiIs... Accept: application/json
GET https://erpapi.jetme.com.br/api/99/01/WsEnderecamento/_list?orderBy=recno&since=0&pageSize=200 Authorization: Bearer eyJhbGciOiJIUzI1NiIs... Accept: application/json
Respostas
data[] (array de ListItem), orderBy, pageSize, count; page em modo chave ou nextCursor em modo recno.Descricao
Busca uma linha SDB por id tecnico —
recno (RecNo da SDB) ou msuid
(identificador universal MS_UID, quando o dicionario tem
DB_MSUID). Util para integracoes que persistem
o id tecnico da linha de enderecamento.
Query parameters
recnomsuidtipo=recno, string quando tipo=msuid).Chamada de exemplo
GET https://erpapi.jetme.com.br/api/99/01/WsEnderecamento/_byid?tipo=recno&valor=1234 Authorization: Bearer eyJhbGciOiJIUzI1NiIs... Accept: application/json
GET https://erpapi.jetme.com.br/api/99/01/WsEnderecamento/_byid?tipo=msuid&valor=9f7a3e2c4b8d1a0e Authorization: Bearer eyJhbGciOiJIUzI1NiIs... Accept: application/json
Respostas
{ success: true, data: Linha }.tipo/valor ausentes ou tipo fora do enum. Tier: validation-error.msuid requer DB_MSUID no dicionario - nao disponivel neste ambiente.Schemas
Definicoes canonicas - campos com origemSX3 rastreavel
POST /WsEnderecamento. Os 5 primeiros campos
sao obrigatorios. idExterno é apenas ecoado na
resposta (nao persistido em SDB).
SB1 e nao estar bloqueado).SDA a ser consumido.SBF).> 0 e <= DA_SALDO da pendencia.YYYYMMDD. Default: data atual.SDB retornada em
/{doc} e /_byid. Campos efetivamente
retornados dependem de CAMPOS_GET_LIN no .prw.
Ids tecnicos (recno, msuid, msuidt)
vem do bloco TecnicoIds.
DA_DOC origem).Soma1 do maior existente para produto+doc).YYYYMMDD)."S" apos estorno via MATA266).null quando o dicionario nao tem o campo.msuid./_list — chaves curtas em
lowercase (vs. Linha que usa nomes de campo SX3). Inclui
ids tecnicos opcionais.
YYYYMMDD).data.item traz o
DB_ITEM gerado por Soma1;
data.idExterno ecoa o valor enviado (ou string
vazia quando nao informado).
true em respostas de sucesso.DB_ITEM gerado por Soma1.idExterno enviado no payload.data pode conter o
detalhe tecnico da causa (ex: mensagem do NomeAutoLog
do MATA265) para tratamento programatico.
false em erros.MsExecAuto do MATA265).