Gravity Forms Webhooks -修改数据



我所发布的API所期望的数据需要以一种方式结构化,即它被包装在根对象和行数组中。我需要在发布之前重组提要提供的数据。

我需要将请求格式化为如下格式

{
"root": {
"row": [
{
"Ref_Id": "test123",
"First_Name": "Test",
"Last_Name": "Post",
"Mobile": "1234567890",
"Zip_Code": "12345",
"Notes": "This is a test post"
}
]
}
}

但是在发布之后,这是正在发送的内容

[body] => {"Ref_Id":"test123","First_Name":"Test","Last_Name":"Post","Mobile":"1234567890","Zip_Code":"12345","Notes":"This is a test post"}

我尝试钩入过滤器gform_webhooks_request_data

add_filter( 'gform_webhooks_request_data_11', 'modify_data', 10, 4 );
function modify_data( $request_data, $feed, $entry, $form ){

$wrapper_open = '{"root":{"row":[';
$wrapper_close = ']}}';

return $wrapper_open . $request_data . $wrapper_close;
}

但这不起作用

[body] => "{"root":{"row":[Array]}}"

我已经被这个问题困扰了好几个月了,现在我找到了解决办法。

Gravity Plus制作了这个优秀的插件,它允许出站webhook以原始格式合并标记,这意味着你可以按照你需要的任何方式配置模式。

这对于在Gravity Forms之间发布数据非常有用,而API和Webhooks插件的限制实际上不允许你这样做。

这是一个插件的链接https://gravityplus.pro/gravity-forms-post-to-3rd-party/plugin-support/

在本例中,您只需激活附加组件,将其从JSON转为Raw模式,然后输入:

{
"root": {
"row": [
{
"Ref_Id": "test123",
"First_Name": "Test",
"Last_Name": "Post",
"Mobile": "1234567890",
"Zip_Code": "12345",
"Notes": "This is a test post"
}
]
}

}

只需将值替换为merge标签。

相关内容

  • 没有找到相关文章

最新更新