仓库:MuZiCul/java_sdk_demo(原创)· 语言:Java · 定位:金蝶云星空 K3Cloud WebAPI SDK 调用示例
调用金蝶云星空(Kingdee K3Cloud)WebAPI 的 Java SDK 示例工程,演示如何通过官方开放平台 API 对接 ERP 系统,覆盖物料、订单、客户、余额等业务对象。
src/kdwebapi.properties)X-KDApi-AcctID=6304ba61219bf5 # 账套 ID
X-KDApi-AppID=225649_7ZbM6dDO0qrVXXUKX/Xs09wH2u5d4rLE # 应用 ID
X-KDApi-AppSec=2bb1d972f3574a46aebee03cdc80aeae # 应用密钥
X-KDApi-UserName=demo # 用户名
X-KDApi-LCID=2052 # 语言标识(2052=简体中文)
X-KDApi-ServerUrl=https://apiexp.open.kingdee.com/k3cloud/ # API 服务地址
认证方式:金蝶 WebAPI 采用 AppID + AppSec 换取会话的模式,LCID=2052 指定简体中文返回。
src/com/kingdee/webapi/javasdk/
├── TestCaseSuit.java # JUnit Suite,聚合所有业务测试
├── material/ # 物料(BdMaterial)—— 含 bdMaterialFlexTest
├── saleorder/ # 销售订单(SavexSaleOrder)
├── purpurchaseorder/ # 采购订单(PurPurchaseOrderTest + PushTest 推单)
├── accountbalance/ # 科目余额(GlrptAccoutBalanceTest)
├── customer/ # 客户档案(BdCustomerTest)
└── common/ # 公共封装(鉴权、HTTP 请求、签名)
TestCaseSuit.java)@RunWith(Suite.class)
@SuiteClasses({
com.kingdee.webapi.javasdk.material.BdMaterialTest.class,
com.kingdee.webapi.javasdk.purpurchaseorder.PurPurchaseOrderTest.class,
com.kingdee.webapi.javasdk.accountbalance.GlrptAccoutBalanceTest.class,
com.kingdee.webapi.javasdk.material.bdMaterialFlexTest.class,
com.kingdee.webapi.javasdk.purpurchaseorder.PurPurchaseOrderPushTest.class,
com.kingdee.webapi.javasdk.saleorder.SavexSaleOrder.class,
com.kingdee.webapi.javasdk.customer.BdCustomerTest.class
})
public class TestCaseSuit {}
用 JUnit Suite 组织示例是个好思路——每个业务对象的调用封装成一个测试类,一次运行即可验证全部 API 连通性,也便于逐个调试。
| 业务对象 | 金蝶表单标识 | 说明 |
|---|---|---|
| 物料 | BD_MATERIAL |
基础资料,含柔性字段(Flex)测试 |
| 销售订单 | SAL_SaleOrder |
保存操作 |
| 采购订单 | PUR_PurchaseOrder |
保存 + Push 推单(下游单据生成) |
| 科目余额 | GL_Rpt_AccountBalance |
财务报表类查询 |
| 客户 | BD_Customer |
基础资料 |
"Push 推单"是金蝶的特色能力——上游单据(采购订单)审核后自动推送生成下游单据(收料通知单/入库单),示例里专门有 PurPurchaseOrderPushTest 覆盖。
对接金蝶这类传统 ERP 属于典型的企业系统集成场景,难点通常不在代码,而在: - 表单标识(FormId)与字段名的准确对应 - 单据状态流转(保存/提交/审核) - 上下游单据的推单/反写逻辑
这个示例把物料、订单、客户、余额都跑通了,需要集成金蝶时可以直接参考。
⚠️ 注意:仓库中的 AppSec 等凭证已提交到公开仓库,仅适用于演示账套。生产环境务必通过环境变量或密钥管理服务注入,切勿硬编码。