NetSuite:从Suitecommerce网站获取信息到用户事件脚本

时间:2019-01-11 06:01:09

标签: netsuite suitescript suitecommerce

我有一个Suitecommerce网站产品页面,其中某些信息以查询参数的形式附加到url。例如:https://my-ecommerce.com/product/someProduct?referralId=someValue

我的目的是在购买产品时将salesOrder记录传递给某些外部API端点。我是通过如下部署用户事件脚本来实现的:

function afterSubmit(type) {
    // Url of the external api endpoint to push data
    var url = "http://external-url/endpoint/";

    // Get the new created record. It returns a nlRecordObj
    var record = nlapiGetNewRecord();

    // Get the record Id of that created record
    var recordId = record.getId();

    // Get the record of corresponding record Id and record type
    var nlobj = nlapiLoadRecord("salesOrder",recordId);

    // To log our request data
    nlapiLogExecution("DEBUG","Test",JSON.stringify(nlobj));

    // Set Headers for HTTP request
    var headers = {"Content-Type":"application/json"};

    // Performing HTTP request to our url with our newly created data as payload
    var response = nlapiRequestURL(url, JSON.stringify(nlobj), headers);
}

但是我还想传递的是referralId以及suitecommerce网址中的salesOrder记录。

我想到的一种解决方案是将url参数放在浏览器的本地存储中,然后从suitescript中获取它。但是Suite脚本无法识别window.localStorage

有什么主意我能做到吗?代码段将很有帮助。

1 个答案:

答案 0 :(得分:0)

在引荐的情况下,如果每个订单需要一个,则可以创建一个交易主体字段,并在将商品添加到购物车时从前端填充该字段。

>

如果需要按项目提供引用代码,则必须创建一个交易项目选项,然后手动将URL中的“值”添加到该字段中。

如果您要读取URL参数并将其保存到NetSuite后端字段中,请使用 XSS注入 超级正确,请转义任何值并确认该值正确保存之前。