using Newtonsoft.Json; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; using System.Text; using System.Threading.Tasks; namespace ConsoleApp1.Controller.CY_API { /// /// 第三方调用氚云接口 /// public class CY_API_Server { public CY_API_Server() { // // TODO: Add constructor logic here // } /// /// 氚云接口 /// /// CreateBizObjects /// 数据集合 /// bool /// public static string H3YunApi(string ActionName, Dictionary pargam, out bool sucessfull) { try { string webApiAddress = "https://www.h3yun.com/OpenApi/Invoke"; //接口地址 string engineCode = "aeonq7mdwwdbtdmamrf6ul441"; //Code string secret = "EHSYxx7UvJETDyvcNiniOivlYlcE+zB29HdXZSNan9WBV+Rvv0tIaQ=="; //Secret System.Net.HttpWebRequest request; request = (System.Net.HttpWebRequest)WebRequest.Create(webApiAddress); request.Method = "POST"; request.ContentType = "application/json"; //身份认证参数 request.Headers.Add("EngineCode", engineCode); request.Headers.Add("EngineSecret", secret); //参数 Dictionary dicParams = new Dictionary(); dicParams.Add("ActionName", ActionName); //自定义参数 if (pargam != null && pargam.Count > 0) { foreach (KeyValuePair kv in pargam) { dicParams.Add(kv.Key, kv.Value); } } string jsonData = JsonConvert.SerializeObject(dicParams); byte[] bytes; bytes = System.Text.Encoding.UTF8.GetBytes(jsonData); request.ContentLength = bytes.Length; string StrDate = string.Empty; string strValue = string.Empty; using (Stream writer = request.GetRequestStream()) { writer.Write(bytes, 0, bytes.Length); writer.Close(); } using (System.Net.HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse()) { using (System.IO.Stream s = response.GetResponseStream()) { using (StreamReader Reader = new StreamReader(s, Encoding.UTF8)) { while ((StrDate = Reader.ReadLine()) != null) { strValue += StrDate + "\r\n"; } } } } sucessfull = true; return strValue; } catch (Exception ee) { sucessfull = false; return ee.ToString(); } } /// /// 查询单条业务数据 /// /// 调用的方法名 /// 需要查询的表单编码 /// 需要查询的数据ID,每个表单都有唯一的ObjectId /// public static string LoadBizObject(string ActionName, string SchemaCode, string BizObjectId) { try { string ApiAddress = "https://www.h3yun.com/OpenApi/Invoke"; //接口地址 HttpWebRequest request = (System.Net.HttpWebRequest)WebRequest.Create(ApiAddress); request.Method = "POST"; request.ContentType = "application/json"; //身份认证参数 request.Headers.Add("EngineCode", "aeonq7mdwwdbtdmamrf6ul441"); request.Headers.Add("EngineSecret", "EHSYxx7UvJETDyvcNiniOivlYlcE+zB29HdXZSNan9WBV+Rvv0tIaQ=="); //参数 Dictionary dicParams = new Dictionary(); dicParams.Add("ActionName", ActionName); dicParams.Add("SchemaCode", SchemaCode); dicParams.Add("BizObjectId", BizObjectId); string jsonData = JsonConvert.SerializeObject(dicParams); byte[] bytes; bytes = System.Text.Encoding.UTF8.GetBytes(jsonData); request.ContentLength = bytes.Length; using (Stream writer = request.GetRequestStream()) { writer.Write(bytes, 0, bytes.Length); writer.Close(); } string strValue = string.Empty; using (System.Net.HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse()) { using (System.IO.Stream s = response.GetResponseStream()) { string StrDate = string.Empty; using (StreamReader Reader = new StreamReader(s, Encoding.UTF8)) { while ((StrDate = Reader.ReadLine()) != null) { strValue += StrDate + "\r\n"; } } } } } catch (Exception ex) { throw ex; } return null; } /// /// 批量查询业务数据 /// /// 调用的方法名 /// 需要查询的表单编码 /// 过滤条件。默认返回前500条数据 /// public static string LoadBizObjects(string ActionName, string SchemaCodem, string Filter) { try { string apiAddress = @"https://www.h3yun.com/OpenApi/Invoke"; HttpWebRequest request = (System.Net.HttpWebRequest)WebRequest.Create(apiAddress); request.Method = "POST"; request.ContentType = "application/json"; //身份认证参数 request.Headers.Add("EngineCode", "aeonq7mdwwdbtdmamrf6ul441"); request.Headers.Add("EngineSecret", "EHSYxx7UvJETDyvcNiniOivlYlcE+zB29HdXZSNan9WBV+Rvv0tIaQ=="); //参数 Dictionary dicParams = new Dictionary(); dicParams.Add("ActionName", ActionName); dicParams.Add("SchemaCode", SchemaCodem); dicParams.Add("Filter", Filter); string jsonData = JsonConvert.SerializeObject(dicParams); byte[] bytes; bytes = System.Text.Encoding.UTF8.GetBytes(jsonData); request.ContentLength = bytes.Length; using (Stream writer = request.GetRequestStream()) { writer.Write(bytes, 0, bytes.Length); writer.Close(); } string strValue = string.Empty; using (System.Net.HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse()) { using (System.IO.Stream s = response.GetResponseStream()) { string StrDate = string.Empty; using (StreamReader Reader = new StreamReader(s, Encoding.UTF8)) { while ((StrDate = Reader.ReadLine()) != null) { strValue += StrDate + "\r\n"; } } } } return strValue; } catch (Exception ex) { throw ex; } } /// /// 更新业务数据 /// /// 调用的方法名 /// 表单编码 /// 表单ObjectId值 /// BizObject对象的json 字符串 /// public static string UpdateBizObject(string ActionName, string SchemaCode, string BizObjectId, Dictionary BizObject) { try { string apiAddress = @"https://www.h3yun.com/OpenApi/Invoke"; HttpWebRequest request = (System.Net.HttpWebRequest)WebRequest.Create(apiAddress); request.Method = "POST"; request.ContentType = "application/json"; //身份认证参数 request.Headers.Add("EngineCode", "aeonq7mdwwdbtdmamrf6ul441"); request.Headers.Add("EngineSecret", "EHSYxx7UvJETDyvcNiniOivlYlcE+zB29HdXZSNan9WBV+Rvv0tIaQ=="); //参数 Dictionary dicParams = new Dictionary(); dicParams.Add("ActionName", ActionName); dicParams.Add("SchemaCode", SchemaCode); //dicParams.Add("BizObject", "{ \"CreatedBy\": \"f3f69a49-edf6-468d-9aee-822cbc82a46662\", \"OwnerId\": \"f3f69a49-edf6-468d-9aee-822cbc82a46662\",\"F0000002\": \"99933399\", \"F0000009\": \"03ea2021-f7d5-4001-b996-7115e63f4319;6d1af175-a49d-48ad-bc3e-52aa35bb34df\" }"); if (BizObject != null && BizObject.Count > 0) { foreach (KeyValuePair kv in BizObject) { dicParams.Add(kv.Key, kv.Value); } } dicParams.Add("BizObjectId", BizObjectId); string jsonData = JsonConvert.SerializeObject(dicParams); byte[] bytes; bytes = System.Text.Encoding.UTF8.GetBytes(jsonData); request.ContentLength = bytes.Length; using (Stream writer = request.GetRequestStream()) { writer.Write(bytes, 0, bytes.Length); writer.Close(); } string strValue = string.Empty; using (System.Net.HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse()) { using (System.IO.Stream s = response.GetResponseStream()) { string StrDate = string.Empty; using (StreamReader Reader = new StreamReader(s, Encoding.UTF8)) { while ((StrDate = Reader.ReadLine()) != null) { strValue += StrDate + "\r\n"; } } } } return strValue; } catch (Exception ex) { throw ex; } } } }