I am trying to update custom ‘city’ field in salesforce customer record using user event script. Patch is supported in salesforce to update records but does not support in Netsuite.
I have created user event script. But its not updating the record by traying many ways. please help!
/**
-
@NApiVersion 2.x
-
@NScriptType UserEventScript
*/
define([‘N/record’, ‘N/https’, ‘N/log’], function(record, https, log) {function afterSubmit(context) {
if (context.type === context.UserEventType.EDIT) {var city='Mumbai'; try { // Get access token for Salesforce var accessToken = getSalesforceAccessToken(); log.debug("Access Token", accessToken); if (!accessToken) { throw new Error('Failed to get access token from Salesforce'); } //Update customer in Salesforce var salesforceResponse = updateSalesforceCustomer(accessToken, { City__c : city }); log.debug("salesforceResponse",salesforceResponse); if (salesforceResponse.success) { log.debug("Customer Created in Salesforce", "Customer ID: " + salesforceResponse.id); } else { throw new Error('Failed to create customer in Salesforce: ' + JSON.stringify(salesforceResponse.error)); } } catch (e) { log.error('Error creating customer in Salesforce', e.message); } }
}
function getSalesforceAccessToken() {
var response = https.post({
url: ‘https://login.salesforce.com/services/oauth2/token’,
headers: {
‘Content-Type’: ‘application/x-www-form-urlencoded’
},
body: {
grant_type: ‘password’,
client_id: ‘3MVG9WVXk15qiz1J2CGuyt8CbhFvBwrqqtZZSwfM3h92O1pmg7H3RD079_sWD6mm31uVM3_2zlO8iMfP.qPCr’,
client_secret: ‘926ED1F124070780A26EB951A37B18BC99D5344245D6A28E94901A59E0872A7B’,
username: ‘[email protected]’,
password: ‘8768368’
}
});var responseBody = JSON.parse(response.body); if (response.code === 200) { return responseBody.access_token; } else { log.error('Error getting Salesforce access token', responseBody); return null; }
}
function updateSalesforceCustomer(accessToken, updateData) {
var response = https.post({
url: ‘https://companynoida4-dev-ed.develop.my.salesforce.com/services/data/v61.0/sobjects/Customer/0o6dM00000008dVQAQ’,
headers: {
‘Authorization’: ‘Bearer ‘ + accessToken,
‘Content-Type’: ‘application/json’,
‘X-HTTP-Method-Override’: ‘PATCH’
},
body: JSON.stringify(updateData)}); var responseBody = JSON.parse(response.body); if (response.code === 201) { return { success: true, id: responseBody.id }; } else { log.error('Error creating customer in Salesforce', responseBody); return { success: false, error: responseBody }; }
}
return {
afterSubmit: afterSubmit
};
});