5 个版本
0.1.4 | 2024年6月26日 |
---|---|
0.1.3 | 2024年6月26日 |
0.1.2 | 2024年6月25日 |
0.1.1 | 2024年6月25日 |
0.1.0 | 2024年6月25日 |
#1 在 #lightspeed
97 每月下载量
17KB
330 行
Lightspeed API Rust 库
本库为 Lightspeed 电子商务(C-Series)API 提供了 Rust 接口。它允许您轻松地将 Lightspeed 强大的电子商务功能集成到您的 Rust 应用程序中。
功能
- 简单直观的 API 客户端
- 使用 Tokio 进行异步操作
- 全面的错误处理
- 支持所有主要 Lightspeed API 端点
- 易于扩展以适应特定用例
安装
将其添加到您的 Cargo.toml
[dependencies]
lightspeed_api = { git = "https://github.com/NickTacke/lightspeed-api-rust.git" }
快速入门
以下是一个简单的示例以供您开始
use lightspeed_api::{LightspeedClient, AccountResource};
use std::error::Error;
#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
let client = LightspeedClient::new("live", "your_api_key", "your_api_secret", "en");
let account = AccountResource::new(&client);
let account_info = account.get().await?;
println!("Account info: {:?}", account_info);
Ok(())
}
使用
初始化客户端
首先,使用您的 Lightspeed API 凭据创建 LightspeedClient
实例
let client = LightspeedClient::new("live", "your_api_key", "your_api_secret", "en");
处理资源
每个 API 资源(例如,产品、订单、客户)都有自己的结构。以下是一个使用 ProductResource
的示例
use lightspeed_api::{LightspeedClient, ProductResource};
use serde_json::json;
#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
let client = LightspeedClient::new("live", "your_api_key", "your_api_secret", "en");
let products = ProductResource::new(&client);
// Create a new product
let new_product = json!({
"title": "New Product",
"description": "This is a new product",
"price": 19.99
});
let created_product = products.create(&new_product).await?;
// Get a product
let product = products.get("product_id").await?;
// Update a product
let update_data = json!({"price": 24.99});
let updated_product = products.update("product_id", &update_data).await?;
// Delete a product
let deleted_response = products.delete("product_id").await?;
Ok(())
}
可用资源
AccountResource
ProductResource
OrderResource
CustomerResource
- 即将推出!
错误处理
本库使用自定义的 LightspeedApiError
来处理与 API 相关的错误。您可以在代码中捕获和处理这些错误
match result {
Ok(data) => println!("Success: {:?}", data),
Err(e) => {
if let Some(api_error) = e.downcast_ref::<LightspeedApiError>() {
println!("API Error: {} (Status: {})", api_error.message, api_error.status_code);
} else {
println!("Other error: {}", e);
}
}
}
许可证
本项目采用 MIT 许可证 - 有关详细信息,请参阅 LICENSE 文件。
免责声明
本库与 Lightspeed 无官方关联或认可。使用风险自担。
依赖关系
~6–18MB
~267K SLoC