How to call https.patch in Netsuite to update Salesforce record?

  Kiến thức lập trình

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
    };
    });

Theme wordpress giá rẻ Theme wordpress giá rẻ Thiết kế website

LEAVE A COMMENT