PerfilTribParticipante
Endpoint GRID que gerencia participantes (F22) de um perfil tributário (F20). Adiciona ou remove linhas do grid via wrapper U_FA164MVC / rotina FISA164. Não tem PUT — participantes são incluídos ou excluídos, não alterados.
Vinculação com o ERP
Convenções
Envelope canônico. { success, message, data }. POST retorna data.perfil, data.tipo e os campos do participante.
Perfil + tipo no path. POST e GET usam /{perfil}/{tipo} (dois últimos segmentos). DELETE usa /{perfil}/{tipo}/{tppart}/{clifor}/{loja} (cinco últimos segmentos).
Sem PUT. Participantes do grid não têm operação de alteração — exclui e recria se precisar mudar.
F22_TPPART. "1" = Fornecedor (SA2), "2" = Cliente (SA1). Obrigatório no POST; usado como chave de deleção no DELETE.
GET _byid via RecNo. /WsF22/{perfil}/{tipo}/_byid/{recno} — acessa diretamente pelo número de registro físico. Frágil a reindexações; usar GET listagem para queries normais.
PerfilTribParticipante — mutação
Adicionar / remover participante via FISA164.Descrição
Adiciona uma linha de participante ao grid F22 do perfil {perfil}/{tipo}. Verifica existência do perfil em F20 antes de acionar U_FA164MVC. Resposta 201 com dados do participante criado.
Path parameters
Cenário
Request body
POST https://erpapi.jetme.com.br/api/99/01/WsF22/PERF01/01 { "F22_TPPART": "1", "F22_CLIFOR": "000001", "F22_LOJA": "01" }
{
"success": true,
"message": "Participante adicionado ao perfil.",
"data": {
"perfil": "PERF01",
"tipo": "01",
"F22_TPPART": "1",
"F22_CLIFOR": "000001",
"F22_LOJA": "01"
}
}Respostas
data traz perfil, tipo e campos do participante.Descrição
Remove linha de participante do grid F22 via U_FA164MVC op=5. Cinco segmentos finais do path: perfil, tipo, tppart, clifor, loja. Retorna 404 se "nao encontrada" na resposta do MVC, 422 para outros erros.
Path parameters
Cenário
Exemplo
DELETE https://erpapi.jetme.com.br/api/99/01/WsF22/PERF01/01/1/000001/01
{
"success": true,
"message": "Participante removido do perfil.",
"data": ""
}Respostas
Consulta
Listar participantes do perfil e acesso por recno.Descrição
Varre F22 pelo índice F22_CODIGO+F22_TIPOPF e retorna todos os participantes do perfil. Campos retornados: F22_FILIAL, F22_CODIGO, F22_TPPART, F22_CLIFOR, F22_LOJA, F22_TIPOPF.
Cenário
Exemplo
GET https://erpapi.jetme.com.br/api/99/01/WsF22/PERF01/01
{
"success": true,
"message": "",
"data": {
"perfil": "PERF01",
"tipo": "01",
"count": 2,
"items": [
{
"F22_FILIAL": "01",
"F22_CODIGO": "PERF01",
"F22_TPPART": "1",
"F22_CLIFOR": "000001",
"F22_LOJA": "01",
"F22_TIPOPF": "01"
}
]
}
}Respostas
data.items com lista; data.count com total.Descrição
Acessa participante diretamente via DbGoTo(nRecno). Útil para confirmar inclusão após POST. Preferir listagem para consultas gerais (recno pode mudar após reindexação).
Path parameters
Cenário
Exemplo
GET https://erpapi.jetme.com.br/api/99/01/WsF22/PERF01/01/_byid/123
{
"success": true,
"message": "",
"data": {
"recno": 123,
"F22_FILIAL": "01",
"F22_CODIGO": "PERF01",
"F22_TPPART": "1",
"F22_CLIFOR": "000001",
"F22_LOJA": "01",
"F22_TIPOPF": "01"
}
}Respostas
data traz campos CAMPOS_GET + recno.Schemas
Componentes do contrato OpenAPICenários
1-pra-1 comexamples: do YAML.Pendências conhecidas (rev2)
RecNo é frágil. _byid usa DbGoTo(nRecno) — posição física pode mudar após reindexação. Não persistir recno como chave primária; usar a combinação perfil+tipo+tppart+clifor+loja.
Sem _search / _list paginado. GET lista todos os participantes sem filtro ou paginação. Perfis com muitos participantes podem retornar payload grande.