《金蝶K3Cloud WebAPI接口示例》是一份详细的教程文档,旨在通过实例展示如何使用WebAPI与金蝶K3Cloud系统进行数据交互,适用于开发者和IT专业人员。
### 金蝶K3 Cloud Web API 接口实例详解
#### 一、概述
金蝶K3 Cloud是一款先进的企业资源计划(ERP)软件,它支持多种业务场景,并提供了强大的Web API接口来促进第三方系统的集成。本段落档将详细介绍如何使用金蝶K3 Cloud的Web API接口进行开发,特别是通过C# .NET来调用这些接口。
#### 二、技术实现方式
金蝶K3 Cloud的Web API接口采用HTTP + JSON的形式进行数据交互,这种形式的优点在于简单易用且兼容性强。开发人员可以通过HTTP请求方法与服务器通信,并通过JSON格式传递数据。
#### 三、API接口使用示例
##### 1. 币别保存示例
本示例展示了如何通过API接口创建或更新币别信息。
```csharp
public void TestMethodSave_BD_Currency()
{
创建一个ApiClient对象并指定业务站点URL
ApiClient client = new ApiClient(http://localhost:1200);
登录验证
bool ret = client.Login(005056a30125ad4311e40291d44c593a, Administrator, 888888, 2052);
if (ret)
{
定义币别的业务对象ID
string sFormId = BD_Currency;
构造JSON字符串,包含需要保存的币别信息
string sJson = {\Creator\:\三方调用者标识\,\NeedUpDateFields\:[\FNumber\,\FName\,\FCODE\],\Model\:{\FCURRENCYID\:0,\FNumber\:\编码\,\FName\:\名称\,\FCODE\:\货币代码\,\FPRI CEDIGITS\:4,\FA MOUNTDIGITS\:2,\FPRIORITY\:0,\FIsTrans\:false,\FIsShowCSymbol\:false,\FIsSysPreset\:false,\FD ESCRIPTION\:\info\}};
调用保存接口
object[] saveInfo = new object[] { sFormId, sJson };
client.Execute(Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save, saveInfo);
}
}
```
**解析**:在本示例中,我们首先创建了一个`ApiClient`对象来连接到K3 Cloud服务器,并进行了登录验证。接着定义了业务对象ID为`BD_Currency`,这代表我们要处理的是币别信息。构造的JSON字符串包含了币别的基本属性,如编码、名称等。我们调用了`Save`方法来保存这些信息。
##### 2. 财务总账凭证保存
本示例展示了如何保存财务总账凭证。
```csharp
public void TestMethodSave_GL_VOUCHER()
{
创建一个ApiClient对象并指定业务站点URL
ApiClient client = new ApiClient(http://localhost:1200);
登录验证
bool ret = client.Login(005056a30125ad4311e40291d44c593a, Administrator, 888888, 2052);
if (ret)
{
定义财务总账凭证的业务对象ID
string sFormId = GL_VOUCHER;
构造JSON字符串,包含凭证的基本信息以及明细行信息
string sJson = {\Creator\:\String\,\NeedUpDateFields\:[\String\],\Model\:{\FVOUCHERID\:0,\FAccountBookID\:{\FNumber\:\004\},\FDate\:\2012-1-31\,\FSystemID\:{\FNumber\:\gl\},\FVOUCHERGROUPID\:{\FNumber\:\PRE001\}, \GL_VOUCHER__ FEntity\:[{\FEXPLANATION\:11,\FAccountID\:{\FNumber\:\1001\},\FDEBIT\:100},{\FEXPLANATION\:22,\FAccountID\:{\FNumber\:\1101\},\FCREDIT\:100}]}};
调用保存接口
object[] saveInfo = new object[] { sFormId, sJson };
client.Execute(Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save, saveInfo);
}
}
```
**解析**:在本示例中,我们同样创建了一个`ApiClient`对象来连接到K3 Cloud服务器,并进行了登录验证。然后定义了业务对象ID为`GL_VOUCHER`,这代表我们要处理的是财务总账凭证信息。构造的JSON字符串不仅包含了凭证的基本信息(如日期、账簿编号等),还包含了具体的明细行