#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

10 releases

✓ Uses Rust 2018 edition

0.1.9 Mar 11, 2019
0.1.8 Jan 31, 2019
0.1.3 Dec 29, 2018

#10 in Email

Download history 39/week @ 2018-12-17 20/week @ 2018-12-24 10/week @ 2018-12-31 36/week @ 2019-01-07 39/week @ 2019-01-14 14/week @ 2019-01-21 11/week @ 2019-01-28 6/week @ 2019-02-04 2/week @ 2019-02-11 2/week @ 2019-02-18 11/week @ 2019-02-25 10/week @ 2019-03-04

67 downloads per month

Custom license

407KB
7.5K SLoC

Mailchimp API

Biblioteca de desarrollo para acceder al API de Mailchimp, utilizando como lenguaje de programación Rust

NOTA: Biblioteca en desarrollo, en la sección "Estado de implementación" te muestro que he implementado y que no

✅ Ejemplo de como puedes extraer todas las automatizaciones

A continuación te muestro un ejemplo de código para que puedas extraer todas las automatizaciones creadas en tu Mailchimp

Para este ejemplo uso las siguientes dependencias:

[dependencies]
dotenv = "^0.13"
mailchimp = "0.1.0"

También he creado un archivo .env con las credenciales para el acceso a mailchimp. A continuación te pongo un ejemplo del archivo .env

MAILCHIMP_DC="<DC>"
MAILCHIMP_API_KEY="<API_KEY>"

Finalmente el código de ejemplo para visualizar las automatizaciones creadas en tu mailchimp

  extern crate dotenv;
  extern crate mailchimp;

  use dotenv::dotenv;
  use std::env;

  use mailchimp::MailchimpClient;
  use std::collections::HashMap;

  fn main() {
      // Inicializando el dotenv
      dotenv().ok();
      // Obteniendo las variables de entornos con las credenciales de
      // mailchimp
      let mut env_mailchimp = env::vars().filter(|e| e.0.to_string().contains("MAILCHIMP_"));
      let dc = env_mailchimp.next().unwrap().1;
      let apk = env_mailchimp.next().unwrap().1;
      // Inicializando el API, con las credenciales
      let client = MailchimpClient::new(&dc, &apk);

      // Ejemplo de como obtener todas la automatizaciones
      let account_automations = client.get_account_automations(HashMap::new());
      let mut last_automation_id = String::from("");

      match account_automations {
          Ok(automations) => {
              for w in &automations {
                  let settings = w.get_settings();
                  last_automation_id = w.get_id().clone();
                  println!("Automatizacion");
                  println!("ID                {:?}", w.get_id());
                  println!("Título            {:?}", settings.title);
                  println!("Emails Enviados   {:?}", w.get_emails_sent());
                  println!("Resumen           {:?}", w.get_report_summary());
                  println!("Fecha Inicio      {:?}", w.get_start_time());
                  println!("Fecha de creacion {:?}", w.get_create_time());
                  println!("Estado            {:?}", w.get_status());
                  println!("Tracking          {:?}", w.get_tracking());
                  println!("Disparadores      {:?}", w.get_trigger_settings());
                  println!("Recipients        {:?}", w.get_recipients());
                  println!("=============================================")
              }
          }
          Err(e) => println!("{:?}", e),
      };
  }

Estado de la implementación

A continuación te presento un listado donde iré actualizando a la medida de lo posible las diferentes los endpoints soportados por la biblioteca

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
  • 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

🔘 Ping

🔘 Reporting

🔘 Reports

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

🔘 Campaign Folders

🔘 Batch Operations

🔘 Connected Sites

🔘 Conversations

🔘 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

Dependencies

~13MB
~314K SLoC