金蝶接口
登录接口 https://xxx.xxx.com/k3cloud/Kingdee.BOS.WebApi.ServicesStub.AuthService.ValidateUser.common.kdsvc 查询单据接口 https://xxx.xxx.com/K3Cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.ExecuteBillQuery.common.kdsvc 基础资料保存接口、单据保存接口无源单、单据保存接口有源单都使用以下接口 https://xxx.xxx.com/K3Cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save.common.kdsvc 批量保存表单数据接口 http://xxx.xxx.com/K3Cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.BatchSave.common.kdsvc 查看接口 https://xxx.xxx.com/K3Cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.View.common.kdsvc 提交接口 https://xxx.xxx.com/K3Cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit.common.kdsvc 审核接口 https://xxx.xxx.com/K3Cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit.common.kdsvc 反审核接口 http://xxx.xxx.com/K3Cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.UnAudit.common.kdsvc 下推接口 https://xxx.xxx.com/K3Cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Push.common.kdsvc 删除接口 https://xxx.xxx.com/K3Cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Delete.common.kdsvc 通用接口 http://xxx.xxx.com/K3Cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.ExecuteOperation.common.kdsvc以上是基本需要使用的接口,使用时将域名更为自己的金蝶云星空域名
使用金蝶云星空接口的必要信息是,需要自行创建一个与administrator具有相同权限的用户,获取账套id
使用超级管理员登录金蝶云星空找到webapi并打开
随便选择一个表单功能然后点击在线测试webapi功能
在这里就能找到啊账套id
关于生成调用api需要的json数据可以参考以下文章
金蝶云星空webapi使用-CSDN博客
以下给出一个使用python调用查询单据的api接口去获取收款单数据的使用示例
#调用登录接口登录k3获取cookies def k3_login(): login_url = "http://xxx.xxx.com/k3cloud/Kingdee.BOS.WebApi.ServicesStub.AuthService.ValidateUser.common.kdsvc" login_data = {"acctid": "账套id", "username": "k3用户名", "password": "k3密码", "lcid": 2052} response=requests.post(url=login_url, data=login_data) return response.cookies #调用单据查询接口使用cookies查询单据,除登录接口不用使用cookies,其他接口都需要 def query_k3_data(): query_url = "http://xxx.xxx.com/K3Cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.ExecuteBillQuery.common.kdsvc" post_data = {"data": json.dumps( { "FormId": "AR_RECEIVEBILL", #表单id "FieldKeys": "FPAYORGID.FName,FRECBANKID,FPURPOSEID.FName,FRECAMOUNTFOR_E ,FPAYUNIT.FName,FRECAMOUNTFOR,FDATE", #需要查询的字段信息,下面的是过滤规则 "FilterString": [{"FieldName":"FPAYORGID.FName","Compare":"67","Value":"xxx有限公司","Left":"","Right":"","Logic":"0"},{"FieldName":"FDATE","Compare":"63","Value":"","Left":"","Right":"","Logic":"1"}], "Limit": 10000 #查询的最大行数,最大就是10000行 } ) } response=requests.post(url=query_url, data=post_data, cookies=k3_login()) print(response.text)通用接口的使用
def disable_cust(k3_cookies,number): #禁用客户接口 disable_cust_url="http://k3.ylbeijing.com/K3Cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.ExecuteOperation.common.kdsvc" data={ "formid": "BD_Customer", "opNumber": "forbid", #使用通用接口需要指定操作类型,例如该操作类型为禁用 "data": json.dumps( { "Numbers": [number] }) } response=requests.post(disable_cust_url,data=data,cookies=k3_cookies) result=response.json() print(result)查看表单的操作类型的内码需要登录金蝶云星空bos开发平台
进入后即可查看到表单的所有操作类型以及内码
需要注意的是分配查询这个操作并不是引用内码进行操作的,而是查询单据的使用组织,来查询出该单据被哪些组织使用
保存接口即是新增接口也是修改单据接口,不指定单据内码默认指定为0时就是新增,若是填写了指定的单据内码就是修改,修改时只需传特定要修改的字段即可
修改单据不需要调用提交和审核接口,默认自动提交审核,只需要调用保存接口修改单据即可
分配接口传入特定参数时,会默认提交与审核,不用在调用提交与审核接口,但是在webapi说明中并没有说该参数
def share_cust(k3_cookies,org_id,id): share_cust_url="http://k3.ylbeijing.com/K3Cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Allocate.common.kdsvc" data={ "formid": "BD_Customer", "data": json.dumps( { "PkIds": id, "TOrgIds": org_id, "IsAutoSubmitAndAudit": "true" #增加该参数,调用保存接口就会自动提交审核 }) } response=requests.post(share_cust_url,data=data,cookies=k3_cookies) result=response.json() print(result)