TipoEntradaSaida
Cadastro de Tipos de Entrada/Saída (TES — tabela SF4) via
MATA080 (MsExecAuto). Expõe inclusão e exclusão;
a chave externa é o F4_CODIGO (3 caracteres). Códigos
000–499 e 500 são Entradas; 501–999
são Saídas — convenção do MATA080 que precisa casar com o campo
Tipo do payload.
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).
Vinculação com o ERP
Convenções
Identificador externo. F4_CODIGO tem
3 caracteres (padding automático no DELETE via
PadR). A rota POST /WsSF4/ é "coleção" — o
código vai no body. A rota DELETE /WsSF4/{codigo}
recebe o código no path. Não existe GET nesta versão.
Tipo é obrigatório. Tipo aceita apenas
"E" (Entrada) ou "S" (Saída). Qualquer outro
valor retorna 400 antes do MsExecAuto.
A convenção de prefixos do código (0XX–4XX/500 = E, 5XX–9XX = S) é
recomendação do TDN — quem garante consistência é o
F4_TIPO do payload.
Defaults "N". Todos os flags S/N do
payload (CreditICM, CreditIPI,
Duplicata, Estoque, Poder3,
CalcICM, CalcIPI, LivroICM,
LivroIPI, DestacaIPI, IncideIPI,
CompleICM) caem para "N" quando ausentes. Para
ativar um comportamento (gerar duplicata, atualizar estoque, etc),
envie "S" explicitamente.
CFOP e Texto são opcionais. CFOP só
entra no aArray quando não-vazio; idem Texto.
Isso evita sobrescrever default do MATA080 com string em branco.
CFOP vazio é aceito mas o TES nasce sem amarração fiscal —
atribua antes de movimentar nota.
TipoEntradaSaida
Inclusão e exclusão de TES via MATA080Descrição
Inclui um novo Tipo de Entrada/Saída via MATA080 em
operação 3 (inclusão). O endpoint monta o
aArray a partir do payload, aplica defaults
"N" para os flags S/N, e delega ao wrapper
U_MT080Exe. O F4_CODIGO vai no
body (não no path).
- Whitelist de campos: ver
TESRequest. - Campos opcionais omitidos não entram no
aArray— o MATA080 aplica o próprio default.
Request body
TESRequest.
POST https://erpapi.jetme.com.br/api/99/01/WsSF4/ Authorization: Bearer eyJhbGciOiJIUzI1NiIs… Content-Type: application/json Accept: application/json { "Filial": "01", "Codigo": "TST", "Tipo": "E" }
POST https://erpapi.jetme.com.br/api/99/01/WsSF4/ Authorization: Bearer eyJhbGciOiJIUzI1NiIs… Content-Type: application/json Accept: application/json { "Filial": "01", "Codigo": "TST", "Tipo": "E", "CreditICM": "S", "CreditIPI": "S", "Duplicata": "S", "Estoque": "S", "Poder3": "N", "CalcICM": "S", "CalcIPI": "S", "CFOP": "1101", "Texto": "COMPRA MERCADORIAS", "LivroICM": "S", "LivroIPI": "S", "DestacaIPI": "S", "IncideIPI": "S", "CompleICM": "N" }
POST https://erpapi.jetme.com.br/api/99/01/WsSF4/ Authorization: Bearer eyJhbGciOiJIUzI1NiIs… Content-Type: application/json Accept: application/json { "Filial": "01", "Codigo": "510", "Tipo": "S", "Duplicata": "S", "Estoque": "S", "CFOP": "5102", "Texto": "VENDA MERCADORIAS" }
Respostas
Codigo vazio, ou Tipo fora do conjunto E/S. Tier: validation-error.MATA080 rejeitou (TES já existe, CFOP inválido, combinação de flags incompatível, etc). Mensagem do NomeAutoLog em message. Tier: business-error.Descrição
Exclui o TES via MATA080 em operação 5
(exclusão). O endpoint faz DbSeek em SF4
(ordem 1 · xFilial("SF4") + F4_CODIGO com padding
PadR) antes de chamar o MsExecAuto, para
devolver 404 explicitamente quando o código não existe
na filial.
Path parameter
PadR automaticamente.Chamada de exemplo
DELETE https://erpapi.jetme.com.br/api/99/01/WsSF4/TST Authorization: Bearer eyJhbGciOiJIUzI1NiIs… Accept: application/json
Respostas
RespostaSucesso com message de confirmação.codigo ausente na URL. Tier: validation-error.MATA080 rejeitou (TES referenciado em movimentos, regras fiscais ativas, etc). Tier: business-error.Schemas
Definições canônicas — campos com origemSX3 rastreável
POST /WsSF4/. Os flags S/N que não
vierem no body caem para "N" antes de ir para o
aArray do MATA080. CFOP e
Texto só são adicionados quando não-vazios.
000–499 e 500 = Entrada; 501–999 = Saída.ES"N".SN"N".SN"N".SN"N".SN"N".NRD"N".SN"N".SNSX5 tabela 13 pelo MATA080."N".SN"N".SN"N".SN"N".SN"N".SN201 de POST /WsSF4/.
data.codigo ecoa o F4_CODIGO gravado — útil
para confirmação no cliente sem reler do banco.
true em 201.codigo (string) — espelho do F4_CODIGO incluído.200 de DELETE /WsSF4/{codigo}.
data é string vazia — a confirmação está em
message.
true em 200.422,
message traz o token do NomeAutoLog do
MATA080 para inspeção programática.
false em erros.Cenários
Combinações testáveis — alinhadas 1-pra-1 comexamples: do YAML.
Pendências conhecidas (rev2)
PUT / GET ainda não documentados aqui. A
TASK-fiscal-saidas-doc-api-v1 prevê WsSF4 rev2 com PUT
(alteração) e GETs ({codigo}, _search,
_list, _byid). Doc atualizará com a chegada
do código.
Bloqueio TOTVS SF4 ausente. A tabela SF4 não tem
F4_MSBLQL nesta base. Bloqueio operacional do TES é
feito via campos próprios (e.g. F4_NUMSEQ=0 impede uso
em nota), não via flag MSBLQL.