如何创建webhook?

时间:2017-08-23 09:27:24

标签: php webhooks

所以我正在创建一个click2call应用程序,使用Tropo和Nexmo,此时,我需要帮助设置webhook。 它们都提供了一个指向webhook的地方,但是现在,我不明白该包含什么。它是一个php文件吗?还是一个json? 我已经尝试创建一个PHP并具有以下内容:

<?php
    header('Content-Type: application/json');
    ob_start();
    $json = file_get_contents('php://input'); 
    $request = json_decode($json, true);
    $action = $request["result"]["action"];
    $parameters = $request["result"]["parameters"];
    $output["contextOut"] = array(array("name" => "$next-context", "parameters" =>
    array("param1" => $param1value, "param2" => $param2value)));
    $output["speech"] = $outputtext;
    $output["displayText"] = $outputtext;
    $output["source"] = "whatever.php";
    ob_end_clean();
    echo json_encode($output);
?>

我如何以后从webhook中检索信息并将其存储在数据库中?我见过代码片段,但我不知道在哪里包含它... 是在我的api中,在php文件中我的webhook指向? 提前谢谢。

2 个答案:

答案 0 :(得分:5)

所以我以一种非常简单的方式弄明白了。只需使用以下代码将您的webhook指向php:

<?php

header('Content-Type: application/json');
$request = file_get_contents('php://input');
$req_dump = print_r( $request, true );
$fp = file_put_contents( 'request.log', $req_dump );
?>

信息将通过'request.log'

发布然后访问

希望将来可以帮助别人。

答案 1 :(得分:3)

webhook网址是服务器上的一个位置,上述提供商会在发生某些事情时不时发送数据,您需要知道,例如,每次发送短信时,或每次都会收到请求短信发送失败,根据该信息,您可以采取进一步的行动,例如标记用户电话号码不再有效的事实。

我们假设您的webhook网址类似于if @amount <= $remainingAmmount && @amount > 0 ,这意味着您的https://www.yoursite.com/webhooks.php文件中必须放置一些PHP代码来读取传入的请求并对信息执行某些操作它包含。