#http #email #automation #api #mailchimp

mailchimp

Library for the development of applications that require the use of the Mailchimp API, using the Rust programming language

12 releases

✓ Uses Rust 2018 edition

0.1.11 Jun 21, 2019
0.1.10 Apr 29, 2019
0.1.9 Mar 11, 2019
0.1.8 Jan 31, 2019
0.1.3 Dec 29, 2018

#8 in Email

Download history 31/week @ 2019-03-11 10/week @ 2019-03-18 121/week @ 2019-03-25 11/week @ 2019-04-01 2/week @ 2019-04-08 1/week @ 2019-04-15 11/week @ 2019-04-22 24/week @ 2019-04-29 12/week @ 2019-05-06 17/week @ 2019-05-13 45/week @ 2019-05-20 11/week @ 2019-05-27 22/week @ 2019-06-03 22/week @ 2019-06-10 45/week @ 2019-06-17

82 downloads per month

Custom license

437KB
8K SLoC

Mailchimp API Implementation

Library for the development of applications that require the use of the Mailchimp API, using the Rust programming language

NOTA: NOTE: The library is in development, in the section "Implementation Status" I show you that I have implemented and that not.

What can you do with the library?

  • ✅ Get the general information about your Mailchimp Account
    • Total Subscribers
    • Industry Stats
    • Account Industry
    • ...
  • ✅ Get all your Mailchimp Automations, and information of each of them
  • ✅ Get all your Mailchimp Campaigns, and information of each of them
  • ✅ Get all your Mailchimp Lists, and information of each of them
  • ✅ And more...

✅ Example of how you can extract all the automations

Dependencies:

[dependencies]
mailchimp = "0.1"

Rust Code:

  extern crate mailchimp;
  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!("=============================================")
      }
  }

More examples in examples/*

Status of Development

Below I present a list where I will be updating to the extent possible the different endpoints supported by the library

Authorized Apps

  • ✅ Link your application
  • ✅ Get a list of authorized apps
  • ✅ Get information about a specific authorized app

Automations

  • ✅ Create a new Automation

  • ✅ Get a list of Automations

  • ✅ Get information about a specific Automation workflow

  • ✅ Update an Automation

  • ✅ [Action] Pause all emails in an Automation workflow

  • ✅ [Action] Start all emails in an Automation workflow

  • Emails

    • ✅ Get a list of automated emails in a workflow

    • ✅ Get information about a specific workflow email

    • ✅ Update an Automation workflow email

    • ✅ Delete a workflow email

    • ✅ Pause an automated email

    • ✅ Start an automated email

    • Queue

      • ✅ View queued subscribers for an automated email
      • ✅ View specific subscriber in email queue
      • ✅ Add a subscriber to a workflow email
  • Removed Subscribers

    • ✅ Remove subscriber from a workflow
    • ✅ View all subscribers removed from a workflow

List

  • ✅ Create a new list

  • ✅ Batch sub/unsub list members

  • ✅ Get information about all lists

  • ✅ Get information about a specific list

    • Abuse Reports
    • Activity
    • Clients
    • Growth History
    • Interest Categories
    • Locations
    • Members
    • Merge Fields
    • Segments
    • Signup Forms
    • Webhooks
    • Locations

Campaigns

  • ✅ Create a new campaign

  • ✅ Get all campaigns

  • ✅ Get information about a specific campaign

  • ✅ Update the settings for a campaign

  • ✅ Delete a campaign

  • ✅ Cancel a campaign

  • ✅ Resend a campaign

  • ✅ Pause an RSS-Driven campaign

  • ✅ Replicate a campaign

  • ✅ Resume an RSS-Driven campaign

  • ✅ Schedule a campaign

  • ✅ Send a campaign

  • ✅ Send a test email

  • ✅ Unschedule a campaign

  • Content

  • Feedback

  • Send Checklist

✅ Ping

✅ Conversations

  • ✅ Get a list of conversations
  • ✅ Get information about a conversation
  • Messages
    • ✅ Post a new conversation message
    • ✅ Get conversation messages
    • ✅ Get a specific conversation message

🔘 Reporting

🔘 Reports

🔘 Campaign Folders

🔘 Batch Operations

🔘 Connected Sites

🔘 Batch Webhooks

🔘 E-commerce Stores

🔘 Facebook Ads

🔘 File Manager Files

🔘 File Manager Folders

🔘 Google Ads

🔘 Landing Pages

🔘 Landing Pages

🔘 Search Campaigns

🔘 Search Members

🔘 Template Folders

🔘 Templates

Contributing

You want to contribute to this project? Wow, thanks! So please just fork it and send me a pull request.

Support My Efforts

I programmed this lib for fun and do my best effort to support those that have issues with it, please return the favor and support me.

paypal

Dependencies

~17MB
~377K SLoC