掌握金蝶云星空WebAPI接口的实用指南
本文将介绍如何使用金蝶云星空WebAPI接口,包含示例代码与具体方法。我们将探讨两种调用接口的方式:通过金蝶组件和不引用金蝶组件。
使用金蝶组件进行API调用
首先,我们来看一下如何利用金蝶提供的组件来调用API。在这个例子中,我们会展示如何通过client.Execute
方法批量保存表单数据,并说明涉及到的参数,比如表单ID和内容。
示例代码:
using Kingdee.BOS.WebApi.Client;
using Kingdee.BOS.WebApi.Constants;
public void SaveFormData()
{
var client = new K3CloudApiClient("http://<your-server-url>");
client.Login("dbId", "username", "password", 2052);
string formId = "SAL_SaleOrder";
string content = "[{'FMaterialId':{'FNumber':'01.001'}, 'FQty':10}]";
var parameters = new Dictionary<string, object>
{
{"formid", formId},
{"data", content}
};
var result = client.Execute<dynamic>("Save", parameters);
Console.WriteLine(result);
}
在上面的代码中,我们首先创建一个K3CloudApiClient实例并登录,然后设置需要保存的数据,包括表单ID和数据内容,最后执行保存操作并输出结果。
不引用金蝶组件的API调用
接下来,讨论如何使用HttpClient
类来实现同样的功能。这种方式更为通用,但需要手动构造请求URL和参数。
示例代码:
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
public class ApiExample
{
private static readonly HttpClient client = new HttpClient();
public static async Task Main(string[] args)
{
string url = "http://<your-server-url>/api/Save";
string jsonData = "{\"formid\":\"SAL_SaleOrder\",\"data\":[{\"FMaterialId\":{\"FNumber\":\"01.001\"},\"FQty\":10}]}";
var content = new StringContent(jsonData, Encoding.UTF8, "application/json");
HttpResponseMessage response = await client.PostAsync(url, content);
string result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
}
}
这里我们直接使用HttpClient发送POST请求,构造了请求地址和参数,并输出响应结果。
提交表单数据API详解
最后,让我们详细介绍提交表单数据所需的API地址、参数及返回值。此处重点关注参数列表,其中包括表单Id与数据包,而数据包是一个包含单据编号或基础资料编码的JSON字符串。
参数详解
- formid: 表单标识符,例如"SAL_SaleOrder"
- data: JSON格式的数据内容,例如
[{"FMaterialId":{"FNumber":"01.001"},"FQty":10}]
以上信息为开发者提供了详细而实用的指导,使其能更好地理解和利用金蝶云星空的WebAPI接口进行开发工作。