SuperAPI AI 工具集

elevenlabs-webhooks-events

编程与开发

查看项目

更新于 10-15 23:25

技能介绍

用途:为 ElevenLabs Webhook 构建安全端点,在异步操作完成时接收 HTTP POST 通知,包括 speech_to_text.completed(转录完成,含词级时间戳)、post_call_transcription(Conversational AI 通话结束后的完整对话、分析与元数据)、post_call_audio(通话音频,Base64 编码,需开启录音)以及 call_initiation_failure(外呼未接通)。

主要能力:每次投递都带 HMAC-SHA256 签名,需在 Settings > Webhooks 创建 Webhook 并获取密钥后校验;签名头格式为 t=<unix_ts>,v1=<hex_sig>,校验对象为 "<timestamp>.<raw_body>",使用定时安全比较并设 5 分钟重放窗口。事件按类型路由到 handleTranscription、handleCallAudio、handleCallFailure、handleSTTCompleted 等处理器;用事件 ID 做幂等,避免重试重复处理。

使用方式:准备可从公网访问的 HTTPS 端点与 Webhook 密钥;用 express.raw() 保留原始请求体;校验通过后立即返回 HTTP 200,再异步处理;本地可用 ngrok 隧道测试。校验成功返回 { "received": true },签名错误或时间戳过期返回 401 { "error": "Invalid signature" }。

限制与可靠性:端点需在数秒内响应;ElevenLabs 会重试失败投递,连续 10 次失败且距上次成功超过 7 天会自动停用,需修复后在后台手动重新启用。处理慢应异步化,避免处理器超时。完整实现代码、逐事件处理器与测试方式见该技能引用的 implementation.md 与 examples.md。