接受webhook POST数据以使用ASP.NET或PHP创建记录

2guxujil  于 2023-11-20  发布在  .NET
关注(0)|答案(1)|浏览(77)

我们在Unbounce.com上有一个潜在客户生成表单,该表单正在捕获潜在客户数据。他们有一个webhook,可以通过POST将数据传输到任何可以接受并处理数据的URL。我们希望构建一个接受此数据并在NetSuite中处理数据的页面(可能通过SuiteScript API,但不确定)。http://www.netsuite.com/portal/developers/resources/APIs/Dynamic%20HTML/SuiteScriptAPI/MS_SuiteScriptAPI_WebWorks.1.1.html
从POST获取的变量以下变量将按此顺序从表单传递到NetSuite处理页面:

prog
first_name
last_name
email
parents_email
i_am_a_
phone_number
parents_phone_number
comment

字符串
附加页面变量尝试抓取阅读下面的示例代码,看起来我们可以抓取并存储一些附加项目。如果是这样,最好将它们存储在CRM中的访客配置文件中以供将来参考:

page_id
page_url
variant


由于我们的首选开发环境是ASP.NET,您能否提供示例代码,以便从webhook接受POST数据并在我们的NetSuite帐户中创建新的CRM记录?
从POST获取数据的PHP代码示例可以在http://support.unbounce.com/entries/307685-how-does-the-form-webhook-work上找到
如果这是一个PHP页面,你会以下面的方式获取变量:

// This is a sample PHP script that demonstrates accepting a POST from the
// Unbounce form submission webhook, and then sending an email notification.
function stripslashes_deep($value) {
$value = is_array($value) ?
array_map('stripslashes_deep', $value) :
stripslashes($value);
 
return $value;
}
 
// First, grab the form data. Some things to note:
// 1. PHP replaces the '.' in 'data.json' with an underscore.
// 2. Your fields names will appear in the JSON data in all lower-case,
// with underscores for spaces.
// 3. We need to handle the case where PHP's 'magic_quotes_gpc' option
// is enabled and automatically escapes quotation marks.
if (get_magic_quotes_gpc()) {
$unescaped_post_data = stripslashes_deep($_POST);
} else {
$unescaped_post_data = $_POST;
}
$form_data = json_decode($unescaped_post_data['data_json']);
 
// If your form data has an 'Email Address' field, here's how you extract it:
$email_address = $form_data->email_address[0];
 
// Grab the remaining page data...
$page_id = $_POST['page_id'];
$page_url = $_POST['page_url'];
$variant = $_POST['variant'];


但是我不知道如何将其导入NetSuite。在查看了NetSuite的SuiteScript API之后,我们似乎应该使用nlobjRequestnlapiRequestURL,但我对如何将其与上面的示例PHP页面集成一无所知。

ygya80vv

ygya80vv1#

您需要在NetSuite中创建一个RESTlet。您可以在NetSuite的帮助指南中找到相关文档。RESTlet是NetSuite的SuiteScript API的一部分。它们是以JavaScript形式编写的(当然,使用NetSuite提供的API)。
当你创建一个RESTlet时,你会得到一个URL。你应该把它用于你的Unbounce web钩子。你的RESTlet应该解析Unbounce.com传递的JSON数据。

相关问题