#自动化 #http

mailchimp

[非官方] 用于开发需要使用 Mailchimp API 的应用程序的库,使用 Rust 编程语言

16 个版本

0.1.15 2020年1月20日
0.1.14 2019年7月30日
0.1.11 2019年6月21日
0.1.10 2019年4月29日
0.1.3 2018年12月29日

#73邮件

每月 29 次下载

自定义许可证

460KB
8K SLoC

[非官方] Mailchimp API 实现

NOTA: 注意:该库处于开发中,在“实现状态”部分,我展示了我已经实现和尚未实现的功能。

您可以使用该库做什么?

  • ✅ 获取您的 Mailchimp 账户的一般信息
    • 总订阅者
    • 行业统计数据
    • 账户行业
    • ...
  • ✅ 获取所有 Mailchimp 自动化及其详细信息
  • ✅ 获取所有 Mailchimp 营销活动及其详细信息
  • ✅ 获取所有 Mailchimp 列表及其详细信息
  • ✅ 更多...

✅ 如何提取所有自动化的示例

更多示例在 examples/*

依赖关系

[dependencies]
mailchimp = "0.1"

Rust 代码

  use mailchimp::MailchimpApi;
  use mailchimp::{Automations, AutomationsFilter};
  use std::collections::HashMap;

  fn main() {
      // Init the API instance with the API KEY
      let api = MailchimpApi::new("<API_KEY>");

      // Create instance of Automations
      let automations = Automations::new(api);

      // Now you can go through all the automations and display information on
      // each of the automations.
      for w in automations.iter(AutomationsFilter::default()) {
          let settings = w.settings.as_ref().unwrap();
          last_automation_id = w.id.as_ref().unwrap().to_string();
          println!("Automation");
          println!("ID                {:?}", w.id);
          println!("Title             {:?}", settings.title);
          println!("Emails Sent       {:?}", w.emails_sent);
          println!("Report Summary    {:?}", w.report_summary);
          println!("Start Time        {:?}", w.start_time);
          println!("Create Time       {:?}", w.create_time);
          println!("Status            {:?}", w.status);
          println!("Tracking          {:?}", w.tracking);
          println!("Trigger Settings  {:?}", w.trigger_settings);
          println!("Recipients        {:?}", w.recipients);
          println!("=============================================")
      }
  }

示例:获取所有 Mailchimp 报告

  extern crate mailchimp;

  use mailchimp::types::ReportType;
  use mailchimp::{MailchimpApi, Reports};

  fn main() {
      // Init API
      let api = MailchimpApi::new("<API_KEY>");

      // Create Instance of Reports
      let reports = Reports::new(api);

      // Get information about all reports.
      let reports_iter = reports.iter_reports(None);

      for report in reports_iter {
          print_report_type(&report);
          println!("=============================================");
      }
  }

  fn print_report_type(report: &ReportType) {
      println!("\n\nReports");
      println!("\tid    {:?}", report.id);
      println!("\tcampaign_title    {:?}", report.campaign_title);
      println!("\treport_type    {:?}", report.report_type);
      println!("\tlist_id    {:?}", report.list_id);
      println!("\tlist_is_active    {:?}", report.list_is_active);
      println!("\tlist_is_active    {:?}", report.list_is_active);
      println!("\tlist_name    {:?}", report.list_name);
      println!("\tsubject_line    {:?}", report.subject_line);
      println!("\tpreview_text    {:?}", report.preview_text);
      println!("\temails_sent    {:?}", report.emails_sent);
      println!("\tabuse_reports    {:?}", report.abuse_reports);
      println!("\tunsubscribed    {:?}", report.unsubscribed);
      println!("\tsend_time    {:?}", report.send_time);
      println!("\trss_last_send    {:?}", report.rss_last_send);
      println!("\tbounces    {:?}", report.bounces);
      println!("\tforwards    {:?}", report.forwards);
      println!("\topens    {:?}", report.opens);
      println!("\tclicks    {:?}", report.clicks);
      println!("\topens    {:?}", report.opens);
      println!("\tfacebook_likes    {:?}", report.facebook_likes);
      println!("\tlist_stats    {:?}", report.list_stats);
      println!("\tab_split    {:?}", report.ab_split);
      println!("\ttimewarp    {:?}", report.timewarp);
      println!("\ttimeseries    {:?}", report.timeseries);
      println!("\tshare_report    {:?}", report.share_report);
      println!("\tecommerce    {:?}", report.ecommerce);
      println!("\tdelivery_status    {:?}", report.delivery_status);
  }

更多示例在 examples/*

开发状态

以下是一个列表,我将尽可能更新库支持的不同端点

授权应用

  • ✅ 链接您的应用
  • ✅ 获取授权应用列表
  • ✅ 获取特定授权应用的信息

自动化

  • ✅ 创建新的自动化

  • ✅ 获取自动化列表

  • ✅ 获取特定自动化工作流程的信息

  • ✅ 更新自动化

  • ✅ [操作] 暂停自动化工作流程中的所有电子邮件

  • ✅ [操作] 启动自动化工作流程中的所有电子邮件

  • 电子邮件

    • ✅ 获取工作流程中的自动化电子邮件列表

    • ✅ 获取特定工作流程电子邮件的信息

    • ✅ 更新自动化工作流程电子邮件

    • ✅ 删除工作流程电子邮件

    • ✅ 暂停自动化电子邮件

    • ✅ 启动自动化电子邮件

    • 队列

      • ✅ 查看自动化电子邮件的队列中的订阅者
      • ✅ 查看电子邮件队列中的特定订阅者
      • ✅ 将订阅者添加到工作流程电子邮件
  • 移除的订阅者

    • ✅ 从工作流程中移除订阅者
    • ✅ 查看从工作流程中移除的所有订阅者

列表

  • ✅ 创建新的列表

  • ✅ 批量订阅/取消订阅列表成员

  • ✅ 获取所有列表的信息

  • ✅ 获取特定列表的信息

    • 滥用报告
    • 活动
    • 客户端
    • 增长历史
    • 兴趣类别
    • 位置
    • 成员
    • 合并字段
    • 分段
    • 注册表单
    • Webhooks
    • 位置

活动

  • ✅ 创建新的活动

  • ✅ 获取所有活动

  • ✅ 获取特定活动的信息

  • ✅ 更新活动的设置

  • ✅ 删除活动

  • ✅ 取消活动

  • ✅ 重新发送活动

  • ✅ 暂停RSS驱动的活动

  • ✅ 复制活动

  • ✅ 继续RSS驱动的活动

  • ✅ 安排活动

  • ✅ 发送活动

  • ✅ 发送测试电子邮件

  • ✅ 取消安排活动

  • 内容

  • 反馈

  • 发送清单

✅ Ping

✅ 对话

  • ✅ 获取对话列表
  • ✅ 获取关于对话的信息
  • 消息
    • ✅ 发布新的对话消息
    • ✅ 获取对话消息
    • ✅ 获取特定对话消息

🔘 报告

* ✅ Get campaign reports
* ✅ Get a specific campaign report
* 🔘 Campaign Abuse
* 🔘 Campaign Advice
* 🔘 Campaign Open Reports
* 🔘 Click Reports
* 🔘 Get domain performance stats
* 🔘 Ecommerce Product Activity
* 🔘 EepURL Reports
* 🔘 Email Activity
* 🔘 Google Analytics
* 🔘 Location
* 🔘 Sent To
* 🔘 Sub-Reports
* 🔘 Unsubscribes

🔘 电子商务商店

🔘 报告

🔘 活动文件夹

🔘 批量操作

🔘 连接的网站

🔘 批量Webhooks

🔘 Facebook广告

🔘 文件管理器文件

🔘 文件管理器文件夹

🔘 Google广告

🔘 落地页面

🔘 落地页面

🔘 搜索活动

🔘 搜索成员

🔘 模板文件夹

🔘 模板

贡献

您想为此项目做出贡献吗?太棒了!请只需fork它并发送给我一个pull请求。

支持我的努力

我编写这个库是为了好玩,并尽我所能支持那些有问题的用户,请回报我,支持我。

paypal

依赖关系

~3–7.5MB
~174K SLoC