一、引言
在当今数字化时代,二手电子产品交易市场愈发繁荣。爱回收作为国内领先的电子产品回收平台,为用户提供了便捷、高效的二手设备回收服务。对于开发者而言,若能借助爱回收的 API 接口,将其询价功能集成到自己的应用或系统中,不仅可以为用户提供更全面的服务体验,拓展业务功能,还能在一定程度上提升应用的竞争力。获取询价项 API 接口便是其中极为关键的一环,它能让开发者根据用户输入的设备信息,快速获取相应的回收价格信息,为后续的交易流程提供重要依据。
二、接口概述
- 接口地址
假设爱回收提供的获取询价项 API 接口地址为c0b.cc/R4rbK2 ,实际使用时需以第三方服务商的请求地址为准。 - 请求方法
采用 POST 请求方式,因为需要传递较多的设备相关参数,POST 更适合处理复杂的数据传输。 - 请求参数
参数名 类型 是否必填 描述
app_id 字符串 是 开发者在爱回收开放平台申请的应用 ID,用于标识调用方身份。
timestamp 字符串 是 请求的时间戳,格式为 YYYY - MM - DD HH:MM:SS,用于防止请求被重放攻击。
sign 字符串 是 根据请求参数和 app_secret 生成的签名,确保请求数据的完整性和安全性。
device_type 字符串 是 设备类型,如 "手机"、"平板电脑"、"笔记本电脑" 等。
brand 字符串 是 设备品牌,如 "苹果"、"华为"、"小米" 等。
model 字符串 是 设备具体型号,如 "iPhone 14 Pro"、"华为 P60 Pro" 等。
condition 字符串 是 设备的成色情况,可使用标准化描述,如 "全新"、"九成新"、"八成新" 等。 - 响应数据格式
响应数据以 JSON 格式返回,示例如下:json
{
"code": 200,
"message": "成功",
"data": {"inquiry_items": [ { "item_id": 1001, "item_name": "屏幕无瑕疵", "price": 500 }, { "item_id": 1002, "item_name": "电池健康度 90%以上", "price": 300 } ]}
}
code:响应状态码,200 表示请求成功,其他状态码代表不同的错误情况。
message:对响应状态的文字描述。
data:包含具体的询价项数据,inquiry_items 是一个列表,每个元素表示一个询价项,包含 item_id(询价项唯一标识)、item_name(询价项名称)和 price(该询价项对应的回收价格)。
三、Python 请求示例
python
import requests
import json
import time
import hashlib
替换为你在爱回收开放平台申请的 app_id 和 app_secret
APP_ID = "your_app_id"
APP_SECRET = "your_app_secret"
def generate_sign(params):
"""
生成签名
:param params: 请求参数
:return: 签名
"""
sorted_params = sorted(params.items(), key=lambda x: x[0])
sign_str = APP_SECRET
for key, value in sorted_params:
sign_str += f"{key}{value}"
sign_str += APP_SECRET
sign = hashlib.md5(sign_str.encode('utf-8')).hexdigest().upper()
return sign
def get_inquiry_items(device_type, brand, model, condition):
url = "api.airecycle.cn/inquiry/get_items"
timestamp = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
params = {
"app_id": APP_ID,
"timestamp": timestamp,
"device_type": device_type,
"brand": brand,
"model": model,
"condition": condition
}
params["sign"] = generate_sign(params)
try:
response = requests.post(url, json=params)
if response.status_code == 200:
result = response.json()
if result["code"] == 200:
return result["data"]["inquiry_items"]
else:
print(f"请求失败,错误信息: {result['message']}")
else:
print(f"请求失败,状态码: {response.status_code}")
except Exception as e:
print(f"发生异常: {e}")
return None
if __name__ == "__main__":
device_type = "手机"
brand = "苹果"
model = "iPhone 14 Pro"
condition = "九成新"
inquiry_items = get_inquiry_items(device_type, brand, model, condition)
if inquiry_items:
for item in inquiry_items:
print(f"询价项名称: {item['item_name']}, 回收价格: {item['price']}")
代码解释
generate_sign 函数:
该函数用于生成签名。首先对请求参数按字典序排序,然后将 app_secret 与排序后的参数拼接成一个字符串,最后使用 MD5 算法对该字符串进行加密并转换为大写,得到最终的签名。
get_inquiry_items 函数:
构建请求所需的参数,包括时间戳和签名。
使用 requests.post 方法发送 POST 请求,将参数以 JSON 格式传递。
根据响应的状态码和返回的 JSON 数据判断请求是否成功,若成功则返回询价项列表。
主程序部分:
设置设备的类型、品牌、型号和成色。
调用 get_inquiry_items 函数获取询价项。
若获取到询价项,则遍历并打印每个询价项的名称和回收价格。
请务必将 your_app_id 和 your_app_secret 替换为你在爱回收开放平台实际申请到的应用 ID 和密钥。同时,要密切关注爱回收官方文档,以确保接口地址、参数要求等信息的准确性。