Streaming API (Eventos em Tempo Real)
Quer que seu data warehouse, middleware ou sistema de notificações saiba no instante em que uma fatura é contabilizada? O sistema de eventos padrão do Salesforce — Change Data Capture e eventos de plataforma — funciona nos objetos da REDA Financials como em qualquer objeto customizado. O pacote não publica nenhum barramento de eventos proprietário, o que é uma boa notícia: você configura mecanismos padrão que já governa, sem precisar construir um consumidor específico do fornecedor.
Change Data Capture em objetos contábeis
Habilite o CDC para os objetos de seu interesse
Configuração → Change Data Capture → selecione os objetos refin__ (Fatura de venda, Fatura de compra, Recebimento, Transação contábil…). Cada um recebe um canal de eventos de alteração padrão.
Inscreva-se a partir do seu consumidor
Assinantes CometD/gRPC, ou Fluxos/gatilhos Apex sobre os eventos de alteração — padrões consagrados. Os eventos carregam os campos alterados e o tipo de alteração.
Filtre pelas transições que importam
O momento contabilmente relevante costuma ser a mudança de status: refin__Status__c chegando a 'Contabilizado' (o documento entrou no livro razão) ou saindo dele (descontabilizado/cancelado). Para feeds no nível do livro razão, o CDC em refin__Accounting_Transaction__c transmite as contabilizações efetivas.
Padrões de consumo comprovados
- Sincronização de data warehouse: CDC na Transação contábil → réplica do livro razão somente de inserção, sempre atualizada.
- Notificações: um Fluxo disparado por registro na Fatura de venda (dispara tanto em alterações via API quanto via interface) postando no seu chat corporativo quando faturas grandes são contabilizadas.
- Sistemas a jusante: arquivos de pagamento, sistemas imobiliários — dispare pela transição para contabilizado em vez de fazer polling.
O que vem no pacote versus o que você habilita
| Mecanismo | Empacotado? | Observações |
|---|---|---|
Eventos de plataforma (__e) | Nenhum vem no pacote | O pacote não publica nenhum evento customizado — não procure canais da REDA no seletor de eventos |
| Change Data Capture | Nada pré-habilitado | Você seleciona os objetos refin__ em Configuração; os canais seguem a nomenclatura padrão — refin__Sales_Invoice__ChangeEvent e semelhantes |
| Webhooks / HTTP de saída | Nenhum vem no pacote | As únicas chamadas de saída do pacote são suas duas integrações de serviço próprias (IA, taxas de câmbio); a entrega de eventos aos seus sistemas fica a seu cargo, configurada via mecanismos padrão |
| Fluxos/gatilhos disparados por registro | Você constrói | Disparam tanto em alterações via API quanto via interface — geralmente o consumidor "em streaming" mais simples para uma única reação dentro da organização |
refin__ — alocações, volume de eventos gerado por picos de contabilização, payloads no nível de campo — é uma propriedade da configuração e da edição da sua organização. Habilite, inscreva-se e contabilize um documento de teste de ponta a ponta antes de projetar o consumidor de produção a partir de suposições.
Escolhendo o seu sinal
| Necessidade | Melhor mecanismo | Por quê |
|---|---|---|
| Sistema externo espelha continuamente as alterações contábeis | Assinatura de CDC (CometD/gRPC) | Ordenada, reproduzível, entregue fora da transação — construída para consumidores externos |
| Uma reação dentro da organização a uma contabilização | Fluxo disparado por registro na mudança de status | Sem infraestrutura de assinante; a condição de disparo é o filtro |
| Cargas noturnas de data warehouse, sem necessidade de tempo real | Polling agendado de REST/consulta em massa | Mais simples de operar; o livro razão é a verdade consultável — o streaming é uma otimização, não um requisito |
| Réplica no nível do livro razão (cada débito e crédito) | CDC em refin__Accounting_Transaction__c | Espelha efeitos em vez de documentos; predominantemente de inserção por natureza |
Um consumidor implementado na Meridian
O data warehouse financeiro da Meridian Properties Group assina refin__Accounting_Transaction__ChangeEvent depois de habilitar o CDC no objeto do livro razão. O consumidor anexa criações, marca exclusões (uma descontabilização exclui linhas do livro razão — o evento de exclusão é o sinal de estorno) e baseia tudo no Id do registro. O job de conciliação noturno então compara os saldos do data warehouse com uma consulta em massa do mesmo objeto — o streaming mantém o dia atualizado, o lote comprova que tudo permaneceu íntegro. Quando os auditores perguntaram como a réplica lida com uma fatura cancelada, a resposta foi uma frase só: o fluxo do livro razão carrega as linhas contábeis do cancelamento como quaisquer outras.
Erros comuns a evitar
| Erro | Por que prejudica | Faça isto em vez disso |
|---|---|---|
| Tratar 'Contabilizado' como um evento único | Documentos são descontabilizados e recontabilizados — consumidores do tipo "visto uma vez" contam em duplicidade ou perdem estornos | Baseie-se no Id + transição; processe mudanças de status, não status isolados |
| Habilitar CDC em todo objeto refin "por segurança" | As alocações se esgotam em canais que ninguém consome; só o objeto do livro razão já é de alto volume | Habilite exatamente o que tem um consumidor; adicione canais quando houver consumidores |
| Construir um canal em tempo real para um relatório diário | Infraestrutura de streaming para responder a uma pergunta que o polling responde em uma única consulta | Combine o mecanismo com o requisito de atualidade — a tabela de escolha acima |
| Esperar payloads de evento específicos da REDA | Não existem — os eventos são eventos de alteração padrão, com campos alterados e tipo de alteração | Projete os consumidores sobre o envelope padrão de CDC; é um comportamento de plataforma totalmente documentado |
O que vem a seguir
- REST API — a contraparte de requisição/resposta.
- Integração de Fluxos do Salesforce — consumidores declarativos.
- Visão geral da API — o panorama completo.
Perguntas frequentes
O Change Data Capture padrão já entrega eventos de alteração confiáveis, ordenados e reproduzíveis, sob a governança e os limites da sua organização — um barramento de eventos proprietário duplicaria isso com menos ferramental. Superfície pequena e estável, tudo o mais padrão.
Sim — as alocações padrão de CDC se aplicam de acordo com sua edição do Salesforce. Habilite apenas os objetos que você realmente vai consumir; o objeto do livro razão é de alto volume por natureza, então dimensione de acordo.
Mesma receita: CDC (ou um Fluxo disparado por registro) em refin__Bank_Reconciliation__c observando o Status chegar a 'Concluído' ou 'Aprovado'. Qualquer objeto, qualquer transição — essa é a beleza do mecanismo padrão.
Sim — o CDC captura alterações de dados independentemente de quem as fez, então documentos gerados por modelos recorrentes ou contabilizados por jobs agendados são transmitidos ao seu consumidor como ações de usuário. Espere picos nos horários da agenda noturna.
Não existem webhooks empacotados. As arquiteturas padrão são: um assinante externo no canal de CDC (streaming no estilo pull), ou seu próprio Fluxo/Apex reagindo à alteração e fazendo a chamada externa (callout) sob a governança de sites remotos e credenciais da sua organização.
Isso foi útil?