管易云OMS系统对接流程
1.管易云系统官方文件
知识|金蝶云社区|财务金融企业信息化|IT精英人脉社群-金蝶云社区官网
2.获取对应的appkey Secrect信息
3.
public static class GuanYiHelper
{public static string gyy_v2_api = "http://v2.api.guanyierp.com/rest/erp_open";public static string appkey = "*******";public static string sessionkey = "**********************";public static string secret = "*****************************";// 得到sign的字符串public static string Sign(string str, string secret){Debug.WriteLine("source: " + str);Debug.WriteLine("secret: " + secret);StringBuilder enValue = new StringBuilder();enValue.Append(secret);enValue.Append(str);enValue.Append(secret);Debug.WriteLine("append secret: " + enValue.ToString());Debug.WriteLine("sign: " + EncryptByMD5(enValue.ToString()));return EncryptByMD5(enValue.ToString());}//MD5加密private static string EncryptByMD5(string data){StringBuilder sign = new StringBuilder();try{using (MD5 md5 = MD5.Create()){byte[] bytes = md5.ComputeHash(Encoding.UTF8.GetBytes(data));foreach (byte t in bytes){var hex = Convert.ToString(t & 0xFF, 16);if (hex.Length == 1){sign.Append("0");}sign.Append(hex.ToUpper());}}}catch (Exception e){Debug.WriteLine("Error: " + e.Message);}return sign.ToString();}public static async Task<string> SendPostAsync(string url, string data){Debug.WriteLine("url: " + url);Debug.WriteLine("request: " + data);try{using (HttpClient client = new HttpClient()){// 将数据转换为JSON字符串(如果data不是JSON,则可能需要根据实际情况调整)// 注意:这里的data应该是已经格式化为JSON的字符串,或者如果data是表单数据,则应该使用application/x-www-form-urlencoded格式string jsonData = data; // 假设data已经是JSON格式,如果不是,则需要进行转换StringContent content = new StringContent(jsonData, Encoding.UTF8, "application/json");// 发送POST请求HttpResponseMessage response = await client.PostAsync(url, content);// 读取响应内容string responseString = await response.Content.ReadAsStringAsync();Debug.WriteLine("response: " + responseString);return responseString;}}catch (Exception e){Debug.WriteLine("Error: " + e.Message);// 在实际应用中,可能需要更详细的错误处理逻辑return "Error: " + e.Message;}}
}
[HttpGet]public async Task<IActionResult> GetDeliverysList(){string requset_method = "gy.erp.trade.deliverys.get";var param = new{appkey = GuanYiHelper.appkey,sessionkey = GuanYiHelper.sessionkey,method = requset_method,page_no = 1,page_size = 100,start_delivery_date = "2025-06-05 00:00:00",end_delivery_date = "2025-06-05 20:00:00",delivery = 1};string str = JsonConvert.SerializeObject(param);string sign = GuanYiHelper.Sign(str, GuanYiHelper.secret);var requset_param = new{appkey = GuanYiHelper.appkey,sessionkey = GuanYiHelper.sessionkey,method = requset_method,page_no = 1,page_size = 100,start_delivery_date = "2025-06-05 00:00:00",end_delivery_date = "2025-06-05 20:00:00",delivery = 1,sign = sign};var result = await GuanYiHelper.SendPostAsync(GuanYiHelper.gyy_v2_api, JsonConvert.SerializeObject(requset_param));deliverysRespParam deliverysRespParamModel = JsonConvert.DeserializeObject<deliverysRespParam>(result);return new JsonResult(result);}