无法从Webhook Laravel获取回调

时间:2019-04-05 12:35:35

标签: laravel webhooks

我正在尝试为基于订阅的API创建一个Webhook,每当IoT设备进行更改时,它都会向我发送JSON数据。我似乎无法启动该功能,也无法弄清楚其背后的原因。

API将提供给我的数据如下:

  

{“ data:{” type“:1,” value“:1,” dev_id“:5,” attr_id“:0},   “ ack”:“ ok”,“ action”:“上传”,“ mac”:“ C8EEA63070CF”}

我的webhook功能:

class webHookController extends Controller
{
    public function webhook(Request $request)
    {
        $options = array(
            'cluster' => 'ap2',
            'useTLS' => true
        );

        $pusher = new \Pusher\Pusher(
            'cant',
            'show',
            'these',
            $options
        );

        $pusher->trigger("n-channel", 'n-event',$request['data']);

        $thinker = t::where('thinker_MAC',$request['mac'])->first();
        $slave = sd::where('connected_thinker_MAC',$request['mac'])->get();

        if(count($slave) > 0 && $thinker->user_id != NULL)
        {
            $pusher->trigger($u->id."-channel", 'n-event',$request);
        }
        else
        {

        }

        return "hooked";
    }
}

我在api.php中的路线:

Route::post('/webhook','webHookController@webhook');

订阅有效的证明:

webhooks.site responses

我还添加了忽略csrf令牌的路由。

protected $except = [
    '/webhook',
];

如果我使用邮递员,我可以运行我的功能。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

一切都实现得很好。只需使用ngrok进行测试。为寻求相同问题答案的人解答。似乎这里没有人知道答案。