Hoppa till huvudinnehåll

Introduktion

Automatiskt synkronisera dina betalande kunder till MailerLite prenumerantlistor när betalningshändelser inträffar. Lägg till kunder i specifika grupper, utlös automatiseringsarbetsflöden och håll dina e-postmarknadsföringslistor uppdaterade med verkliga betalningsdata. MailerLite är en kraftfull plattform för e-postmarknadsföring för nyhetsbrev, kampanjer och automatiseringar. Denna integration hjälper dig att automatiskt hantera prenumeranter baserat på betalningsaktivitet - perfekt för onboarding-sekvenser, kundsegmentering och riktade marknadsföringskampanjer.
Denna integration kräver din MailerLite API-nyckel för autentisering. Du kan generera en från din MailerLite Integrations-sida.

Komma igång

1

Öppna Webhook-sektionen

I din Dodo Payments-instrumentpanel, navigera till Webhooks + Lägg till slutpunkt och expandera integrationsrullgardinsmenyn.
Lägg till slutpunkt och integrationsrullgardinsmeny
2

Välj MailerLite

Välj MailerLite integrationskortet.
3

Ange API-nyckel

Ange din MailerLite API-nyckel i konfigurationen.
4

Konfigurera transformation

Redigera transformationskoden för att formatera prenumerantdata för MailerLites API.
5

Testa & Skapa

Testa med exempelpayloads och klicka på Skapa för att aktivera prenumerantsynkroniseringen.
6

Klart!

Betalningshändelser kommer nu automatiskt att synkronisera kunder till dina MailerLite-listor.

Transformationskodexempel

Lägg till kund vid lyckad betalning

add_customer.js
function handler(webhook) {
  if (webhook.eventType === "payment.succeeded") {
    const p = webhook.payload.data;
    webhook.url = "https://connect.mailerlite.com/api/subscribers";
    webhook.payload = {
      email: p.customer.email,
      fields: {
        name: p.customer.name,
        company: p.customer.business_name || "",
        last_name: ""
      },
      groups: ["your-group-id-here"],
      status: "active"
    };
  }
  return webhook;
}

Lägg till prenumerant i flera grupper baserat på produkt

product_segmentation.js
function handler(webhook) {
  if (webhook.eventType === "payment.succeeded") {
    const p = webhook.payload.data;
    
    // Determine groups based on product or amount
    const groups = ["customers-group-id"];
    
    // Add to premium group if high-value purchase
    if (p.total_amount >= 10000) { // $100+
      groups.push("premium-customers-group-id");
    }
    
    webhook.url = "https://connect.mailerlite.com/api/subscribers";
    webhook.payload = {
      email: p.customer.email,
      fields: {
        name: p.customer.name,
        last_purchase_amount: (p.total_amount / 100).toFixed(2),
        last_purchase_date: new Date(webhook.payload.timestamp).toISOString().split('T')[0],
        payment_id: p.payment_id
      },
      groups: groups,
      status: "active"
    };
  }
  return webhook;
}

Lägg till ny prenumerant vid aktivering av prenumeration

subscription_subscriber.js
function handler(webhook) {
  if (webhook.eventType === "subscription.active") {
    const s = webhook.payload.data;
    webhook.url = "https://connect.mailerlite.com/api/subscribers";
    webhook.payload = {
      email: s.customer.email,
      fields: {
        name: s.customer.name,
        subscription_plan: s.product_id,
        subscription_amount: (s.recurring_pre_tax_amount / 100).toFixed(2),
        billing_frequency: s.payment_frequency_interval,
        subscription_start: new Date().toISOString().split('T')[0]
      },
      groups: ["subscribers-group-id", "active-subscriptions-group-id"],
      status: "active"
    };
  }
  return webhook;
}

Uppdatera prenumerant vid avbokning av prenumeration

subscription_cancelled.js
function handler(webhook) {
  if (webhook.eventType === "subscription.cancelled") {
    const s = webhook.payload.data;
    // Use PUT to update existing subscriber
    webhook.url = "https://connect.mailerlite.com/api/subscribers/" + encodeURIComponent(s.customer.email);
    webhook.method = "PUT";
    webhook.payload = {
      fields: {
        subscription_status: "cancelled",
        cancellation_date: new Date().toISOString().split('T')[0]
      },
      groups: ["churned-customers-group-id"]
    };
  }
  return webhook;
}

Lägg till kund med anpassade fält

custom_fields.js
function handler(webhook) {
  if (webhook.eventType === "payment.succeeded") {
    const p = webhook.payload.data;
    webhook.url = "https://connect.mailerlite.com/api/subscribers";
    webhook.payload = {
      email: p.customer.email,
      fields: {
        name: p.customer.name,
        company: p.customer.business_name || "",
        country: p.customer.country || "",
        city: p.customer.city || "",
        phone: p.customer.phone || "",
        // Custom fields (must be created in MailerLite first)
        total_spent: (p.total_amount / 100).toFixed(2),
        customer_since: new Date().toISOString().split('T')[0],
        payment_method: p.payment_method || "unknown",
        currency: p.currency || "USD"
      },
      groups: ["paying-customers-group-id"],
      status: "active",
      subscribed_at: new Date().toISOString().replace('T', ' ').split('.')[0]
    };
  }
  return webhook;
}

Utlösa automatisering via händelse

trigger_automation.js
function handler(webhook) {
  if (webhook.eventType === "payment.succeeded") {
    const p = webhook.payload.data;
    
    // First, ensure subscriber exists
    webhook.url = "https://connect.mailerlite.com/api/subscribers";
    webhook.payload = {
      email: p.customer.email,
      fields: {
        name: p.customer.name,
        // Add a trigger field that your automation watches
        last_payment_trigger: new Date().toISOString(),
        last_payment_amount: (p.total_amount / 100).toFixed(2)
      },
      status: "active"
    };
    
    // Tip: Create an automation in MailerLite that triggers
    // when 'last_payment_trigger' field is updated
  }
  return webhook;
}

Tips

  • Skapa anpassade fält i MailerLite innan du använder dem i dina transformationer
  • Använd grupper för att segmentera kunder efter produkt, plan eller köpbeteende
  • Ställ in automatiseringsarbetsflöden i MailerLite som utlöses vid fältuppdateringar
  • Använd upsert-beteendet (POST till /subscribers) för att undvika dubblettprenumerantfel
  • Lagra betalningsmetadata i anpassade fält för bättre kundinsikter
  • Testa med en liten grupp innan du aktiverar för alla betalningar

Inställning av anpassade fält

Innan du använder anpassade fält måste du skapa dem i MailerLite:
  1. Gå till din MailerLite-instrumentpanel
  2. Navigera till Prenumerantfält
  3. Klicka på Skapa fält och lägg till fält som:
    • total_spent (Nummer)
    • customer_since (Datum)
    • subscription_plan (Text)
    • payment_method (Text)
    • last_payment_amount (Nummer)

Felsökning

  • Verifiera att API-nyckeln är korrekt och aktiv
  • Kontrollera att e-postadressen är giltig (RFC 2821-kompatibel)
  • Se till att grupp-ID:n är korrekta och finns i ditt konto
  • Notera: Avprenumererade, studsar eller skräppostprenumeranter kan inte återaktiveras via API
  • Verifiera att anpassade fält finns i MailerLite innan du använder dem
  • Kontrollera att fältnamnen matchar exakt (skiftlägeskänsliga)
  • Se till att fältvärdena matchar den förväntade typen (text, nummer, datum)
  • MailerLite API har en hastighetsgräns på 120 förfrågningar per minut
  • Använd batch-slutpunkter om du bearbetar många prenumeranter
  • Implementera backoff-strategier för högvolymscenarier
  • Verifiera att grupp-ID:n är numeriska strängar
  • Kontrollera att grupper finns i ditt MailerLite-konto
  • Notera: Användning av PUT med grupper kommer att ta bort prenumeranten från olistade grupper

API-referens

MailerLite Prenumeranter API accepterar följande nyckelparametrar:
ParameterTypObligatoriskBeskrivning
emailstringJaGiltig e-postadress (RFC 2821)
fieldsobjectNejObjekt med fältnamn/värde-par
fields.namestringNejPrenumerantens förnamn
fields.last_namestringNejPrenumerantens efternamn
fields.companystringNejFöretagsnamn
fields.countrystringNejLand
fields.citystringNejStad
fields.phonestringNejTelefonnummer
groupsarrayNejArray av grupp-ID:n för att lägga till prenumeranten i
statusstringNejEn av: aktiv, avprenumererad, oavslutad, studsar, skräppost
subscribed_atstringNejDatum i formatet yyyy-MM-dd HH:mm:ss
ip_addressstringNejPrenumerantens IP-adress
För fullständig API-dokumentation, besök MailerLite Developers.