O que o agente de voz recebe
A viewvoice é a view de canal mais curta. Traz quem está ligando, o que continua em aberto, o que outros agentes acabaram de fazer e os destaques do histórico que mudam a conversa, no tamanho certo para o agente ler antes de falar. O que aconteceu em outro canal depois da compilação chega em live e vai no fim do prompt.
O SDK tem o próprio tempo máximo, independente da plataforma de voz. Se o tempo acaba, a ligação segue e o agente fala com o que tem.
Passo a passo
1. Leia o contexto enquanto o telefone toca
Abra a conversa assim que a plataforma de voz avisar da chamada, e peça o contexto no mesmo tratador. Quando a ligação é atendida, o contexto já está no prompt. O número de quem liga é o sujeito; o id da chamada na plataforma é o seuconversation_id.
conversation_id, o servidor fixa o contexto: todo turno desta ligação recebe os mesmos bytes, e o provedor do modelo mantém o início do prompt em cache. O que muda durante a ligação (uma ação nova de outro agente, uma mensagem no WhatsApp) chega como delta e como turnos ao vivo. Em Python, acrescente ctx.turn_block no fim de cada turno; em TypeScript, acrescente ctx.suffix.
2. Envie os dados da chamada
O nível de verificação é o que a ligação provou, nunca um palpite. O atestado de rede da operadora (STIR/SHAKEN e equivalentes) é o sinal mais forte que uma chamada traz antes de qualquer pergunta. Nível A vira V2; níveis B e C viram V1. Número oculto ou de PABX fica em V0 ou V1, e o agente identifica a pessoa na conversa. Mande os dados da chamada no blocovoice do primeiro evento. Uma ligação costuma ter dois ids, o da plataforma e o do tronco: coloque o segundo em conversation_aliases, para os dois apontarem para a mesma conversa.
verification.requested, verification.effective e verification.reason.
3. Deixe o agente consultar o histórico, no tamanho da fala
O contexto responde sozinho à pergunta mais comum: a seção “Do histórico” diz se aquilo já aconteceu e como foi resolvido. Quando a cliente fala de algo mais antigo, o agente busca. Amarre as ferramentas a quem está ligando no seu código, para o modelo escolher a consulta e nunca o cliente, e use o orçamento de voz.recurrence quando a consulta bate com uma categoria: “segunda visita perdida em 12 meses; na anterior, crédito de US$ 40”. Trecho literal de transcrição nunca vai para audiência de voz.
4. Registre o que o agente fala
Capture os turnos do agente à medida que acontecem. Chamemark_injected() (Python) ou markInjected() (TypeScript) toda vez que o contexto entrar no prompt: os próximos turnos e ações do agente passam a levar um context_stamp com o ETag daquele contexto e o momento em que entrou, e é assim que a medição do aproveitamento do contexto separa o contexto atrasado do contexto não usado. Se o seu agente usa o cliente da OpenAI, o wrap() dos dois SDKs injeta o contexto, carimba e registra as respostas por você.
5. Transfira para um atendente, com passagem de caso
Quando a cliente pede uma pessoa, registre a transferência antes de transferir. Commode="warm", a mesa que recebe lê a view brief: uma passagem de caso curta, no tamanho de uma fala, que a sua plataforma pode sussurrar ao atendente. O atendente continua na ferramenta que a sua empresa já usa; o contexto chega a ela por API, webhook ou MCP.
6. Encerre a ligação e depois mande a transcrição final
Encerre a conversa no momento em que a ligação cai. Em Python, sair do blocowith já faz isso; você também pode chamar end(). A sessão fecha na hora, sem esperar a inatividade, e a memória derivada fica pronta em menos de um minuto.
conversation_id, com chaves de idempotência próprias. Dado tardio nunca é atualização: ele marca a conversa para uma extração nova, e o episódio ganha outra versão. Turnos com confiança de transcrição abaixo do limite não contam como pergunta nem como afirmação na medição.
O áudio nunca viaja dentro de um evento. Envie a gravação com
upload_media() em Python ou uploadMedia() em TypeScript, passando quem ligou como subject, para que apagar o cliente apague também a gravação, e ponha o media_ref devolvido em voice.recording_ref ou em content.media_ref, com o SHA-256. Por HTTP, POST /v1/media/uploads devolve a URL e os upload_headers exatos que vão no PUT.Próximos passos
O contexto e as views
camadas, fixação, turnos ao vivo e delta.
Identidade e verificação
como V0 a V4 são provados e limitados.
Navegação do histórico
busca, linha do tempo e abrir item, com orçamento.
Agentes de WhatsApp
o outro lado da mensagem das 14h02.

