Exemple #1
0
        public async Task <object> GetGoods(string q, long?pageNo, long?pageSize)
        {
            if (string.IsNullOrEmpty(q))
            {
                q = "母婴";
            }
            string            url    = "http://gw.api.taobao.com/router/rest";
            string            format = "json";
            ITopClient        client = new DefaultTopClient(url, appkey, appsecret, format);
            TbkItemGetRequest req    = new TbkItemGetRequest();

            req.Fields  = "num_iid,title,pict_url,small_images,reserve_price,zk_final_price,user_type,provcity,item_url,seller_id,volume,nick";
            req.Q       = q;
            req.IsTmall = true;//是否商城商品,设置为true表示该商品是属于淘宝商城商品,设置为false或不设置表示不判断这个属性
            //req.Cat = "16,18";
            req.PageNo   = pageNo ?? 1;
            req.PageSize = pageSize ?? 40;
            //req.StartTkRate = 1000;//淘客佣金比率上限,如:1234表示12.34%
            req.EndTkRate = 1000;//淘客佣金比率下限,如:1234表示12.34%
            //req.StartPrice = 10;//折扣价范围下限,单位:元
            //req.EndPrice = 10;//折扣价范围上限,单位:元
            TbkItemGetResponse response = client.Execute(req);

            return(response.Body);
        }
Exemple #2
0
        /// <summary>
        /// 根据搜索信息搜索商品列表
        /// </summary>
        /// <param name="req"></param>
        /// <returns></returns>
        public AliGoodSerarchRes GetAliGoodsList(AliGoodSerarchReq req)
        {
            AliGoodSerarchRes res     = new AliGoodSerarchRes();
            TbkItemGetRequest request = new TbkItemGetRequest()
            {
                Fields      = "num_iid,title,pict_url,small_images,reserve_price,zk_final_price,user_type,provcity,item_url,seller_id,volume,nick",
                Q           = req.QueryKey,
                Cat         = req.Cat,
                EndPrice    = req.EndPrice,
                EndTkRate   = req.EndTkRate,
                IsOverseas  = req.IsOverseas,
                IsTmall     = req.IsTmall,
                Itemloc     = req.Itemloc,
                PageNo      = req.PageNo,
                PageSize    = req.PageSize,
                Platform    = req.Platform,
                Sort        = req.Sort,
                StartPrice  = req.StartPrice,
                StartTkRate = req.StartTkRate
            };
            ITopClient client = new DefaultTopClient(AliUrl, AliAppKey, AliAppSecret);

            TbkItemGetResponse rsp = client.Execute(request);

            res = DeserializeObject <AliGoodSerarchRes>(SerializeObject(rsp));
            return(res);
        }
Exemple #3
0
        public List <TbkItem> getTbkitems(string sort, int page_no, int page_size = 100, long start_tk_rate = 3000, long end_tk_rate = 0)
        {
            TbkItemGetRequest req = new TbkItemGetRequest();

            req.Fields      = "num_iid,title,pict_url,small_images,reserve_price,zk_final_price,user_type,provcity,item_url,seller_id,volume,nick";
            req.Sort        = sort;
            req.IsTmall     = true;
            req.StartTkRate = start_tk_rate;
            req.EndTkRate   = end_tk_rate;
            req.Platform    = 2;
            req.PageNo      = page_no;
            req.PageSize    = page_size;
            req.Cat         = get_cats();
            TbkItemGetResponse response = topClient.Execute(req);
            JToken             token    = JsonConvert.DeserializeObject <JObject>(response.Body)["tbk_item_get_response"];

            if (token["results"]["n_tbk_item"] == null)
            {
                return(null);
            }
            JToken         tokenList = token["results"]["n_tbk_item"];
            List <TbkItem> result    = new List <TbkItem>();

            foreach (JToken item in tokenList)
            {
                result.Add(new TbkItem()
                {
                    num_iid        = Convert.ToInt64(item["num_iid"].ToString()),
                    title          = item["title"] == null ? "" : item["title"].ToString(),
                    pict_url       = item["pict_url"] == null ? "" : item["pict_url"].ToString(),
                    small_images   = item["small_images"] == null || item["small_images"].ToString() == "{}" ? "" : item["small_images"]["string"].ToString().Replace("\n", "").Replace("\r", ""),
                    reserve_price  = item["reserve_price"].ToString(),
                    zk_final_price = item["zk_final_price"] == null ? "" : item["zk_final_price"].ToString(),
                    user_type      = Convert.ToInt64(item["user_type"].ToString()),
                    provcity       = item["provcity"] == null ? "" : item["provcity"].ToString(),
                    item_url       = item["item_url"] == null ? "" : item["item_url"].ToString(),
                    nick           = item["nick"] == null ? "" : item["nick"].ToString(),
                    seller_id      = Convert.ToInt64(item["seller_id"].ToString()),
                    volume         = Convert.ToInt64(item["volume"].ToString())
                });
            }

            return(result);
        }
Exemple #4
0
        /// <summary>
        /// 搜索淘宝客商品
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        public static TbkItemGetResponse GetItemsWithQuery(string query)
        {
            string            url    = "http://gw.api.taobao.com/router/rest";
            ITopClient        client = new DefaultTopClient(url, appkey, secret);
            TbkItemGetRequest req    = new TbkItemGetRequest();

            req.Fields = "num_iid,title,pict_url,small_images,reserve_price,zk_final_price,user_type,provcity,item_url,seller_id,volume,nick";
            req.Q      = query;
            //req.Cat = "16,18";
            //req.Itemloc = "杭州";
            req.Sort       = "tk_rate_des";
            req.IsTmall    = true;
            req.IsOverseas = false;
            //req.StartPrice = 10L;
            //req.EndPrice = 10L;
            //req.StartTkRate = 123L;
            //req.EndTkRate = 123L;
            //req.Platform = 1L;
            //req.PageNo = 123L;
            //req.PageSize = 20L;
            TbkItemGetResponse rsp = client.Execute(req);

            return(rsp);
        }
Exemple #5
0
        static void Main(string[] args)
        {
            string            sessionkey = "6101f03c14614cea6de7b2c0611deb0b57f8d7d136bc85f327294445";
            string            appkey     = "********";
            string            AppSecret  = "************************************";
            string            url        = "http://gw.api.taobao.com/router/rest";
            ITopClient        client     = new DefaultTopClient(url, appkey, AppSecret, "JSON");
            TbkItemGetRequest req        = new TbkItemGetRequest();

            req.Fields     = "num_iid,title,pict_url,small_images,reserve_price,zk_final_price,user_type,provcity,item_url,seller_id,volume,nick";
            req.Q          = "女装";
            req.Cat        = "16,18";
            req.Itemloc    = "杭州";
            req.Sort       = "tk_rate_des";
            req.IsTmall    = false;
            req.IsOverseas = false;
            req.Platform   = 1L;
            req.PageNo     = 123L;
            req.PageSize   = 20L;
            TbkItemGetResponse rsp = client.Execute(req);

            Console.WriteLine(rsp.Body);
            Console.ReadKey();
        }
Exemple #6
0
        /// <summary>
        /// taobao.tbk.item.get( 淘宝客商品查询 )
        /// doc:https://open.taobao.com/api.htm?docId=24515&docType=2
        /// </summary>
        public static List <Items> QueryItem(PageInfo page, string keyword)
        {
            var client            = GetClient();
            TbkItemGetRequest req = new TbkItemGetRequest();

            req.Fields = "num_iid,title,pict_url,small_images,reserve_price,zk_final_price,user_type,provcity,item_url,seller_id,volume,nick";
            req.Q      = keyword;
            //req.Cat = "16,18";
            //req.Itemloc = "杭州";
            req.Sort = "total_sale_des";//排序_des(降序),排序_asc(升序),销量(total_sales),淘客佣金比率(tk_rate), 累计推广量(tk_total_sales),总支出佣金(tk_total_commi)
            // req.IsTmall = false;
            //req.IsOverseas = false;
            //req.StartPrice = 10L;
            //req.EndPrice = 10L;
            //req.StartTkRate = 123L;
            //req.EndTkRate = 123L;
            // req.Platform = 1L;
            req.PageNo   = page.PageIndex;
            req.PageSize = page.PageSize;
            TbkItemGetResponse rsp = client.Execute(req);

            var configMap = new MapperConfiguration(
                cfg => cfg.CreateMap <NTbkItem, Items>()
                .ForMember(dest => dest.Area, m => m.MapFrom(src => src.Provcity))
                .ForMember(dest => dest.SellPrice, m => m.MapFrom(src => src.ZkFinalPrice))
                .ForMember(dest => dest.CommissionRate, m => m.MapFrom(src => src.TkRate))
                .ForMember(dest => dest.PicUrl, m => m.MapFrom(src => src.PictUrl))
                .ForMember(dest => dest.ShopName, m => m.MapFrom(src => src.ShopTitle))
                .ForMember(dest => dest.SmallImages, m => m.MapFrom(src => src.SmallImages.ToListString(',')))
                .ForMember(dest => dest.Price, m => m.MapFrom(src => src.ReservePrice))
                );
            var mapper = configMap.CreateMapper();

            if (rsp.TotalResults == 0)
            {
                return(null);
            }

            List <Items> result = new List <Items>(rsp.Results.Count);

            foreach (var item in rsp.Results)
            {
                var dest = mapper.Map <NTbkItem, Items>(item);
                dest.LastTime = DateTime.Now;
                dest.TypeId   = 2;
                dest.Tags     = keyword;
                if (dest.Commission <= 0)
                {
                    dest.Commission = dest.SellPrice * dest.CommissionRate / 100;
                }
                dest.FinalPrice  = dest.SellPrice;
                dest.CateId      = dest.Category;
                dest.OrdId       = 1;
                dest.IsShow      = 1;
                dest.AliId       = "1";
                dest.Status      = 1;
                dest.ProductUrl += string.IsNullOrEmpty(dest.ProductUrl) ? "" : pid;
                result.Add(dest);
                Console.WriteLine(string.Format("Title:{0},Rate:{1},smallimages:{2}", dest.Title, dest.CommissionRate, dest.SmallImages));
            }

            return(result);
        }