GroupAPI.cs 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  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 GroupAPI
  13. {
  14. /// <summary>
  15. /// 增加分组
  16. /// </summary>
  17. /// <param name="access_token"></param>
  18. /// <param name="content">
  19. /// {
  20. /// "group_detail" : {
  21. /// "group_name": "测试分组",
  22. /// "product_list" : [
  23. /// "pDF3iY9cEWyMimNlKbik_NYJTzYU",
  24. /// "pDF3iY4kpZagQfwJ_LVQBaOC-LsM"
  25. /// ]
  26. /// }
  27. /// }
  28. ///
  29. /// group_name 分组名称
  30. /// product_list 商品ID集合
  31. /// </param>
  32. /// <returns>
  33. /// {
  34. /// "errcode":0,
  35. /// "errmsg":"success",
  36. /// "group_id": 19
  37. ///}
  38. /// </returns>
  39. public static dynamic Add(string access_token, dynamic content)
  40. {
  41. var client = new HttpClient();
  42. var result = client.PostAsync(string.Format("https://api.weixin.qq.com/merchant/group/add?access_token={0}", access_token),
  43. new StringContent(DynamicJson.Serialize(content))).Result;
  44. return DynamicJson.Parse(result.Content.ReadAsStringAsync().Result);
  45. }
  46. /// <summary>
  47. /// 删除分组
  48. /// </summary>
  49. /// <param name="access_token"></param>
  50. /// <param name="group_id">分组ID</param>
  51. /// <returns>
  52. /// {
  53. /// "errcode":0,
  54. /// "errmsg":"success"
  55. /// }
  56. /// </returns>
  57. public static dynamic Delete(string access_token, int group_id)
  58. {
  59. var client = new HttpClient();
  60. var content = new StringBuilder();
  61. content.Append("{")
  62. .Append('"' + "group_id" + '"' + ": " + group_id)
  63. .Append("}");
  64. var result = client.PostAsync(string.Format("https://api.weixin.qq.com/merchant/group/del?access_token={0}", access_token),
  65. new StringContent(content.ToString())).Result;
  66. return DynamicJson.Parse(result.Content.ReadAsStringAsync().Result);
  67. }
  68. /// <summary>
  69. /// 修改分组属性
  70. /// </summary>
  71. /// <param name="access_token"></param>
  72. /// <param name="group_id"></param>
  73. /// <param name="group_name"></param>
  74. /// <returns>
  75. /// {
  76. /// "errcode":0,
  77. /// "errmsg":"success"
  78. /// }
  79. /// </returns>
  80. public static dynamic UpdateProperty(string access_token, int group_id, string group_name)
  81. {
  82. var client = new HttpClient();
  83. var content = new StringBuilder();
  84. content.Append("{")
  85. .Append('"' + "group_id" + '"' + ": " + group_id).Append(",")
  86. .Append('"' + "group_name" + '"' + ": " + '"' + group_name + '"')
  87. .Append("}");
  88. var result = client.PostAsync(string.Format("https://api.weixin.qq.com/merchant/group/propertymod?access_token={0}", access_token),
  89. new StringContent(content.ToString())).Result;
  90. return DynamicJson.Parse(result.Content.ReadAsStringAsync().Result);
  91. }
  92. /// <summary>
  93. /// 修改分组商品
  94. /// </summary>
  95. /// <param name="access_token"></param>
  96. /// <param name="group_id"></param>
  97. /// <param name="product">分组商品信息, 数据示例:
  98. /// [
  99. /// {
  100. /// "product_id": "pDF3iY-CgqlAL3k8Ilz-6sj0UYpk",
  101. /// "mod_action": 1
  102. /// },
  103. /// {
  104. /// "product_id": "pDF3iY-RewlAL3k8Ilz-6sjsepp9",
  105. /// "mod_action": 0
  106. /// },
  107. /// ]
  108. /// </param>
  109. /// <returns>
  110. /// {
  111. /// "errcode":0,
  112. /// "errmsg":"success"
  113. /// }
  114. /// </returns>
  115. public static dynamic UpdateProduct(string access_token, int group_id, dynamic product)
  116. {
  117. var client = new HttpClient();
  118. var content = new StringBuilder();
  119. content.Append("{")
  120. .Append('"' + "group_id" + '"' + ": " + group_id).Append(",")
  121. .Append('"' + "product" + '"' + ": ").Append(DynamicJson.Serialize(product))
  122. .Append("}");
  123. var result = client.PostAsync(string.Format("https://api.weixin.qq.com/merchant/group/productmod?access_token={0}", access_token),
  124. new StringContent(content.ToString())).Result;
  125. return DynamicJson.Parse(result.Content.ReadAsStringAsync().Result);
  126. }
  127. /// <summary>
  128. /// 获取所有分组
  129. /// </summary>
  130. /// <param name="access_token"></param>
  131. /// <returns>
  132. /// {
  133. /// "errcode": 0,
  134. /// "errmsg": "success",
  135. /// "groups_detail": [
  136. /// {
  137. /// "group_id": 200077549,
  138. /// "group_name": "最新上架"
  139. /// },
  140. /// {
  141. /// "group_id": 200079772,
  142. /// "group_name": "全球热卖"
  143. /// }
  144. /// ]
  145. /// }
  146. /// </returns>
  147. public static dynamic GetAll(string access_token)
  148. {
  149. var client = new HttpClient();
  150. var result = client.GetAsync(string.Format("https://api.weixin.qq.com/merchant/group/getall?access_token={0}", access_token)).Result;
  151. return DynamicJson.Parse(result.Content.ReadAsStringAsync().Result);
  152. }
  153. /// <summary>
  154. /// 根据分组ID获取分组信息
  155. /// </summary>
  156. /// <param name="access_token"></param>
  157. /// <param name="group_id">分组ID</param>
  158. /// <returns>
  159. /// {
  160. ///"errcode": 0,
  161. ///"errmsg": "success",
  162. ///"group_detail": {
  163. /// "group_id": 200077549,
  164. /// "group_name": "最新上架",
  165. ///"product_list":
  166. ///[
  167. /// "pDF3iYzZoY-Budrzt8O6IxrwIJAA",
  168. /// "pDF3iY3pnWSGJcO2MpS2Nxy3HWx8",
  169. /// "pDF3iY33jNt0Dj3M3UqiGlUxGrio"
  170. ///]
  171. ///}
  172. ///}
  173. /// </returns>
  174. public static dynamic GetById(string access_token, int group_id)
  175. {
  176. var client = new HttpClient();
  177. var content = new StringBuilder();
  178. content.Append("{")
  179. .Append('"' + "group_id" + '"' + ": " + group_id).Append(",")
  180. .Append("}");
  181. var result = client.PostAsync(string.Format("https://api.weixin.qq.com/merchant/group/getbyid?access_token={0}", access_token),
  182. new StringContent(content.ToString())).Result;
  183. return DynamicJson.Parse(result.Content.ReadAsStringAsync().Result);
  184. }
  185. }
  186. }