Skip to main content

Listmonk

Listmonk ir e-pastu izsūtīšanas sistēma, ko organizators var uzturēt pie sevis, lai izsūtītu informatīvus e-pastus dalībniekiem.

Listmonk ir iespējams uzstādīt pašam uz sava servera, vai arī to var ātri un vienkārši izveidot mākonī.

Te ir daži mākoņi, kuros var ātri izveidot Listmonk sistēmu:

Mākoņservisi
One-click deploy on Railway
Deploy on Elestio
Deploy on PikaPod

Listmonk sākumlapas izskats:

splash.png

Lai pieslēgtu Listmonk, jādodas uz "Club Details" - "Integrations".

"Club Details" var atrast kreisajā apakšējā stūrī:

Pie integrācijām atrodam Listmonk un spiežam "Connect".

Lai savienotu Listmonk, ir jāaizpilda sekojoši lauki:

Pēc lauku aizpildes un "Save" nospiešanas, sistēma mēģinās pieslēgties Listmonk un pārbaudīt, ka pieslēgums strādā.

Pēc pieslēguma izveides, ir iespējams izvēlēties e-pasta dizainu, ir iespējams veikt šādas darbības:

  1. Izvēlēties e-pasta dizainu, kas tiek nosūtīts, kad veiksmīgi tiek apmaksāta dalība.
  2. Veikt pasākumu sinhronizāciju
  3. Veikt dalībnieku e-pastu sinhronizāciju
  4. Nosūtīt testa "Pirkuma e-pastu".

Pasākumu sinhronizācija (sacensības vai izaicinājumi)

Katrs organizatora pasākums izveido jaunu e-pasta listi Listmonk, lai varētu dalībniekus piesaistīt konkrētajam e-pastu sarakstam un organizatoram būtu iespēja izsūtīt e-pastus tikai konkrētā pasākuma dalībniekiem.

Nospiežot pogu "Initialize Full Event Sync", tiek izveidotas visi pasākumi Listmonk.

Visi pasākumi tiks saglabāti šādā formātā: "Gads - Sacensību nosaukums".

Pievienojot jaunu dalībnieku Listmonk, sistēma pārbauda vai ir konkrētais pasākums izveidots, ja nav - tas tiek izveidots.

Dalībnieku sinhronizācija

Katru reizi, kad tiek veikts pirkums (dalības apmaksa), tiek veikts pieprasījums uz Listmonk un pievienots dalībnieka e-pasts. Tiek pievienots gan "billing email", kas obligāti jāaizpilda pircējam, gan arī visi pie dalībniekiem pievienotie e-pasti.

Katrs dalībnieks tiek pievienots konkrētās sacensības sarakstam un tiek pievienoti attribūti:

  • Events - satur sarakstu ar visiem pasākumiem, kur dalībnieks ir piedalījies.
  • Marketing - satur informāciju par atzīmētajiem "marketinga" jautājumiem pirkuma solī.

Šo informāciju var izmantot, lai filtrētu dalībniekus un pievienotu jauniem izsūtāmo sarakstiem.

Piemēram, lai varētu atrast visus dalībniekus, kas atzīmējuši, ka vēlās saņemt jaunumus, var izmantot šādu Query: (subscribers.attribs->'marketing'->>'News')::BOOLEAN = true.

Izpildot šo Query, tiks atlasīti visi dalībnieki, kas atzīmējuši, ka vēlās saņemt jaunumus.

Sākotnējā dalībnieku sinhronizācija

Lai veiktu sākotnējo dalībnieku sinhronizāciju, ir jāspiež poga "Initialize Full data sync with Listmonk". Jāņem vērā, ka tas var aizņemt ilgāku laiku, ja dalībnieku skaits ir liels.

Pirkumu apstiprinājuma e-pasts

DistantRace sūta no sistēmas automātisko e-pastu brīdī, kad dalībnieks apmaksā dalību, bet organizators var izveidot savu e-pasta dizainu.

Svarīgi e-pastā ir iekļaut sekojošas lietas:

  • Kas tiek apmaksāts un summas
  • Kopējā apmaksātā summa
  • Linku uz pirkuma apstiprinājumu

Kā izveidot e-pastu un pieslēgt to DistantRace?

  1. Jāizveido pirkuma apstiprinājuma e-pasts.

Listmonk ir iespējams veidot "Transactional" e-pastu dizainus. Jāveido jauns dizains pirkuma apstiprinājumam.

Te būs vienkāršots paraugs e-pastam:

<!doctype html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1">
        <base target="_blank">

        <style>
            body {
                background-color: #F0F1F3;
                font-family: 'Helvetica Neue', 'Segoe UI', Helvetica, sans-serif;
                font-size: 15px;
                line-height: 26px;
                margin: 0;
                color: #444;
            }

            pre {
                background: #f4f4f4f4;
                padding: 2px;
            }

            table {
                width: 100%;
                border: 1px solid #ddd;
            }
            table td {
                border-color: #ddd;
                padding: 5px;
            }
            table th {
                border-color: #000;
                padding: 5px;
                text-align: left;
            }

            .wrap {
                background-color: #fff;
                padding: 30px;
                max-width: 525px;
                margin: 0 auto;
                border-radius: 5px;
            }

            .button {
                background: #0055d4;
                border-radius: 3px;
                text-decoration: none !important;
                color: #fff !important;
                font-weight: bold;
                padding: 10px 30px;
                display: inline-block;
            }
            .button:hover {
                background: #111;
            }

            .footer {
                text-align: center;
                font-size: 12px;
                color: #888;
            }
                .footer a {
                    color: #888;
                    margin-right: 5px;
                }

            .gutter {
                padding: 30px;
            }

            img {
                max-width: 100%;
                height: auto;
            }

            a {
                color: #0055d4;
            }
                a:hover {
                    color: #111;
                }
            @media screen and (max-width: 600px) {
                .wrap {
                    max-width: auto;
                }
                .gutter {
                    padding: 10px;
                }
            }
        </style>
    </head>
<body style="background-color: #F0F1F3;font-family: 'Helvetica Neue', 'Segoe UI', Helvetica, sans-serif;font-size: 15px;line-height: 26px;margin: 0;color: #444;">
    <div class="gutter" style="padding: 30px;">&nbsp;</div>
    <div class="wrap" style="background-color: #fff;padding: 30px;max-width: 525px;margin: 0 auto;border-radius: 5px;">
        <p>Hello {{ .Subscriber.Name }}</p>
        <p>
            <strong>Order number: </strong> {{ .Tx.Data.orderNumber }}<br />
            <strong>Created date: </strong> {{ .Tx.Data.createdAt }}<br />
        </p>
        <br />
        <table>
        <tr><th>Name</th><th>Price</th></tr>
        {{range .Tx.Data.products}} <tr><td>{{.title }}</td><td>{{.price}} {{ .Tx.Data.currency }}</td></tr>{{end}} 	
        </table>
        Total price: {{ .Tx.Data.orderSum }} {{ .Tx.Data.currency }}
        <br />
        <p>
            <a href="{{ .Tx.Data.orderUrl }}">Open Order</a>
        </p>
    </div>
    
    <div class="footer" style="text-align: center;font-size: 12px;color: #888;">
        <p>{{ L.T "public.poweredBy" }} <a href="https://listmonk.app" target="_blank" rel="noreferrer" style="color: #888;">listmonk</a></p>
    </div>
</body>
</html>

Vizuāli šis HTML izskatās šādi:

  1. Kad dizains ir sagatavots, konkrētais template ir jāizvēlās pie Listmonk integrācijas DistantRace:

Ja dizains nav pieejams, spiediet pogu "Update" (šo pogu nospiežot tiek atjaunots saraksts ar dizainiem) un veriet no jauna vaļā integrāciju.

  1. Kad dizains ir izvēlēts un saglabāts, tad var izmēģināt, kā izskatās dizains, izsūtot testa e-pastu. Jāspiež poga "Test Order Email (if template is set)".

Tas arī viss - no šī brīža, ja dalībnieks apmaksā dalību, tiks izsūtīts tikai Jūsu dizainētais e-pasts.

Šeit ir paraugs ar informāciju, kas tiek nosūtīta uz listmonk, lai izsūtītu e-pastu:


{
        "subscriber_email": email,
        "template_id": template_id,
        "data": {
            "orderID": "36902",
            "orderNumber": 36902,
            "firstName": first_name,
            "lastName": last_name,
            "cartID": "36902",
            "orderUrl": "https://distantrace.com/en/cart/d5949dac-b7d9-4e93-a874-34946286c006/",
            "currency": "EUR",
            "orderSum": 30.0,
            "createdAt": "2024-05-02 15:50",
            "updatedAt": "2024-05-02 16:36",
            "paymentMethod": "payment with card",
            "paymentStatus": "paid",
            "tags": ["Competition Name"],
            "products": [
                {
                    "cartProductID": 85268,
                    "productID": "607",
                    "variantID": "432",
                    "variantTitle": "Distance Name",
                    "title": "Participant Name - Competition Name, Distance Name, Additional products",
                    "vendor": "Competition Name",
                    "quantity": 1,
                    "price": 15.0,
                },
                {
                    "cartProductID": 85268,
                    "productID": "607",
                    "variantID": "432",
                    "variantTitle": "Distance Name",
                    "title": "Participant Name - Competition Name, Distance Name, Additional products",
                    "vendor": "Competition Name",
                    "quantity": 1,
                    "price": 15.0,
                },
            ],
        },
        "content_type": "html",
    }