跳到主要内容

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)信息

  1. 登录您的NetSuite帐户

  2. 点击设置(Setup) » 公司(Company) » 公司信息(Company Information)

  3. 复制您的账户ID(Account ID)。您的帐户ID就是您的领域(Realm)。如果您使用普通帐户,它看起来像1234567,如果是测试账户,它看起来像1234567_SB2 NetSuite Realm

步骤1.2:启用功能

  1. 转到设置(Setup) » 公司(Company) » 启用功能(Enable Features)

  2. 点击SuiteCloud选项卡

  3. 向下滚动到**管理身份验证 (Manage Authentication)**部分

  4. 启用REST WEB SERVICES。OAuth 2.0连接需要启用REST Web Services的OAuth 2.0;旧版TBA连接需要启用基于令牌的身份验证(TOKEN-BASED AUTHENTICATION)

  5. 保存更改 NetSuite Token Based Auth

步骤1.3:创建接口

  1. 转到设置(Setup) » 集成(Integration) » 管理集成(Manage Integrations) » 新建(New)

  2. 填写名称字段。这是对集成的描述

  3. **状态(State)保持已启用(enabled)**状态

  4. 设置您的并发限制,并确保它等于或小于最大并发性限制

  5. 新连接请配置REST Web Services的OAuth 2.0授权码访问。此数据源使用rest_webservices scope。旧连接请在验证(Authentication)部分启用基于令牌的身份验证(Token-Based Authentication)

  6. 如果使用Daspire的一键OAuth按钮,请把NetSuite集成记录中的重定向URI设置为Daspire Web应用回调地址,例如https://app.daspire.com/auth_flow。这个URI必须和当前环境的公网Web应用地址完全一致。

  7. 保存更改

  8. OAuth 2.0连接需要复制NetSuite显示的Client IDClient Secret。NetSuite只显示一次Client Secret;如果遗失需要重置。Daspire会在用户点击NetSuite OAuth设置弹窗里的保存并授权时获取访问令牌和刷新令牌。TBA连接会显示一次消费者密钥(Consumer Key)消费者秘密(Consumer Secret),请复制保存。 NetSuite Integration

步骤1.4:设置角色

  1. 转到设置(Setup) » 用户/角色(Users/Roles) » 管理角色(Manage Roles) » 新建(New)

  2. 填写**名称(Name)**字段。

  3. 向下滚动到**权限(Permissions)**部分

  4. 您需要手动选择选择列表中的每条记录,并在下一个选项卡上授予**全部(Full)**级别的访问权限:(事务处理、报告、列表、设置、自定义记录)。在这一点上您非常需要注意。 NetSuite Setup Role

步骤1.5:设置用户

  1. 转到设置(Setup) » 用户/角色(Users/Roles) » 管理用户(Manage Users)

  2. 在**名称(Name)**列中单击您要授予访问权限的用户名

  3. 然后点击用户名下的**编辑(Edit)**按钮

  4. 向下滚动到底部的**访问权限(Access)**选项卡

  5. 从下拉列表中选择您在步骤1.4中创建的角色

  6. 保存更改 NetSuite Setup User

步骤1.6:为角色创建访问令牌(仅TBA)

  1. 转到设置(Setup) » 用户/角色(Users/Roles) » 访问令牌(Access Tokens) » 新建(New)

  2. 选择一个应用程序名称(Application Name)

  3. 用户(User)中,选择您在步骤1.4中分配了**权限(Role)**的用户

  4. 角色(Role)中,选择您在步骤1.5中给用户分配的权限

  5. 在**令牌名称(Token Name)**中,您可以为正在创建的令牌指定一个描述性名称

  6. 保存更改

  7. 之后会显示一次令牌ID(Token ID)令牌秘密(Token Secret),复制它们。 NetSuite Access Token

步骤 1.7:获取公司的默认语言

  1. 转到设置(Setup) » 设置管理器(Setup Manager) » 公司(Company) » 常规首选项(General Preference)

  2. 单击**语言(Language)**选项卡

  3. 您会在这里找到公司的默认语言 NetSuite Default Company Language

步骤1.8:总结

您已获取以下参数:

  • 领域/Realm(账户ID/Account ID)
  • OAuth 2.0令牌信息,或旧版TBA凭据
  • 公司的默认语言
  • 此外,您还为您早先创建的用户和角色正确配置了正确权限

第2步:在Daspire中设置数据源

  1. 转到Daspire控制面板。

  2. 在左侧导航栏中,点击数据源。在右上角,点击添加新数据源

  3. 在数据源设置页面上,从数据源类型下拉列表中选择NetSuite并输入该数据源的名称。

  4. 添加领域(Realm)

  5. 选择身份验证(Authentication)。新连接使用OAuth 2.0;已有TBA凭据可选择基于令牌的身份验证(旧版)

  6. OAuth 2.0连接点击OAuth授权按钮即可。首次授权时,Daspire会要求输入该客户的NetSuite Client ID和Client Secret,保存到当前workspace,然后打开NetSuite授权页;回调后会把access_tokenrefresh_tokenclient_idclient_secret写入连接器的credentials对象。如果当前环境还不可用一键OAuth,则手动填写OAuth 2.0访问令牌或刷新令牌凭据。TBA连接需要添加消费者密钥消费者秘密令牌ID令牌秘密

  7. 添加语言

  8. 添加REST Record Service数据流需要的对象类型,例如customersalesorder

  9. 当对象类型不为空时,添加开始日期

  10. 可选:添加SuiteQL查询。每条查询需要一个数据流名称和一条只读SuiteQL SELECT查询。

  11. 点击保存并测试

支持的同步模式

NetSuite数据源支持以下同步模式:

  • REST Record Service数据流:完全复制;当记录元数据提供支持的修改时间游标时支持增量复制。
  • SuiteQL查询数据流:完全复制。

支持的数据流

  • 记录数据流来自配置的对象类型,并受角色、用户权限和账户设置影响。
  • SuiteQL数据流来自配置的SuiteQL查询。它适合分析型关联查询、报表形态抽取,以及更容易通过NetSuite分析数据源查询的记录。

性能考虑

  1. 此接口受Netsuite单个接口的并发限制的限制。如果达到并发限制,同步可能暂停或失败。

您可以在设置(Setup) » 集成(Integration) » **集成治理(Integration Goverance)中找到每个集成的并发限制。在并发用量(Concurrency Usage)**部分,您可以查看帐户并发限制和未分配的并发限制。

  1. 如果由于并发限制导致同步失败,您可以尝试重新同步至同步成功。

  2. 您也可以联系NetSuite客户支持更改您的并发限制

  3. 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数据源不要使用mcp scope。
  • Daspire共享OAuth回调是公网应用域名下的/auth_flow。如果NetSuite返回invalid_redirect_uri,需要更新NetSuite集成记录,使其中的重定向URI和Daspire当前环境完全一致。
  • 如果OAuth按钮没有显示,请确认NetSuite source spec包含advanced_auth、OAuth连接器功能开关已启用,并且身份验证选择的是OAuth 2.0
  • 如果弹窗还没打开NetSuite就失败,请确认首次设置弹窗已成功保存workspace OAuth配置,并且当前用户是workspace owner或administrator。本仓库里的生产source definition ID是4f2f093d-ce44-4121-8118-9d13b7bfccd0
  • NetSuite授权码流程的刷新令牌有有效期。如果已保存的refresh token过期,需要重新OAuth连接。