Skip to Content

Mensagens

Mensagens — /messages

Busca e filtros por status, aplicação, interface e período
Busca e filtros por status, aplicação, interface e período

Lista completa com busca e filtro por status, aplicação, interface, definição e período — os filtros incluem as ferramentas de Help Desk, para achar a mensagem de um chamado e ver o que a ferramenta respondeu. Cada linha leva ao detalhe da mensagem — e o ícone que abre a mensagem segue a cor do status daquela linha, como os totais do rodapé seguem o estado que contam. Numa grade de cem linhas, é o que deixa achar o erro sem ler a coluna de status.

O filtro de status usa o mesmo ícone da linha que ele filtra — escolher “erro de entrega” no combo e procurar a linha correspondente na grade é reconhecer a mesma marca, não traduzir um rótulo.

Período

O período é um botão só, com o relógio, que mostra o que está valendo — Hoje, Última hora ou as datas, quando são fixas. Ele abre um painel com:

GrupoOpções
RelativosÚltimos 15 minutos, Última hora, Últimas 4 horas, Últimas 24 horas, Últimos 7 dias
CalendárioHoje, Ontem
Últimos XQualquer número de minutos, horas ou dias, até 999
Intervalo personalizadoOs campos De e Até, para uma janela fixa

Os atalhos acompanham o relógio. “Última hora” não vira duas datas no momento do clique: a cada atualização da lista a janela termina em agora, e quem volta à tela mais tarde continua vendo a última hora de verdade. Hoje vai até 23:59:59, então a mensagem que chega daqui a um minuto também aparece. Digitar uma data fixa o intervalo — o botão passa a mostrar as datas, e a outra ponta já vem preenchida com a janela que o atalho cobria.

Data de recebimento ou de retorno. O topo do painel tem Filtrar pela data de, com duas opções. Recebimento, o padrão, recorta pelo instante em que a mensagem chegou ao CMS. Retorno (destino) recorta pelo instante em que ela terminou — processada ou com erro —, mesmo que tenha chegado antes: a mensagem recebida ontem que falhou hoje entra em “Hoje” por retorno e fica fora por recebimento. Por retorno, o botão passa a mostrar o recorte junto do período (Hoje · por retorno), e mensagem que ainda não terminou não aparece. Limpar filtros volta para o recebimento.

É a conta dos painéis: o Painel de Aplicações, o rodapé e o Raio-X do Dia contam Erro e Processadas pela data de retorno e sem o tráfego de teste. Por isso o clique nesses números abre a lista já por retorno e só com tráfego real — e o número da lista bate com o que foi clicado.

O painel do período com Filtrar pela data de em Retorno (destino)
O painel do período com Filtrar pela data de em Retorno (destino)

Tráfego real e tráfego de teste

Mensagem disparada pelo Banco de Testes aparece aqui com um frasco âmbar ao lado do status; passar o mouse mostra quem a disparou. Ela existe na lista de propósito: quem testou precisa achar o que acabou de mandar.

O que ela não faz é entrar na contabilidade — painéis, relatórios e Raio-X do Dia a ignoram. Por isso o filtro de tráfego tem três posições:

PosiçãoMostra
Reais e de testeTudo
Só tráfego realO que veio do mundo, sem os testes
Só do Banco de TestesO que foi disparado por alguém testando

A exceção é o modo Publicar na origem do Banco de Testes: ele produz o estímulo no broker, no CLP ou na pasta, e a mensagem que nasce daí é real — o CMS não tem como distinguir o que você publicou do que o equipamento publicou.

De onde veio a mensagem

Ao lado do status, um ícone pequeno conta quando a mensagem não veio do sistema de origem de sempre:

MarcaQuer dizerAo passar o mouse
RaioFoi disparada por um GatilhoO nome do Gatilho
BoiaÉ a abertura de um chamado de Help DeskO destino do chamado
Robô violetaFoi criada por um agente de IA, por uma ferramenta MCPA ferramenta e a credencial que a chamou

As marcas aparecem na grade, no popup e na página da mensagem. São só informação de origem, sem atalho: diferente do frasco do teste, todas são tráfego real e contam em painéis e relatórios.

Mensagens Processadas — /messages/processed

Somente as mensagens entregues com sucesso
Somente as mensagens entregues com sucesso

Filtra apenas o que foi entregue com sucesso. Útil para comprovar entrega quando o sistema destino alega não ter recebido: o histórico guarda a resposta que o destino devolveu.

Quando a Definição tem Permitir reenvio ligado, a linha ganha o botão de reenvio (o avião de papel, em laranja) — ver Reenviar uma mensagem processada.

Erros de Entrega — /messages/delivery-errors

Falhas técnicas e de negócio, com reprocesso em lote
Falhas técnicas e de negócio, com reprocesso em lote

Falhas técnicas (ERRO_ENTREGA) e de negócio (ERRO_NEGOCIO), com reprocesso individual ou em lote. O reprocesso cria uma nova tentativa; o histórico anterior é preservado.

Cada reprocessamento fica no Log de Auditoria, como REPROCESSAR_MENSAGEM.

Cancelamento — /messages/cancellation

Cancelamento em lote, com confirmação
Cancelamento em lote, com confirmação

Cancelamento em lote, com tela de confirmação. Mensagem cancelada (CANCELADA) não é mais entregue nem reprocessada automaticamente.

Cancelar é decisão de negócio, não limpeza técnica: a mensagem some do fluxo de entrega mas continua no banco e nos relatórios até o expurgo por retenção.

Busca dentro do payload das mensagens
Busca dentro do payload das mensagens

Busca dentro do payload, e não só pelos metadados. Responde perguntas do tipo “o pallet PAL001 chegou a ser enviado?”.

Payloads cifrados não são pesquisáveis por conteúdo — a cifra é justamente o que impede isso.

O atalho Ctrl+K

A mesma busca existe como atalho global: Ctrl+K abre um campo de qualquer tela do sistema, sem escolher Aplicação, Interface nem período antes. É o caminho para quando alguém chega com um número de ordem na mão e a pergunta é só “essa passou por aqui?”.

O popup mostra no máximo dez resultados, cada um com o trecho em volta do termo — o suficiente para reconhecer a mensagem certa antes de abrir. Quem precisa da lista inteira segue para a Pesquisa de Conteúdo pelo rodapé do popup.

A busca rápida respeita as mesmas permissões da tela: alcança só as Interfaces do usuário, e nem aparece para quem não tem nenhuma Ferramenta de mensagem. Uma mensagem cujo termo casou por acaso dentro de um trecho cifrado é omitida do resultado — exibir o pedaço seria contornar a regra de criptografia que existe justamente para escondê-lo.

Exportar para Excel

Todas as telas de mensagem têm o botão Exportar Excel, que baixa exatamente o recorte que está na tela: os mesmos filtros, sem a paginação. A planilha é montada no seu navegador — nenhum arquivo com dado de produção é gravado no servidor — e para em 50 mil linhas.

Os filtros destas telas cabem na URL: Aplicação, Interface, Definição, status, id da mensagem, período e o termo de conteúdo. É assim que funcionam o ícone de mensagens nas grades de Coleta e Entrega, o “aprofundar análise” do gráfico de período, o rodapé do Ctrl+K e os atalhos do Assistente de IA.

Consequências que valem conhecer:

  • O link manda na tela inteira. Chegar por um endereço com filtro limpa a Interface e a Definição que tinham ficado da visita anterior. Sem isso, a tela abriria mais estreita do que o link prometeu, e nada explicaria por quê.
  • ?export=1 já baixa a planilha. A tela abre filtrada e dispara o Exportar Excel sozinha, uma vez só. É o que o Assistente de IA usa quando alguém pede “exporte as mensagens de hoje”.
  • ?periodo= leva o atalho, não as datas. ?periodo=24h, ?periodo=hoje ou ?periodo=7d abrem a tela num período que acompanha o relógio — o link continua certo dias depois. dataInicio/dataFim continuam valendo para uma janela fixa.
  • ?campoData=retorno troca a data do período para a de retorno, e ?teste=false deixa só o tráfego real — os dois que os painéis usam para o número clicado bater com a lista.
  • Link colado sem sessão não se perde. Abrir um endereço do CMS deslogado leva ao login e, ao entrar, à tela pedida — desde que seja um caminho desta mesma instalação. Endereço de outro domínio é descartado no caminho, para o login não virar um redirecionador aberto.

O link é só um atalho para o filtro: quem executa a busca é o servidor, com a sua permissão. Um endereço apontando para Interface que você não enxerga abre vazio, nunca com o dado dela.

Detalhe da Mensagem — /messages/:id

Concentra tudo sobre uma mensagem:

  • Payload recebido (e o transformado, quando há Transformador)
  • Histórico de tentativas: horário, resultado, resposta do destino, mensagem de erro
  • Tempo até a entrega, decomposto em partes — ver abaixo
  • Ação de decifrar, quando o payload está cifrado — exige autorização, reautenticação e justificativa (ver Segurança)
  • Enviar por e-mail, que manda o PDF da mensagem para usuários do CMS — ver abaixo
  • Reenviar, numa mensagem já processada cuja Definição permite — ver abaixo
  • Abrir chamado, numa mensagem com erro: abre um chamado no Help Desk já preenchido com a Aplicação, a Interface, o erro e o link da mensagem — ver Help Desk
  • Encaminhamentos não feitos, quando a condição de um encaminhamento da Coleta ou do Encaminhar Resposta não foi atendida: o destino e o motivo, regra por regra. Uma mensagem Processada sem filha num destino deixa de parecer perda de dado — foi a regra que decidiu

Quando a produtora tem Transformador próprio

Numa Entrega com Transformador por Aplicação produtora, a mensagem que passou por ele tem um conteúdo a mais, e o detalhe mostra os três na ordem em que aconteceram:

BlocoO que é
Payload Recebido da Aplicação produtoraO que a produtora mandou, no formato dela
Convertido para o formato da EntregaO que saiu do Transformador da produtora — a entrada do Transformador da Entrega
Payload Transformado (Entregue)O que foi entregue ao destino

Sem Transformador na própria Entrega, o convertido é o entregue, e o bloco do meio não aparece. O campo Transformador da Aplicação produtora diz qual rodou: é o nome gravado na hora, que continua ali mesmo que o Transformador mude de nome ou seja excluído depois. O PDF e o e-mail seguem a mesma ordem, com o link de cada parte.

O que a produtora mandou também segue a Regra de Criptografia da Entrega — ver Segurança.

O ícone de ampliar em cada bloco de conteúdo — recebido, convertido, entregue, retorno — abre o visualizador, que faz mais do que mostrar o texto:

BotãoO que faz
Formatado / OriginalFormatado reidenta o JSON para leitura; Original mostra o conteúdo exatamente como foi gravado — é o modo que serve para comparar com o que o outro sistema diz ter enviado
CopiarCopia o texto para a área de transferência
BaixarSalva o conteúdo original num arquivo, com a extensão deduzida do próprio conteúdo
LinkCopia um endereço que abre esta tela já com este conteúdo aberto

O contador de bytes ao lado é do conteúdo original, nunca do formatado: é o número que se confere contra o log do outro lado. E ele conta bytes UTF-8, não caracteres — um payload com acento tem mais bytes do que letras.

Baixar e Link só aparecem quando o conteúdo é de uma mensagem. O mesmo visualizador abre o exemplo de payload de uma Definição e o detalhe do Log de Auditoria, e ali continua sendo só ler, copiar e pesquisar.

O endereço que o botão Link copia é /messages/:id?view=received|converted|delivered|return — mais &attempt=N quando aponta para uma tentativa específica. É o mesmo link que sai impresso no PDF da mensagem e no e-mail: o PDF trunca payload longo, e é por ali que quem recebeu o anexo chega ao texto inteiro.

O link não entrega conteúdo a quem tem só a URL: ele abre a tela, que pede login e aplica a sua Ferramenta e o seu recorte por Interface como qualquer outra. Um endereço que entregasse payload direto acabaria no servidor de e-mail, nos encaminhamentos e no log do proxy — e ali valeria como senha. Conteúdo cifrado também não abre por link: continua exigindo o fluxo de decifrar, com autorização, justificativa e registro.

Para quem precisa do texto fora da tela — comparar, contar bytes, reproduzir um caso — existe GET /api/messages/:id/raw/:parte, com parte em received, converted, delivered ou return e o ?attempt=N opcional. Ela responde o conteúdo como anexo, sem reformatar nada e sem decifrar nada. Numa mensagem que passou pelo Transformador da produtora, received é o que ela mandou e converted o convertido para o formato da Entrega; fora desse caso, converted responde 404 em vez de repetir o recebido com outro nome. Colada na barra de endereço ela devolveria 401, porque a API só autentica por cabeçalho; por isso existe também a página /messages/:id/raw/:parte, que é o mesmo conteúdo aberto com a sessão do navegador, ocupando a tela inteira e sem menu em volta — a URL que se cola num chamado.

O tempo total, decomposto

O intervalo “recebido → entregue” sozinho engana. Numa Interface agendada a cada 55 segundos, uma mensagem que chegou logo depois de um ciclo fica quase um ciclo inteiro parada antes de qualquer processamento acontecer — e o total é lido como lentidão do CMS quando é, na verdade, o intervalo de agendamento somado ao tempo de resposta do destino.

Por isso o detalhe mostra o total e, ao lado, as partes:

ParteO que é
Espera na filaDo recebimento até o primeiro despacho: o ciclo do agendador da Interface
CMSO processamento interno — transformação, gravação
DestinoQuanto o sistema de destino levou para responder, na última tentativa
TentativasQuantas vezes foi tentado, quando foi mais de uma

É o que separa “o CMS está lento” de “o agendamento é de um minuto” e de “o ERP está levando oito segundos por chamada”.

Enviar por e-mail

O botão Enviar por e-mail gera o PDF da mensagem e o manda anexado a um ou mais usuários do CMS. Três detalhes valem conhecer:

  • O PDF é o mesmo do botão de download: mesmo gerador, mesmo documento.
  • Os destinatários vêm do cadastro de usuários, filtrados por quem enxerga aquela Interface. Não existe campo para digitar endereço — isso transformaria o botão num caminho para mandar payload de produção para qualquer lugar.
  • O envio fica no Log de Auditoria com o hash do anexo: dá para provar depois qual arquivo saiu, sem o CMS precisar guardar uma cópia dele.

A ação tem Ferramenta própria, /messages/email. Quem pode ver uma mensagem não ganha, junto, o direito de mandá-la para fora.

Reenviar uma mensagem processada

Às vezes o destino recebeu, mas perdeu ou desfez o que recebeu — e pedir ao sistema produtor para gerar tudo de novo é o caminho caro. O botão Reenviar manda a mensagem outra vez pelo CMS.

Ele aparece no detalhe da mensagem, no popup de resumo e na linha de Mensagens Processadas, quando tudo isto vale:

  • a mensagem está Processada;
  • a Definição dela tem Permitir reenvio ligado;
  • o perfil tem a Ferramenta Reenviar Mensagem Processada (/messages/resend) — dos perfis padrão, só o CMS_Developer; os de Monitor não, porque reenviar é escrever no destino real;
  • ela não foi criada por um encaminhamento, nem é de abertura de chamado.

O reenvio nunca reabre a original: cria uma mensagem nova, ligada a ela. A original continua Processada, com o histórico dela, e mostra Reenviada como com o link para cada cópia; a nova mostra Reenvio de e quem pediu.

DefiniçãoO que vai de novo
EntregaO payload que a original recebeu, como chegou, passa de novo pelo recebimento com o Transformador e a configuração atuais — o motivo mais comum de reenviar é “corrigimos algo e precisamos mandar de novo”. Numa Entrega síncrona, o popup mostra a resposta do destino
ColetaO que já foi coletado é reencaminhado aos destinos atuais. A busca na fonte não roda de novo. Com a Interface bloqueada, a mensagem espera o desbloqueio

Antes de ir, o popup diz para onde vai — o destino da Entrega, ou os destinos da Coleta, e os encaminhamentos que disparam de novo — e pede a palavra de confirmação. Cada reenvio fica no Log de Auditoria, como REENVIAR_MENSAGEM.

Mensagem criada por encaminhamento não tem o botão: o Transformador dela é o do encaminhamento. Para mandar de novo uma entrega que nasceu de uma Coleta, reenvie a mensagem da Coleta — ela reencaminha e gera a entrega outra vez.

Onde mexer em lote

Ações em massa sobre volumes maiores — bloquear interfaces, reprocessar ou cancelar o que está pendente — ficam na Danger Zone, com confirmação digitada e registro de auditoria.

A tela Definição de Mensagem (/message-management), apesar do nome parecido, não é sobre mensagens individuais: é a visão unificada das Coletas e Entregas de uma Aplicação. Está descrita em Cadastros.