接 IFS Cloud:验证 IAM 凭证并列出投影
把 IFS Cloud 地址、IAM Client ID、Client Secret 和 IAM Token URL 填进 Integration 并测试:系统换取令牌并列出投影,证明凭证可用。本连接只验证连通性,不同步订单、客户或库存。
IFS Cloud 连接器只验证一件事:一个有 API 访问权的 IFS Cloud IAM 客户端(服务账号)能否从本系统登录。测试通过表示系统用您的 Client ID 和 Client Secret 在 IAM Token URL 换到了访问令牌,并从您的 IFS Cloud 实例列出了投影。它不拉订单、不拉客户、不读也不推库存,不同步任何其他单据——IFS 的业务投影随客户版本与定制而异,所以本连接不跑任何单据同步。请用它先证明凭证与实例地址可用,再按您具体的投影安排单据工作。
前置条件#
- 一个能访问的 IFS Cloud 实例及其基址,例如 https://myserver:48080。没有可抄的默认地址。
- 一个有 API 访问权的 IFS Cloud IAM 客户端(服务账号),且您能打开该客户端配置,读到它的 Client ID、Client Secret 与令牌端点。
- 您自己 IAM 的令牌端点,从该 IAM 客户端配置里取。每家部署都不同,这个值必须来自您自己的配置。
- 如果您的部署使用租户,准备好租户值;不使用则该字段留空。
拿凭证#
- 打开有 API 访问权的 IFS Cloud IAM 客户端(服务账号)配置。本连接的 Client ID 与 Client Secret 就来自这个客户端。
- 原样复制该 IAM 客户端配置里显示的 Client ID。
- 复制同一个 IAM 客户端的 Client Secret。请妥善保管:持有它的人能以该服务账号申请令牌。
- 在同一个 IAM 客户端配置里,复制令牌端点,作为 token_url 的值。它是 openid-connect 令牌的形态,但确切地址只属于您的部署——不要抄别家公司或示例里的端点。
- 同时记下您的 IFS Cloud 基址;部署使用租户时,再记下租户值。
填进 Integration#
- 打开 Integration → 连接器市场 → IFS → 新建连接。
- base_url——必填,IFS Cloud 地址:填您的 IFS Cloud 基址,例如 https://myserver:48080。
- tenant——可选,租户:仅当部署使用租户时填,例如 TENANT1;否则留空。
- client_id——必填,IAM Client ID:填有 API 访问权的 IAM 客户端(服务账号)的 Client ID。作为秘密保存。
- client_secret——必填,IAM Client Secret:填同一个 IAM 客户端的 Client Secret。这是密码类型字段,作为秘密保存。
- token_url——必填,IAM Token URL:填从您自己 IAM 客户端配置里复制的令牌端点。没有默认端点,这个值必须来自您自己的 IFS Cloud IAM。
测试连接#
点测试连接。测试做两步真实校验。第一步在您填的 token_url 上走 OAuth2 client credentials 流程,用 client_id 与 client_secret 换访问令牌。第二步带该令牌调用您的实例列投影——GET {base}/main/ifsapplications/projection/v1/AllProjections.svc/Projections?$top=1——同时证明令牌可用、且您的实例能被发现投影。返回 200 才算测通。base_url 缺失,测试以 MISSING_BASE_URL 停下;client_id 或 client_secret 缺失,以 MISSING_CREDENTIALS 停下;token_url 缺失,以 MISSING_CONFIG 停下,都不发请求。测试等 12 秒,超时报 TEST_TIMEOUT。
配 Mapping / 选模板#
本连接目前没有可选择的单据 Mapping。IFS 的业务投影按客户版本与定制命名,所以本连接不提供订单、客户或库存的 Mapping,也不跑同步单据的模板。测试通过后您能看的是投影清单本身:它显示您的实例开放了哪些投影,这是日后按您具体投影安排单据工作时的起点。不要指望选一个 Mapping 就能让订单或库存流动起来——在本连接上不会。
激活#
测试通过后再激活连接。激活保存这条已验证的连接——实例地址、可选租户与 IAM 凭证——以便随时重跑连通性检查,例如 IAM 客户端轮换或实例地址变更之后。
激活不会启动的事:本连接在激活时或按计划都不会拉取或推送订单、客户、库存或任何其他单据。如果您需要与 IFS 做单据同步,那项工作必须针对您实例的实际业务投影来安排,起点就是测试返回的投影清单。
常见问题#
测试以 MISSING_BASE_URL、MISSING_CREDENTIALS 或 MISSING_CONFIG 停下
有必填字段是空的,测试在字段齐全前不发请求。MISSING_BASE_URL 表示 base_url 为空,MISSING_CREDENTIALS 表示 client_id 或 client_secret 为空,此处的 MISSING_CONFIG 表示 token_url 为空。
从您自己的 IAM 客户端配置与实例补全 base_url、client_id、client_secret 与 token_url,保存后重新测试。tenant 仅在部署使用时填。
测试报 INVALID_CREDENTIALS 或 AUTH_FAILED
您的 IAM 拒绝了换取:令牌端点有应答,但不接受这组 Client ID 与 Client Secret,或没有返回访问令牌。常见原因是 Secret 抄自另一个 IAM 客户端、Secret 已轮换,或 token_url 属于与该客户端不同的 IAM。
重新打开同一个 IAM 客户端配置,把 client_id、client_secret 与 token_url 从同一处一起复制,确保三者属于同一个客户端、同一个 IAM。完整重新粘贴后重测。
测试报 INVALID_TOKEN
令牌拿到了,但您的 IFS Cloud 实例在列投影调用时不接受它。这指向发令牌的 IAM 与 base_url 里的实例对不上——例如 token_url 来自另一套部署,或 base_url 指向了另一个 IFS Cloud 实例。
确认 base_url 是签发这组凭证的同一个 IFS Cloud 部署的地址,且 token_url 复制自该部署的 IAM 客户端配置。修正对不上的值后重测。
测试报 MISSING_SCOPE
令牌可用,但 IAM 客户端背后的服务账号无权访问实例上的投影,所以列投影调用被拒绝。
在 IFS Cloud 里给该 IAM 客户端(服务账号)授予投影访问权,然后用同样的值重新测试。不要改用个人用户账号绕过——本连接就是以服务账号运行的。
测试报 TEST_TIMEOUT 或 CONNECTION_FAILED
请求没有完成。TEST_TIMEOUT 表示 12 秒内没有收到完整应答;CONNECTION_FAILED 表示到令牌端点或实例的网络请求失败。自建地址时,常见原因是 base_url 或 token_url 从外部访问不到,或端口未开放。
在浏览器里打开 base_url 与 token_url 的主机,确认两者都有应答;检查地址中的端口(如 :48080)可达,然后重新测试。若浏览器里都能打开而测试仍超时,请向您的 IFS 管理员确认投影端点是否允许外部访问。
单据操作报 ERP_ENDPOINTS_PENDING,或激活后什么都没同步
这是本连接当前的范围,不是值填错了。IFS 上的业务操作——拉订单或客户、读或推库存——不由本连接执行,因为业务投影名随客户实例而异。测试通过永远只证明 IAM 凭证可用、且能列出投影。
请继续把本连接用于连通性验证。单据同步请从测试返回的投影清单出发,按您实例实际的 Integration 投影来安排——改这五个连接值不会把单据同步打开。