X-Twilio-Signature, encontra o handle do cliente, o id da ligação ou da conversa e o que a operadora atestou, e registra o turno de entrada. Ele nunca responde TwiML: a resposta é do seu agente.
Instalar
@niadra/sdk 0.3.0, pronto no ramo main e no npm quando for publicado; até lá, o pacote do npm é o 0.1.1.
As cinco primitivas
Os dois SDKs conferem a assinatura como a Twilio a calcula: o HMAC-SHA1 em Base64, com o auth token, da URL completa que a Twilio chamou seguida de cada parâmetro do POST, em ordem de nome.
Exemplo mínimo
examples/twilio_voice.py e examples/twilio-voice.ts.
Limites
- Uma requisição sem a assinatura certa devolve
None(Python) ou semrequest(TypeScript): responda 403 e não registre nada. - O adaptador não gera TwiML nem conecta a ligação:
connect_your_voice_agent()no exemplo é o seu código. - A assinatura cobre a URL completa que a Twilio chamou; atrás de um proxy que muda o host ou o esquema, passe a URL pública.
- Testado com cargas gravadas e assinaturas calculadas no teste; nenhuma conta da Twilio é necessária.
Próximos passos
Agentes de voz
o atestado da operadora e o que cada nível libera.
Pipecat
um pipeline de voz sobre Twilio Media Streams.

