---
title: Listmonk
description: Połącz samodzielnie hostowany Listmonk do kampanii e-mailowych dla uczestników
order: 4
source_hash: ceca5cb6f21f
---

# Listmonk

[Listmonk](https://listmonk.app/) to samodzielnie hostowany menedżer newsletterów i list mailingowych, który organizatorzy mogą używać wewnętrznie do wysyłania e-maili informacyjnych do uczestników.

Listmonk można zainstalować na własnym serwerze lub szybko i łatwo skonfigurować w chmurze.

Oto kilka chmur, w których można szybko skonfigurować system Listmonk:

<center>
  
| Usługi w chmurze |
| :-: |
| [![One-click deploy on Railway](https://camo.githubusercontent.com/d07713342bc583232f8752c33a6a24e5f367d73725183a63f2f5fdd7c00606a3/68747470733a2f2f7261696c7761792e6170702f627574746f6e2e737667)](https://railway.app/new/template/listmonk) |
| [![Deploy on Elestio](https://github.com/elestio-examples/wordpress/raw/main/deploy-on-elestio.png)](https://dash.elest.io/deploy?soft=Listmonk&amp;id=237) |
| [![Deploy on PikaPod](https://www.pikapods.com/static/run-button.svg)](https://www.pikapods.com/pods?run=listmonk) |

</center>

Panel Listmonk wygląda tak:

[![splash.png](https://listmonk.app/static/images/splash.png)](https://listmonk.app/static/images/splash.png)

Aby połączyć Listmonk, przejdź do ustawień klubu -> "Integracje".

Ustawienia klubu znajdują się w lewym dolnym rogu.

![](/static/img/integrations/listmonk/image-1715233033231-34-49.png)

W sekcji integracji znajdź Listmonk i kliknij "Połącz".

![](/static/img/integrations/listmonk/image-1715233117621-37-25.png)

Aby połączyć Listmonk, należy wypełnić następujące pola:

![](/static/img/integrations/listmonk/image-1715233169267-38-53.png)

Po wypełnieniu pól i naciśnięciu "Zapisz", system spróbuje połączyć się z Listmonk i zweryfikować, czy połączenie działa.

Po nawiązaniu połączenia możesz wybrać projekt e-maila i wykonać następujące czynności:

1. Wybierz projekt e-maila, który jest wysyłany, gdy członkostwo zostanie pomyślnie opłacone.
2. Wykonaj synchronizację wydarzeń.
3. Synchronizuj e-maile członków.
4. Wyślij testowy "E-mail zakupu".

#### Synchronizacja wydarzeń (zawody lub wyzwania)

Każde wydarzenie organizatora tworzy nową listę e-mailową w Listmonk, umożliwiając powiązanie uczestników z konkretną listą e-mailową, aby organizator mógł wysyłać e-maile tylko do uczestników tego konkretnego wydarzenia.

Naciskając przycisk "Zainicjuj pełną synchronizację wydarzeń", wszystkie wydarzenia są tworzone w Listmonk.

Wszystkie wydarzenia będą zapisane w następującym formacie: "Rok - Nazwa zawodów".

Dodając nowego uczestnika do Listmonk, system sprawdza, czy konkretne wydarzenie zostało utworzone; jeśli nie, jest tworzone.

#### Synchronizacja uczestników

Za każdym razem, gdy dokonywany jest zakup (opłata członkowska), wysyłane jest żądanie do Listmonk i dodawane są e-maile uczestników. Dodawany jest zarówno "e-mail rozliczeniowy", który kupujący musi wypełnić, jak i wszystkie e-maile przypisane do uczestników.

Każdy uczestnik jest dodawany do konkretnej listy zawodów i przypisywane są następujące atrybuty:

![](/static/img/integrations/listmonk/image-1715234635829-03-44.png)

* Wydarzenia - zawiera listę wszystkich wydarzeń, w których uczestnik brał udział.
* Marketing - zawiera informacje o preferencjach "marketingowych" zaznaczonych podczas kroku zakupu.

Te informacje mogą być używane do filtrowania uczestników i dodawania ich do nowych list mailingowych.

Na przykład, aby znaleźć wszystkich uczestników, którzy zaznaczyli, że chcą otrzymywać wiadomości, można użyć następującego zapytania: `(subscribers.attribs->'marketing'->>'News')::BOOLEAN = true`.

![](/static/img/integrations/listmonk/image-1715234734703-05-26.png)

Wykonanie tego zapytania wybierze wszystkich uczestników, którzy zaznaczyli, że chcą otrzymywać wiadomości.

#### Początkowa synchronizacja uczestników

Aby wykonać początkową synchronizację uczestników, należy nacisnąć przycisk "Zainicjuj pełną synchronizację danych z Listmonk". Należy pamiętać, że może to zająć więcej czasu, jeśli liczba uczestników jest duża.

#### E-mail potwierdzający zakup

DistantRace wysyła automatyczny e-mail z systemu, gdy uczestnik opłaca swoje uczestnictwo, ale organizatorzy mogą stworzyć własny projekt e-maila.

Ważne jest, aby w e-mailu zawrzeć następujące informacje:

* Co jest opłacane i kwoty
* Całkowita opłacona kwota
* Link do potwierdzenia zakupu

Jak stworzyć e-mail i połączyć go z DistantRace?

1. Stwórz e-mail potwierdzający zakup.

W Listmonk można tworzyć projekty e-maili "Transakcyjnych". Stwórz nowy projekt dla potwierdzenia zakupu.

![](/static/img/integrations/listmonk/image-1715235145934-11-18.png)

Oto uproszczony przykład e-maila:

```
<!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>
```

Wizualnie ten HTML wygląda tak:

![](/static/img/integrations/listmonk/image-1715235241196-13-48.png)

2. Gdy projekt jest gotowy, należy wybrać konkretny szablon w integracji Listmonk w DistantRace:

![](/static/img/integrations/listmonk/image-1715235304204-14-55.png)

Jeśli projekt nie jest dostępny, naciśnij przycisk "Aktualizuj" (naciśnięcie tego przycisku odświeża listę projektów) i ponownie otwórz integrację.

3. Po wybraniu i zapisaniu projektu, możesz przetestować, jak wygląda projekt, wysyłając testowy e-mail. Naciśnij przycisk "Test Order Email (if template is set)".

To wszystko - od tego momentu, jeśli uczestnik opłaci swoje uczestnictwo, zostanie wysłany tylko Twój zaprojektowany e-mail.

Oto przykład z informacjami, które są wysyłane do Listmonk w celu wysłania e-maila:

```

{
        "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",
    }

```
