Skip to main content
O adaptador da Twilio lê os webhooks de Programmable Voice, Messaging (SMS e WhatsApp) e, em TypeScript, Conversations: confere 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

A integração em TypeScript chega com o @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

O mesmo código está em examples/twilio_voice.py e examples/twilio-voice.ts.

Limites

  • Uma requisição sem a assinatura certa devolve None (Python) ou sem request (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.