У меня есть страница продукта сайта 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
вместе с записью salesOrder из ссылки suitecommerce.
Одно из решений, о котором я подумал, - поместить параметры URL в локальное хранилище браузера, а затем извлечь их из suitescript. Но скрипт Suite не распознает window.localStorage
.
Есть идеи, как мне это сделать? Фрагмент кода будет полезен.