NetSuite
此页面包含NetSuite的设置指南和参考信息。
Daspire使用SuiteTalk REST Web服务获取NetSuite数据。此数据源可通过REST Record Service读取记录,也可以通过REST Query Service执行命名的SuiteQL查询。
新建NetSuite集成时,建议优先使用OAuth 2.0。基于令牌的身份验证(TBA)仍然支持,用于已有连接和迁移兼容。
前提条件
- Oracle NetSuite帐户
- 允许访问所有帐户权限选项
- 领域(Realm)
- OAuth 2.0访问令牌,或带客户端凭据的OAuth 2.0刷新令牌
- 如果使用Daspire托管的一键OAuth:需要在NetSuite OAuth 2.0集成记录中把重定向URI设置为Daspire应用地址加
/auth_flow,并在Daspire的NetSuite OAuth设置弹窗中保存该客户的Client ID和Client Secret - 对于旧版TBA连接:消费者密钥、消费者秘密、令牌ID和令牌秘密
- 语言(公司的默认语言)
设置指南
第1步:设置NetSuite帐户并获取所需信息
步骤1.1:获取领域(Realm)信息
-
登录您的NetSuite帐户
-
点击设置(Setup) » 公司(Company) » 公司信息(Company Information)
-
复制您的账户ID(Account ID)。您的帐户ID就是您的领域(Realm)。如果您使用普通帐户,它看起来像1234567,如果是测试账户,它看起来像1234567_SB2

步骤1.2:启用功能
-
转到设置(Setup) » 公司(Company) » 启用功能(Enable Features)
-
点击SuiteCloud选项卡
-
向下滚动到**管理身份验证 (Manage Authentication)**部分
-
启用REST WEB SERVICES。OAuth 2.0连接需要启用REST Web Services的OAuth 2.0;旧版TBA连接需要启用基于令牌的身份验证(TOKEN-BASED AUTHENTICATION)。
-
保存更改

步骤1.3:创建接口
-
转到设置(Setup) » 集成(Integration) » 管理集成 (Manage Integrations) » 新建(New)
-
填写名称字段。这是对集成的描述
-
**状态(State)保持已启用(enabled)**状态
-
设置您的并发限制,并确保它等于或小于最大并发性限制
-
新连接请配置REST Web Services的OAuth 2.0授权码访问。此数据源使用
rest_webservicesscope。旧连接请在验证(Authentication)部分启用基于令牌的身份验证(Token-Based Authentication)。 -
如果使用Daspire的一键OAuth按钮,请把NetSuite集成记录中的重定向URI设置为Daspire Web应用回调地址,例如
https://app.daspire.com/auth_flow。这个URI必须和当前环境的公网Web应用地址完全一致。 -
保存更改
-
OAuth 2.0连接需要复制NetSuite显示的Client ID和Client Secret。NetSuite只显示一次Client Secret;如果遗失需要重置。Daspire会在用户点击NetSuite OAuth设置弹窗里的保存并授权时获取访问令牌和刷新令牌。TBA连接会显示一次消费者密钥(Consumer Key)和消费者秘密(Consumer Secret),请复制保存。

步骤1.4:设置角色
-
转到设置(Setup) » 用户/角色(Users/Roles) » 管理角色(Manage Roles) » 新建(New)
-
填写**名称(Name)**字段。
-
向下滚动到**权限(Permissions)**部分
-
您需要手动选择选择列表中的每条记录,并在下一个选项卡上授予**全部(Full)**级别的访问权限:(事务处理、报告、列表、设置、自定义记录)。在这一点上您非常需要注意。

步骤1.5:设置用户
-
转到设置(Setup) » 用户/角色(Users/Roles) » 管理用户(Manage Users)
-
在**名称(Name)**列中单击您要授予访问权限的用户名
-
然后点击用户名下的**编辑(Edit)**按钮
-
向下滚动到底部的**访问权限(Access)**选项卡
-
从下拉列表中选择您在步骤1.4中创建的角色
-
保存更改

步骤1.6:为角色创建访问令牌(仅TBA)
-
转到设置(Setup) » 用户/角色(Users/Roles) » 访问令牌(Access Tokens) » 新建(New)
-
选择一个应用程序名称(Application Name)
-
在用户(User)中,选择您在步骤1.4中分配了**权限(Role)**的用户
-
在角色(Role)中,选择您在步骤1.5中给用户分配的权限
-
在**令牌名称(Token Name)**中,您可以为正在创建的令牌指定一个描述性名称
-
保存更改
-
之后会显示一次令牌ID(Token ID)和令牌秘密(Token Secret),复制它们。

步骤 1.7:获取公司的默认语言
-
转到设置(Setup) » 设置管理器(Setup Manager) » 公司(Company) » 常规首选项(General Preference)
-
单击**语言(Language)**选项卡
-
您会在这里找到公司的默认语言

步骤1.8:总结
您已获取以下参数:
- 领域/Realm(账户ID/Account ID)
- OAuth 2.0令牌信息,或旧版TBA凭据
- 公司的默认语言
- 此外,您还为您早先创建的用户和角色正确配置了正确权限
第2步:在Daspire中设置数据源
-
转到Daspire控制面板。
-
在左侧导航栏中,点击数据源。在右上角,点击添加新数据源。
-
在数据源设置页面上,从数据源类型下拉列表中选择NetSuite并输入该数据源的名称。
-
添加领域(Realm)
-
选择身份验证(Authentication)。新连接使用OAuth 2.0;已有TBA凭据可选择基于令牌的身份验证(旧版)。
-
OAuth 2.0连接点击OAuth授权按钮即可。首次授权时,Daspire会要求输入该客户的NetSuite Client ID和Client Secret,保存到当前workspace,然后打开NetSuite授权页;回调后会把
access_token、refresh_token、client_id和client_secret写入连接器的credentials对象。如果当前环境还不可用一键OAuth,则手动填写OAuth 2.0访问令牌或刷 新令牌凭据。TBA连接需要添加消费者密钥、消费者秘密、令牌ID和令牌秘密。 -
添加语言
-
添加REST Record Service数据流需要的对象类型,例如
customer或salesorder。 -
当对象类型不为空时,添加开始日期。
-
可选:添加SuiteQL查询。每条查询需要一个数据流名称和一条只读SuiteQL
SELECT查询。 -
点击保存并测试
支持的同步模式
NetSuite数据源支持以下同步模式:
- REST Record Service数据流:完全复制;当记录元数据提供支持的修改时间游标时支持增量复制。
- SuiteQL查询数据流:完全复制。
支持的数据流
- 记录数据流来自配置的对象类型,并受角色、用户权限和账户设置影响。
- SuiteQL数据流来自配置的SuiteQL查询。它适合分析型关联查询、报表形态抽取,以及更容易通过NetSuite分析数据源查询的记录。
性能考虑
- 此接口受Netsuite单个接口的并发限制的限制。如果达到并发限制,同步可能暂停或失败。
您可以在设置(Setup) » 集成(Integration) » **集成治理(Integration Goverance)中找到每个集成的并发限制。在并发用量(Concurrency Usage)**部分,您可以查看帐户并发限制和未分配的并发限制。
-
如果由于并发限制导致同步失败,您可以尝试重新同步至同步成功。
-
您也可以联系NetSuite客户支持更改您的并发限制。
-
NetSuite REST SuiteQL查询最多返回100,000条结果。如果需要更大的分析型抽取,请评估使用NetSuite2.com数据源的SuiteAnalytics Connect。SuiteAnalytics Connect使用ODBC、JDBC或ADO.NET驱动,和当前REST数据源连接器是两条不同链路。
故障排除
单次可同步的最大表数为6千张。如果由于达到最大表数而无法获取数据架构,我们建议您调整数据源设置。
OAuth一键跳转注意事项
- NetSuite授权端点是账号专属域名:
https://<accountID>.app.netsuite.com/app/login/oauth2/authorize.nl。Daspire会把1234567_SB1这类sandbox Realm规范化为URL子域名1234567-sb1。 - token端点是
https://<accountID>.suitetalk.api.netsuite.com/services/rest/auth/oauth2/v1/token,并使用NetSuite OAuth客户端ID和客户端密钥做HTTP Basic认证。 - Daspire按workspace/客户维度保存NetSuite OAuth应用凭据,不再按整个部署全局共享,避免一个客户的Client ID和Client Secret被另一个客户复用。
- Daspire的一键NetSuite OAuth使用授权码流程、HTTP Basic客户端认证和PKCE S256。浏览器会在OAuth start时生成code verifier/challenge,用户不需要手动输入PKCE值。
- 当前REST数据源不要使用
mcpscope。 - Daspire共享OAuth回调是公网应用域名下的
/auth_flow。如果NetSuite返回invalid_redirect_uri,需要更新NetSuite集成记录,使其中的重定向URI和Daspire当前环境完全一致。 - 如果OAuth按钮没有显示,请确认NetSuite source 已配置为 Daspire 托管 OAuth,OAuth连接器功能开关已启用,并且身份验证选择的是OAuth 2.0。
- 如果弹窗还没打开NetSuite就失败,请确认首次设置弹窗已成功保存workspace OAuth配置,并且当前用户是workspace owner或administrator。本仓库里的生产source definition ID是
4f2f093d-ce44-4121-8118-9d13b7bfccd0。 - NetSuite授权码流程的刷新令牌有有效期。如果已保存的refresh token过期,需要重新OAuth连接。