Natureza
CRUD de naturezas financeiras (tabela SED) via REST. As
mutações delegam para a rotina padrão FINA010 via
MsExecAuto, encapsulada pelo wrapper U_FN010Exec
(src/lib/FIN/FN010EXC.prw). A leitura usa
BeginSql direto na SED. A chave externa é
ED_CODIGO (até 10 caracteres), informada pelo cliente — não
há sequência automática SX8 neste endpoint.
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. O código da natureza
(ED_CODIGO) é a chave externa e é fornecido pelo
cliente — não há sequenciador SX8 envolvido. Aceita até 10
caracteres alfanuméricos. Tudo é normalizado para uppercase antes do
seek/persistência.
Filtro de filial. Toda operação aplica
xFilial("SED"). A query param filial existe
por compatibilidade com a URL padrão da REST do Protheus
(/api/99/01 já fixa empresa/filial); ela não
troca o contexto — o filtro vem do tenant da URL.
Domínios canônicos. Tipo aceita
1 (A Pagar), 2 (A Receber) ou
3 (Ambos, default). Cond aceita
R (Receita, default) ou D (Despesa). Os
Calc* e Ded* são flags S/N
(default N para os Calc, 2 para
os Ded).
POST com path obrigatório. Por característica do
build 240223P (Static Functions no mesmo PRW quebram
::GetContent()), o WsSED declara
WSSYNTAX "/WsSED/INCLUIR/{codigo}" para o POST — o código
aparece duas vezes (no path e no body). O endpoint
confia no body como fonte canônica; o path é só ginástica de
roteamento.
PUT é parcial. Apenas os campos presentes no body
são alterados. Omitidos mantêm o valor atual. O wrapper
U_FN010Exec recebe um aArray com somente os
pares a alterar e o registro SED previamente posicionado.
Bloqueio TOTVS. A tabela SED
não tem os campos ED_MSBLQL/ED_MSBLQD
neste dicionário — o padrão de bloqueio adotado em
CadastroCliente (par *_MSBLQL/*_MSBLQD
com PUT restrito) não se aplica aqui. Exclusão é feita via
DELETE (Op=5) e respeita as travas internas do
FINA010 (existem títulos vinculados, etc).
Natureza
CRUD porED_CODIGO
Descrição
Retorna todas as naturezas da filial corrente. Não há paginação
— a SED tipicamente tem volume baixo (dezenas a poucas centenas
de registros). A consulta é feita via BeginSql
direto na tabela, com ORDER BY ED_CODIGO.
Cada item devolve os campos canônicos do envelope
Natureza: código,
descrição, tipo, condição, e as flags de cálculo de
impostos/deduções.
Query parameters
"01"). Compatibilidade; o filtro efetivo vem da URL /api/99/01.Chamada de exemplo
GET https://erpapi.jetme.com.br/api/99/01/WsSED/ Authorization: Bearer eyJhbGciOiJIUzI1NiIs… Accept: application/json
Respostas
{ success: true, data: { total, naturezas: Natureza[] } }.Descrição
Retorna uma única natureza pelo código (ED_CODIGO).
Mesma forma de leitura do /WsSED/ (BeginSql), apenas
acrescentando AND ED_CODIGO = %exp:cCodigo%.
Path parameter
Chamada de exemplo
GET https://erpapi.jetme.com.br/api/99/01/WsSED/TST Authorization: Bearer eyJhbGciOiJIUzI1NiIs… Accept: application/json
Respostas
{ success: true, data: Natureza }.Descrição
Inclui uma natureza nova via FINA010 em modo
3 (inclusão). O aArray de pares
{campo, valor} é montado a partir do body e enviado
ao MsExecAuto pelo wrapper U_FN010Exec.
- Campos aceitos: ver
NaturezaRequest. - Obrigatórios:
Filial,Codigo,Descricao. - O segmento
INCLUIRno path é exigido pelo roteador (WSSYNTAX); evita conflito com o GET por código.
Path parameter
Codigo). Aparece duplicado por exigência do build 240223P do roteador WSRESTFUL.Request body
NaturezaRequest.
POST https://erpapi.jetme.com.br/api/99/01/WsSED/INCLUIR/TST Authorization: Bearer eyJhbGciOiJIUzI1NiIs… Content-Type: application/json Accept: application/json { "Filial": "01", "Codigo": "TST", "Descricao": "NATUREZA TESTE", "Tipo": "3", "Cond": "R" }
POST https://erpapi.jetme.com.br/api/99/01/WsSED/INCLUIR/SRV001 Authorization: Bearer eyJhbGciOiJIUzI1NiIs… Content-Type: application/json Accept: application/json { "Filial": "01", "Codigo": "SRV001", "Descricao": "RECEITA DE SERVICOS", "Tipo": "2", "Cond": "R", "CalcIRF": "S", "CalcISS": "S", "CalcCOF": "S", "CalcPIS": "S", "DedPIS": "2", "DedCOF": "2" }
Respostas
CrudResponse com data.codigo = código persistido.Filial, Codigo, Descricao). Tier: validation-error.Tipo/Cond, etc). Tier: business-error.Descrição
Altera campos da natureza via FINA010 em modo
4 (alteração). O endpoint posiciona o registro
SED com DbSeek antes do
MsExecAuto — requisito do MVC para Op=4. Apenas os
campos presentes no body entram no aArray; omitidos
mantêm o valor atual.
Restrições. A chave ED_CODIGO
não pode ser alterada por PUT — o seek é feito pelo código do
path. Para "renomear" um código, exclua e crie de novo.
Path parameter
Query parameters
"01".Request body
PUT https://erpapi.jetme.com.br/api/99/01/WsSED/TST Authorization: Bearer eyJhbGciOiJIUzI1NiIs… Content-Type: application/json Accept: application/json { "Descricao": "NATUREZA TST REVISADA", "Tipo": "1" }
PUT https://erpapi.jetme.com.br/api/99/01/WsSED/TST Authorization: Bearer eyJhbGciOiJIUzI1NiIs… Content-Type: application/json Accept: application/json { "Cond": "D", "CalcIRF": "S" }
Respostas
CrudResponse.Descrição
Exclui a natureza via FINA010 em modo
5. O MsExecAuto recusa a exclusão
quando a natureza está vinculada a títulos / lançamentos —
nessa situação o endpoint devolve 422 com a mensagem do
NomeAutoLog.
Path parameter
Query parameters
"01".Chamada de exemplo
DELETE https://erpapi.jetme.com.br/api/99/01/WsSED/TST Authorization: Bearer eyJhbGciOiJIUzI1NiIs… Accept: application/json
Respostas
CrudResponse.Schemas
Definições canônicas — campos com origemSX3 rastreável
camelCase — diferente do payload de POST/PUT que usa
PascalCase nas chaves canônicas.
123R=Receita, D=Despesa.RDSNSNSNSNSNSN"2")."2").PascalCase mapeiam
diretamente para o nome lógico do campo (sem o prefixo
ED_). Obrigatórios: Filial,
Codigo, Descricao. Demais com defaults
seguros do FINA010.
"01"."3" (Ambos).123"R" (Receita).RD"N".SN"N".SN"N".SN"N".SN"N".SN"N".SN"2")."2").Filial nem Codigo (a
chave é do path; alterá-la não é suportado pelo MVC).
123RDSNSNSNSNSNSNdata.codigo ecoa o código persistido; PUT/DELETE
devolvem data vazio.
true em respostas de sucesso.{ codigo } com o ED_CODIGO persistido. Em PUT/DELETE, string vazia.data pode trazer
detalhe técnico do MsExecAuto (mensagem
NomeAutoLog) quando aplicável.
false em erros.MsExecAuto).