如何创建 Webhook?

How do I create a webhook?

所以我正在创建一个 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 中,在我的 webhook 指向的 php 文件中吗? 提前谢谢你。

Webhook url 是您服务器上的一个地方,当发生某些事情并且您需要了解时,上述提供商会不时发送数据,例如,您可能每次收到短信时都会收到请求已发送,或者每次短信发送失败时,您可以根据该信息采取进一步的行动,例如标记用户 phone 号码不再有效的事实。

假设您的 webhook url 类似于 https://www.yoursite.com/webhooks.php,这意味着在您的 webhooks.php 文件中您必须放置一些 PHP 代码来读取传入的请求和将使用它包含的信息做一些事情。

所以我想出了一个非常简单的方法。只需使用以下代码将您的 webhook 指向 php:

<?php
// Original Answer
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 );

// Updated Answer
if($json = json_decode(file_get_contents("php://input"), true)){
   $data = $json;
}
print_r($data);
?>

信息将发布,然后可以通过 'request.log'

访问

希望以后能对其他人有所帮助。