Closed. This question does not meet Stack Overflow guidelines 。它目前不接受答案。












想改善这个问题吗?更新问题,使其成为 Stack Overflow 的 on-topic

去年关闭。



Improve this question




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

最佳答案

避免像瘟疫一样使用 SuiteTalk SOAP Web 服务 API;它只会浪费你的时间。仅当您可以正常使用SOAP API且不介意与有问题的SOAP API交互时,才有可能使用Netsuite SOAP API,并且不要花很多时间来实现可靠的错误处理,以解决随机SOAP错误和并发错误。您将需要大量时间来开发强大的容错能力。所有的时间都将被浪费掉;因为没有多少时间可以使 SOAP API 性能可以接受。

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

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

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

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

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

10-05 21:04
查看更多