淘宝/天猫商品搜索API的调试秘籍中,关于状态码的理解与处理是至关重要的一环。状态码是API调用后返回给调用者的一种信息,用于指示调用是否成功以及失败的具体原因。以下是根据淘宝/天猫商品搜索API的特点,总结的状态码全知道及调试秘籍:
淘宝api的参数
taobao.item_search
公共参数
请求地址:
名称 | 类型 | 必须 | 描述 |
---|---|---|---|
key | String | 是 | 调用key(必须以GET方式拼接在URL中) |
secret | String | 是 | 调用密钥 |
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版本 |
请求参数
请求参数:q=女装&start_price=0&end_price=0&page=1&cat=0&discount_only=&sort=&page_size=&seller_info=&nick=&ppath=&imgid=&filter=
参数说明:q:搜索关键字
page:页数
响应参数
Version: Date:
名称 | 类型 | 必须 | 示例值 | 描述 |
---|---|---|---|---|
title | String | 0 | 法式复古山本超仙chic仙女赫本网红初春很仙法国小众裙子两件套装 | 商品标题 |
pic_url | String | 0 | //img.alicdn.com/bao/uploaded/i3/3083218865/O1CN012FMDaiwxkenJGaM_!!0-item_pic.jpg | 宝贝图片 |
promotion_price | Float | 0 | 178.00 | 优惠价 |
price | Float | 0 | 178.00 | 价格 |
sales | Int | 0 | 890 | 销量 |
num_iid | Bigint | 0 | 577437133060 | 宝贝ID |
area | String | 0 | 山东 | 店铺所在地 |
detail_url | String | 0 | //detail.tmall.com/item.htm?id=586794298909&ns=1&abbucket=0 | 宝贝链接 |
一、状态码概述
状态码主要分为成功状态和错误状态两大类。
- 成功状态:通常表示为HTTP状态码200,意味着API调用成功,并返回了预期的数据。
- 错误状态:表示API调用失败,根据不同的错误原因,会返回不同的HTTP状态码和错误信息。
二、常见错误状态码及调试建议
- 400系列状态码:客户端错误
- 400 Bad Request:请求错误,通常是因为请求参数不正确或缺失。
- 调试建议:检查请求参数是否按照API文档要求填写,确保没有遗漏或错误。
- 401 Unauthorized:未授权,可能是因为API密钥无效或未通过认证。
- 调试建议:确认API密钥是否正确,是否已过期或已被禁用。同时检查认证流程是否正确实现。
- 403 Forbidden:禁止访问,可能是因为请求的资源被禁止访问。
- 调试建议:检查API文档,确认当前用户或应用是否有权限访问该资源。
- 400 Bad Request:请求错误,通常是因为请求参数不正确或缺失。
- 500系列状态码:服务器错误
- 500 Internal Server Error:服务器内部错误,无法完成请求。
- 调试建议:这类错误通常是由服务器端的问题引起的,建议联系API提供者获取帮助。同时,检查自己的请求是否符合规范,避免因为请求问题触发了服务器端的错误。
- 502 Bad Gateway、503 Service Unavailable等:这些状态码也表明服务器暂时无法处理请求。
- 调试建议:等待一段时间后重试,或者联系API提供者了解服务器状态。
- 500 Internal Server Error:服务器内部错误,无法完成请求。
状态代码(error_code) | 状态信息 | 详细描述 | 是否收费 |
---|---|---|---|
0000 | success | 接口调用成功并返回相关数据 | 是 |
2000 | Search success but no result | 接口访问成功,但是搜索没有结果 | 是 |
4000 | Server internal error | 服务器内部错误 | 否 |
4001 | Network error | 网络错误 | 否 |
4002 | Target server error | 目标服务器错误 | 否 |
4003 | Param error | 用户输入参数错误 | 忽略 |
4004 | Account not found | 用户帐号不存在 | 忽略 |
4005 | Invalid authentication credentials | 授权失败 | 忽略 |
4006 | API stopped | 您的当前API已停用 | 忽略 |
4007 | Account stopped | 您的账户已停用 | 忽略 |
4008 | API rate limit exceeded | 并发已达上限 | 忽略 |
4009 | API maintenance | API维护中 | 忽略 |
4010 | API not found with these values | API不存在 | 忽略 |
4012 | Please add api first | 请先添加api | 忽略 |
4013 | Number of calls exceeded | 调用次数超限 | 忽略 |
4014 | Missing url param | 参数缺失 | 忽略 |
4015 | Wrong pageToken | 参数pageToken有误 | 忽略 |
4016 | Insufficient balance | 余额不足 | 忽略 |
4017 | timeout error | 请求超时 | 否 |
5000 | unknown error | 未知错误 | 否 |
API 工具