推送信息到企业微信的审批流

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:2

推送信息到企业微信的审批流

当实现了:推送给企业微信消息: https://wenku.my7c.com/article/336910221404781312?productLineId=1&lang=zh-CN

后,也可以推送任意星空的信息,到企业微信里的审批流,走企业微信的审批

限制实现了发起审批,但暂时是单向的(主要是没需求,没动力研究哈),审批结束没法通知星空流程结束

(但是可以通过企业微信api获取这个流程的单据来主动查询状态,能实现发送消息或者发送审批,那获取流程单据状态也就不难了)

希望有做过的直接分享流程回调代码

应用场景举例:

星空开了发票,发票的相关信息发送到企业微信

image.webp

员工的审批,当员工处理完,点击同意结束流程.好处是如果员工没有点击同意,企业微信每天会发送提醒.(直接发送消息,容易被冲掉,或者消息多,不知道是否处理了)

也能方便的查询到所有未处理的发票:

image.webp

大体过程:

1 企业微信建一个流程

2 通过api接口文档里,可以找到 这个审批流程的template_id,和各个字段的id,比如下文中json 里的上半段.下半段是3个描述,企业微信审批消息收到后能直接看到"ms1/2/3"

gh:发起人账号,企业微信里的工号

lianjie/kh/je/pch 都是流程里的各个字段的值

3 代码,写成一个方法,可以调用

获取access_token的值 参照上面链接里的代码

public static string TOWXSP(Context ctxa, string gh, string lianjie,string kh,string je,string pch,string ms1,string ms2,string ms3)
        {
string json = "{\n" +
   "    \"creator_userid\": \""+gh+"\",\n" +
     "    \"template_id\": \"C4WpQoKeU4gdgj6ZM36gUTytTdb8mjHmJHMsk82Tc\",\n" +
     "    \"use_template_approver\": 1,\n" +
     "    \"apply_data\": {\n" +
     "         \"contents\": [\n" +
     "                {\n" +
     "                    \"control\": \"Text\",\n" +
     "                    \"id\": \"Text-1704776198829\",\n" +
     "                    \"value\": {\n" +
     "                        \"text\": \""+lianjie+"\"\n" +
     "                    }\n" +
     "                },\n" +

     "                {\n" +
     "                    \"control\": \"Text\",\n" +
     "                    \"id\": \"Text-1704780493028\",\n" +
     "                    \"value\": {\n" +
     "                        \"text\": \""+pch+"\"\n" +
     "                    }\n" +
     "                },\n" +
     "                {\n" +
     "                    \"control\": \"Text\",\n" +
     "                    \"id\": \"Text-1704780538951\",\n" +
     "                    \"value\": {\n" +
     "                        \"text\": \""+je+"\"\n" +
     "                    }\n" +
     "                },\n" +
     "                {\n" +
     "                    \"control\": \"Text\",\n" +
     "                    \"id\": \"Text-1704780529565\",\n" +
     "                    \"value\": {\n" +
     "                        \"text\": \""+kh+"\"\n" +
     "                    }\n" +
     "                }\n" +


     "            ]\n" +
     "    },\n" +
      "    \"summary_list\": [\n" +
      "        {\n" +
      "            \"summary_info\": [{                \n" +
      "                \"text\": \""+ms1+"\",\n" +
      "                \"lang\": \"zh_CN\"\n" +
      "            }]\n" +
      "        },\n" +
      "        {\n" +
      "            \"summary_info\": [{                \n" +
      "                \"text\": \""+ms2+"\",\n" +
      "                \"lang\": \"zh_CN\"\n" +
      "            }]\n" +
      "        },\n" +
      "        {\n" +
      "            \"summary_info\": [{                \n" +
      "                \"text\": \""+ms3+"\",\n" +
      "                \"lang\": \"zh_CN\"\n" +
      "            }]\n" +
      "        }\n" +
      "    ]\n" +
      "}";
       var url = "https://qyapi.weixin.qq.com/cgi-bin/oa/applyevent?access_token=" + access_token;
            UTF8Encoding encoding = new UTF8Encoding();//编码模式,防止中文乱码
            byte[] data = encoding.GetBytes(json);
            HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(url);

            myRequest.Method = "POST";
            myRequest.ContentType = "application/json;charset=utf-8";
            myRequest.ContentLength = data.Length;
            Stream newStream = myRequest.GetRequestStream();
            newStream.Write(data, 0, data.Length);
            newStream.Close();
            HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
            StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.Default);
            string content = reader.ReadToEnd();
            reader.Close();
            JObject jo = (JObject)JsonConvert.DeserializeObject(content);
            string errcode = jo["errcode"].ToString();//如果发送成功,errcode返回0
            return errcode;

            
        }



\"id\": \"Text-1704776198829\",\n" json里的这些id,需要企业微信搭建号流程,通过api工具后台获取,值不一样,不能直接用

推送信息到企业微信的审批流

当实现了:推送给企业微信消息: https://wenku.my7c.com/article/336910221404781312?productLineId=1&lang=zh-CN 后,也可以推送任意星空...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息