将PHP响应发送到Zapier webhook

时间:2019-02-20 09:59:48

标签: php post httprequest webhooks zapier

我正在将PipeDrive与Post Affiliate Pro(具有API)连接,并正在使用Zapier Webhooks(POST)。因此,我在与Post Affiliate Pro通讯的服务器上使用PHP脚本。因此,我的PHP脚本中有一些变量,我需要返回这些变量才能在另一个webhook /或常规操作步骤中使用它们。在Zapier中,测试该步骤时获得的唯一变量是带有响应消息的String(以及放置在其中的任何变量)。但是我需要自己获取所有变量(我想所有变量都放在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网络挂钩返回值?我是否需要使用“抓钩”网络钩?我对Zapier和PHP完全陌生。

Image shows just two Strings ('Text' & 'Text Transaktion') available in Zapier but no other variables

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

我终于自己发现了。我必须返回一个JSON,其中包括所有内容。同时也不可能同时回显任何东西,因为这将导致只输出一个字符串,其中包含所有值(就像我之前使用过的一样)。

因此,这样的工作就完成了:

if (!isset($returnValue)) {
  $returnValue = new stdClass();
  $returnValue->order_id = $orderID;
  $returnValue->result_message = $resultMessage;
}

print_r(json_encode($returnValue));