使用Twilio拨打电话或短信

简介: 使用Twilio拨打电话或短信

一直以来很想使用twilio来做拨打电话的系统,但是早期的twilio对无代码基础要求太高一直无法实现。现在,有更好的方式去实现了。

使用Dev Phone快速实现

1. Twilio Blog - Dev Phone
2. GitHub Dev Phone

无需购买号码,其实Trial Account也可以用。

  1. git clone https://github.com/twilio-labs/dev-phone.git devphone
  2. 去下载Twilio-CLI Windows EXE版并安装好
  3. twilio plugins:install @twilio-labs/plugin-dev-phone
  4. 因为需要先将profile建好(有api信息)才可以, 我们使用twilio login即可 (alias of twilio profile:create)
    将Account SID复制好,然后直接使用账号的Auth Token即可,他实际保存在本地其实也是API Key + API Secret。我们将这个Profile命名为dev.
    他文件的保存地址是C:\用户名.twilio-cli\config.json, 你新建一个新的文件,直接将SID, API这些复制进去应该也是可以的。
{"email":{},"prompts":{},"projects":[],"profiles":{"dev":{"accountSid":"ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","apiKey":"SKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","apiSecret":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","id":"dev"}},"activeProject":"dev"}
  1. 将这个profile状态改为激活状态
    twilio profiles:use dev
    
  2. twilio dev-phone
  3. 这时通过localhost:1337,你已经可以拨打电话了。如果需要发送短信,需要先去开通短信功能, 不然发送的时候会在cmd出现错误提示:
    SMS API threw an error TwilioCliError: Error code 21408 from Twilio: Permission to send an SMS has not been enabled for the region indicated by the 'To' number: +14120801234.. See https://www.twilio.com/docs/errors/21408 for more info.
     at CliRequestClient.request (C:\Users\david.yi\.twilio-cli\node_modules\@twilio\cli-core\src\services\cli-http-client.js:111:15)
     at processTicksAndRejections (node:internal/process/task_queues:96:5) {
    exitCode: 21408,
    data: {
     code: 21408,
     message: "Permission to send an SMS has not been enabled for the region indicated by the 'To' number: +14120801234.",
     more_info: 'https://www.twilio.com/docs/errors/21408',
     status: 400
    }
    }
    
    你可以参考以下链接,去免费开通:https://www.twilio.com/docs/api/errors/21408

使用Voice Javascript SDK快速实现

1. Twilio Blog - Twilio Programmable Voice JavaScript Quickstart Demo Application with Node
2. GitHub

跟着上面GitHub的步骤即可:

  1. 创建TwiML App
  2. 拿到号码,npm install
  3. 创建API
  4. 然后去拿到TWILIO_ACCOUNT_SID,TWILIO_TWIML_APP_SID,TWILIO_API_KEY,TWILIO_API_SECRET,并写入.env文件
  5. cp node_modules/@twilio/voice-sdk/dist/twilio.min.js public
  6. npm start
  7. ngrok http 3000
  8. 到ngrok 官网获得运行token并在电脑运行,记录下外网地址
  9. 到TwiMP App的Voice修改配置为https://example123456.ngrok.io/voice

这样你就可以在https://example123456.ngrok.io网址上运行并拨打电话了

con: 需要安装ngrok 并内网穿透映射。 建议使用Dev Phone,他可以本地拨打,且可以短信。
我尝试将本代码部署到netlify上,部署不成功。

相关文章
|
存储 NoSQL 定位技术
Redis Geo:掌握地理空间数据的艺术
Redis Geo:掌握地理空间数据的艺术
1218 0
|
程序员 编译器 C语言
最新Dev-C++下载安装以及C语言环境搭建教程(含C语言入门教程)
最新Dev-C++下载安装以及C语言环境搭建教程(含C语言入门教程)
2698 0
|
8月前
|
数据采集 人工智能 运维
AgentRun 实战:快速构建 AI 舆情实时分析专家
搭建“舆情分析专家”,函数计算 AgentRun 快速实现从数据采集到报告生成全自动化 Agent。
1696 57
|
1月前
|
存储 人工智能 安全
2026年AI Agent三大方案对比:Harness Engineering、Hermes Agent与OpenClaw全解析
2026年,AI Agent已从概念走向大规模落地,不同技术路径形成鲜明分野。Harness Engineering(驾驭工程)、Hermes Agent与OpenClaw是当前最具代表性的三类方案,分别代表**系统管控、自我进化、本地执行**三大核心方向。三者在设计理念、技术架构、能力特性、适用场景上差异显著,直接决定AI Agent的落地效果与长期价值。本文从核心定义、架构设计、关键能力、落地实践、场景适配五大维度,全面对比三者的优劣势与选型逻辑,为企业与开发者提供清晰决策参考。
703 1
|
人工智能 IDE 前端开发
云开发CloudBase 实现五子棋在线小游戏
本文介绍了使用腾讯云CloudBase和CodeBuddy IDE开发在线对战五子棋小游戏的过程。作者通过本地工具配置CloudBase AI ToolKit,尝试创建云函数和使用云数据库存储游戏数据,但在云函数部分遇到困难。随后改用CodeBuddy IDE进行开发,利用其AI全栈能力实现从需求规划、代码开发到部署的全流程。开发过程中遇到云函数异常、前端交互问题等,通过AI对话式调试(截图、日志分析)高效修复,最终实现支持实时对战、房间管理、胜负判定等功能的双端适配五子棋游戏,并成功部署上线。
486 0
|
4月前
|
人工智能 自然语言处理 监控
🦞 阿里云 JVS Claw 自动发布小红书完整流程
JVS Claw(养龙虾)是阿里云推出的零代码AI智能体平台,基于OpenClaw框架,支持网页操作、数据抓取、内容生成与多平台自动发布。无需编程,云端运行,可视化执行,多端实时同步,助力小红书运营、竞品监控、日报生成等自动化场景。
|
7月前
|
人工智能 运维 API
火爆全网的Skill自己怎么做?老金来教你!(含避坑指南)
本文深度解析Anthropic官方Skills开发指南(anthropics/skills),揭秘“渐进式展示”三层架构:100词元数据决定触发、5000词主体承载核心逻辑、资源按需加载。老金亲测踩坑,提炼6步实操流程与避坑公式,助你零基础打造高效、可维护的专业Skill。(239字)
12505 4
|
自然语言处理 监控 机器人
Dify入门指南(5):从零开始构建智能客服机器人(保姆级教程)
无需编程,只需4步,10分钟用Dify搭建智能客服!文末附进阶技巧:数据分析优化、多轮对话设计及人工接管配置,助你打造高效客服助手。
|
关系型数据库 MySQL Go
go抽取mysql配置到yaml配置文件
go抽取mysql配置到yaml配置文件
|
小程序 前端开发 数据安全/隐私保护
微信小程序全栈开发中的身份认证与授权机制是一个重要而复杂的问题。
微信小程序作为业务拓展的新渠道,其全栈开发中的身份认证与授权机制至关重要。本文概览了身份认证方法,包括手机号码验证、微信及第三方登录;并介绍了授权机制,如角色权限控制、ACL和OAuth 2.0。通过微信登录获取用户信息,利用第三方登录集成其他平台,以及实施角色权限控制和ACL,开发者能有效保障小程序的安全性和提供良好用户体验。此外,还强调了在实现过程中需注重安全性、用户体验和合规性。
1114 0