123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Net.Http;
- using Codeplex.Data;
- namespace LYFZ.Weixin.SDK.Shop
- {
- /// <summary>
- /// 商品管理
- /// </summary>
- public class ProductAPI
- {
- /// <summary>
- ///
- /// </summary>
- /// <param name="access_token"></param>
- /// <param name="content">
- /// 参见官方文档
- /// </param>
- /// <returns>
- /// {
- ///"errcode": 0,
- ///"errmsg": "success",
- ///"product_id": "pDF3iYwktviE3BzU3BKiSWWi9Nkw"
- /// }
- /// </returns>
- public static dynamic Create(string access_token, dynamic content)
- {
- var client = new HttpClient();
- var result = client.PostAsync(string.Format("https://api.weixin.qq.com/merchant/create?access_token={0}", access_token),
- new StringContent(DynamicJson.Serialize(content))).Result;
- return DynamicJson.Parse(result.Content.ReadAsStringAsync().Result);
- }
- /// <summary>
- /// 删除商品
- /// </summary>
- /// <param name="access_token"></param>
- /// <param name="product_id">商品ID</param>
- /// <returns>
- /// {
- ///"errcode":0,
- ///"errmsg":"success"
- ///}
- ///</returns>
- public static dynamic Delete(string access_token, string product_id)
- {
- var client = new HttpClient();
- var content = new StringBuilder();
- content.Append("{")
- .Append('"' + "product_id" + '"' + ": " + '"' + product_id + '"')
- .Append("}");
- var result = client.PostAsync(string.Format("https://api.weixin.qq.com/merchant/del?access_token={0}", access_token),
- new StringContent(content.ToString())).Result;
- return DynamicJson.Parse(result.Content.ReadAsStringAsync().Result);
- }
- /// <summary>
- /// 修改商品
- ///
- /// 备注:
- /// 1.product_id表示要更新的商品的ID,其他字段说明请参考增加商品接口。
- ///2.从未上架的商品所有信息均可修改,否则商品的名称(name)、商品分类(category)、商品属性(property)这三个字段不可修改。
- /// </summary>
- /// <param name="access_token"></param>
- /// <param name="content"></param>
- /// <returns>
- /// {
- /// "errcode":0,
- /// "errmsg":"success"
- /// }
- /// </returns>
- public static dynamic Update(string access_token, dynamic content)
- {
- var client = new HttpClient();
- var result = client.PostAsync(string.Format("https://api.weixin.qq.com/merchant/update?access_token={0}", access_token),
- new StringContent(DynamicJson.Serialize(content))).Result;
- return DynamicJson.Parse(result.Content.ReadAsStringAsync().Result);
- }
- /// <summary>
- /// 查询
- /// </summary>
- /// <param name="access_token"></param>
- /// <param name="product_id"></param>
- /// <returns>
- /// 商品详细信息,
- /// 具体请参见官方文档</returns>
- public static dynamic Get(string access_token, string product_id)
- {
- var client = new HttpClient();
- var content = new StringBuilder();
- content.Append("{")
- .Append('"' + "product_id" + '"' + ": " + '"' + product_id + '"')
- .Append("}");
- var result = client.PostAsync(string.Format("https://api.weixin.qq.com/merchant/get?access_token={0}", access_token),
- new StringContent(content.ToString())).Result;
- return DynamicJson.Parse(result.Content.ReadAsStringAsync().Result);
- }
- /// <summary>
- /// 获取指定状态的所有商品
- /// </summary>
- /// <param name="access_token"></param>
- /// <param name="status">
- /// 商品状态(0-全部, 1-上架, 2-下架)
- /// </param>
- /// <returns>
- /// 商品列表信息,
- /// 具体请参见官方文档</returns>
- public static dynamic GetByStatus(string access_token, int status)
- {
- var client = new HttpClient();
- var content = new StringBuilder();
- content.Append("{")
- .Append('"' + "status" + '"' + ": " + status)
- .Append("}");
- var result = client.PostAsync(string.Format("https://api.weixin.qq.com/merchant/getbystatus?access_token={0}", access_token),
- new StringContent(content.ToString())).Result;
- return DynamicJson.Parse(result.Content.ReadAsStringAsync().Result);
- }
- /// <summary>
- /// 商品上下架
- /// </summary>
- /// <param name="access_token"></param>
- /// <param name="product_id">商品id</param>
- /// <param name="status">
- /// 商品上下架标识(0-下架, 1-上架)
- /// </param>
- /// <returns>
- /// {
- ///"errcode":0,
- ///"errmsg":"success"
- ///}
- /// </returns>
- public static dynamic UpdateStatus(string access_token, string product_id, int status)
- {
- var client = new HttpClient();
- var content = new StringBuilder();
- content.Append("{")
- .Append('"' + "product_id" + '"' + ": " + '"' + product_id + '"').Append(",")
- .Append('"' + "status" + '"' + ": " + status)
- .Append("}");
- var result = client.PostAsync(string.Format("https://api.weixin.qq.com/merchant/modproductstatus?access_token={0}", access_token),
- new StringContent(content.ToString())).Result;
- return DynamicJson.Parse(result.Content.ReadAsStringAsync().Result);
- }
- /// <summary>
- /// 获取指定分类的所有子分类
- /// </summary>
- /// <param name="access_token"></param>
- /// <param name="cate_id"></param>
- /// <returns></returns>
- public static dynamic GetSubByCategory(string access_token, string cate_id)
- {
- var client = new HttpClient();
- var content = new StringBuilder();
- content.Append("{")
- .Append('"' + "cate_id" + '"' + ": " + cate_id)
- .Append("}");
- var result = client.PostAsync(string.Format("https://api.weixin.qq.com/merchant/category/getsub?access_token={0}", access_token),
- new StringContent(content.ToString())).Result;
- return DynamicJson.Parse(result.Content.ReadAsStringAsync().Result);
- }
- /// <summary>
- /// 获取指定子分类的所有SKU
- /// </summary>
- /// <param name="access_token"></param>
- /// <param name="cate_id">分类id</param>
- /// <returns></returns>
- public static dynamic GetSKUByCategory(string access_token, string cate_id)
- {
- var client = new HttpClient();
- var content = new StringBuilder();
- content.Append("{")
- .Append('"' + "cate_id" + '"' + ": " + cate_id)
- .Append("}");
- var result = client.PostAsync(string.Format("https://api.weixin.qq.com/merchant/category/getsku?access_token={0}", access_token),
- new StringContent(content.ToString())).Result;
- return DynamicJson.Parse(result.Content.ReadAsStringAsync().Result);
- }
- /// <summary>
- /// 获取指定分类的所有属性
- /// </summary>
- /// <param name="access_token"></param>
- /// <param name="cate_id"></param>
- /// <returns></returns>
- public static dynamic GetPropertiesByCategory(string access_token, string cate_id)
- {
- var client = new HttpClient();
- var content = new StringBuilder();
- content.Append("{")
- .Append('"' + "cate_id" + '"' + ": " + cate_id)
- .Append("}");
- var result = client.PostAsync(string.Format("https://api.weixin.qq.com/merchant/category/getproperty?access_token={0}", access_token),
- new StringContent(content.ToString())).Result;
- return DynamicJson.Parse(result.Content.ReadAsStringAsync().Result);
- }
- }
- }
|