我如何知道选择哪个 NetSuite 集成选项(suiteTalk、suitelet 或 restlet)将 NetSuite 集成到我们的第三方应用程序?

How do I know which NetSuite integration option to choose (suiteTalk, suitelet or restlet) for integrating NetSuite to our third party application?

我正在尝试将我们的第三方应用程序与 NetSuite 集成。我希望能够将从我们的第三方系统(使用 REST API)生成的销售发票详细信息导入到 NetSuite 发票表格中。 导入的频率不是太重要-立即导入是理想的,但每天发送一次数据也可以。

我想知道我必须使用什么来执行此操作API 集成 - SuiteTalk、RESTlet 或 Suitelet。

我对这个话题完全陌生,经过几天的研究,我了解到 API 与 netsuite 集成有 3 个选项(Suitelets、restlets 和 suitetalk,其中包含基于 REST 和 SOAP 的 Web服务)。我还了解到有预定的脚本和用户事件,但我不太清楚这个想法。

我需要一些帮助来确定我应该选择哪个集成选项。 感谢有关 netsuite API 集成的任何和所有信息!

我会避免 REST/SOAP。 SOAP 已过时,REST 不完整且难以使用。

Suitelet 适用于当您想要向前端用户展示自己的自定义 UI 时,例如与任何特定记录无关的特殊新型自定义表单。可能不是你想要的。

您可能想要设计一个 restlet。 restlet 是您在 NetSuite 中设置自己的自定义 url 的一种方式,您的程序可以从 NetSuite 外部与之通信。就像一个网页。您可以在 URL 内部或 HTTP 请求主体(例如 JSON 对象)内将数据传递给 restlet,并且您可以从 HTTP 主体中取回数据响应。

restlet 是 SuiteTalk 的一部分。验证restlet 的方法与验证REST 请求的方法相同API。所以,学习 SuiteTalk 是有帮助的。您用来编写 restlet 的代码 SuiteScript 与用于编写 suitelet 和其他类型脚本的代码是同一类代码。

所以您会想要了解 SuiteTalk,然后,尤其是 SuiteTalk restlets。

这是一个非常主观的问题。

过去,SOAP/SuiteTalk 在基础架构方面要容易一些,而且由于 Netsuite 的产品不断变化,REST/SuiteTalk 将来可能会填补这个 space。

自从 Netsuite 弃用完全访问角色后,设置集成几乎总是涉及集成商必须提供权限规范。最简单的方法是通过 Bundle。对于基于令牌的身份验证 (TBA),还需要一个集成记录,您需要从中获取消费者 ID 和秘密令牌。

因此,在撰写本文时,SOAP/SuiteTalk 和 RESTLets 的设置大致相同。传达这些内容的最简单方法是使用捆绑包,因此如果您是拥有开发帐户的 Netsuite 开发人员,您可以将它们设置在捆绑包中并让您的客户导入它们。

目前为止相等但有差异: SOAP/Suitetalk 很慢。 IMO 不适合交互式界面 SOAP/Suitetalk代码全部在您的外部应用程序中,因此更改代码不需要在目标帐户中进行任何更改。

RESTlets 可以非常快。我已经将这些用于客户交互。 更新需要 re-loading 您的捆绑包或覆盖目标帐户中的捆绑包文件(如果管理员刷新捆绑包会造成严重破坏) RESTlets 让您可以访问您正在使用的帐户的功能 运行,这样代码就可以 运行 适当的块例如矩阵项目、multi-location 库存、one-world、pick/pack/ship、批量定价、multi-currency 都会更改您的代码所针对的帐户的数据模型 运行。 RESTlets 可以检测启用了哪些功能; SOAP/SuiteTalk 不能。

目前我看到 SOAP/Suitetalk 的唯一优势是代码更新不需要访问目标帐户。

谁在进行更改?如果是你的NetSuite开发者,那么你的选择是SUITELET或者RESTLET。

如果是您的 third-party 应用程序团队,他们拥有代码和流程并在 NetSuite 之外完成所有工作 - 您的选择是 SUITETALK/SOAP。当然,他们需要对 NetSuite 有所了解,但您的业务分析师足以支持他们。从 2020.1+ 开始,除了 SOAP 之外,还支持原生 REST API,以防您仍想使用 REST,但不想编写自己的 RESTLETS。

正如上面的评论所提到的,Suitetalk 确实比调用 RESTLETS 执行得慢一点。所以这可能是决定因素之一。

只有当您想绕过所有身份验证方案时,您才可以考虑将 SUITELET 集成,方法是将 suitelet 设置为 public。不过非常不可取。

如果 third-party 应用程序支持 REST API,您可以直接从 NetSuite 中调用它们 - 从用户事件或计划脚本中调用。

您还可以考虑 iPAAS 平台,如 Dell Boomi、Celigo、Jitterbit 等。这些是 general-purpose 集成平台,可以轻松地将一个平台连接到另一个平台,只需最少的编码。如果您的公司已经为其他企业应用程序投资了这些 iPAAS 平台,那么选择就简单多了。