- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想通过 Twilio 仅使用 PHP(如果可能,不使用 JavaScript 或 cron)发送和管理传真来 self 的 linux+Apache+Wordpress 站点。 (开发是在我的本地主机上使用 ngrok 在 Wordpress 网站上进行的。)
我已经能够设置一个 Wordpress 页面 ( template ) 来使用 Twilio's fax API 发送传真.但是,在发送传真后,Twilio 会回复 JSON in a POST response。 (我认为),并期待我的网站以某种方式做出回应。我有一个回调 URL,但这似乎是一个异步调用,我不知道如何通过 Wordpress 处理它。 (为了安全和方便,我想留在 Wordpress 站点内。)
我没有管理服务器之间此类通信的经验;我一直在阅读 Twilio 文档,但我认为我在某个地方犯了一个根本性的错误...我了解了什么需要完成的要点,但不是如何作品。
如何在 Wordpress 中使用 PHP 管理 Twilio 的异步调用?
最佳答案
Twilio 可以设置为使用 REST API 标准。 (Wordpress 有 setting up REST routes and endpoints 的教程。)
使用 register_rest_route
在 Wordpress 上创建自定义 Twilio 端点。这可以设置为 POST 或 GET,但它必须匹配 your Twilio fax number 设置。
例如,将以下内容放入您的主题的 functions.php
文件中(如果您还没有这样做,您应该先输入 create a child theme):
function process_twilio_fax_response( $request ) {
$params = $request->get_params();
// $params should have the data Twilio POSTed as JSON to the API.
// For example, $params['account_sid'] should have the account_sid.
}
// This code registers the API endpoint and tells wordpress to call process_twilio_fax_response
// when data is POSTed to /wp-json/twilio/callback
add_action( 'rest_api_init', function () {
register_rest_route( 'twilio', '/callback', array(
// WP_REST_Server:READABLE = GET only
// WP_REST_Server:CREATABLE = POST only
// WP_REST_Server:EDITABLE = POST, PUT, PATCH
// WP_REST_Server:DELETABLE = DELETE only
// WP_REST_Server:ALLMETHODS = GET, POST, PUT, PATCH, DELETE
'methods' => WP_REST_Server:CREATABLE,
'callback' => 'process_twilio_fax_response',
) );
} );
这将在/wp-json/twilio/callback(例如 https://www.example.com/wp-json/twilio/callback
)创建一个端点,可以在 your Twilio fax number 上配置作为 “传真进来” URL(或“传真状态更改”或“主处理程序失败”)。
当 Twilio 向端点发出 POST 请求时,将使用作为参数传递的请求对象调用回调函数(在本例中为 process_twilio_fax_response
)。然后,您可以通过调用参数上的 get_params()
方法(在本例中为 $request->get_params()
)将 JSON 数据作为关联数组获取。
请注意,此示例没有身份验证、卫生或验证,所有这些对于任何面向公众的 REST 路由都是必需的。
如果您在 localhost
上调试,回调 URL 将为 http://localhost/wp-json/twilio/callback
。 Twilio 将无法 POST 到 localhost
,因为它只能在本地访问,但您可以使用 ngrok 在 linux 上通过随机临时 URL 设置网络隧道。在 your Twilio fax number 设置中,将对 localhost
域的任何引用更改为 ngrok 域,保持所有其他 URL 资源、查询等相同。例如:
https://localhost/SomeWordpressDomainName/wp-json/twilio/callback
成为
https://randomDomainNameFromNGROK.ngrok.io/SomeWordpressDomainName/wp-json/twilio/callback
关于php - Twilio 传真 - 如何在 PHP 中管理 Wordpress 中的状态响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59483779/
我正在创建一个使用twilio的网络应用程序,但我似乎遇到了问题。 该系统由3个参与者组成: 实际客户 物理服务器 我们的网络应用程序 每当客户通过表单创建新的“作业”时,所有作业详细信息都将以文本形
有a good pitch from Twilio here . 我只是不明白他们如何通过网站做到这一点。如何使用网络浏览器控制固定电话? 最佳答案 简短的回答:神奇的蝴蝶。 更长的答案:Twilio
我一直在与 Twilio 合作 program SMS functionality在我的应用程序上,似乎 Twilio 对美国号码效果最好,而对国际号码效果不佳。我做了一些研究,并了解到 8 月 16
我需要将用户添加为出站调用者 ID。通过使用以下代码 const accountSid = 'ACeae3abf5038c91052c27aa2a04969457'; const authToken
在 Twilio - 飞行模式同时响铃中断。 由于连接的第一个调用将取消所有其他尝试,如果有线路处于飞行模式,它将立即接听并将用户带到语音信箱。 解决方法是仅在调用成功连接而不是 PICKED-UP
我有一个用于发送短信的 twilio 帐户。但是,我需要有关如何通过调用其 API 查看我的帐户电话号码列表的指导。我试图浏览 API 中的不同菜单,但我没有看到任何选项来获取我的帐户电话号码列表。预
我正在尝试使用 Twilio Video,我需要从我的应用服务器获取访问 token (jwt)。 下面是生成访问 token 的 NodeJS 应用服务器代码。在下面的凭证中,API_KEY_SEC
创建 Twilio 功能 token 是否需要向 Twilio 服务器发出请求? 如果我理解正确的话,创建 Twilio 功能 token 涉及某种仅在我自己的服务器上发生的加密过程。当我调用库来创建
我最近一直在阅读 Twilio 文档,对“Twilio Client”和“Twilio Video”感到困惑。 我注意到“Twilio Client”的教程涉及注册电话号码,而测试版“Twilio V
我找不到任何关于在主讲人发生变化时更改构图布局的文档。我想要做的是在视频的更大区域中拥有比非主导演讲者更大的主导演讲者,并且该演讲者可以/将在某个时间间隔发生变化。这可能使用 Compositions
设置 我已经使用两个基于美国的号码(+1 国家代码)成功测试了我的 Twilio 应用程序一段时间。验证 token 已通过 SMS 成功发送,验证检查状态返回“已批准”。生活很好! 😎 问题 今天
有什么方法可以在我的两个用户之间进行通话?我的意思是......我有一个带有注册号码的 twilio 帐户,我必须调用我的客户“Bill”,所以当他回答时,电话应该被重定向到 Bill 选择的另一个客
我想要一个流程,我可以在其中给用户发短信,并且该用户可以发回短信以触发事件。我可以在任何时候向用户发送多条未完成的消息 - 无论如何,在收到短信时,我是否可以弄清楚它正在回复哪条消息,而无需在短信正文
关闭。这个问题需要更多 focused .它目前不接受答案。 想改进这个问题?更新问题,使其仅关注一个问题 editing this post . 去年关闭。 Improve this questio
无论如何,我可以关闭默认的 twilio 哔声以开始录制。我想使用我们自己的客户提示音。 基本上我们希望在 MP3 播放完毕时发出一声哔哔声。之后我们想要 20 秒空白,一旦 20 秒完成,我们会发出
我是 Twilio 的新手,在设计出站拨号器当前预览拨号时遇到了一个问题。如果工作人员拒绝一项任务,则不应再次向该工作人员提供相同的任务。 我如何处理这个案子? 最佳答案 通常,如果工作人员拒绝任务,
我正在使用 Twilio PHP 库,但问题实际上与语言无关。我尝试执行以下操作: $client = new Services_Twilio('MyAccountSID', 'My auth tok
我们已经构建了一个网络应用程序。该应用程序的核心是在网络上安排 session / session 。因此,用户 A( session 协调员)将安排 session / session ,所有其
我正在使用 JavaScript SDK 创建一个 Twilio 应用程序。 我想实现调用保持功能,但我在实现它时遇到了麻烦。 当调用由软电话发起时,保持调用的过程是什么? 还有,软电话接听的过程是怎
三月份,我开设了一个网站,为人们提供用于接收短信验证等的临时号码。 我刚刚登录到该帐户并意识到我收到了大量的出站短信费用。 每当我的任何号码收到短信时,它们似乎都是默认的自动响应。 我没有启用此功能(
我是一名优秀的程序员,十分优秀!