ExpressAPI.cs 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Net.Http;
  6. using Codeplex.Data;
  7. namespace LYFZ.Weixin.SDK.Merchant
  8. {
  9. /// <summary>
  10. /// 邮费模板管理接口
  11. /// </summary>
  12. public class ExpressAPI
  13. {
  14. /// <summary>
  15. /// 增加邮费模板
  16. /// </summary>
  17. /// <param name="access_token"></param>
  18. /// <param name="content">
  19. /// 邮费模版,具体请参见官方文档
  20. /// </param>
  21. /// <returns>
  22. /// {
  23. /// "errcode": 0,
  24. /// "errmsg": "success",
  25. /// "template_id": 123456
  26. /// }
  27. /// </returns>
  28. public static dynamic Add(string access_token, dynamic content)
  29. {
  30. var client = new HttpClient();
  31. var result = client.PostAsync(string.Format("https://api.weixin.qq.com/merchant/express/add?access_token={0}", access_token),
  32. new StringContent(DynamicJson.Serialize(content))).Result;
  33. return DynamicJson.Parse(result.Content.ReadAsStringAsync().Result);
  34. }
  35. /// <summary>
  36. /// 删除邮费模板
  37. /// </summary>
  38. /// <param name="access_token"></param>
  39. /// <param name="template_id">邮费模版id</param>
  40. /// <returns>
  41. /// {
  42. /// "errcode": 0,
  43. ///"errmsg": "success"
  44. ///}
  45. /// </returns>
  46. public static dynamic Delete(string access_token, string template_id)
  47. {
  48. var client = new HttpClient();
  49. var content = new StringBuilder();
  50. content.Append("{")
  51. .Append('"' + "template_id" + '"' + ": " + template_id)
  52. .Append("}");
  53. var result = client.PostAsync(string.Format("https://api.weixin.qq.com/merchant/express/del?access_token={0}", access_token),
  54. new StringContent(content.ToString())).Result;
  55. return DynamicJson.Parse(result.Content.ReadAsStringAsync().Result);
  56. }
  57. /// <summary>
  58. /// 修改邮费模板
  59. /// </summary>
  60. /// <param name="access_token"></param>
  61. /// <param name="template_id">邮费模板ID</param>
  62. /// <param name="delivery_template">邮费模板信息(字段说明详见增加邮费模板)</param>
  63. /// <returns>
  64. /// {
  65. /// "errcode": 0,
  66. ///"errmsg": "success"
  67. ///}
  68. /// </returns>
  69. public static dynamic Update(string access_token, int template_id, dynamic delivery_template)
  70. {
  71. var client = new HttpClient();
  72. var content = new StringBuilder();
  73. content.Append("{")
  74. .Append('"' + "template_id" + '"' + ": " + template_id).Append(",")
  75. .Append('"' + "delivery_template" + '"' + ": ").Append(DynamicJson.Serialize(delivery_template))
  76. .Append("}");
  77. var result = client.PostAsync(string.Format("https://api.weixin.qq.com/merchant/express/del?access_token={0}", access_token),
  78. new StringContent(content.ToString())).Result;
  79. return DynamicJson.Parse(result.Content.ReadAsStringAsync().Result);
  80. }
  81. /// <summary>
  82. ///获取指定ID的邮费模板
  83. /// </summary>
  84. /// <param name="access_token"></param>
  85. /// <param name="template_id">邮费模板ID</param>
  86. /// <returns>邮费模版详细信息,详细请参见官方文档</returns>
  87. public static dynamic GetById(string access_token, int template_id)
  88. {
  89. var client = new HttpClient();
  90. var content = new StringBuilder();
  91. content.Append("{")
  92. .Append('"' + "template_id" + '"' + ": " + template_id)
  93. .Append("}");
  94. var result = client.PostAsync(string.Format("https://api.weixin.qq.com/merchant/express/del?access_token={0}", access_token),
  95. new StringContent(content.ToString())).Result;
  96. return DynamicJson.Parse(result.Content.ReadAsStringAsync().Result);
  97. }
  98. /// <summary>
  99. /// 获取所有邮费模板
  100. /// </summary>
  101. /// <param name="access_token"></param>
  102. /// <returns></returns>
  103. public static dynamic GetAll(string access_token)
  104. {
  105. var client = new HttpClient();
  106. var result = client.GetAsync(string.Format("https://api.weixin.qq.com/merchant/express/getall?access_token={0}", access_token)).Result;
  107. return DynamicJson.Parse(result.Content.ReadAsStringAsync().Result);
  108. }
  109. }
  110. }