【问题标题】:When using twilio's php notify API, how do you set your callback URL?使用 twilio 的 php notify API 时,如何设置回调 URL?
【发布时间】:2018-09-06 18:38:41
【问题描述】:

我有以下代码,它会向我的手机发送短信通知:

$notification = $twilio->notify->services($serviceSid)
                                    ->notifications->create([
                                        'toBinding' => $batch,
                                        'body' => $txt,
                                        'statusCallback' => 'http://postb.in/b/jarblegarble' // <-- this doesn't work
                                    ]);

但是,即使发送有效,我似乎也无法弄清楚他们的回调。

我正在浏览他们的文档,但找不到如何设置回调 URL。我看到他们的一些资源使用“url”,而其他资源使用“statusCallback”(哎呀,一个似乎使用“重定向”)。话虽如此,我似乎无法使用它们发布到 postb.in —— 必须有一种方法可以检查我的通知状态。

【问题讨论】:

    标签: php twilio twilio-php


    【解决方案1】:

    所以事实证明我在两个方面都错了。

    1) 回调 URL 需要以这种方式传递给您的消息服务:

    $notification = $twilio->notify->services($serviceSid)
        ->notifications->create([
            'toBinding' => $bindings,
            'body' => $txt,
            'sms' => ['status_callback' => 'http://your_callback_url' ]
        ]);
    

    2) postb.in 不工作!我正在测试上面的代码,在被 twilio 支持确认它是有效的之后,我决定尝试发布到我自己的服务器并捕获发布的内容。果然,它按照他们的建议工作。

    编辑:当时我并不清楚,但每次状态更新发送的每条短信都会调用回调 URL。这意味着排队、发送和交付。我最初以为我只是获取批次本身的状态更新,因为我不一定关心多达 10,000 条 txt 消息的状态。

    【讨论】:

    • 我设置了 status_callback URL,但在 $_REQUEST 中没有收到任何数据。
    【解决方案2】:

    您的示例将 individual SMS 服务 API 的 statusCallback parameter 传递给 universal 通知 API。这种混合是行不通的。单个 SMS 服务为该特定消息设置回调,这对于批量发送效率不高。相比之下,通用通知 API 依赖于 web hooks,它们是为每个服务全局配置的。

    就您而言,最简单的做法是使用单独的 SMS 服务 API:

    $message = $twilio->messages->create('+15551234567', [ 'body' => 'Hi',
        'from' => '+15559876543',
        'statusCallback' => 'http://postb.in/b/jarblegarble' ]);
    

    要使用通用通知 API,您需要在创建通知服务时将PostWebhookUrl 设置为目标 URL,并安排该 URL 处的代码处理 onMessageSent消息。更多内容请参见上面的“网络挂钩”网址。

    警告购买者:没有尝试过任何这些,而且我已经八年没有使用 Twilio,但以上是我的理论理解。

    【讨论】:

    • 那我得看看全球网络钩子了!系统需要批量发送消息,因此设置单独的回调并不理想(并且要求每个号码调用一次 API 可能会花费大量时间和超时)。感谢您的指导。
    猜你喜欢
    • 1970-01-01
    • 2015-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多