用于Web服务的NetSuite Suitescript和第三方API

时间:2014-12-11 02:30:08

标签: web-services netsuite

我只是想确保自己走在正确的道路上,所以需要你的指导。

我正在开展一个项目,我需要将NetSuite与第三方应用程序集成。第三方应用程序以 -

的形式公开其API

http:// www........asmx url

因此,我在NetSuite中将代码构建为“用户事件”脚本以调用此API;发出SOAP请求;使用nlapiRequestURL()以XML格式获取该请求;格式化数据;然后使用如下代码:

customerRecord.setFieldValue('comments', response.getBody()); 

在NS数据库中添加值?这是正确的方法吗?

我有一个场景,我需要搜索在第三方应用程序中创建的所有新的销售订单,客户等,以便在5-10分钟内集成到NetSuite中。我怎样才能做到这一点?第三方应用程序中没有触发器,只有那些API。

我是否需要编写一个预定脚本来复制我在用户事件脚本中所做的事情?

有人可以建议正确的方法吗?

2 个答案:

答案 0 :(得分:1)

是的,如果您在方案中选择计划脚本,事情会更容易。用户事件非常类似于基于操作,并且不符合您必须每10/15分钟检查一次以查找更新记录的标准。

一些要点:

使用nlapiRequestURL()时请注意此API有两个versions

  • 客户端版本和服务器端版本。
  • 在服务器调用中执行此API时,没有回调参数。因此,服务器端调用中的函数签名是nlapiRequestURL(url,postdata,headers,httpMethod)。
  • 在客户端脚本中执行此API时,函数签名为nlapiRequestURL(url,postdata,headers,callback,httpMethod)。

同样重要的是你如何将你的NS与另一个第三方应用程序同步。从您的角度来看,我可以看到您希望将所有更改从外部服务器复制到NS。但请确保您过滤过渡数据以仅获取已创建/更新的记录。否则你最终会每15分钟不必要地拨打10,000条记录。并且它会给NS带来负担。

然而,在您的后续查询中,NS确实提供了使用Java,.Net,PHP以及当然的Suitescript的灵活性。所以你可以使用任何一个适合你的要求。如果您的传入数据是基于SOAP的,那么您肯定需要一个XML解析器来解析它。所以您可以选择使用Java或.Net。否则如果它是JSON并且你想要一个轻量级媒体,那么你可以选择setscript,它会让你轻松自如。

答案 1 :(得分:0)

您应该始终在NetSuite预定脚本中执行此类操作。不应使用NetSuite用户事件,因为它们总是需要在NetSuite记录类型上进行用户操作(记录加载,记录提交)以进行调用。

对于您的用例“搜索在第三方应用程序中创建的所有新销售订单,客户等,以便在5-10分钟内集成到NetSuite中”,它是搜索所有新数据的预定作业的理想候选者在外部系统上,然后将其放回NetSuite。此外,由于计划脚本具有更高(10000)API使用点限制,您可以在计划脚本中处理许多记录。