O fluxo das 14h05, 14h06 e 14h07
- 14h05, app. A Marina contesta a fatura de agosto no seu app. A mensagem fica ligada a
invoice:erp:0823peloobject_refse entra na camada ao vivo em menos de um segundo. - 14h06, agente de cobrança. Ele lê
context(object="invoice:erp:0823", view="task:billing", verification="no_customer"), recebe a contestação pelolive, a visita técnica que falhou às 14h02 e o crédito de março no histórico. Lança o crédito de US$ 40 no ERP e registraaction("credit", closes=...). - 14h06, ERP. O ERP emite
invoice.credited. A ação e o evento viram um registro só, e a ação passa dedeclaredparaconfirmed. - 14h07, ligação. O contexto de voz já diz: “Feito por outro agente: crédito de US$ 40 na fatura de agosto, Cobrança, 14h06, confirmado pelo sistema”.
A Niadra nunca executa ação em sistema de registro. Quem age é o seu agente, com as credenciais dele. A Niadra guarda o que ele precisa lembrar e o que ele fez.
Antes de começar: a fonte
Agente interno é uma fonte como qualquer outra, com chave própria, classe de audiênciainternal_agent e uma finalidade como billing. Acesso ao ERP não é acesso à memória: o agente de cobrança lê faturas e contestações, não pendência técnica nem dado de saúde. Duas configurações importam aqui:
- Escopo
actna chave, etrusted_action_opsna fonte (aqui["credit"]): a lista fechada de operações que ela pode registrar, e as operações cujas ações declaradas fecham pendência antes de o sistema confirmar. O escopotracksozinho nunca registra ação. - Verificação
no_customer, o nível das tarefas sem cliente presente. Fica fora da escala V0 a V4 e só é aceito de fontesinternal_agent. Um contexto montado emno_customernunca vai para o cliente.
Passo a passo
1. Abra uma tarefa centrada na fatura
A tarefa faz, para o agente interno, o papel que a conversa faz para o de atendimento: fixa o contexto, delimita o cache do SDK, agrupa os eventos para a cobrança e fecha comtask.ended. Sem ela, o servidor fecha a tarefa depois de 10 minutos de inatividade.
A view task:billing é definida pelo seu espaço como template mais política. Ela prioriza os objetos do tipo da tarefa, as pendências ligadas a eles e o que foi dito sobre eles nas conversas, e deixa de fora o que a finalidade de cobrança não permite.
context(object=...) chega da fatura ao dono dela e devolve o contexto centrado nela: a linha do tempo do objeto mais o contexto do cliente que a tarefa pede. Valem as mesmas regras da conversa: pré-compilado, fixado por tarefa, com ETag e comprovante da leitura.
2. Aja no ERP e depois registre a ação
Lance o crédito pela sua integração com o ERP. Depois registre a ação comcloses, a pendência que ela cumpre. Informe pelo id, ou pelo objeto e por uma operação canônica, que é o que você costuma saber: a contestação da fatura 0823.
corrects_action_id apontando para a anterior.
3. Deixe o sistema de registro confirmar
A ação ficadeclared até um evento do sistema de registro confirmar. Mande os eventos do ERP pelo webhook genérico ou como eventos de sistema. Quando invoice.credited chega para o mesmo objeto e a mesma operação dentro da janela, os dois viram um registro só e a ação fica confirmed; assim o crédito nunca é contado duas vezes.
Ação
declared só fecha pendência se a operação dela estiver nas trusted_action_ops da fonte; ação confirmed sempre fecha.
4. Entenda o fechamento retroativo
A ação pode chegar antes de a pendência existir. A contestação escrita no app às 14h05 só vira pendência quando a sessão do app fecha e é extraída, digamos às 14h35, e o agente de cobrança agiu às 14h06. Ao criar a pendência, a Niadra procura ações e eventos já aplicados ao mesmo objeto e à mesma operação dentro da janela. Se houver, a pendência já nasceresolved, apontando para a ação que a fechou.
5. Deixe os outros agentes saberem
Todo agente que ler esta cliente em seguida vê a ação em “Feito por outro agente”, com a fonte e a hora. Se o seu CRM precisa mostrar o desfecho, assine os webhooksaction.recorded e open_item.closed e grave lá pela sua integração. Veja Gatilhos e webhooks.
Delta para trabalho recorrente
Agentes internos voltam muito aos mesmos clientes. Peça comdelta=True (delta: true) e a resposta traz só o que mudou desde a última leitura desta fonte: “o que mudou desde a última vez que VOCÊ olhou” custa dezenas de tokens.
Próximos passos
Sistemas, objetos e ações
objetos, estado derivado e ações em detalhe.
Webhooks dos seus sistemas
como o
invoice.credited entra.Agentes de voz
a ligação que já sabe do crédito.
Aproveitamento do contexto
como a ação conta como uso do contexto.

