Tags do e-mail da fase
Cada fase do Workflow pode disparar um e-mail de alerta — na criação ou confirmação do compromisso, enquanto ele está pendente ou enquanto está atrasado. O assunto e o corpo desse e-mail aceitam tags, que o Xjur troca pelo valor do campo no momento do envio.
Esta página descreve o formato das tags, de onde vem o catálogo e as rotas que a API expõe para quem monta ou dispara esses e-mails.
Formato
Seção intitulada “Formato”| Tipo | Formato | Exemplo |
|---|---|---|
| Campo nativo | $[entidade.Nome] | $[processo.NumeroProcesso] |
| XCampo (campo do cliente) | $[xcampo{id}] | $[xcampo14349] |
| Tag do compromisso (legado) | $[nome] | $[dataCompromisso], $[linkCompromisso] |
entidadediz de qual objeto vinculado ao compromisso o campo vem. O compromisso de uma fase do Contencioso, por exemplo, temprocesso,parteContrariaecompromisso.Nomeé o nome do campo como está no cadastro de campos do Xjur (Campos.Nome), com maiúsculas e minúsculas preservadas.- As tags legadas continuam válidas. Elas são aplicadas antes das novas, então nada que já funciona muda.
Por que a tag carrega a entidade, e não o id do campo
Seção intitulada “Por que a tag carrega a entidade, e não o id do campo”Um campo nativo é identificado pelo par (entidade, Nome): é assim que a capa do Xjur resolve o valor. O mesmo nome pode existir em entidades diferentes (DataDistribuicao existe em processo e em desdobramento), e o módulo cadastrado no campo não é confiável para essa escolha. A tag explícita evita a ambiguidade e deixa o template legível.
Entidades por módulo do fluxo
Seção intitulada “Entidades por módulo do fluxo”A entidade compromisso está disponível em toda fase. As demais dependem do módulo do fluxo:
| Módulo do fluxo | Entidades |
|---|---|
| Contencioso | processo, parteContraria |
| Contrato | contrato, parteContraria |
| Consultivo | consulta, processo (o vinculado à consulta), parteContraria |
| Procuração | procuracao |
| Regulatório | licenca |
| Imobiliário | imovel |
| Marcas e Patentes | marca |
| Societário | empresa |
| Ato Societário | atoSocietario |
| Despesa / Receita | despesa / receita |
| Garantia / Levantamento | garantia / levantamento |
| Obrigação, Decisão, Proposta de Acordo, Bloqueio, Desdobramento, Audiência, Andamento, Comunicação | obrigacao, decisao, propostaAcordo, bloqueio, desdobramento, audiencia, andamento, comunicacao |
| XPay (honorário, reembolso, fechamento, contrato) | honorario, reembolso, xpayFechamento, xpayContrato |
| Parceiro, Registro de Imóvel, Avaliação de Imóvel, Regra de Aluguel, Sinistro de Seguro | parceiro, registroImovel, avaliacaoImovel, regraAluguel, sinistroSeguro |
| Compliance, Timesheet | compliance, timesheet |
parteContraria é sempre a parte contrária principal do processo, do contrato ou da consulta.
Catálogo
Seção intitulada “Catálogo”O catálogo é o que a tela de configuração da regra de e-mail oferece. Ele vem da API, não de uma lista fixa na tela — um campo novo de cliente aparece sem alteração de código.
GET /TagsEmail/RecuperaEntidades?modulo={id}
Seção intitulada “GET /TagsEmail/RecuperaEntidades?modulo={id}”Entidades disponíveis para uma fase do módulo informado (ModulosEnum).
[ { "entidade": "compromisso", "label": "Compromisso", "modulo": 16 }, { "entidade": "processo", "label": "Processo", "modulo": 1 }, { "entidade": "parteContraria", "label": "Parte contrária principal", "modulo": 40 }]GET /TagsEmail/RecuperaTags?entidade={nome}&isXCampo={bool}&busca={texto}
Seção intitulada “GET /TagsEmail/RecuperaTags?entidade={nome}&isXCampo={bool}&busca={texto}”Campos de uma entidade, com a tag pronta para colar no texto.
isXCampoomitido traz nativos e XCampos;falsesó nativos;truesó XCampos do cliente autenticado.buscafiltra por label ou pela própria tag, sem diferenciar maiúsculas.
[ { "tag": "$[processo.NumeroProcesso]", "label": "Número do Processo", "tipo": "Texto", "isXCampo": false, "camposId": 47 }, { "tag": "$[processo.DataDistribuicao]", "label": "Data de Distribuição", "tipo": "Data", "isXCampo": false, "camposId": 48 }, { "tag": "$[xcampo14349]", "label": "Elegível IFRS 16", "tipo": "Lista", "isXCampo": true, "camposId": 14349 }]Nativos são os campos marcados para a capa ou o cadastro da entidade. XCampos são os do cliente, no módulo da entidade.
Resolução
Seção intitulada “Resolução”POST /TagsEmail/Resolve
Seção intitulada “POST /TagsEmail/Resolve”Devolve o valor de cada tag para um lote de compromissos. É a rota que o envio noturno usa, uma vez por configuração e compromisso, mandando só as tags presentes no template — e não uma vez por destinatário.
Exige token de usuário de serviço. Token de usuário comum é recusado com 401, mesmo com perfil de administrador. Veja Obtendo o Token JWT.
{ "compromissoIds": [458474], "tags": ["$[processo.NumeroProcesso]", "$[processo.ValorCausa]", "$[xcampo14349]"]}[ { "compromissoId": 458474, "valores": { "$[processo.NumeroProcesso]": "3082032-58.2026.8.06.0001", "$[processo.ValorCausa]": "98.000,00", "$[xcampo14349]": "Sim" } }]Regras de resolução:
- Toda tag pedida volta no dicionário. A que não pôde ser resolvida vem com string vazia — entidade que o compromisso não tem, campo desconhecido, XCampo de outro módulo ou de outro cliente. Assim o replace a apaga do texto em vez de deixá-la crua.
- Compromisso de outro cliente não entra na resposta.
- Só os campos pedidos são montados. Resolver cinco tags de processo custa cinco campos, não a capa inteira.
- Formatação: datas em
dd/MM/yyyy, valores em#.##0,00, textos com HTML removido.
Ordem de aplicação no envio
Seção intitulada “Ordem de aplicação no envio”- Tags legadas do compromisso (
$[dataCompromisso],$[linkCompromisso]…) - XCampos (
$[xcampo{id}]) - Tags nativas (
$[entidade.Nome]) - Qualquer tag restante é removida do texto
Se o serviço de resolução estiver indisponível no envio noturno, o e-mail sai mesmo assim: as tags legadas e os XCampos não dependem dele, as tags nativas ficam vazias e o motivo é registrado no log da function.
Exemplo de template
Seção intitulada “Exemplo de template”Assunto
Prazo em $[processo.NumeroProcesso] · $[tipoCompromisso]Corpo
<p>O compromisso <b>$[tipoCompromisso]</b> do processo <b>$[processo.NumeroProcesso]</b>vence em $[dataCompromisso].</p><p>Parte contrária: $[parteContraria.Nome]. Valor da causa: R$ $[processo.ValorCausa].</p><p><a href="$[linkCompromisso]">Abrir o compromisso</a></p>