当前位置 : 主页 > 网页制作 > HTTP/TCP >

netsuite – 使用回叫的SuiteScript 2 Http请求

来源:互联网 收集:自由互联 发布时间:2021-06-16
嗨,我需要与外部设备进行交互,以通过http传输数据.我知道SuiteScript 1有一些限制,但是SuiteScript 2呢?有没有办法用有效负载发出HTTP请求,并在2.0中回电,感谢您的帮助 这是我非常基本的(减
嗨,我需要与外部设备进行交互,以通过http传输数据.我知道SuiteScript 1有一些限制,但是SuiteScript 2呢?有没有办法用有效负载发出HTTP请求,并在2.0中回电,感谢您的帮助 这是我非常基本的(减去有效负载中的大量额外字段),我用它将NetSuite项目发送到Salesforce,然后从响应中使用Salesforce ID更新NetSuite项目.这是你想要的?

define(['N/record','N/https'],function(record,https){
  function sendProductData(context){
    var prodNewRecord=context.newRecord;
    var internalID=prodNewRecord.id;
    var productCode=prodNewRecord.getValue('itemid');
    var postData={"internalID":internalID,"productCode":productCode};
    postData=JSON.stringify(postData);
    var header=[];
    header['Content-Type']='application/json';
    var apiURL='https://OurAPIURL';
    try{
      var response=https.post({
        url:apiURL,
        headers:header,
        body:postData
      });
      var newSFID=response.body;
      newSFID=newSFID.replace('\n','');
    }catch(er02){
      log.error('ERROR',JSON.stringify(er02));
    }

    if(newSFID!=''){
      try{
        var prodRec=record.submitFields({
          type:recordType,
          id:internalID,
          values:{'custitem_sf_id':newSFID,'externalid':newSFID},
        });
      }catch(er03){
        log.error('ERROR[er03]',JSON.stringify(er03));
      }
    }
  }

  return{
    afterSubmit:sendProductData
  }
});

*注意:正如@erictgrubaugh所提到的,承诺将是一个更具可扩展性的解决方案.这只是一个适合我们的快速示例.

网友评论