netsuite - netsuite 有 RESTful API 吗?

标签 netsuite

我想知道Netsuite是否提供REST ful api?目前我正在将我的应用程序(java)与基于soap的网络服务集成。我已经做了一些研究,但没有得到有用的信息。如果它确实如此,我在哪里可以找到api?

最佳答案

像躲避瘟疫一样避免使用 SuiteTalk SOAP Web 服务 API;它只会浪费你的时间。仅当您可以接受 SOAP API 的非性能、不介意与严重错误的 SOAP API 交互、有足够的时间来实现强大的错误处理以解决随机 SOAP 错误和并发错误时,Netsuite SOAP API 的使用才是可行的。您需要很多时间来开发强大的容错能力。所有的时间都将是浪费时间;因为无论花多少时间,SOAP API 的性能都无法让人接受。

在写入数据时,RESTlet 优于 SOAP API; RESTlet 的写入性能往往稍高一些(尽管响应仍然非常慢并且不适合面向客户的应用程序)。

RESTlet 是将数据写入 Netsuite 的可行的短期解决方案。它本质上是一个 JS 脚本,允许您设置基于 token 的身份验证穷人的 JSON 端点;您可以在其中发送 JSON 请求正文并获取 JSON 响应正文。在不需要通过 ReSTLet 写入太多数据的情况下(例如 SalesOrders),使用是合理的。基于队列的系统和具有重试功能的后台作业将缓解随机 Netsuite 错误问题(并发错误、超时等)。

如果您必须经常写入一堆 Netsuite 实体,并且使用 Netsuite 作为数据的真实来源,而不是尝试在 Netsuite 之上构建整个 REST(如 JSON API);我建议实现一个发布/订阅服务,其中 Netsuite 将事件发布到您的应用程序/API 订阅的外部服务。您的应用程序还可以将突变发布到 Netsuite 订阅的 channel 。这样,发送到 Netsuite 的数据突变就可以发生在中间层,从而降低了复杂性。

要为外部应用程序获取 Netsuite 数据,最有效的可用方法似乎是 Netsuite ODBC 数据库驱动程序;它提供与 Netsuite 数据库只读 TableView 的直接连接。对 Postgres 或 MySQL 中具有相同架构的一组项目进行简单的选择查询通常需要 0.5 毫秒或更短的时间;通常需要 15 秒到略多于 100 秒的时间才能返回。

使用 NS ODBC 驱动程序时,Netsuite 中的连接超时和其他错误仍然很常见。尽管查询结果很慢,但在 14 秒内检索一组 5000 个项目所需的所有数据远远优于通过 Netsuite 的 SOAP API 获取相同数据所需的几个小时。

关于netsuite - netsuite 有 RESTful API 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26214549/

相关文章:

netsuite - NetSuite 保存的搜索中出现重复结果

javascript - 如何构建云连接器?

php - 通过 PHP Toolkit 获取 NetSuite 中自定义列表的内容

javascript - 如何使用 nlapiLoadRecord 获取记录类型?

javascript - 我需要交易字段的文本作为通过 portlet 构建的 NetSuite 保存搜索中的变量

NetSuite 为今天的日期保存了搜索公式

rest - 使用 RESTlet 从 Netsuite 获取特定记录类型的所有记录

javascript - 将 Item Fulfillment 与高级模板合并并通过电子邮件发送给 Netsuite 2.0

netsuite - 通过传递国家代码获取 NetSuite SuiteScript 2.0 中国家列表的内部 ID

html - 在NetSuite中,如何在高级PDF/HTML模板中打印相关记录