接 Acumatica:拉订单和客户进来,查库存
用专用 API 用户登录您的 Acumatica 实例,把实例地址、公司和端点版本填进 Integration,测试、配 Mapping、激活——销售订单和客户流进来,库存可查。
Acumatica 连接器把您的 Acumatica 云 ERP 实例接到 Integration:把销售订单和客户拉进系统,并让您查询 Acumatica 里的库存。一个连接对应一个 Acumatica 公司。库存可以从 Acumatica 读出来,但库存变化不会通过这个连接写回 Acumatica。
前置条件#
- 一个能登录的 Acumatica 实例,以及登录时用的准确公司(租户)名。
- 一个本连接用的登录用户——建议用专用 API 用户——且在该公司里能读销售订单、客户和库存物料。
- Acumatica → Web Service Endpoints 里有一个已发布的端点。如果您的实例发布的是标准端点,端点名通常是 Default,版本与您的 Acumatica 发行版一致。
- 如果您的公司登录时需要选分支,提前知道分支名。如果登录时不问分支,后面那个字段可以留空。
拿凭证#
- 这个连接器没有要单独创建的 key。凭证就是 Acumatica 登录用户本身:在 Acumatica 里准备一个专用 API 用户,确认能用它登录,记下它的用户名和密码。
- 把登录时显示的公司(租户)名一字不差地记下来;如果登录需要分支,也记下分支名。这些值必须和实例里的写法完全一致。
- 记下您的实例地址——Acumatica 实例的根地址,例如 https://mycompany.acumatica.com。结尾不要加 /entity。
- 在 Acumatica 里打开 Web Service Endpoints,查看已发布的端点:记下端点名和端点版本。只有当它们和 Default、24.200.001 不一样时,后面才需要填。
填进 Integration#
- 打开 Integration → 连接器市场 → Acumatica → 新建连接。
- base_url — 实例地址,必填:填您的 Acumatica 实例根地址,例如 https://mycompany.acumatica.com。结尾不要加 /entity。
- company — 公司,必填:填登录 Acumatica 时显示的公司(租户)名,一字不差。
- branch — 分支,可选:只有当您的公司登录时需要分支才填。登录时不问分支就留空。
- username — 用户名,必填:填您在 Acumatica 里准备的专用 API 用户的登录名。
- password — 密码,必填:填同一个登录用户的密码。密码加密存储,永不回显。
- endpoint_name — 端点名,可选:如果您的实例发布的是标准端点就留空——系统会用 Default。只有当 Web Service Endpoints 里显示的是别的名字时才填。
- endpoint_version — 端点版本,可选:如果您的实例发布的是 24.200.001 就留空——系统会用 24.200.001。不一样时,填 Web Service Endpoints 里显示的准确版本;版本必须与您的 Acumatica 发行版匹配。
测试连接#
点测试连接。测试按顺序做两件事。第一件是用您填的用户名、密码、公司和分支登录您的实例——只有实例有回应并返回会话才算登录成功,测试会马上用这个会话,并在结束时登出。第二件是带着这个会话,通过连接上的端点名和版本读一条库存物料。通过说明登录能用、端点有回应、登录用户能读库存物料。测试约等 12 秒;超时就先确认实例地址能访问再重试。失败时记下页面显示的准确错误码——下面的常见问题按错误码逐个对原因和解法。
配 Mapping / 选模板#
选 Acumatica 标准模板。它把 Acumatica 销售订单映射为标准订单,并把客户一并带过来,让订单号、明细行、数量和客户信息落到正确的字段。模板能读到的字段来自您实例上发布的端点,所以如果您的实例发布的端点名或版本与标准的不一样,先在连接上设好 endpoint_name 和 endpoint_version,再重新看映射预览。激活前先打开预览,用一单真实订单确认明细行和客户名都对;库存查询是直接读库存物料的,不需要订单 Mapping。
激活#
激活后,Integration 按您设的频率登录您的 Acumatica 实例,把新的销售订单和客户拉进来,并通过读 Acumatica 的库存物料来回答库存查询。每次登录会话只用于当次运行,运行结束就关闭。这个连接不做的事:它不会把库存变化写回 Acumatica,所以需要在 Acumatica 里改数量时,请直接在 Acumatica 里调整。先在 运行监控 / 日志里盯几单,确认无误再放手跑。
常见问题#
测试报 ENDPOINT_VERSION_MISMATCH——读库存物料返回 404
登录是通的,但连接上的端点名或版本与您实例上发布的端点对不上。测试按给定的名字和版本去找库存物料,而实例在那个地址上没有发布任何东西,所以读取返回 404。登录本身没问题时,这通常就是原因。
在 Acumatica 里打开 Web Service Endpoints,把已发布的端点名和版本一字不差地抄下来。填进连接的 endpoint_name 和 endpoint_version——如果发布的确实是 Default 和 24.200.001,就把两个字段都清空。保存后重新测试。
测试报 INVALID_CREDENTIALS——登录返回 401 或 400
实例拒绝了登录:用户名、密码或公司名有一项与实例期望的对不上。公司名和登录界面上写的不完全一样,也算凭证错误;登录需要分支但连接里没填,同样会这样。
先在浏览器里用同一个用户登录 Acumatica,确认用户名、密码和公司名在那边都能用。然后把 username、password 和 company 按浏览器里用的写法重新填进连接;如果那次登录问了分支,把 branch 也补上,再重新测试。
测试报 MISSING_SCOPE——读库存物料返回 401 或 403
登录通了、端点也在,但登录用户在该公司里没有读库存物料的权限。所以哪怕用户能登录,实例还是会拒绝读库存物料。
在 Acumatica 里给专用 API 用户在该公司里读库存物料的权限——连接还要读销售订单和客户,这两样的权限也一并给——或者把连接换成已有这些权限的用户。保存后重新测试。
测试报 MISSING_BASE_URL 或 MISSING_CREDENTIALS,或登录连不上实例
有必填字段空着,或者实例地址本身写错了。MISSING_BASE_URL 是 base_url 没填;MISSING_CREDENTIALS 是 username、company 或 password 缺了一项。地址上常见的错是 base_url 结尾带了 /entity——连接会在根地址后面自己拼路径,地址已经带上这个后缀,登录就会打到错误的位置。
把必填字段都填上——base_url、company、username、password——再检查 base_url:只填实例的根地址,例如 https://mycompany.acumatica.com,后面什么都不带。保存后重新测试。