业务场景:作为全球最大的 B2C 电子商务平台之一,淘宝天猫平台提供了丰富的商品资源,吸引了大量的全球买家和卖家。为了方便开发者接入淘宝天猫平台,淘宝天猫平台提供了丰富的 API 接口,其中商品详情接口是非常重要的一部分。大家有探讨稳定采集淘宝(天猫)京东阿里拼多多等平台整站实时商品详情接口,通过该接口开发者可以更好地了解商品的情况,商品详情数据详细信息查询,数据参数包括:商品列表主图、价格、标题,sku,库存,销量,店铺昵称,店铺等级,商品详情SKU属性,商品视频,商品优惠券,促销信息,详情属性描述,宝贝ID,区域ID,发货地,发货至,快递费用,物流费用等页面上有的数据完整解决方案帮助买家更准确地进行商品选购及商品分析。这个引起了我对技术挑战的兴趣。目前,自己做了压测,QPS 高、出滑块概率极低,API 整体稳定,可满足商品分析,竞品分析,品牌监控,商品搬家,商品上传,商城建设,淘宝客,erp 选品,店铺同步,CID 店铺订单回传接口等业务场景的性能需求,下面介绍接口封装代码教程:
1.请求方式:HTTPS GET POST。
2.公共参数:
名称 | 类型 | 必须 | 描述 |
---|---|---|---|
key | String | 是 | 调用 key(必须以 GET 方式拼接在 URL 中) |
secret | String | 是 | 调用密钥 (复制 v:taobaoapi2014) |
请求地址 | String | 是 | http://o0b.cn/iiandy |
api_name | String | 是 | API 接口名称(包括在请求地址中)[item_search,item_get,item_search_shop 等] |
cache | String | 否 | [yes,no] 默认 yes,将调用缓存的数据,速度比较快 |
result_type | String | 否 | [json,jsonu,xml,serialize,var_export] 返回数据格式,默认为 json,jsonu 输出的内容中文可以直接阅读 |
lang | String | 否 | [cn,en,ru] 翻译语言,默认 cn 简体中文 |
version | String | 否 | API 版本 |
3.请求参数 (支持 taobao (tmall),JD,1688,Pinduoduo,lazada,amazon,aliexpress 等全球 30 多个知名电商平台数据,同样的方式拿数据)
请求参数:num_iid=520813250866
参数说明:num_iid:淘宝商品ID
4.请求代码示例,支持高并发请求(CURL、PHP 、PHPsdk 、Java 、C# 、Python...)
代码语言:javascript复制//using System.Net.Security;
//using System.Security.Cryptography.X509Certificates;
private const String method = "GET";
static void Main(string[] args)
{
String bodys = "";
// 请求示例 url 默认请求参数已经做URL编码
String url = "https://api-VX.19970108018.cn/taobao/item_get_app/?key=<您自己的apiKey>&secret=<您自己的apiSecret>&num_iid=520813250866";
HttpWebRequest httpRequest = null;
HttpWebResponse httpResponse = null;
if (url.Contains("https://"))
{
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
httpRequest = (HttpWebRequest)WebRequest.CreateDefault(new Uri(url));
}
else
{
httpRequest = (HttpWebRequest)WebRequest.Create(url);
}
httpRequest.Method = method;
if (0 < bodys.Length)
{
byte[] data = Encoding.UTF8.GetBytes(bodys);
using (Stream stream = httpRequest.GetRequestStream())
{
stream.Write(data, 0, data.Length);
}
}
try
{
httpResponse = (HttpWebResponse)httpRequest.GetResponse();
}
catch (WebException ex)
{
httpResponse = (HttpWebResponse)ex.Response;
}
Console.WriteLine(httpResponse.StatusCode);
Console.WriteLine(httpResponse.Method);
Console.WriteLine(httpResponse.Headers);
Stream st = httpResponse.GetResponseStream();
StreamReader reader = new StreamReader(st, Encoding.GetEncoding("utf-8"));
Console.WriteLine(reader.ReadToEnd());
Console.WriteLine("n");
}
public static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
{
return true;
}
5.响应示例因文章字符限制,暂不展示,欢迎代码交流。