TabelaPrecos
CRUD de Tabela de Preços (cabeçalho DA0 + itens
DA1) via rotina automática OMSA010 — modelo
2 (capa + grade em tabelas separadas). A chave da tabela
(DA0_CODTAB) é fornecida pelo usuário
(não há GetSXENum); as alterações de item suportam
inclusão, alteração e exclusão lógica via linpos.
https://erpapi.jetme.com.br/api/99/01
Empresa 99 · Filial 01
Endpoint OAuth2
Sem credenciais? Você 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).
Convenções
Identificador externo. Todas as rotas
/WsDA0/{codtab} usam DA0_CODTAB como chave.
Diferente dos cadastros com sequência automática, aqui o cliente
fornece o código — POST com DA0_CODTAB
já existente retorna 409. Em POST, o
DA0_CODTAB é obrigatório no cabecalho do
body; em PUT/DELETE, a chave do path manda.
Modelo 2 — cabeçalho e itens. OMSA010
opera em modelo 2: payload sempre tem dois nós,
cabecalho (1 registro DA0) e itens
(N registros DA1). Em POST, itens é
obrigatório e cria a grade do zero. Em PUT, é opcional —
se omitido, só o cabeçalho é alterado.
Edição granular de itens (PUT). Para alterar ou
excluir um item já existente, inclua "linpos": "0001"
apontando para o DA1_ITEM alvo. Sem linpos,
o item é tratado como inclusão. Para excluir, passe
"linpos": "NNNN" + "autdeleta": "S" —
OMSA010 marca o registro DA1 para exclusão lógica.
Formatos de data e hora. DA0_DATDE e
DA0_DATATE aceitam string AAAAMMDD (ex.:
"20260507") — o parser converte para Date
interno via sToD. DA0_HORADE /
DA0_HORAAT aceitam "HH:MM" (string, não
convertida).
Exclusão em cascata. DELETE
/WsDA0/EXCLUIR/{codtab} remove a capa DA0 e
todos os itens DA1 vinculados — não é necessário
excluir item por item antes. Tabela com referência ativa em
pedidos/orçamentos pode ser rejeitada pelo OMSA010
com 422.
Paginação. /_list retorna apenas o
cabeçalho (não traz itens) e usa
page/pageSize (default 50,
máx 500). Para a grade completa, consultar
/WsDA0/{codtab}.
Tabela
CRUD por DA0_CODTABDescrição
Retorna o cabeçalho (DA0) e todos
os itens (DA1) vinculados pela chave
DA0_CODTAB. Aplica filtro de filial
(xFilial("DA0")) e respeita os whitelists
CAMPOS_CAB_GET e CAMPOS_ITEM_GET
definidos no .prw.
Path parameter
Chamada de exemplo
GET https://erpapi.jetme.com.br/api/99/01/WsDA0/007 Authorization: Bearer eyJhbGciOiJIUzI1NiIs… Accept: application/json
Respostas
{ success: true, data: { cabecalho, itens[] } }.Descrição
Inclui tabela nova (cabeçalho DA0 + grade DA1) via
OMSA010 em modo 3
(MODEL_OPERATION_INSERT). A chave
DA0_CODTAB é fornecida pelo cliente e deve estar
presente no cabecalho do body — o path param
serve apenas para conferência.
Path parameter
cabecalho.DA0_CODTAB do payload.Request body
POST https://erpapi.jetme.com.br/api/99/01/WsDA0/INCLUIR/007 Authorization: Bearer eyJhbGciOiJIUzI1NiIs… Content-Type: application/json Accept: application/json { "cabecalho": { "DA0_CODTAB": "007", "DA0_DESCRI": "TABELA TESTE", "DA0_DATDE": "20260507", "DA0_ATIVO": "1" }, "itens": [ { "DA1_CODPRO": "01", "DA1_PRCVEN": 100 }, { "DA1_CODPRO": "02", "DA1_PRCVEN": 250 } ] }
POST https://erpapi.jetme.com.br/api/99/01/WsDA0/INCLUIR/008 Authorization: Bearer eyJhbGciOiJIUzI1NiIs… Content-Type: application/json Accept: application/json { "cabecalho": { "DA0_CODTAB": "008", "DA0_DESCRI": "TABELA VIGENCIA Q2", "DA0_DATDE": "20260501", "DA0_DATATE": "20260731", "DA0_HORADE": "00:00", "DA0_HORAAT": "23:59", "DA0_TPHORA": "1", "DA0_ATIVO": "1", "DA0_MOEDA": 1 }, "itens": [ { "DA1_CODPRO": "01", "DA1_PRCVEN": 99.90, "DA1_ATIVO": "1", "DA1_QTDLOT": 1 }, { "DA1_CODPRO": "02", "DA1_PRCVEN": 249.00, "DA1_ATIVO": "1", "DA1_QTDLOT": 10 } ] }
Respostas
CrudResponse com data.codtab = código persistido.cabecalho/itens ausentes, DA0_CODTAB faltando). Tier: validation-error.DA0_CODTAB já existe na filial. Tier: business-error.OMSA010 — produto inexistente em SB1, campo fora do whitelist, data inválida, etc. Tier: business-error.Descrição
Altera a tabela existente via OMSA010 em modo
4 (MODEL_OPERATION_UPDATE). Aceita
subconjuntos:
- Só cabeçalho — omitir
itensdeixa a grade intacta. - Incluir item novo — entrada sem
linposemitens[]. - Alterar item existente —
linpos: "NNNN"apontando para oDA1_ITEMalvo. - Excluir item —
linpos: "NNNN"+autdeleta: "S".
O DA0_CODTAB do path é a chave canônica; o body
pode omiti-lo ou repeti-lo para conferência.
Path parameter
Request body
TabelaUpdate.
PUT https://erpapi.jetme.com.br/api/99/01/WsDA0/ALTERAR/007 Authorization: Bearer eyJhbGciOiJIUzI1NiIs… Content-Type: application/json Accept: application/json { "cabecalho": { "DA0_DESCRI": "TABELA TESTE - ATUALIZADA", "DA0_DATATE": "20261231" } }
PUT https://erpapi.jetme.com.br/api/99/01/WsDA0/ALTERAR/007 Authorization: Bearer eyJhbGciOiJIUzI1NiIs… Content-Type: application/json Accept: application/json { "itens": [ { "linpos": "0001", "DA1_PRCVEN": 150 } ] }
PUT https://erpapi.jetme.com.br/api/99/01/WsDA0/ALTERAR/007 Authorization: Bearer eyJhbGciOiJIUzI1NiIs… Content-Type: application/json Accept: application/json { "itens": [ { "DA1_CODPRO": "03", "DA1_PRCVEN": 75.50, "DA1_ATIVO": "1" } ] }
PUT https://erpapi.jetme.com.br/api/99/01/WsDA0/ALTERAR/007 Authorization: Bearer eyJhbGciOiJIUzI1NiIs… Content-Type: application/json Accept: application/json { "itens": [ { "linpos": "0002", "autdeleta": "S" } ] }
Respostas
CrudResponse.linpos aponta para item inexistente, produto novo não está em SB1, campo fora do whitelist, etc. Tier: business-error.Descrição
Exclui a tabela inteira via OMSA010 em modo
5 (MODEL_OPERATION_DELETE). A
exclusão é em cascata: a capa
DA0 e todos os itens DA1 vinculados
são removidos numa única chamada. Tabelas referenciadas por
pedidos/orçamentos em aberto podem ser rejeitadas pelo
OMSA010 com 422.
Path parameter
Chamada de exemplo
DELETE https://erpapi.jetme.com.br/api/99/01/WsDA0/EXCLUIR/007 Authorization: Bearer eyJhbGciOiJIUzI1NiIs… Accept: application/json
Respostas
CrudResponse.OMSA010 rejeita exclusão. Tier: business-error.Listagem
Listagem paginada do cabeçalhoDescrição
Lista tabelas de preços (apenas cabeçalho DA0;
a grade DA1 não é retornada aqui — usar
GET /WsDA0/{codtab} para a tabela completa).
Filtros opcionais por prefixo de código, substring de descrição
e flag de ativo.
Query parameters
DA0_CODTAB.DA0_DESCRI (case-insensitive).121).50, máx 500).Chamada de exemplo
GET https://erpapi.jetme.com.br/api/99/01/WsDA0/_list?descri=TESTE&ativo=1&page=1&pageSize=50 Authorization: Bearer eyJhbGciOiJIUzI1NiIs… Accept: application/json
Respostas
data (array de cabeçalhos resumidos: DA0_CODTAB, DA0_DESCRI, DA0_DATDE, DA0_ATIVO), page, pageSize, count.pageSize > 500, ativo fora do enum).Schemas
Definições canônicas — campos com origemSX3 rastreável
DA0). Whitelist de
campos definido em CAMPOS_CAB_ALLOW /
CAMPOS_CAB_GET no .prw.
GetSXENum.AAAAMMDD (ex.: "20260507").AAAAMMDD; vazio = sem prazo."HH:MM"."HH:MM".12DA1). Whitelist
CAMPOS_ITEM_ALLOW / CAMPOS_ITEM_GET.
Em PUT, os campos meta linpos e
autdeleta controlam alteração e exclusão lógica
do item.
OMSA010). Em PUT, use linpos para referenciá-lo.SB1 — produto inexistente faz o OMSA010 rejeitar com 422."1").DA1_ITEM existente a alterar ou excluir. Sem linpos, a entrada é tratada como inclusão.linpos, marca o item para exclusão lógica.SPOST. Ambos os nós são obrigatórios e
itens[] não pode estar vazio.
DA1_CODPRO + DA1_PRCVEN.PUT. Ambos os nós são opcionais — pelo
menos um deve estar presente. Edição de item existente requer
linpos; exclusão lógica requer
linpos + autdeleta: "S".
DA0. Omitir preserva a capa atual. DA0_CODTAB dentro do body é ignorado em PUT (chave do path manda).linpos), alterações (linpos + campos) e exclusões (linpos + autdeleta: "S").data.codtab ecoa o DA0_CODTAB da operação.
true em respostas de sucesso.DA0_CODTAB da operação efetivada.data pode conter
o token interno da causa (ex.: log do NomeAutoLog
do OMSA010) para tratamento programático.
false em erros.MsExecAuto).