Oracle NetSuite SuiteTalk¶
Connect Foundry to Oracle NetSuite using the SuiteTalk framework and start syncing data from your NetSuite ERP to Foundry.
Supported capabilities¶
| Capability | Status |
|---|---|
| Exploration | 🟢 Generally available |
| Batch syncs | 🟢 Generally available |
| Incremental | 🟢 Generally available |
Setup¶
- Open the Data Connection application and select + New Source in the upper right corner of the screen.
- Select NetSuite SuiteTalk from the available connector types.
- Follow the additional configuration prompts to continue the setup of your connector using the information in the sections below.
Learn more about setting up a connector in Foundry.
Authentication¶
The NetSuite SuiteTalk source uses token-based authentication (TBA) ↗.
:::callout{theme="neutral"} The token-based authentication feature must be enabled on your account. To enable TBA, see the NetSuite documentation ↗. :::
Configure user roles and permissions in NetSuite¶
Access control in NetSuite is configured via the assignment of roles to a user; each role is a collection of permissions that define what tasks the user can perform and what data they can access. We recommend the following configuration for the user that will connect to Foundry:
- Create a dedicated role with appropriate permissions.
- From NetSuite’s tool bar, select Setup > Users/Roles > Manage Roles > New and provide an explicit name to the role. We recommend using
foundry-role.- You can optionally tick the Web Services only configuration box.
- Add system-wide permissions to the role by navigating to the bottom of the role page and selecting Permissions > Setup. The minimal required permissions you need to add are:
- Log In using access tokens,
- SOAP Web Services,
- Other Custom Fields,
- Custom Body Fields,
- Custom Item Fields,
- Remember to Save the permissions.
-
Add table permissions to the role for tables you want to be able to query from Foundry by navigating to the bottom of the role page and selecting Permissions > Lists. Select the tables you want, select Add then Save.
-
Assign the new role to a user.
- From NetSuite’s tool bar, select Setup > Users/Roles > Manage Users. Select the user you want to use to connect to Foundry, and select Edit.
- Navigate to the Access tab and make sure the Give Access checkbox is ticked.
- In the Roles tab, select the newly created role (
foundry-role) from the dropdown list, select Add and then Save.
To verify that you added the correct permissions, log in as the user you have assigned the new role to, and check that you can view all the data that you expect.
Configure integration and access tokens in NetSuite¶
Integration records are used in NetSuite to manage connections to external systems. We recommend the following configuration to connect to Foundry:
- Create a new Integration record using TBA (see more details ↗).
- From NetSuite’s tool bar, select Setup > Integration > Manage Integrations > New and provide an explicit name to the integration. We recommend
foundry-integration. - Make sure the State is Enabled and that only Token-based Authentication is ticked. All other boxes should be unticked.
- After you Save, make a note of the
CLIENT IDandCLIENT SECRET. You will need them to configure Foundry.
:::callout{theme="neutral"}
CLIENT ID and CLIENT SECRET will only be displayed the first time you save the integration record. To get new values, you must reset the CLIENT ID and CLIENT SECRET, which invalidates the previous values.
:::
- Create and assign a TBA token.
- From NetSuite’s tool bar, select Setup > User/Roles > Access Tokens > New.
- If you can't manage tokens for other users, navigate to the bottom-left Settings panel on NetSuite's homepage and select Manage Access Tokens.
- Select the newly created application (
foundry-integrationin our example), the user to which you've assigned the newly created role (foundry-role), and the newly created role.- If you can't manage tokens for other users, your user will be selected by default. Make sure your user has the newly created role (
foundry-role) assigned to it.
- If you can't manage tokens for other users, your user will be selected by default. Make sure your user has the newly created role (
- After you Save, make a note of the
TOKEN IDandTOKEN SECRET. You will need them to configure Foundry.
:::callout{theme="neutral"}
TOKEN ID and TOKEN SECRET will only be displayed the first time you save the token. You will need to create a new token to get a new TOKEN ID and TOKEN SECRET.
:::
Learn more about token management in NetSuite. ↗
Networking¶
The NetSuite SuiteTalk connector requires network access to the NetSuite instance to which you want to connect.
Foundry worker connection¶
If your connection runs on a Foundry worker, you will need to add the following egress policies to the source:
<ACCOUNT_ID>.suitetalk.api.netsuite.comon port 443; you can find your account ID in the URL when connected to NetSuite.webservices.netsuite.comon port 443.
If these egress policies do not exist, you can request them; otherwise you can add them.
Connection details¶
| Option | Required? | Description |
|---|---|---|
Account ID |
Yes | NetSuite Account ID, found as a prefix in your NetSuite's instance URL |
Client ID |
Yes | CLIENT ID copied when creating the foundry-integration |
Client secret |
Yes | CLIENT SECRET copied when creating the foundry-integration |
Access token |
Yes | TOKEN ID copied when creating the TBA token |
Access token secret |
Yes | TOKEN SECRET copied when creating the TBA token |
Creating a sync¶
The NetSuite SuiteTalk source can be explored to discover tables and create new syncs. You can also manually create new syncs from the overview page of the source.
中文翻译¶
Oracle NetSuite SuiteTalk¶
使用 SuiteTalk 框架将 Foundry 连接到 Oracle NetSuite,并开始将 NetSuite ERP 中的数据同步到 Foundry。
支持的功能¶
| 功能 | 状态 |
|---|---|
| 探索(Exploration) | 🟢 正式发布(Generally available) |
| 批量同步(Batch syncs) | 🟢 正式发布(Generally available) |
| 增量同步(Incremental) | 🟢 正式发布(Generally available) |
设置¶
- 打开数据连接(Data Connection)应用程序,在屏幕右上角选择 + 新建源(+ New Source)。
- 从可用的连接器类型中选择 NetSuite SuiteTalk。
- 按照后续配置提示,使用以下各节中的信息继续设置您的连接器。
了解更多关于在 Foundry 中设置连接器(setting up a connector)的信息。
身份验证(Authentication)¶
NetSuite SuiteTalk 源使用基于令牌的身份验证(TBA) ↗。
:::callout{theme="neutral"} 您的账户必须启用基于令牌的身份验证功能。要启用 TBA,请参阅 NetSuite 文档 ↗。 :::
在 NetSuite 中配置用户角色和权限¶
NetSuite 中的访问控制通过为用户分配角色来配置;每个角色都是一组权限的集合,定义了用户可以执行的任务以及可以访问的数据。对于将要连接到 Foundry 的用户,我们建议进行以下配置:
- 创建一个具有适当权限的专用角色。
- 从 NetSuite 的工具栏中,选择 设置(Setup) > 用户/角色(Users/Roles) > 管理角色(Manage Roles) > 新建(New),并为该角色提供一个明确的名称。我们建议使用
foundry-role。- 您可以选择勾选 仅限 Web 服务(Web Services only) 配置框。
- 通过导航到角色页面底部并选择 权限(Permissions) > 设置(Setup),向该角色添加系统级权限。您需要添加的最低必要权限包括:
- 使用访问令牌登录(Log In using access tokens),
- SOAP Web 服务(SOAP Web Services),
- 其他自定义字段(Other Custom Fields),
- 自定义主体字段(Custom Body Fields),
- 自定义项目字段(Custom Item Fields),
- 记得 保存(Save) 权限。
-
通过导航到角色页面底部并选择 权限(Permissions) > 列表(Lists),向该角色添加您希望从 Foundry 查询的表的权限。选择您需要的表,选择 添加(Add),然后 保存(Save)。
-
将新角色分配给用户。
- 从 NetSuite 的工具栏中,选择 设置(Setup) > 用户/角色(Users/Roles) > 管理用户(Manage Users)。选择您要用于连接到 Foundry 的用户,然后选择 编辑(Edit)。
- 导航到 访问(Access) 选项卡,确保 授予访问权限(Give Access) 复选框已勾选。
- 在 角色(Roles) 选项卡中,从下拉列表中选择新创建的角色(
foundry-role),选择 添加(Add),然后 保存(Save)。
要验证您是否添加了正确的权限,请以已分配新角色的用户身份登录,并检查您是否可以查看所有预期的数据。
在 NetSuite 中配置集成和访问令牌¶
集成记录(Integration records)在 NetSuite 中用于管理与外部系统的连接。我们建议进行以下配置以连接到 Foundry:
- 使用 TBA 创建新的集成记录(参见更多详情 ↗)。
- 从 NetSuite 的工具栏中,选择 设置(Setup) > 集成(Integration) > 管理集成(Manage Integrations) > 新建(New),并为该集成提供一个明确的名称。我们建议使用
foundry-integration。 - 确保 状态(State) 为 已启用(Enabled),并且仅勾选 基于令牌的身份验证(Token-based Authentication)。所有其他框应保持未勾选状态。
- 保存(Save) 后,请记下
CLIENT ID和CLIENT SECRET。您将需要它们来配置 Foundry。
:::callout{theme="neutral"}
CLIENT ID 和 CLIENT SECRET 仅在您首次保存集成记录时显示。要获取新值,您必须重置 CLIENT ID 和 CLIENT SECRET,这将使之前的值失效。
:::
- 创建并分配 TBA 令牌。
- 从 NetSuite 的工具栏中,选择 设置(Setup) > 用户/角色(User/Roles) > 访问令牌(Access Tokens) > 新建(New)。
- 如果您无法管理其他用户的令牌,请导航到 NetSuite 主页左下角的 设置(Settings) 面板,选择 管理访问令牌(Manage Access Tokens)。
- 选择新创建的 应用程序(application)(在我们的示例中为
foundry-integration)、已分配新创建角色(foundry-role)的用户,以及新创建的角色。- 如果您无法管理其他用户的令牌,您的用户将被默认选中。请确保您的用户已分配新创建的角色(
foundry-role)。
- 如果您无法管理其他用户的令牌,您的用户将被默认选中。请确保您的用户已分配新创建的角色(
- 保存(Save) 后,请记下
TOKEN ID和TOKEN SECRET。您将需要它们来配置 Foundry。
:::callout{theme="neutral"}
TOKEN ID 和 TOKEN SECRET 仅在您首次保存令牌时显示。要获取新的 TOKEN ID 和 TOKEN SECRET,您需要创建一个新令牌。
:::
网络(Networking)¶
NetSuite SuiteTalk 连接器需要能够访问您要连接的 NetSuite 实例。
Foundry 工作节点连接(Foundry worker connection)¶
如果您的连接在 Foundry 工作节点(Foundry worker) 上运行,您需要向源添加以下出站策略(egress policies):
- 端口 443 上的
<ACCOUNT_ID>.suitetalk.api.netsuite.com;您可以在连接到 NetSuite 时的 URL 中找到您的账户 ID。 - 端口 443 上的
webservices.netsuite.com。
如果这些出站策略不存在,您可以请求添加它们;否则您可以自行添加。
连接详情(Connection details)¶
| 选项 | 是否必需? | 描述 |
|---|---|---|
账户 ID(Account ID) |
是 | NetSuite 账户 ID,可在 NetSuite 实例 URL 中找到,作为前缀 |
客户端 ID(Client ID) |
是 | 创建 foundry-integration 时复制的 CLIENT ID |
客户端密钥(Client secret) |
是 | 创建 foundry-integration 时复制的 CLIENT SECRET |
访问令牌(Access token) |
是 | 创建 TBA 令牌 时复制的 TOKEN ID |
访问令牌密钥(Access token secret) |
是 | 创建 TBA 令牌 时复制的 TOKEN SECRET |
创建同步(Creating a sync)¶
可以对 NetSuite SuiteTalk 源进行探索(explored),以发现表并创建新的同步。 您也可以从源的概览页面手动创建新的同步(manually create new syncs)。