集成通信:Formstack与RingCentral API的结合

在探索如何通过集成实现通信的简单想法时,意识到这可以为任何人带来无数的好处。脑海中涌现出许多想法,并且可能会在未来使用它们,例如:当好奇的金毛寻回犬Floki触发家中的安全摄像头时,或者门传感器被激活,或者家中的灯亮起时,甚至在有人推送代码到仓库时,收到一条短信。

对于短信API示例,希望能够测试一些简单且非常有生产力的东西,这就是为什么选择将RingCentral的API与Formstack集成的原因。Formstack是一个提高工作效率的解决方案,旨在改变人们收集信息并将其投入工作的方式,那么如果可以使用Formstack表单来收集数据,并且根据从用户那里得到的提交响应,可以使用RingCentral的API触发一条短信呢?

使用代码

Formstack账户:

Ngrok:

PHP Web服务器:

RingCentral开发者账户:

2. 临时安装并运行Ngrok

下载软件包并解压,然后运行:

./ngrok http 8080

(或者想使用的任何其他端口)

现在准备好进行隧道传输了:

转到

设置 -> 电子邮件和操作

让通过添加一个Webhook来增强这个表单,复制ngrok转发的IP到Webhook URL,选择“使用子字段名称发布”和“使用API友好的键发布”。

对于这个测试,创建了一个名为RingCentral的文件夹,并添加了一个名为index.php的PHP文件。

在该文件夹内,运行了以下命令来启动PHP Web服务器:

php -S localhost:8080

文件的示例内容:

<?php echo 'hello Blog API Test'; ?>

可以快速测试,以确保在提交表单时与本地主机通信,所以请提交测试表单。

可以在http://127.0.0.1:4040/inspect/http检查发送的请求数据。

如所见,从Rating字段did_you_like_this_blog_tutorial得到了5星响应值,以及带有值Test1的name字段,还可以看到本地Web服务器响应了hello Blog API Test。

现在到了最有趣的部分,现在可以使用Formstack表单提交的数据,该数据通过ngrok发送到本地主机,并使用RingCentral的API发送短信。

首先,需要一个RingCentral API的开发者账户,应该可以在这里创建一个账户:

一旦创建了账户,只需一键创建一个SMP APP:

没有链接?别担心,这里有:

现在沙箱应用程序已经创建,需要下载PHP SDK来开始:

(确保下载到启动PHP Web服务器的同一目录,并且index.php文件位于该目录内。)

$ curl -sS https://getcomposer.org/installer | php $ php composer.phar require ringcentral/ringcentral-php

现在只需编辑之前创建的index.php文件,并输入此代码:

<?php require( 'vendor/autoload.php' ); $RECIPIENT = ''; $RINGCENTRAL_CLIENTID = ''; $RINGCENTRAL_CLIENTSECRET = ''; $RINGCENTRAL_SERVER = 'https://platform.devtest.ringcentral.com'; $RINGCENTRAL_USERNAME = ''; $RINGCENTRAL_PASSWORD = ''; $RINGCENTRAL_EXTENSION = ''; $rcsdk = new RingCentral\SDK\SDK($RINGCENTRAL_CLIENTID, $RINGCENTRAL_CLIENTSECRET, $RINGCENTRAL_SERVER); $platform = $rcsdk->platform(); $platform->login($RINGCENTRAL_USERNAME, $RINGCENTRAL_EXTENSION, $RINGCENTRAL_PASSWORD); $resp = $platform->post( '/account/~/extension/~/sms', array( 'from' => array ( 'phoneNumber' => $RINGCENTRAL_USERNAME), 'to' => array(array( 'phoneNumber' => $RECIPIENT)), 'text' => 'Hello World from PHP' )); print_r ( "SMS sent. Message status: " . $resp->json()->messageStatus); ?>

提交另一个表单,检查请求:

http://127.0.0.1:4040/inspect/http

应该看到类似的响应:

并且立即收到一条短信,上面写着:

现在将所有内容整合在一起,只需在凭据之前添加此代码:

$find = [ 'first =', 'last =' ]; $name = str_replace($find, '',$_REQUEST[ 'name' ]); $stars = $_REQUEST[ 'did_you_like_this_blog_tutorial' ]; $message = 'You received ' . $stars . ' stars from ' . $name;

并将$resp数组的text值替换为:

$message $resp = $platform->post( '/account/~/extension/~/sms', array( 'from' => array ( 'phoneNumber' => $RINGCENTRAL_USERNAME), 'to' => array(array( 'phoneNumber' => $RECIPIENT)), 'text' => $message ));
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485