• .net淘宝客基础api 分页查询


      1 using System;
      2 using System.Collections.Generic;
      3 using System.Configuration;
      4 using System.Linq;
      5 using System.Web;
      6 using Top.Api;
      7 using Top.Api.Request;
      8 using Top.Api.Response;
      9  
     10 namespace MvcWebApp.DataBase
     11 {
     12     public class TaoDataProvider
     13     {
     14  
     15         public static string appKey = ConfigurationManager.AppSettings["appKey"].ToString();
     16         public static string appSecret = ConfigurationManager.AppSettings["appSecret"].ToString();
     17         public static string appUrl = "http://gw.api.taobao.com/router/rest";
     18  
     19         //淘宝官方接口说明:http://open.taobao.com/doc2/apiDetail.htm?spm=a219a.7395905.0.0.70naXx&scopeId=11655&apiId=26619
     20  
     21         /// <summary>
     22         /// 关键字查询商品
     23         /// </summary>
     24         /// <param name="PageIndex"></param>
     25         /// <param name="PageSize"></param>
     26         /// <param name="queryKey"></param>
     27         /// <returns></returns>
     28         public static string query(int PageIndex, int PageSize, string queryKey)
     29         {
     30             ITopClient client = new DefaultTopClient(appUrl, appKey, appSecret, "json");
     31             TbkItemGetRequest req = new TbkItemGetRequest();
     32             req.Fields = "num_iid,title,pict_url,small_images,reserve_price,zk_final_price,user_type,provcity,item_url";
     33             req.Q = queryKey;
     34             req.Platform = 1L;
     35             req.PageNo = PageIndex;
     36             req.PageSize = PageSize;
     37             TbkItemGetResponse response = client.Execute(req);
     38             return response.Body;
     39         }
     40         /// <summary>
     41         /// 分页查询
     42         /// </summary>
     43         /// <param name="PageIndex"></param>
     44         /// <param name="PageSize"></param>
     45         /// <param name="queryKey"></param>
     46         /// <param name="totalCount"></param>
     47         /// <param name="pageNum"></param>
     48         /// <returns></returns>
     49         public static List<Top.Api.Domain.NTbkItem> query(int PageIndex, int PageSize, string queryKey, out long totalCount, out long pageNum)
     50         {
     51             totalCount = 0;
     52             pageNum = 0;
     53             ITopClient client = new DefaultTopClient(appUrl, appKey, appSecret);
     54  
     55             TbkItemGetRequest req = new TbkItemGetRequest();
     56             req.Fields = "num_iid,title,pict_url,small_images,reserve_price,zk_final_price,user_type,provcity,item_url";
     57             req.Q = queryKey;
     58             req.Platform = 1L;
     59             req.PageNo = PageIndex;
     60             req.PageSize = PageSize;
     61  
     62             TbkItemGetResponse response = client.Execute(req);
     63  
     64             totalCount = response.TotalResults;
     65             pageNum = (long)Math.Ceiling(totalCount / (double)PageSize);
     66             return response.Results;
     67         }
     68         /// <summary>
     69         /// 分页查询商品
     70         /// </summary>
     71         /// <param name="PageIndex">当前页</param>
     72         /// <param name="PageSize">每页多少条</param>
     73         /// <param name="queryKey">关键字</param>
     74         /// <param name="cat">后台类目ID16,18</param>
     75         /// <param name="itemloc">所在地</param>
     76         /// <param name="sort">排序_des降序.排序_asc升序.排序销量total_sales淘客佣金比率tk_rate累计推广量tk_total_sales总支出佣金tk_total_commi</param>
     77         /// <param name="isTmall">是否商城商品</param>
     78         /// <param name="isOverseas">是否海外商品</param>
     79         /// <param name="startPrice">折扣价范围下限</param>
     80         /// <param name="endPrice">折扣价范围上限</param>
     81         /// <param name="startTkRate">淘客佣金比率上限</param>
     82         /// <param name="endTkRate">淘客佣金比率下限</param>
     83         /// <param name="totalCount">总条数</param>
     84         /// <param name="pageNum">总页数</param>
     85         /// <returns></returns>
     86         public static List<Top.Api.Domain.NTbkItem> query(int PageIndex, int PageSize, string queryKey,
     87             string cat, string itemloc, string sort, bool? isTmall, bool? isOverseas, long? startPrice, long? endPrice,
     88             long? startTkRate, long? endTkRate,
     89             out long totalCount, out long pageNum)
     90         {
     91             totalCount = 0;
     92             pageNum = 0;
     93             ITopClient client = new DefaultTopClient(appUrl, appKey, appSecret);
     94  
     95             TbkItemGetRequest req = new TbkItemGetRequest();
     96             req.Fields = "num_iid,title,pict_url,small_images,reserve_price,zk_final_price,user_type,provcity,item_url";
     97             if (!string.IsNullOrWhiteSpace(queryKey)) req.Q = queryKey;
     98             req.Platform = 1;
     99             req.PageNo = PageIndex;
    100             req.PageSize = PageSize;
    101  
    102             if (!string.IsNullOrWhiteSpace(cat)) req.Cat = cat;//后台类目ID16,18
    103             if (!string.IsNullOrWhiteSpace(itemloc)) req.Itemloc = itemloc;//所在地
    104             if (!string.IsNullOrWhiteSpace(sort)) req.Sort = sort;//"tk_rate_des";//排序
    105             if (isTmall.HasValue) req.IsTmall = isTmall;//是否商城商品
    106             if (isOverseas.HasValue) req.IsOverseas = isOverseas;//是否海外商品
    107             if (startPrice.HasValue) req.StartPrice = startPrice;//    折扣价范围下限
    108             if (endPrice.HasValue) req.EndPrice = endPrice;
    109             if (startTkRate.HasValue) req.StartTkRate = startTkRate;//淘客佣金比率上限,如:1234表示12.34%
    110             if (endTkRate.HasValue) req.EndTkRate = endTkRate;
    111  
    112  
    113  
    114             TbkItemGetResponse response = client.Execute(req);
    115  
    116             totalCount = response.TotalResults;
    117             pageNum = (long)Math.Ceiling(totalCount / (double)PageSize);
    118             return response.Results;
    119         }
    120  
    121  
    122         /// <summary>
    123         /// 根据ID查询单个商品
    124         /// </summary>
    125         /// <param name="ssid"></param>
    126         /// <returns></returns>
    127         public static string FindOne(string ssid)
    128         {
    129             ITopClient client = new DefaultTopClient(appUrl, appKey, appSecret, "json");
    130             TbkItemInfoGetRequest req = new TbkItemInfoGetRequest();
    131             req.Fields = "num_iid,title,pict_url,small_images,reserve_price,zk_final_price,user_type,provcity,item_url";
    132             req.Platform = 1L;
    133             req.NumIids = ssid;
    134             TbkItemInfoGetResponse rsp = client.Execute(req);
    135             return rsp.Body;
    136         }
    137         /// <summary>
    138         /// 根据ID查询单个商品
    139         /// </summary>
    140         /// <param name="ssid">123,256,365(最多40个)</param>
    141         /// <returns></returns>
    142         public static List<Top.Api.Domain.NTbkItem> FindBySSID(string ssid)
    143         {
    144             ITopClient client = new DefaultTopClient(appUrl, appKey, appSecret);
    145             TbkItemInfoGetRequest req = new TbkItemInfoGetRequest();
    146             req.Fields = "num_iid,title,pict_url,small_images,reserve_price,zk_final_price,user_type,provcity,item_url";
    147             req.Platform = 1L;
    148             req.NumIids = ssid;
    149             TbkItemInfoGetResponse rsp = client.Execute(req);
    150             return rsp.Results;
    151         }
    152         /// <summary>
    153         /// 关联商品查询
    154         /// </summary>
    155         /// <param name="relate_type"></param>
    156         /// <param name="num_iid"></param>
    157         /// <param name="count"></param>
    158         /// <param name="platform"></param>
    159         /// <returns></returns>
    160         public static string FindListRelevance(int? relate_type, long? num_iid, int? count = 24, int? platform = 1)
    161         {
    162             ITopClient client = new DefaultTopClient(appUrl, appKey, appSecret, "json");
    163             TbkItemRecommendGetRequest req = new TbkItemRecommendGetRequest();
    164             req.Fields = "num_iid,title,pict_url,small_images,reserve_price,zk_final_price,user_type,provcity,item_url";
    165  
    166             if (num_iid.HasValue)
    167                 req.NumIid = num_iid.Value;
    168  
    169             //req.Cat = 123L;
    170             req.Count = count.Value;
    171             req.Platform = platform.Value;
    172             TbkItemRecommendGetResponse rsp = client.Execute(req);
    173             //Console.WriteLine(rsp.Body);
    174             return rsp.Body;
    175         }
    176         /// <summary>
    177         /// 关联商品查询
    178         /// </summary>
    179         /// <param name="relate_type"></param>
    180         /// <param name="num_iid"></param>
    181         /// <param name="count"></param>
    182         /// <param name="platform"></param>
    183         /// <returns></returns>
    184         public static List<Top.Api.Domain.NTbkItem> FindListRelate(int? relate_type, long? num_iid, int? count = 24, int? platform = 1)
    185         {
    186             ITopClient client = new DefaultTopClient(appUrl, appKey, appSecret);
    187             TbkItemRecommendGetRequest req = new TbkItemRecommendGetRequest();
    188  
    189             req.Fields = "num_iid,title,pict_url,small_images,reserve_price,zk_final_price,user_type,provcity,item_url";
    190             //if (relate_type.HasValue)
    191             //    req.RelateType = relate_type.Value;
    192             if (num_iid.HasValue)
    193                 req.NumIid = num_iid.Value;
    194  
    195             //req.Cat = 123L;
    196             req.Count = count.Value;
    197             req.Platform = platform.Value;
    198             TbkItemRecommendGetResponse rsp = client.Execute(req);
    199             //Console.WriteLine(rsp.Body);
    200             return rsp.Results;
    201         }
    202         /// <summary>
    203         /// 获取淘宝客店铺列表
    204         /// </summary>
    205         /// <param name="PageIndex">第几页</param>
    206         /// <param name="PageSize">每页几条</param>
    207         /// <param name="queryKey">关键字</param>
    208         /// <param name="start_credit">信用等级下限,1~20</param>
    209         /// <param name="end_credit">信用等级上限,1~20</param>
    210         /// <param name="start_commission_rate">淘客佣金比率下限,1~10000</param>
    211         /// <param name="end_commission_rate">淘客佣金比率上限,1~10000</param>
    212         /// <param name="start_total_action">店铺商品总数下限</param>
    213         /// <param name="end_total_action">店铺商品总数上限</param>
    214         /// <param name="start_auction_count">累计推广商品下限</param>
    215         /// <param name="end_auction_count">累计推广商品上限</param>
    216         /// <param name="totalCount">总数</param>
    217         /// <param name="pageNum">总页数</param>
    218         /// <returns></returns>
    219         public static List<Top.Api.Domain.NTbkShop> FindShopsPagedList(long PageIndex, long PageSize, string queryKey,
    220             long? start_credit, long? end_credit, long? start_commission_rate, long? end_commission_rate,
    221             long? start_total_action, long? end_total_action, long? start_auction_count, long? end_auction_count,
    222             out long totalCount, out long pageNum)
    223         {
    224             ITopClient client = new DefaultTopClient(appUrl, appKey, appSecret);
    225             TbkShopGetRequest req = new TbkShopGetRequest();
    226             req.Fields = "click_url,pic_url,seller_nick,shop_title,shop_url,user_id";
    227             if (!string.IsNullOrWhiteSpace(queryKey)) req.Q = queryKey;
    228             if (start_credit.HasValue) req.StartCredit = start_credit;
    229             if (end_credit.HasValue) req.EndCredit = end_credit;
    230  
    231             if (start_commission_rate.HasValue) req.StartCommissionRate = start_commission_rate;
    232             if (end_commission_rate.HasValue) req.EndCommissionRate = end_commission_rate;
    233  
    234             if (start_total_action.HasValue) req.StartTotalAction = start_total_action;
    235             if (end_total_action.HasValue) req.EndTotalAction = end_total_action;
    236  
    237             if (start_auction_count.HasValue) req.StartAuctionCount = start_auction_count;
    238             if (end_auction_count.HasValue) req.EndAuctionCount = end_auction_count;
    239  
    240             req.PageNo = PageIndex;
    241             req.PageSize = PageSize;
    242             TbkShopGetResponse rsp = client.Execute(req);
    243  
    244             totalCount = rsp.TotalResults;
    245             pageNum = (long)Math.Ceiling(totalCount / (double)PageSize);
    246             return rsp.Results;
    247  
    248  
    249         }
    250         /// <summary>
    251         /// 淘宝客店铺关联推荐查询
    252         /// </summary>
    253         /// <param name="userid">卖家Id</param>
    254         /// <returns></returns>
    255         public static List<Top.Api.Domain.NTbkShop> GetShopRecommend(long userid)
    256         {
    257  
    258             ITopClient client = new DefaultTopClient(appUrl, appKey, appSecret);
    259             TbkShopRecommendGetRequest req = new TbkShopRecommendGetRequest();
    260             req.Fields = "click_url,pict_url,seller_nick,shop_title,shop_type,shop_url,user_id";
    261             req.UserId = userid;
    262             req.Count = 20;
    263             req.Platform = 1;
    264             TbkShopRecommendGetResponse rsp = client.Execute(req);
    265             return rsp.Results;
    266  
    267         }
    268         /// <summary>
    269         /// 枚举正在进行中的定向招商的活动列表
    270         /// </summary>
    271         /// <returns></returns>
    272         public static List<Top.Api.Domain.TbkEvent> GetTbkUatmEvent(long? pageindex = 1, long? pageSize = 20)
    273         {
    274             ITopClient client = new DefaultTopClient(appUrl, appKey, appSecret);
    275             TbkUatmEventGetRequest req = new TbkUatmEventGetRequest();
    276             req.PageNo = pageindex;
    277             req.PageSize = pageSize;
    278             req.Fields = "event_id,event_title,start_time,end_time";
    279             TbkUatmEventGetResponse rsp = client.Execute(req);
    280             return rsp.Results;
    281         }
    282         /// <summary>
    283         /// 获取淘宝联盟定向招商的宝贝信息
    284         /// </summary>
    285         /// <param name="event_id"></param>
    286         /// <param name="pageindex"></param>
    287         /// <param name="pageSize"></param>
    288         /// <returns></returns>
    289         public static List<Top.Api.Domain.UatmTbkItem> GetTbkUatmEventItem(long event_id, long? pageindex = 1, long? pageSize = 20)
    290         {
    291             ITopClient client = new DefaultTopClient(appUrl, appKey, appSecret);
    292             TbkUatmEventItemGetRequest req = new TbkUatmEventItemGetRequest();
    293             req.Platform = 1L;
    294             req.PageSize = pageSize;
    295             //req.AdzoneId = 34567L;
    296             //req.Unid = unid;
    297             req.EventId = event_id;
    298             req.PageNo = pageindex;
    299             req.Fields = "num_iid,title,pict_url,small_images,reserve_price,zk_final_price,user_type,provcity,item_url,seller_id,volume,nick,shop_title,zk_final_price_wap,event_start_time,event_end_time,tk_rate,type,status";
    300             TbkUatmEventItemGetResponse rsp = client.Execute(req);
    301             return rsp.Results;
    302  
    303         }
    304         /// <summary>
    305         /// 获取淘宝联盟选品库列表
    306         /// </summary>
    307         /// <param name="type">默认值-1;选品库类型,1:普通选品组,2:高佣选品组,-1,同时输出所有类型的选品组</param>
    308         /// <param name="pageindex"></param>
    309         /// <param name="pageSize"></param>
    310         /// <returns></returns>
    311         public static List<Top.Api.Domain.TbkFavorites> GetTbkUatmFavorites(long? type=-1, long? pageIndex = 1, long? pageSize = 20)
    312         {
    313             ITopClient client = new DefaultTopClient(appUrl, appKey, appSecret);
    314             TbkUatmFavoritesGetRequest req = new TbkUatmFavoritesGetRequest();
    315             req.PageNo = pageIndex;
    316             req.PageSize = pageSize;
    317             req.Fields = "favorites_title,favorites_id,type";
    318             req.Type = type;
    319             TbkUatmFavoritesGetResponse rsp = client.Execute(req);
    320             return rsp.Results;
    321         }
    322         /// <summary>
    323         /// 指定选品库id,获取该选品库的宝贝信息
    324         /// </summary>
    325         /// <param name="FavoritesId"></param>
    326         /// <param name="pageIndex"></param>
    327         /// <param name="pageSize"></param>
    328         /// <returns></returns>
    329         public static List<Top.Api.Domain.UatmTbkItem> GetTbkUatmFavoritesItem(long? FavoritesId, long? pageIndex = 1, long? pageSize = 20)
    330         {
    331             ITopClient client = new DefaultTopClient(appUrl, appKey, appSecret);
    332             TbkUatmFavoritesItemGetRequest req = new TbkUatmFavoritesItemGetRequest();
    333             req.Platform = 1L;
    334             req.PageSize = pageSize;
    335             //req.AdzoneId = 34567L;
    336             //req.Unid = "3456";
    337             req.FavoritesId = FavoritesId;
    338             req.PageNo = pageIndex;
    339             req.Fields = "num_iid,title,pict_url,small_images,reserve_price,zk_final_price,user_type,provcity,item_url,seller_id,volume,nick,shop_title,zk_final_price_wap,event_start_time,event_end_time,tk_rate,status,type";
    340             TbkUatmFavoritesItemGetResponse rsp = client.Execute(req);
    341             return rsp.Results;
    342         }
    343  
    344  
    345     }
    346 }
  • 相关阅读:
    20个设计精致的用户界面 PSD 源文件免费下载
    Mergely – 免费的在线文档对比和合并工具
    你应该知道的10个奇特的 HTML5 单页网站
    One Page Scroll – 实现苹果风格的单页滚动效果
    学习如何制作 404 错误页面的15个最佳案例
    Rainyday.js – 傻眼了!竟然有如此逼真的雨滴效果
    Lo-Dash – 替代 Underscore 的优秀 JS 工具库
    30个实用的 Photoshop 动作《免费下载》
    Wrangle – 响应式的,触摸友好的多选插件
    经典案例:那些让人赞不绝口的创新 HTML5 网站
  • 原文地址:https://www.cnblogs.com/netalen/p/6663784.html
Copyright © 2020-2023  润新知