开发者社区> 问答> 正文

钉钉如何 /workflow/processInstances创建审批实例?

钉钉如何 /workflow/processInstances创建审批实例?

展开
收起
2401。 2023-07-17 20:21:22 193 0
2 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    可以按照以下步骤进行操作:

    获取access_token:在使用钉钉API之前,需要先获取access_token。access_token是钉钉API的访问令牌,需要使用企业的CorpID和Secret来获取。具体的获取方式可以参考钉钉开放平台官方文档中的说明。

    构造请求参数:根据钉钉API文档中的说明,构造相应的请求参数。创建审批实例需要的请求参数包括审批模板ID、发起人ID、审批人列表、抄送人列表、表单数据等。

    发送请求:使用HTTP POST请求,将请求参数发送到钉钉API的接口地址。在发送请求时,需要将access_token和请求参数一并发送。

    处理响应:钉钉API会返回相应的响应结果,包括请求是否成功、错误码、错误信息、实例ID等。根据响应结果进行相应的处理和判断。

    示例代码如下:

    python
    Copy
    import requests
    import json

    获取access_token

    corpid = "your_corpid"
    corpsecret = "your_corpsecret"
    url = f"https://oapi.dingtalk.com/gettoken?corpid={corpid}&corpsecret={corpsecret}"
    response = requests.get(url)
    access_token = response.json()["access_token"]

    构造请求参数

    template_id = "your_template_id"
    userid = "your_userid"
    approver_ids = ["approver_userid"]
    cc_ids = ["cc_userid"]
    form_data = {
    "field_name1": "value1",
    "field_name2": "value2"
    }
    data = {
    "process_code": template_id,
    "originator_user_id": userid,
    "dept_id": "",
    "approvers": approver_ids,
    "cc_list": cc_ids,
    "form_component_values": form_data
    }

    发送请求

    url = f"https://oapi.dingtalk.com/topapi/processinstance/create?access_token={access_token}"
    headers = {'Content-Type': 'application/json'}
    response = requests.post(url, headers=headers, data=json.dumps(data))

    处理响应

    if response.status_code == 200 and response.json().get("errcode") == 0:
    instance_id = response.json()["process_instance_id"]
    print(f"审批实例创建成功,实例ID为{instance_id}")
    else:
    print("审批实例创建失败")
    需要将上面的代码中的your_corpid、your_corpsecret、your_template_id、your_userid、approver_userid、cc_userid、field_name1、field_name2、value1、value2分别替换为您自己的企业ID、应用Secret、审批模板ID、发起人ID、审批人ID、抄送人ID、表单字段名和字段值。

    2023-07-17 21:58:10
    赞同 展开评论 打赏
  • 在钉钉中,你可以通过/workflow/processInstances接口来创建审批实例。以下是一般的请求示例:

    POST /topapi/processinstance/create HTTP/1.1
    Host:oapi.dingtalk.com
    Content-Type: application/json;charset=utf-8
    {
        "process_code": "PROCESS_CODE",
        "originator_user_id": "USER_ID",
        "dept_id": "DEPT_ID",
        "approvers": "APPROVER_USER_ID1, APPROVER_USER_ID2",
        "form_component_values": [
            {
                "name": "field_name1",
                "value": "field_value1"
            },
            {
                "name": "field_name2",
                "value": "field_value2"
            }
        ],
        "cc_list": "CC_USER_ID1, CC_USER_ID2"
    }
    

    其中,需要注意的参数如下:

    • process_code:流程模板的唯一标识符,用于指定要使用的审批流程模板。
    • originator_user_id:发起人用户ID,即发起该审批流程的用户ID。
    • dept_id:发起人所属部门ID。
    • approvers:审批人用户ID列表,多个审批人使用逗号分隔。
    • form_component_values:表单字段值,以数组形式填入每个字段的namevalue

    另外,还有可选的参数:

    • cc_list:抄送人用户ID列表,多个抄送人使用逗号分隔。
    2023-07-17 21:53:48
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
+ 订阅
问答排行榜
最热
最新

相关电子书

更多
钉钉小程序——为工作方式插上翅膀 立即下载
钉钉客户端自动化的应用 立即下载
使命必达 —— 钉钉企业级 消息服务的机遇与挑战 立即下载