Php 如何创建webhook?

Php 如何创建webhook?,php,webhooks,Php,Webhooks,因此,我正在使用Tropo和Nexmo创建一个click2call应用程序,在这一点上,我需要帮助设置webhook。 它们都提供了一个指向webhook的地方,但现在,我不知道应该在其中包含什么。它是一个php文件吗?还是json? 我已经尝试创建了一个php,并获得了以下结果: <?php header('Content-Type: application/json'); ob_start(); $json = file_get_contents('php://

因此,我正在使用Tropo和Nexmo创建一个click2call应用程序,在这一点上,我需要帮助设置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中检索信息并将其存储在数据库中?我看过一些代码,但是我不知道应该把它放在哪里。。。 我的webhook指向的是api还是php文件??
提前感谢。

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


假设您的webhook url类似于
https://www.yoursite.com/webhooks.php
这意味着在您的
webhooks.php
文件中,您必须放置一些php代码,这些代码将读取传入的请求,并对其包含的信息进行处理。

因此,我用一种非常简单的方法解决了这个问题。只需使用以下代码将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”访问


希望将来能帮助别人

太棒了!谢谢你!您可以使用JSON格式化程序来“美化”代码,而不需要header命令。只有当您打印到浏览器并想说这是JsonTanks时,这才有效,@Michael yes correct,如果您需要指定内容类型,则需要标题。问题是如何创建,这回答了什么