twilio是领先的即时通讯服务PaaS(个人觉应该定义为 SaaS?)提供商。
可以通过RESTFul API构建可编程的即时通讯服务。
下面介绍一下快速接入Twilio API的方式:
1.创建账户,Twilio账户创建相当简单,验证一下邮箱就可以了。接下来系统会引导你创建一个免费的电话号码,当然,你也可以购买一个靓号(移动联通电信附体)。价格貌似都是$1。如果你是企业服务,选择一个清晰易记忆的电话号码还是很有必要的。
2.创建一个应用,你可以直接按系统提示选择编程语言并创建一个应用,后台会自动生成SID和TOKEN。
3.以下以PHP作为开发语言为例创建一个应用:
3.1 创建一个项目,此处纯测试将不依赖任何框架;
3.2 安装支持库:
composer require twilio/sdk
3.3 编写代码
<?php require __DIR__ . '/vendor/autoload.php'; use Twilio\Rest\Client; // Your Account SID and Auth Token from twilio.com/console $account_sid = '你的SID';//请注意,SID和TOKEN要保存好,谨防泄露! $auth_token = '你的TOKEN'; // In production, these should be environment variables. E.g.: // $auth_token = $_ENV["TWILIO_ACCOUNT_SID"] // A Twilio number you own with Voice capabilities $twilio_number = "+你的虚拟号码"; // Where to make a voice call (your cell phone?) $to_number = "+你要拨的电话号码"; $client = new Client($account_sid, $auth_token); $client->account->calls->create( $to_number, $twilio_number, array( "url" => "http://demo.twilio.com/docs/voice.xml" ) );
注意这个create方法,实际上他就是一段TwiML ,简单说就是twilio提供的即时通讯编程DSL。
<Response>
<Say voice=”alice”>Thanks and Enjoy!</Say> /*机器人会阅读这段文字*/
<Play>http://demo.twilio.com/docs/classic.mp3</Play> /*播放一个MP3音乐文*/
</Response>
不得不说XML格式的可描述性很强,twilio没有选择json简直太明智了。
T<Response>
<Say voice=”alice”>Thanks for trying our documentation. Enjoy!</Say>
<Play>http://demo.twilio.com/docs/classic.mp3</Play>
</Response>
TwiML的编写是完全语义化的,非常简单,你可以迅速编写出符合自己需求TwiML。
此时这个简单的通过 twilio拨打电话的程序已经编写完成。
直接运行:
php make_call.php
此时要拨打的号码就收到了来电(国内可能有1-6秒延迟):
如此可见twilio提供给用户的想象空间是相当丰富的,开发一个适用于业务自身情况的云端即时通讯服务so easy。
twilio的IAAS层基于AWS。 官网宣称服务可用性五个九,作为企业服务相当有保障。
当然twilio的功能不止于此,文档相当丰富,比如大热的AI智能客服也是摆在很显眼的位置。
如果您有此方面的需求,建议不妨一试。
以下附上twilio服务的架构图: