获取对 Zapier webhook 的 PHP 响应
Posted
技术标签:
【中文标题】获取对 Zapier webhook 的 PHP 响应【英文标题】:Get PHP response into Zapier webhook 【发布时间】:2019-07-13 23:27:52 【问题描述】:我正在将 PipeDrive 与 Post Affiliate Pro(使用它的 API)连接,并且正在使用 Zapier webhooks (POST)。因此,我在与 Post Affiliate Pro 交谈的服务器上使用 php 脚本。所以我的 PHP 脚本中有变量,我需要返回这些变量才能在另一个 webhook/或一般操作步骤中使用它们。在 Zapier 中,我在测试步骤时得到的唯一变量是带有我的响应消息的字符串(以及我放在那里的任何变量)。但我需要自己获取所有变量(我猜都是在 JSON 中)。
所以我的问题是:如何在 HTTP POST 请求中返回变量以使它们在 Zapier 中可用(在下拉列表中?)以便在下一个 webhook 中使用它们?
目前我有这样的事情:
if ($result->isError())
echo 'Error: '.$result->getErrorMessage();
else
//echo 'Ok: '.$result->getInfoMessage();
echo json_encode($orderID);
我正在使用“echo”,但我也尝试使用“return”,但没有产生任何结果。我也尝试使用 json_encode 返回 JSON 但没有运气。还是我什至需要使用另一个 Zapier 步骤?还是我根本无法使用 POST webhook 返回值?我需要使用“Catch Hook”网络钩子吗?我对 Zapier 和 PHP 完全陌生。
Image shows just two Strings ('Text' & 'Text Transaktion') available in Zapier but no other variables
感谢您的帮助!
【问题讨论】:
【参考方案1】:我终于自己发现了。我必须返回一个 JSON,其中包括所有内容。也不可能同时回显任何内容,因为这将导致仅输出一个包含所有值的字符串(就像我之前有过的那样)。
所以这样的事情就可以了:
if (!isset($returnValue))
$returnValue = new stdClass();
$returnValue->order_id = $orderID;
$returnValue->result_message = $resultMessage;
print_r(json_encode($returnValue));
【讨论】:
以上是关于获取对 Zapier webhook 的 PHP 响应的主要内容,如果未能解决你的问题,请参考以下文章
在 Zapier 中使用 Webhooks 和 PayPal API 从特定 PayPal 交易中获取交易信息
我可以用其他可以创建 webhook 来捕获钩子的东西替换 zapier
curl 作为 Zapier Webhook 到 Stripe