如何创建一个网络挂钩?

ine*_*aez 7 php webhooks

因此,我正在使用Tropo和Nexmo创建一个click2call应用程序,此时,我需要设置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);
?>
Run Code Online (Sandbox Code Playgroud)

以后如何从Webhook检索信息并将其存储在数据库中?我已经看过代码片段,但是我不知道在哪里包括它……它是在我的api中,还是在我的webhook指向的php文件中?先感谢您。

Twi*_*919 10

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

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

  • 问题是如何创建,这回答了什么 (6认同)

ine*_*aez 8

因此,我以一种非常简单的方式解决了这个问题。只需将您的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 );
?>
Run Code Online (Sandbox Code Playgroud)

信息将被发布,然后通过“ request.log”可访问

希望它将来能对其他人有帮助。

  • 你不需要 header 命令。仅当您打印到浏览器并想说这是 json 时 (2认同)