代码之家  ›  专栏  ›  技术社区  ›  Gazillion

当使用twilio的php notify API时,如何设置回调URL?

  •  1
  • Gazillion  · 技术社区  · 8 年前

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

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

    然而,即使发送工作,我似乎无法理解他们的回调。

    我正在浏览他们的文档,却找不到如何设置回调URL。我看到他们的一些资源使用“url”,而另一些使用“statusCallback”(见鬼,有一个似乎使用“redirect”)。话虽如此,我似乎不能发到邮政学士使用它们——必须有一种方法来检查我的通知的状态。

    2 回复  |  直到 8 年前
        1
  •  3
  •   Gazillion    8 年前

    所以我在两个方面都错了。

    1) 回调URL需要通过以下方式传递到消息传递服务:

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

    2) 邮政学士没用!我正在测试上面的代码,在得到twilio支持人员的确认后,我决定尝试发布到自己的服务器上,只捕获发布的内容。果不其然,这是他们建议的。

    编辑:当时我还不清楚,但是每次状态更新发送的短信都会调用回调URL。这意味着排队、发送和传递。我最初认为我只需要获得批处理本身的状态更新,因为我不一定关心多达10000条txt消息的状态。

        2
  •  1
  •   bishop    8 年前

    statusCallback parameter 的 个人 SMS服务API到 普遍的 web hooks ,它们是按服务全局配置的。

    在您的情况下,最简单的方法是使用单独的SMS服务API:

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

    要使用universalnotifyapi,需要设置 PostWebhookUrl 到目标URL时 创建 通知服务,并安排该URL处的代码进行处理 onMessageSent 信息。更多信息请参见上面的“网络钩子”网址。