ztk_rust_sdk/
lib.rs

1//! 折淘客 (ZheTaoKe/ZTK) Rust SDK
2//!
3//! 为 Rust 开发者提供一个类型安全、易用且功能完整的折淘客 API 客户端库,
4//! 支持淘宝、京东、拼多多、唯品会、美团、考拉、饿了么、抖音等多个电商平台的 API 调用。
5//!
6//! # 特性
7//!
8//! - **类型安全** - 利用 Rust 类型系统在编译时捕获错误
9//! - **模块化** - 各平台独立,支持按需编译
10//! - **易用性** - 链式调用,Builder 模式,清晰的 API
11//! - **异步优先** - 基于 async/await 的异步 API
12//!
13//! # Cargo Features
14//!
15//! SDK 支持通过 Cargo features 按需编译各平台模块:
16//!
17//! - `taobao` - 淘宝平台模块 (默认启用)
18//! - `jd` - 京东平台模块 (默认启用)
19//! - `pdd` - 拼多多平台模块 (默认启用)
20//! - `vip` - 唯品会平台模块
21//! - `meituan` - 美团平台模块
22//! - `kaola` - 考拉平台模块
23//! - `eleme` - 饿了么平台模块
24//! - `douyin` - 抖音平台模块
25//! - `full` - 启用所有平台模块
26//!
27//! # 使用示例
28//!
29//! ```rust,ignore
30//! use ztk_rust_sdk::{ZtkClient, ZtkResult};
31//!
32//! #[tokio::main]
33//! async fn main() -> ZtkResult<()> {
34//!     // 创建客户端
35//!     let client = ZtkClient::new("your_appkey")
36//!         .base_url("https://api.zhetaoke.com:10001")
37//!         .build()?;
38//!     
39//!     // 调用淘宝 API (需要启用 taobao feature)
40//!     #[cfg(feature = "taobao")]
41//!     {
42//!         // let result = client.taobao().convert_by_item_id(request).await?;
43//!     }
44//!     
45//!     // 调用京东 API (需要启用 jd feature)
46//!     #[cfg(feature = "jd")]
47//!     {
48//!         // let result = client.jd().convert(request).await?;
49//!     }
50//!     
51//!     Ok(())
52//! }
53//! ```
54
55// ============================================================================
56// 公共模块 (始终可用)
57// ============================================================================
58
59/// 核心客户端模块
60pub mod client;
61
62/// 公共类型和工具模块
63pub mod common;
64
65/// 错误类型模块
66pub mod error;
67
68// ============================================================================
69// 核心类型导出
70// ============================================================================
71
72/// 折淘客 SDK 客户端
73pub use client::ZtkClient;
74
75/// 客户端构建器
76pub use client::ZtkClientBuilder;
77
78/// SDK 错误类型
79pub use error::ZtkError;
80
81/// SDK Result 类型别名
82pub use error::ZtkResult;
83
84// ============================================================================
85// 公共类型导出
86// ============================================================================
87
88/// 公共枚举和类型
89pub use common::types::{SignUrlType, SortDirection};
90
91// ============================================================================
92// 平台模块 (条件编译)
93// ============================================================================
94
95/// 淘宝平台模块
96///
97/// 提供淘宝平台相关的 API 调用功能,包括:
98/// - 高佣转链 (商品ID/淘口令)
99/// - 批量转链
100/// - 订单查询
101/// - 淘口令生成和解析
102///
103/// 需要启用 `taobao` feature
104#[cfg(feature = "taobao")]
105pub mod taobao;
106
107/// 京东平台模块
108///
109/// 提供京东平台相关的 API 调用功能,包括:
110/// - 商品转链
111/// - 京粉精选商品
112/// - 订单查询
113/// - 商品详情
114/// - 朋友圈火爆商品
115///
116/// 需要启用 `jd` feature
117#[cfg(feature = "jd")]
118pub mod jd;
119
120/// 拼多多平台模块
121///
122/// 提供拼多多平台相关的 API 调用功能,包括:
123/// - 商品转链
124/// - 商品详情 (简版/详版)
125/// - 订单查询
126/// - 授权备案
127///
128/// 需要启用 `pdd` feature
129#[cfg(feature = "pdd")]
130pub mod pdd;
131
132/// 唯品会平台模块
133///
134/// 提供唯品会平台相关的 API 调用功能,包括:
135/// - 商品转链
136/// - 授权
137/// - 订单查询
138/// - 商品详情和搜索
139///
140/// 需要启用 `vip` feature
141#[cfg(feature = "vip")]
142pub mod vip;
143
144/// 美团平台模块
145///
146/// 提供美团平台相关的 API 调用功能,包括:
147/// - 商品转链
148/// - 订单查询
149///
150/// 需要启用 `meituan` feature
151#[cfg(feature = "meituan")]
152pub mod meituan;
153
154/// 考拉平台模块
155///
156/// 提供考拉平台相关的 API 调用功能,包括:
157/// - 商品转链
158/// - 精选商品列表
159/// - 商品搜索
160/// - 订单查询
161///
162/// 需要启用 `kaola` feature
163#[cfg(feature = "kaola")]
164pub mod kaola;
165
166/// 饿了么平台模块
167///
168/// 提供饿了么平台相关的 API 调用功能,包括:
169/// - 商品转链
170/// - 订单查询
171///
172/// 需要启用 `eleme` feature
173#[cfg(feature = "eleme")]
174pub mod eleme;
175
176/// 抖音平台模块
177///
178/// 提供抖音平台相关的 API 调用功能,包括:
179/// - 商品转链
180/// - 直播间转链
181/// - 活动转链
182/// - 商品详情和搜索
183/// - 口令解析
184/// - 订单查询
185///
186/// 需要启用 `douyin` feature
187#[cfg(feature = "douyin")]
188pub mod douyin;
189
190// ============================================================================
191// 平台类型便捷导出 (条件编译)
192// ============================================================================
193
194// 淘宝平台类型导出
195#[cfg(feature = "taobao")]
196pub use taobao::{
197    BatchConvertRequest,
198    BatchConvertResponse,
199    // 请求类型
200    ConvertByItemIdRequest,
201    ConvertByTklRequest,
202    ConvertByTklResponse,
203    // 响应类型
204    ConvertResponse,
205    CreateTklRequest,
206    CreateTklResponse,
207    GoodsDetail,
208    ParseItemIdRequest,
209    ParseItemIdResponse,
210    QueryOrdersRequest,
211    QueryOrdersResponse,
212    // 全网搜索
213    SearchGoodsItem,
214    SearchGoodsRequest,
215    SearchGoodsResponse,
216    TaobaoApi,
217    TaobaoSignUrlType,
218};
219
220// 京东平台类型导出
221#[cfg(feature = "jd")]
222pub use jd::{
223    JdApi,
224    // 枚举类型
225    JdChainType,
226    // 请求类型
227    JdConvertRequest,
228    // 响应类型
229    JdConvertResponse,
230    JdEliteId,
231    JdGoodsDetailRequest,
232    JdGoodsDetailResponse,
233    JdHotGoodsRequest,
234    JdHotGoodsResponse,
235    JdOrderQueryRequest,
236    JdOrderQueryType,
237    JdOrderResponse,
238    JdSortField,
239    JingfenGoodsRequest,
240    JingfenGoodsResponse,
241};
242
243// 拼多多平台类型导出
244#[cfg(feature = "pdd")]
245pub use pdd::{
246    PddApi,
247    PddAuthorizeRequest,
248    PddAuthorizeResponse,
249    // 请求类型
250    PddConvertRequest,
251    // 响应类型
252    PddConvertResponse,
253    PddGoodsDetailFullRequest,
254    PddGoodsDetailFullResponse,
255    PddGoodsDetailSimpleRequest,
256    PddGoodsDetailSimpleResponse,
257    PddOrderQueryRequest,
258    PddOrderResponse,
259};
260
261// 唯品会平台类型导出
262#[cfg(feature = "vip")]
263pub use vip::{
264    VipApi,
265    VipAuthorizeRequest,
266    VipAuthorizeResponse,
267    // 请求类型
268    VipConvertRequest,
269    // 响应类型
270    VipConvertResponse,
271    VipGoodsDetailRequest,
272    VipGoodsDetailResponse,
273    VipOrderQueryRequest,
274    VipOrderResponse,
275    VipSearchGoodsRequest,
276    VipSearchGoodsResponse,
277};
278
279// 美团平台类型导出
280#[cfg(feature = "meituan")]
281pub use meituan::{
282    MeituanApi,
283    // 请求类型
284    MeituanConvertRequest,
285    // 响应类型
286    MeituanConvertResponse,
287    MeituanOrderQueryRequest,
288    MeituanOrderResponse,
289};
290
291// 考拉平台类型导出
292#[cfg(feature = "kaola")]
293pub use kaola::{
294    KaolaApi,
295    // 请求类型
296    KaolaConvertRequest,
297    // 响应类型
298    KaolaConvertResponse,
299    KaolaGoodsListRequest,
300    KaolaGoodsListResponse,
301    KaolaOrderQueryRequest,
302    KaolaOrderResponse,
303    KaolaSearchGoodsRequest,
304    KaolaSearchGoodsResponse,
305};
306
307// 饿了么平台类型导出
308#[cfg(feature = "eleme")]
309pub use eleme::{
310    ElemeApi,
311    // 请求类型
312    ElemeConvertRequest,
313    // 响应类型
314    ElemeConvertResponse,
315    ElemeOrderQueryRequest,
316    ElemeOrderResponse,
317};
318
319// 抖音平台类型导出
320#[cfg(feature = "douyin")]
321pub use douyin::{
322    DouyinActivityConvertRequest,
323    DouyinActivityConvertResponse,
324    DouyinActivityStatus,
325    DouyinApi,
326    DouyinAuthorSortBy,
327    DouyinAuthorType,
328    DouyinCommandType,
329    // 请求类型
330    DouyinGoodsConvertRequest,
331    // 响应类型
332    DouyinGoodsConvertResponse,
333    DouyinGoodsDetailRequest,
334    DouyinGoodsDetailResponse,
335    DouyinLiveConvertRequest,
336    DouyinLiveConvertResponse,
337    DouyinLiveStatus,
338    DouyinOrderQueryRequest,
339    DouyinOrderQueryResponse,
340    DouyinOrderQueryType,
341    DouyinParseCommandRequest,
342    DouyinParseCommandResponse,
343    DouyinProductTag,
344    DouyinSearchGoodsRequest,
345    DouyinSearchGoodsResponse,
346    // 枚举类型
347    DouyinSearchType,
348    DouyinShareStatus,
349    DouyinSortType,
350};