快速开始
本指南将帮助你在5分钟内开始使用快手小店Python SDK。
安装
环境要求
- Python 3.8+
- 支持异步编程 (asyncio)
使用pip安装
从源码安装 (开发版本)
git clone https://github.com/AndersonBY/kwaixiaodian-python-sdk.git
cd kwaixiaodian-python-sdk
pip install -e .
获取API凭证
在使用SDK之前,你需要在快手开放平台获取以下信息:
- App Key - 应用标识
- App Secret - 应用密钥
- Sign Secret - 签名密钥
- Access Token - 用户授权令牌
访问 快手开放平台 创建应用并获取这些凭证。
基础使用
创建客户端
import asyncio
from kwaixiaodian import AsyncKwaixiaodianClient
async def main():
# 创建异步客户端
async with AsyncKwaixiaodianClient(
app_key="your_app_key",
app_secret="your_app_secret",
sign_secret="your_sign_secret"
) as client:
# 你的业务逻辑
pass
# 运行异步函数
asyncio.run(main())
同步客户端
如果你的项目不支持异步,可以使用同步客户端:
from kwaixiaodian import SyncKwaixiaodianClient
with SyncKwaixiaodianClient(
app_key="your_app_key",
app_secret="your_app_secret",
sign_secret="your_sign_secret"
) as client:
# 你的业务逻辑
pass
第一个API调用
以查询订单为例:
import asyncio
from kwaixiaodian import AsyncKwaixiaodianClient
async def get_orders():
async with AsyncKwaixiaodianClient(
app_key="your_app_key",
app_secret="your_app_secret",
sign_secret="your_sign_secret"
) as client:
# 获取订单列表
response = await client.order.list(
access_token="your_access_token",
seller_id=123456,
begin_time="2024-01-01T00:00:00",
end_time="2024-01-31T23:59:59",
page=1,
size=20
)
print(f"状态码: {response.code}")
print(f"订单数量: {len(response.result)}")
for order in response.result:
print(f"订单号: {order.order_id}, 状态: {order.order_status}")
asyncio.run(get_orders())
常用业务场景
商品管理
# 获取商品列表
items = await client.item.list(
access_token=access_token,
seller_id=seller_id,
page=1,
size=50
)
# 更新商品信息
await client.item.update(
access_token=access_token,
seller_id=seller_id,
product_id=product_id,
title="新商品标题",
price=9999 # 价格单位为分
)
物流管理
# 发货
await client.logistics.ship(
access_token=access_token,
seller_id=seller_id,
order_id=order_id,
logistics_id=1, # 物流公司ID
waybill_code="SF1234567890"
)
# 查询物流状态
logistics_info = await client.logistics.query(
access_token=access_token,
seller_id=seller_id,
order_id=order_id
)
售后处理
# 查询退款单
refunds = await client.refund.list(
access_token=access_token,
seller_id=seller_id,
begin_time="2024-01-01T00:00:00",
end_time="2024-01-31T23:59:59"
)
# 处理退款
await client.refund.agree(
access_token=access_token,
seller_id=seller_id,
refund_id=refund_id
)
错误处理
SDK提供了完整的异常层次结构:
from kwaixiaodian import (
AsyncKwaixiaodianClient,
KwaixiaodianAPIError,
KwaixiaodianAuthError,
KwaixiaodianNetworkError
)
async def handle_errors():
try:
async with AsyncKwaixiaodianClient(...) as client:
response = await client.order.list(...)
except KwaixiaodianAuthError as e:
print(f"认证错误: {e}")
except KwaixiaodianAPIError as e:
print(f"API错误: {e.code} - {e.message}")
except KwaixiaodianNetworkError as e:
print(f"网络错误: {e}")
except Exception as e:
print(f"其他错误: {e}")
配置选项
HTTP配置
from kwaixiaodian import AsyncKwaixiaodianClient
from kwaixiaodian.http import HTTPConfig, RetryConfig
# 自定义HTTP配置
http_config = HTTPConfig(
timeout=30.0,
max_connections=100,
max_keepalive_connections=20
)
# 自定义重试配置
retry_config = RetryConfig(
max_retries=3,
backoff_factor=0.5,
status_codes=[429, 500, 502, 503, 504]
)
async with AsyncKwaixiaodianClient(
app_key="your_app_key",
app_secret="your_app_secret",
sign_secret="your_sign_secret",
http_config=http_config,
retry_config=retry_config
) as client:
# 使用自定义配置的客户端
pass
日志配置
import logging
# 启用SDK日志
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger('kwaixiaodian')
logger.setLevel(logging.DEBUG)
下一步
获取帮助
如果遇到问题,可以:
- 查看 GitHub Issues
- 发送邮件到 support@kwaixiaodian.com
- 查看在线文档获取更多信息