用友 YonBIP 开放平台 Skill
用友 YonBIP 公有云按数据中心部署,每次对接都要先按租户查出网关和鉴权域名,再用 HmacSHA256 签名换取 2 小时有效的 access_token。本 skill 覆盖开放平台 API 文档中的「用友 YonBIP」产品线,不覆盖 YonBIP 高级版、NC Cloud、U8 Cloud、NC 和 U8。
安装
选你用的 Agent,复制命令。
npx -y skills add fxp/skillify --skill yonyou --agent claude-code --yes装到项目的 .claude/skills/;加 -g 装到全局。装完需要你手动执行 /reload-plugins,这一步 Agent 代劳不了。
npx -y skills add fxp/skillify --skill yonyou --agent codex --yes装到项目的 .agents/skills/;加 -g 装到全局。
npx -y skills add fxp/skillify --skill yonyou --agent cursor --yes装到项目的 .agents/skills/;加 -g 装到全局。
npx -y skills add fxp/skillify --skill yonyou --agent opencode --yes装到项目的 .agents/skills/;加 -g 装到全局。
npx -y skills add fxp/skillify --skill yonyou --agent gemini-cli --yes装到项目的 .agents/skills/;加 -g 装到全局。
npx -y skills add fxp/skillify --skill yonyou --agent github-copilot --yes装到项目的 .agents/skills/;加 -g 装到全局。
npx -y skills add fxp/skillify --skill yonyou --agent trae --yes装到项目的 .trae/skills/;加 -g 装到全局。
npx -y skills add fxp/skillify --skill yonyou --agent windsurf --yes装到项目的 .windsurf/skills/;加 -g 装到全局。
npx -y skills add fxp/skillify --skill yonyou --agent qwen-code --yes把 --agent 换成你用的 Agent 标识,可以一次写多个。skills CLI 1.5.25 共支持 79 个,例如 qwen-code、kimi-code-cli、trae-cn、qoder、lingma、cline、roo。
或者让 Agent 自己装
读 https://github.com/fxp/skillify/blob/main/skills/yonyou/prompt.md 并照它执行装对了的标志:references/ 下有 7 份文档,里面 grep '<!-- Gap:' 能搜到 3 处。
装好后,可以这样问你的 Agent
这份 Skill 覆盖的典型任务。点一下复制。
7 类能力
每类能力对应一份 reference,Agent 按任务只打开需要的那份。
鉴权与网关
按租户查数据中心网关、自建与 ISV 应用的签名取 token、业务调用方式、官方 SDK、无凭证探测结果
组织与部门
业务单元树与详情、业务单元保存、部门树 / 平铺 / 详情查询、组织变更事件
客户、供应商、物料
三类档案的查询、保存、批量保存与分配组织,计量单位,多语言与 ID / 编码优先级的坑
采购与销售订单
订单列表条件、详情、单个保存、提交 / 审核 / 弃审、删除,批量部分失败与单据事件
总账凭证
凭证保存的借贷与原币本币写法、凭证列表与详情、删除、会计期间查询、凭证事件
事件订阅
工作台开通订阅、推送报文、三种互相矛盾的验签写法、AES 解密、应答与重试、事件编码速查
返回码与限流
成功判定、平台码表、业务错误形态、MDD 幂等 resubmitCheckKey、限流公告与平台变更
当前事实
整理自官方文档(抓取于 2026-09-11),还没有用真实凭证验证。
| 项 | 值 |
|---|---|
| 网关 | 按租户查询:apigateway.yonyoucloud.com/open-auth/dataCenter/getGatewayAddress 返回 tokenUrl 与 gatewayUrl |
| 取 token | GET {tokenUrl}/open-auth/selfAppAuth/base/v1/getAccessToken,2 小时有效,成功码 "00000" |
| 签名 | appKey…timestamp… 按参数名排序拼接 → HmacSHA256(appSecret) → Base64 → URL 编码 |
| 业务调用 | {gatewayUrl}/yonbip/…?access_token=…,JSON,TLS 1.2 及以上 |
| 成功判定 | code == "200",批量与审核类接口还要看 failCount |
照通用经验写容易错的 6 件事
来自官方文档,还没有用真实凭证验证。
- 没有固定 API 域名。每个数据中心一套开放平台,先用租户 ID 查
tokenUrl与gatewayUrl,别写死api.diwork.com。 - 签名串没有等号和 &。
appKey<值>timestamp<值>做 HmacSHA256,取二进制摘要 Base64,timestamp 用毫秒,URL 编码只做一次。 - token 放 URL 参数。
access_token走 query string 而不是 Authorization 头,新版 token 含特殊字符要编码,2 小时内复用。 - 保存不等于生效。订单保存要
{"data":{…}}外壳和每行_status,之后还要调batchsubmit、batchaudit。 - code 200 也可能部分失败。批量保存、提交、审核、删除要检查
data.failCount和messages。 - 文档示例 URL 常与接口地址不符。探测证实
/yonsuite/…前缀和newinsert_copy在网关上未注册,以 API 详情的请求地址为准。
无凭证探测
- 鉴权失败不走 4xx:不带 token 返回 HTTP 200 +
{"code":"310001"},假 token 返回{"code":"310036","message":"非法token"},code 是字符串 - 未注册路径返回 HTTP 404 +
310404,且网关先校验路径再校验 token - 文档示例 URL
/yonsuite/fi/fipub/basedoc/querybd/accperiod与/yonbip/digitalModel/merchant/newinsert_copy在网关上未注册,对应的接口地址已注册 - 会计期间查询带假 token 时返回
text/plain纯文本非法token,不是文档所说的 JSON 结构 - token 接口伪造 appKey 返回
{"code":"10018","message":"应用不存在或appKey已停用"},新路径base/v1与旧路径都在线 - 数据中心查询伪造租户返回 HTTP 200 +
{"code":"500","message":"根据租户id获取网关地址出现异常"}