python调用金蝶api接口

该文章已生成可运行项目,

金蝶接口

登录接口
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://k3.ylbeijing.com/K3Cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.ExecuteOperation.common.kdsvc

以上是基本需要使用的接口,使用时将域名更为自己的金蝶云星空域名

使用金蝶云星空接口的必要信息是,需要自行创建一个与administrator具有相同权限的用户,获取账套id

使用超级管理员登录金蝶云星空找到webapi并打开

随便选择一个表单功能然后点击在线测试webapi功能

在这里就能找到啊账套id

关于生成调用api需要的json数据可以参考以下文章

金蝶云星空webapi使用-优快云博客

以下给出一个使用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)

本文章已经生成可运行项目
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值