1 个稳定版本
1.0.0 | 2023 年 12 月 21 日 |
---|
#102 在 邮件
64KB
985 代码行
MailerLite Rust SDK
目录
安装
在您的项目目录中运行以下 Cargo 命令
cargo add mailerlite-rs
或向您的 Cargo.toml 中添加以下行
mailerlite-rs = "1.0.0"
使用
订阅者
获取订阅者列表
您可以通过提供的命令运行示例进行测试。
cargo run --package mailerlite-rs --example get_subscibers
use mailerlite_rs::{parameter::Parameter, response::Response, MailerLite};
#[tokio::main]
async fn main() {
let api_key: String = String::from("Your MailerLite API Key");
let mailerlite: MailerLite = MailerLite::new(api_key);
let parameter: Parameter = Parameter::new()
.add("filter[status]", "active")
.add("limit", "10");
let response: Response = mailerlite.subscriber().get(parameter.clone()).await;
println!("{:#?}", response);
}
获取订阅者
您可以通过提供的命令运行示例进行测试。
cargo run --package mailerlite-rs --example find_subsciber
use mailerlite_rs::{response::Response, MailerLite};
#[tokio::main]
async fn main() {
let api_key: String = String::from("Your MailerLite API Key");
let mailerlite: MailerLite = MailerLite::new(api_key);
let id: String = String::from("Your Subscriber ID");
let response: Response = mailerlite.subscriber().find(id).await;
println!("{:#?}", response);
}
创建订阅者
您可以通过提供的命令运行示例进行测试。
cargo run --package mailerlite-rs --example create_subsciber
use mailerlite_rs::{data::Data, response::Response, MailerLite};
#[tokio::main]
async fn main() {
let api_key: String = String::from("Your MailerLite API Key");
let mailerlite: MailerLite = MailerLite::new(api_key);
let data: Data = Data::new().add("email", "[email protected]");
let response: Response = mailerlite.subscriber().create(data.clone()).await;
println!("{:#?}", response);
}
更新订阅者
您可以通过提供的命令运行示例进行测试。
cargo run --package mailerlite-rs --example update_subsciber
use mailerlite_rs::{data::Data, response::Response, MailerLite};
#[tokio::main]
async fn main() {
let api_key: String = String::from("Your MailerLite API Key");
let mailerlite: MailerLite = MailerLite::new(api_key);
let id: String = String::from("Your Subscriber ID");
let data: Data = Data::new()
.add("fields[name]", "John")
.add("fields[last_name]", "Doe");
let response: Response = mailerlite.subscriber().update(id, data.clone()).await;
println!("{:#?}", response);
}
删除订阅者
您可以通过提供的命令运行示例进行测试。
cargo run --package mailerlite-rs --example delete_subsciber
use mailerlite_rs::{response::Response, MailerLite};
#[tokio::main]
async fn main() {
let api_key: String = String::from("Your MailerLite API Key");
let mailerlite: MailerLite = MailerLite::new(api_key);
let id: String = String::from("Your Subscriber ID");
let response: Response = mailerlite.subscriber().delete(id).await;
println!("{:#?}", response);
}
活动
获取活动列表
您可以通过提供的命令运行示例进行测试。
cargo run --package mailerlite-rs --example get_campaigns
use mailerlite_rs::{parameter::Parameter, response::Response, MailerLite};
#[tokio::main]
async fn main() {
let api_key: String = String::from("Your MailerLite API Key");
let mailerlite: MailerLite = MailerLite::new(api_key);
let parameter: Parameter = Parameter::new().add("filter[status]", "sent");
let response: Response = mailerlite.campaign().get(parameter.clone()).await;
println!("{:#?}", response);
}
获取活动
您可以通过提供的命令运行示例进行测试。
cargo run --package mailerlite-rs --example find_campaign
use mailerlite_rs::{response::Response, MailerLite};
#[tokio::main]
async fn main() {
let api_key: String = String::from("Your MailerLite API Key");
let mailerlite: MailerLite = MailerLite::new(api_key);
let id: String = String::from("Your Campaign ID");
let response: Response = mailerlite.campaign().find(id).await;
println!("{:#?}", response);
}
创建活动
您可以通过提供的命令运行示例进行测试。
cargo run --package mailerlite-rs --example create_campaign
use mailerlite_rs::{data::Data, response::Response, MailerLite};
#[tokio::main]
async fn main() {
let api_key: String = String::from("Your MailerLite API Key");
let mailerlite: MailerLite = MailerLite::new(api_key);
let data: Data = Data::new()
.add("name", "Regular Campaign")
.add("type", "regular")
.add("emails[0][subject]", "Test Subject")
.add("emails[0][from_name]", "John Doe")
.add("emails[0][from]", "[email protected]");
let response: Response = mailerlite.campaign().create(data.clone()).await;
println!("{:#?}", response);
}
更新活动
您可以通过提供的命令运行示例进行测试。
cargo run --package mailerlite-rs --example update_campaign
use mailerlite_rs::{data::Data, response::Response, MailerLite};
#[tokio::main]
async fn main() {
let api_key: String = String::from("Your MailerLite API Key");
let mailerlite: MailerLite = MailerLite::new(api_key);
let id: String = String::from("Your Campaign ID");
let data: Data = Data::new()
.add("name", "Regular Campaign")
.add("emails[0][subject]", "Test Subject")
.add("emails[0][from_name]", "John Doe")
.add("emails[0][from]", "[email protected]");
let response: Response = mailerlite.campaign().update(id, data.clone()).await;
println!("{:#?}", response);
}
删除活动
您可以通过提供的命令运行示例进行测试。
cargo run --package mailerlite-rs --example delete_campaign
use mailerlite_rs::{response::Response, MailerLite};
#[tokio::main]
async fn main() {
let api_key: String = String::from("Your MailerLite API Key");
let mailerlite: MailerLite = MailerLite::new(api_key);
let id: String = String::from("Your Campaign ID");
let response: Response = mailerlite.campaign().delete(id).await;
println!("{:#?}", response);
}
安排活动
您可以通过提供的命令运行示例进行测试。
cargo run --package mailerlite-rs --example schedule_campaign
use mailerlite_rs::{data::Data, response::Response, MailerLite};
#[tokio::main]
async fn main() {
let api_key: String = String::from("Your MailerLite API Key");
let mailerlite: MailerLite = MailerLite::new(api_key);
let id: String = String::from("Your Campaign ID");
let data: Data = Data::new().add("delivery", "instant");
let response: Response = mailerlite.campaign().schedule(id, data.clone()).await;
println!("{:#?}", response);
}
取消准备好的活动
您可以通过提供的命令运行示例进行测试。
cargo run --package mailerlite-rs --example cancel_campaign
use mailerlite_rs::{response::Response, MailerLite};
#[tokio::main]
async fn main() {
let api_key: String = String::from("Your MailerLite API Key");
let mailerlite: MailerLite = MailerLite::new(api_key);
let id: String = String::from("Your Campaign ID");
let response: Response = mailerlite.campaign().cancel(id).await;
println!("{:#?}", response);
}
获取已发送活动的订阅者活动
您可以通过提供的命令运行示例进行测试。
cargo run --package mailerlite-rs --example get_subscribers_activity_for_campaign
use mailerlite_rs::{parameter::Parameter, response::Response, MailerLite};
#[tokio::main]
async fn main() {
let api_key: String = String::from("Your MailerLite API Key");
let mailerlite: MailerLite = MailerLite::new(api_key);
let id: String = String::from("Your Campaign ID");
let parameter: Parameter = Parameter::new().add("filter[type]", "opened");
let response: Response = mailerlite.campaign().subscribers_activity(id, parameter.clone()).await;
println!("{:#?}", response);
}
组
获取组列表
您可以通过提供的命令运行示例进行测试。
cargo run --package mailerlite-rs --example get_groups
use mailerlite_rs::{parameter::Parameter, response::Response, MailerLite};
#[tokio::main]
async fn main() {
let api_key: String = String::from("Your MailerLite API Key");
let mailerlite: MailerLite = MailerLite::new(api_key);
let parameter: Parameter = Parameter::new().add("limit", "10");
let response: Response = mailerlite.group().get(parameter.clone()).await;
println!("{:#?}", response);
}
创建组
您可以通过提供的命令运行示例进行测试。
cargo run --package mailerlite-rs --example create_group
use mailerlite_rs::{data::Data, response::Response, MailerLite};
#[tokio::main]
async fn main() {
let api_key: String = String::from("Your MailerLite API Key");
let mailerlite: MailerLite = MailerLite::new(api_key);
let data: Data = Data::new().add("name", "Dummy Group");
let response: Response = mailerlite.group().create(data.clone()).await;
println!("{:#?}", response);
}
更新组
您可以通过提供的命令运行示例进行测试。
cargo run --package mailerlite-rs --example update_group
use mailerlite_rs::{data::Data, response::Response, MailerLite};
#[tokio::main]
async fn main() {
let api_key: String = String::from("Your MailerLite API Key");
let mailerlite: MailerLite = MailerLite::new(api_key);
let id: String = String::from("Your Group ID");
let data: Data = Data::new().add("name", "Dummy Group");
let response: Response = mailerlite.group().update(id, data.clone()).await;
println!("{:#?}", response);
}
删除组
您可以通过提供的命令运行示例进行测试。
cargo run --package mailerlite-rs --example delete_group
use mailerlite_rs::{response::Response, MailerLite};
#[tokio::main]
async fn main() {
let api_key: String = String::from("Your MailerLite API Key");
let mailerlite: MailerLite = MailerLite::new(api_key);
let id: String = String::from("Your Group ID");
let response: Response = mailerlite.group().delete(id).await;
println!("{:#?}", response);
}
从组中获取订阅者
您可以通过提供的命令运行示例进行测试。
cargo run --package mailerlite-rs --example get_group_subscribers
use mailerlite_rs::{parameter::Parameter, response::Response, MailerLite};
#[tokio::main]
async fn main() {
let api_key: String = String::from("Your MailerLite API Key");
let mailerlite: MailerLite = MailerLite::new(api_key);
let id: String = String::from("Your Group ID");
let parameter: Parameter = Parameter::new().add("filter[status]", "unsubscribed");
let response: Response = mailerlite.group().get_subscribers(id, parameter.clone()).await;
println!("{:#?}", response);
}
将订阅者分配到组
您可以通过提供的命令运行示例进行测试。
cargo run --package mailerlite-rs --example assign_subscriber_to_group
use mailerlite_rs::{response::Response, MailerLite};
#[tokio::main]
async fn main() {
let api_key: String = String::from("Your MailerLite API Key");
let mailerlite: MailerLite = MailerLite::new(api_key);
let group_id: String = String::from("Your Group ID");
let subscriber_id: String = String::from("Your Subscriber ID");
let response: Response = mailerlite.group().assign_subscriber(group_id, subscriber_id).await;
println!("{:#?}", response);
}
从组中取消订阅者分配
您可以通过提供的命令运行示例进行测试。
cargo run --package mailerlite-rs --example unassign_subscriber_from_group
use mailerlite_rs::{response::Response, MailerLite};
#[tokio::main]
async fn main() {
let api_key: String = String::from("Your MailerLite API Key");
let mailerlite: MailerLite = MailerLite::new(api_key);
let group_id: String = String::from("Your Group ID");
let subscriber_id: String = String::from("Your Subscriber ID");
let response: Response = mailerlite.group().unassign_subscriber(group_id, subscriber_id).await;
println!("{:#?}", response);
}
段
获取段列表
您可以通过提供的命令运行示例进行测试。
cargo run --package mailerlite-rs --example get_segments
use mailerlite_rs::{parameter::Parameter, response::Response, MailerLite};
#[tokio::main]
async fn main() {
let api_key: String = String::from("Your MailerLite API Key");
let mailerlite: MailerLite = MailerLite::new(api_key);
let parameter: Parameter = Parameter::new().add("page", "1");
let response: Response = mailerlite.segment().get(parameter.clone()).await;
println!("{:#?}", response);
}
更新段
您可以通过提供的命令运行示例进行测试。
cargo run --package mailerlite-rs --example update_segment
use mailerlite_rs::{data::Data, response::Response, MailerLite};
#[tokio::main]
async fn main() {
let api_key: String = String::from("Your MailerLite API Key");
let mailerlite: MailerLite = MailerLite::new(api_key);
let id: String = String::from("Your Segment ID");
let data: Data = Data::new().add("name", "Dummy Segment");
let response: Response = mailerlite.segment().update(id, data.clone()).await;
println!("{:#?}", response);
}
删除段
您可以通过提供的命令运行示例进行测试。
cargo run --package mailerlite-rs --example delete_segment
use mailerlite_rs::{response::Response, MailerLite};
#[tokio::main]
async fn main() {
let api_key: String = String::from("Your MailerLite API Key");
let mailerlite: MailerLite = MailerLite::new(api_key);
let id: String = String::from("Your Segment ID");
let response: Response = mailerlite.segment().delete(id).await;
println!("{:#?}", response);
}
从段中获取订阅者
您可以通过提供的命令运行示例进行测试。
cargo run --package mailerlite-rs --example get_segment_subscribers
use mailerlite_rs::{parameter::Parameter, response::Response, MailerLite};
#[tokio::main]
async fn main() {
let api_key: String = String::from("Your MailerLite API Key");
let mailerlite: MailerLite = MailerLite::new(api_key);
let id: String = String::from("Your Segment ID");
let parameter: Parameter = Parameter::new().add("filter[status]", "unsubscribed");
let response: Response = mailerlite.segment().get_subscribers(id, parameter.clone()).await;
println!("{:#?}", response);
}
字段
获取字段列表
您可以通过提供的命令运行示例进行测试。
cargo run --package mailerlite-rs --example get_fields
use mailerlite_rs::{parameter::Parameter, response::Response, MailerLite};
#[tokio::main]
async fn main() {
let api_key: String = String::from("Your MailerLite API Key");
let mailerlite: MailerLite = MailerLite::new(api_key);
let parameter: Parameter = Parameter::new().add("filter[type]", "number");
let response: Response = mailerlite.field().get(parameter.clone()).await;
println!("{:#?}", response);
}
创建字段
您可以通过提供的命令运行示例进行测试。
cargo run --package mailerlite-rs --example create_field
use mailerlite_rs::{data::Data, response::Response, MailerLite};
#[tokio::main]
async fn main() {
let api_key: String = String::from("Your MailerLite API Key");
let mailerlite: MailerLite = MailerLite::new(api_key);
let data: Data = Data::new().add("name", "Dummy Field").add("type", "text");
let response: Response = mailerlite.field().create(data.clone()).await;
println!("{:#?}", response);
}
更新字段
您可以通过提供的命令运行示例进行测试。
cargo run --package mailerlite-rs --example update_field
use mailerlite_rs::{data::Data, response::Response, MailerLite};
#[tokio::main]
async fn main() {
let api_key: String = String::from("Your MailerLite API Key");
let mailerlite: MailerLite = MailerLite::new(api_key);
let id: String = String::from("Your Field ID");
let data: Data = Data::new().add("name", "Dummy Field");
let response: Response = mailerlite.field().update(id, data.clone()).await;
println!("{:#?}", response);
}
删除字段
您可以通过提供的命令运行示例进行测试。
cargo run --package mailerlite-rs --example delete_field
use mailerlite_rs::{response::Response, MailerLite};
#[tokio::main]
async fn main() {
let api_key: String = String::from("Your MailerLite API Key");
let mailerlite: MailerLite = MailerLite::new(api_key);
let id: String = String::from("Your Field ID");
let response: Response = mailerlite.field().delete(id).await;
println!("{:#?}", response);
}
表单
获取表单列表
您可以通过提供的命令运行示例进行测试。
cargo run --package mailerlite-rs --example get_forms
use mailerlite_rs::{parameter::Parameter, response::Response, MailerLite};
#[tokio::main]
async fn main() {
let api_key: String = String::from("Your MailerLite API Key");
let mailerlite: MailerLite = MailerLite::new(api_key);
let form_type: String = String::from("Your Form Type");
let parameter: Parameter = Parameter::new().add("sort", "created_at");
let response: Response = mailerlite.form().get(form_type, parameter.clone()).await;
println!("{:#?}", response);
}
获取表单
您可以通过提供的命令运行示例进行测试。
cargo run --package mailerlite-rs --example find_form
use mailerlite_rs::{response::Response, MailerLite};
#[tokio::main]
async fn main() {
let api_key: String = String::from("Your MailerLite API Key");
let mailerlite: MailerLite = MailerLite::new(api_key);
let id: String = String::from("Your Form ID");
let response: Response = mailerlite.form().find(id).await;
println!("{:#?}", response);
}
更新表单
您可以通过提供的命令运行示例进行测试。
cargo run --package mailerlite-rs --example update_form
use mailerlite_rs::{data::Data, response::Response, MailerLite};
#[tokio::main]
async fn main() {
let api_key: String = String::from("Your MailerLite API Key");
let mailerlite: MailerLite = MailerLite::new(api_key);
let id: String = String::from("Your Group ID");
let data: Data = Data::new().add("name", "Dummy Group");
let response: Response = mailerlite.group().update(id, data.clone()).await;
println!("{:#?}", response);
}
删除表单
您可以通过提供的命令运行示例进行测试。
cargo run --package mailerlite-rs --example delete_form
use mailerlite_rs::{response::Response, MailerLite};
#[tokio::main]
async fn main() {
let api_key: String = String::from("Your MailerLite API Key");
let mailerlite: MailerLite = MailerLite::new(api_key);
let id: String = String::from("Your Form ID");
let response: Response = mailerlite.form().delete(id).await;
println!("{:#?}", response);
}
获取特定表单注册的订阅者
您可以通过提供的命令运行示例进行测试。
cargo run --package mailerlite-rs --example get_form_subscribers
use mailerlite_rs::{parameter::Parameter, response::Response, MailerLite};
#[tokio::main]
async fn main() {
let api_key: String = String::from("Your MailerLite API Key");
let mailerlite: MailerLite = MailerLite::new(api_key);
let id: String = String::from("Your Form ID");
let parameter: Parameter = Parameter::new().add("filter[status]", "unsubscribed");
let response: Response = mailerlite.form().get_subscribers(id, parameter.clone()).await;
println!("{:#?}", response);
}
自动化
获取自动化列表
您可以通过提供的命令运行示例进行测试。
cargo run --package mailerlite-rs --example get_automations
use mailerlite_rs::{parameter::Parameter, response::Response, MailerLite};
#[tokio::main]
async fn main() {
let api_key: String = String::from("Your MailerLite API Key");
let mailerlite: MailerLite = MailerLite::new(api_key);
let parameter: Parameter = Parameter::new().add("filter[enabled]", "true");
let response: Response = mailerlite.automation().get(parameter.clone()).await;
println!("{:#?}", response);
}
获取自动化
您可以通过提供的命令运行示例进行测试。
cargo run --package mailerlite-rs --example find_automation
use mailerlite_rs::{response::Response, MailerLite};
#[tokio::main]
async fn main() {
let api_key: String = String::from("Your MailerLite API Key");
let mailerlite: MailerLite = MailerLite::new(api_key);
let id: String = String::from("Your Automation ID");
let response: Response = mailerlite.automation().find(id).await;
println!("{:#?}", response);
}
获取自动化的订阅者活动
您可以通过提供的命令运行示例进行测试。
cargo run --package mailerlite-rs --example get_subscribers_activity_for_automation
use mailerlite_rs::{parameter::Parameter, response::Response, MailerLite};
#[tokio::main]
async fn main() {
let api_key: String = String::from("Your MailerLite API Key");
let mailerlite: MailerLite = MailerLite::new(api_key);
let id: String = String::from("Your Automation ID");
let parameter: Parameter = Parameter::new().add("filter[status]", "completed");
let response: Response = mailerlite.automation().subscribers_activity(id, parameter.clone()).await;
println!("{:#?}", response);
}
Webhooks
获取 Webhooks 列表
您可以通过提供的命令运行示例进行测试。
cargo run --package mailerlite-rs --example get_webhooks
use mailerlite_rs::{parameter::Parameter, response::Response, MailerLite};
#[tokio::main]
async fn main() {
let api_key: String = String::from("Your MailerLite API Key");
let mailerlite: MailerLite = MailerLite::new(api_key);
let parameter: Parameter = Parameter::new();
let response: Response = mailerlite.webhook().get(parameter.clone()).await;
println!("{:#?}", response);
}
获取 Webhook
您可以通过提供的命令运行示例进行测试。
cargo run --package mailerlite-rs --example find_webhook
use mailerlite_rs::{response::Response, MailerLite};
#[tokio::main]
async fn main() {
let api_key: String = String::from("Your MailerLite API Key");
let mailerlite: MailerLite = MailerLite::new(api_key);
let id: String = String::from("Your Webhook ID");
let response: Response = mailerlite.webhook().find(id).await;
println!("{:#?}", response);
}
创建 Webhook
您可以通过提供的命令运行示例进行测试。
cargo run --package mailerlite-rs --example create_webhook
use mailerlite_rs::{data::Data, response::Response, MailerLite};
#[tokio::main]
async fn main() {
let api_key: String = String::from("Your MailerLite API Key");
let mailerlite: MailerLite = MailerLite::new(api_key);
let data: Data = Data::new()
.add("name", "Dummy Webhook")
.add("events[]", "subscriber.created")
.add("url", "https://www.cartwright.info/eligendi-soluta-corporis-in-quod-ullam");
let response: Response = mailerlite.webhook().create(data.clone()).await;
println!("{:#?}", response);
}
更新 Webhook
您可以通过提供的命令运行示例进行测试。
cargo run --package mailerlite-rs --example update_webhook
use mailerlite_rs::{data::Data, response::Response, MailerLite};
#[tokio::main]
async fn main() {
let api_key: String = String::from("Your MailerLite API Key");
let mailerlite: MailerLite = MailerLite::new(api_key);
let id: String = String::from("Your Webhook ID");
let data: Data = Data::new().add("name", "Dummy Webhook");
let response: Response = mailerlite.webhook().update(id, data.clone()).await;
println!("{:#?}", response);
}
删除 Webhook
您可以通过提供的命令运行示例进行测试。
cargo run --package mailerlite-rs --example delete_webhook
use mailerlite_rs::{response::Response, MailerLite};
#[tokio::main]
async fn main() {
let api_key: String = String::from("Your MailerLite API Key");
let mailerlite: MailerLite = MailerLite::new(api_key);
let id: String = String::from("Your Webhook ID");
let response: Response = mailerlite.webhook().delete(id).await;
println!("{:#?}", response);
}
批量操作
创建批量操作
您可以通过提供的命令运行示例进行测试。
cargo run --package mailerlite-rs --example create_batch
use mailerlite_rs::{data::Data, response::Response, MailerLite};
#[tokio::main]
async fn main() {
let api_key: String = String::from("Your MailerLite API Key");
let mailerlite: MailerLite = MailerLite::new(api_key);
let data: Data = Data::new()
.add("requests[0][method]", "POST")
.add("requests[0][path]", "api/subscribers")
.add("requests[0][body][email]", "[email protected]");
let response: Response = mailerlite.batch().create(data.clone()).await;
println!("{:#?}", response);
}
时区
获取时区列表
您可以通过提供的命令运行示例进行测试。
cargo run --package mailerlite-rs --example get_timezones
use mailerlite_rs::{response::Response, MailerLite};
#[tokio::main]
async fn main() {
let api_key: String = String::from("Your MailerLite API Key");
let mailerlite: MailerLite = MailerLite::new(api_key);
let response: Response = mailerlite.timezone().get().await;
println!("{:#?}", response);
}
活动语言
获取活动语言列表
您可以通过提供的命令运行示例进行测试。
cargo run --package mailerlite-rs --example get_campaign_languages
use mailerlite_rs::{response::Response, MailerLite};
#[tokio::main]
async fn main() {
let api_key: String = String::from("Your MailerLite API Key");
let mailerlite: MailerLite = MailerLite::new(api_key);
let response: Response = mailerlite.campaign().languages().await;
println!("{:#?}", response);
}
依赖项
~10–23MB
~357K SLoC