基础模块
SDK的核心基础组件和通用模块,提供异常处理机制、基础数据模型定义、通用数据结构等核心功能。这些模块为整个SDK的稳定运行提供基础支撑,确保API调用的可靠性和数据的一致性。
异常处理
kwaixiaodian.exceptions
快手SDK异常定义
定义了SDK中使用的所有异常类型,提供详细的错误信息和处理建议。
类:
| 名称 | 描述 |
|---|---|
KwaixiaodianSDKError |
快手SDK基础异常 |
KwaixiaodianAPIError |
快手API调用异常 |
KwaixiaodianAuthError |
认证相关异常 |
KwaixiaodianSignatureError |
签名验证异常 |
KwaixiaodianNetworkError |
网络连接异常 |
KwaixiaodianConfigError |
配置错误异常 |
KwaixiaodianValidationError |
数据验证异常 |
KwaixiaodianRateLimitError |
API限流异常 |
Classes
KwaixiaodianSDKError(message: str, details: Optional[Dict[str, Any]] = None)
KwaixiaodianAPIError(message: str, error_code: Optional[str] = None, sub_code: Optional[str] = None, http_status: Optional[int] = None, request_id: Optional[str] = None, details: Optional[Dict[str, Any]] = None)
Bases: KwaixiaodianSDKError
快手API调用异常
当API返回错误状态或错误码时抛出此异常。
Source code in src/kwaixiaodian/exceptions.py
KwaixiaodianAuthError(message: str, auth_type: Optional[str] = None, details: Optional[Dict[str, Any]] = None)
Bases: KwaixiaodianSDKError
认证相关异常
包括OAuth认证失败、token过期、签名验证失败等。
Source code in src/kwaixiaodian/exceptions.py
KwaixiaodianSignatureError(message: str, details: Optional[Dict[str, Any]] = None)
KwaixiaodianNetworkError(message: str, details: Optional[Dict[str, Any]] = None)
Bases: KwaixiaodianSDKError
网络连接异常
包括超时、连接失败、DNS解析失败等网络问题。
Source code in src/kwaixiaodian/exceptions.py
KwaixiaodianConfigError(message: str, details: Optional[Dict[str, Any]] = None)
KwaixiaodianValidationError(message: str, field: Optional[str] = None, value: Optional[Any] = None, details: Optional[Dict[str, Any]] = None)
Bases: KwaixiaodianSDKError
数据验证异常
包括请求参数验证失败、响应数据格式错误等。
Source code in src/kwaixiaodian/exceptions.py
KwaixiaodianRateLimitError(message: str, retry_after: Optional[int] = None, details: Optional[Dict[str, Any]] = None)
基础数据模型
kwaixiaodian.models.base
基础数据模型定义
类:
| 名称 | 描述 |
|---|---|
BaseModel |
基础数据模型 |
HttpMethod |
HTTP方法枚举 |
BaseRequest |
基础请求模型 |
BaseResponse |
基础响应模型 |
PagedData |
分页数据模型 |
PagedResponse |
分页响应模型 |
Classes
BaseModel
Bases: BaseModel
基础数据模型
使用Pydantic v2作为基础,提供数据验证和序列化功能。
方法:
| 名称 | 描述 |
|---|---|
to_dict |
转换为字典 |
to_json |
转换为JSON字符串 |
from_dict |
从字典创建实例 |
from_json |
从JSON字符串创建实例 |
Functions
to_dict(exclude_none: bool = True) -> Dict[str, Any]
转换为字典
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
exclude_none
|
bool
|
是否排除None值 |
True
|
返回:
| 类型 | 描述 |
|---|---|
Dict[str, Any]
|
字典表示 |
to_json(exclude_none: bool = True) -> str
转换为JSON字符串
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
exclude_none
|
bool
|
是否排除None值 |
True
|
返回:
| 类型 | 描述 |
|---|---|
str
|
JSON字符串 |
from_dict(data: Dict[str, Any]) -> BaseModel
classmethod
from_json(json_str: str) -> BaseModel
classmethod
HttpMethod
Bases: str, Enum
HTTP方法枚举
BaseRequest
Bases: BaseModel, ABC
基础请求模型
方法:
| 名称 | 描述 |
|---|---|
get_business_params |
获取业务参数 |
属性:
| 名称 | 类型 | 描述 |
|---|---|---|
api_method |
str
|
API方法名 |
http_method |
HttpMethod
|
HTTP方法,默认为POST |
Attributes
api_method: str
property
API方法名
优先从实例字段或子类类属性中读取,兼容部分子类以字段方式声明 api_method 的写法。 子类也可以显式覆写为 @property 以返回常量字符串。
http_method: HttpMethod
property
HTTP方法,默认为POST
兼容子类以字段方式声明 http_method 的写法。
Functions
get_business_params() -> Dict[str, Any]
获取业务参数
返回排除公共参数后的业务参数字典
BaseResponse
Bases: BaseModel, Generic[T]
基础响应模型
属性:
| 名称 | 类型 | 描述 |
|---|---|---|
is_success |
bool
|
请求是否成功 |
error_message |
str
|
完整错误信息 |
Attributes
is_success: bool
property
请求是否成功
error_message: str
property
完整错误信息
PagedData
Bases: BaseModel, Generic[T]
分页数据模型
属性:
| 名称 | 类型 | 描述 |
|---|---|---|
total_pages |
Optional[int]
|
总页数 |
Attributes
total_pages: Optional[int]
property
总页数
PagedResponse(**data)
通用数据模型
kwaixiaodian.models.common
通用数据模型
类:
| 名称 | 描述 |
|---|---|
OrderStatus |
订单状态 |
ItemStatus |
商品状态 |
RefundStatus |
退款状态 |
PaymentStatus |
支付状态 |
PaymentType |
支付方式 |
Address |
地址信息 |
LogisticsInfo |
物流信息 |
PriceInfo |
价格信息(单位:分) |
Image |
图片信息 |
UserInfo |
用户信息 |
ShopInfo |
店铺信息 |
TimeRange |
时间范围 |
PageInfo |
分页信息 |
SortInfo |
排序信息 |
ApiError |
API错误信息 |
Classes
OrderStatus
Bases: int, Enum
订单状态
ItemStatus
Bases: int, Enum
商品状态
RefundStatus
Bases: int, Enum
退款状态
PaymentStatus
Bases: int, Enum
支付状态
PaymentType
Bases: int, Enum
支付方式
Address
LogisticsInfo
PriceInfo
Bases: BaseModel
价格信息(单位:分)
属性:
| 名称 | 类型 | 描述 |
|---|---|---|
original_yuan |
float
|
原价(元) |
sell_yuan |
float
|
售价(元) |
discount_yuan |
Optional[float]
|
优惠金额(元) |
Attributes
original_yuan: float
property
原价(元)
sell_yuan: float
property
售价(元)
discount_yuan: Optional[float]
property
优惠金额(元)