using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Http;
using Codeplex.Data;
namespace LYFZ.Weixin.SDK.Shop
{
///
/// 商品管理
///
public class ProductAPI
{
///
///
///
///
///
/// 参见官方文档
///
///
/// {
///"errcode": 0,
///"errmsg": "success",
///"product_id": "pDF3iYwktviE3BzU3BKiSWWi9Nkw"
/// }
///
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);
}
///
/// 删除商品
///
///
/// 商品ID
///
/// {
///"errcode":0,
///"errmsg":"success"
///}
///
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);
}
///
/// 修改商品
///
/// 备注:
/// 1.product_id表示要更新的商品的ID,其他字段说明请参考增加商品接口。
///2.从未上架的商品所有信息均可修改,否则商品的名称(name)、商品分类(category)、商品属性(property)这三个字段不可修改。
///
///
///
///
/// {
/// "errcode":0,
/// "errmsg":"success"
/// }
///
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);
}
///
/// 查询
///
///
///
///
/// 商品详细信息,
/// 具体请参见官方文档
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);
}
///
/// 获取指定状态的所有商品
///
///
///
/// 商品状态(0-全部, 1-上架, 2-下架)
///
///
/// 商品列表信息,
/// 具体请参见官方文档
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);
}
///
/// 商品上下架
///
///
/// 商品id
///
/// 商品上下架标识(0-下架, 1-上架)
///
///
/// {
///"errcode":0,
///"errmsg":"success"
///}
///
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);
}
///
/// 获取指定分类的所有子分类
///
///
///
///
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);
}
///
/// 获取指定子分类的所有SKU
///
///
/// 分类id
///
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);
}
///
/// 获取指定分类的所有属性
///
///
///
///
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);
}
}
}