NetSendo v2.1.1: Strony webinarowe, Calendly i naprawa autoresponderów

Każda platforma marketingowa w końcu natrafia na ten sam mur: funkcje wyglądają świetnie w demo, ale rzeczywiste przypadki brzegowe po cichu pochłaniają leady. Linki potwierdzające, które zwracają błąd. Sekwencje autoresponderów, które nigdy się nie uruchamiają. Strony rejestracji webinarowej, których nie możesz dostosować. NetSendo v2.1.1 rozwiązuje wszystkie trzy problemy jednocześnie — opublikowane 24 lipca 2026, to najbardziej znaczące wydanie z poprawkami i funkcjami od wersji v2.0.
Niezależnie od tego, czy prowadzisz lejek wdrożeniowy SaaS, kampanię generowania leadów opartą na webinarach, czy sklep WooCommerce z sekwencjami e-mail po zakupie — to wydanie bezpośrednio wpływa na Twoją dostarczalność i współczynniki konwersji.
🚀 Co nowego w v2.1.1
Edytowalne strony rejestracji i podziękowania dla webinarów
Dotychczas publiczna strona zapisu na webinar była szablonem z ograniczoną liczbą edytowalnych pól tekstowych. Od wersji v2.1.1 masz pełną kontrolę kompozycyjną zarówno nad stroną rejestracji, jak i przepływem strony podziękowania.
Niestandardowe sekcje treści
Dodaj do 20 uporządkowanych sekcji tekstowych lub wideo powyżej lub poniżej formularza zapisu — zmieniaj kolejność, edytuj i usuwaj inline.
Osadzanie wideo
Wklej dowolny URL YouTube lub Vimeo (watch, shorts, live, unlisted), a NetSendo bezpiecznie wyodrębnia embed przez regex — wstrzyknięcie arbitralnego src iframe jest niemożliwe.
Integracja z Calendly
Osadź widget inline Calendly na stronie podziękowania, wstępnie wypełniony imieniem i e-mailem rejestrującego się — rezerwacja jednym kliknięciem.
Autonomiczna strona podziękowania
Nowa publiczna trasa /webinar/{slug}/thank-you służy jako cel przekierowania po zakupie — z edytowalnym nagłówkiem, sekcjami i widgetem Calendly.
Jak to działa
W ekranie Tworzenia / Edycji webinaru znajdziesz dwie nowe karty: "Dodatkowe sekcje strony rejestracji" i "Strona podziękowania". Obie korzystają z nowego komponentu SectionListEditor.vue — reużywalnego narzędzia do budowania sekcji, które obsługuje kolejność, walidację i usuwanie całkowicie w przeglądarce.
Cała konfiguracja jest przechowywana w istniejącej kolumnie JSON webinars.settings pod nowymi kluczami. Nie jest wymagana żadna migracja bazy danych dla tej funkcji.
💡 Pro Tip: Użyj autonomicznego URL /webinar/{slug}/thank-you jako celu przekierowania w swoim procesorze płatności (np. Stripe, PayU). URL strony jest wyświetlany z przyciskiem kopiowania bezpośrednio w panelu edycji webinaru.
⚠️ Ważne: Linki harmonogramu Calendly są walidowane tak, aby zaczynały się odhttps://calendly.com/podczas zapisu i ponownie sprawdzane względem*.calendly.compodczas renderowania. Nie używaj skróconych ani przekierowanych URL — zostaną odrzucone.
Katalog modeli AI — jedno źródło prawdy
Strona ustawień AI Integrations wcześniej utrzymywała własną zakodowaną na stałe listę defaultModels w Index.vue, która rozeszła się z katalogiem backendu — skutkując nieaktualnymi etykietami jak "Claude 4.5 Opus (Najnowszy — Styczeń 2026)" w selektorze modeli wiele miesięcy po wydaniu.
Poprawka jest architektoniczna: AiIntegrationController::index() teraz eksponuje katalog backendowy jako pole default_models per dostawca, a strona Vue renderuje go bezpośrednio. Wszystkie etykiety czasowe zostały usunięte z plików lokalizacyjnych we wszystkich czterech językach (PL/EN/DE/ES) — pozostają tylko deskryptory funkcjonalne jak Legacy, Reasoning i Fast.
🔧 Krytyczne poprawki w v2.1.1
Double Opt-In był całkowicie zepsuty (#29)
To najważniejsza poprawka w wydaniu. ActivationController próbował zapisać confirmed_at i resubscribed_at do tabeli pivot contact_list_subscriber — ale te kolumny nigdy nie istniały. Każde kliknięcie potwierdzenia powodowało Unknown column QueryException, blok catch po cichu renderował stronę błędu ogólnego, a subskrybent nigdy nie był aktywowany.
- Zapisy przez double opt-in nigdy nie uruchamiały sekwencji autorespondera
- Link do ponownego zapisu był równie zepsuty dla każdego subskrybenta
- Ponowny zapis na listę double opt-in degradował aktywnych subskrybentów z powrotem do statusu
pending
Poprawka dodaje brakujące kolumny poprzez migrację 2026_07_24_000001_add_confirmation_columns_to_contact_list_subscriber.php i rejestruje je w obu relacjach withPivot().
ℹ️ Informacja: Aktywni subskrybenci, którzy ponownie wypełniają formularz double opt-in, teraz pozostają ze statusemactive, otrzymują powiadomienie "już zapisany" i mają natychmiast restarted sekwencję. Nie są już degradowani do statusupending.
Sekwencje autoresponderów — pełna przebudowa ścieżek zapisu
Silnik sekwencji jest napędzany przez zdarzenie SubscriberSignedUp. Problem: większość ścieżek kodu, które dołączały lub reaktywowały subskrybenta na liście, nigdy go nie wyzwalała. W efekcie sekwencje uruchamiały się niezawodnie tylko dla nowych subskrybentów zapisujących się przez główny formularz publiczny.
- REST API
POST /api/v1/subscribers— działa dla istniejących subskrybentów dodawanych do nowej listy lub reaktywowanych - Batch API
POST /subscribers/batch— ta sama poprawka zastosowana do obu gałęzi - Publiczne API listy
POST /api/lists/{id}/subscribe— nigdy nie wysyłało zdarzenia dla nikogo; naprawione, włącznie z propagacją do listy nadrzędnej - Formularz edycji subskrybenta — wyzwala tylko przy nowym dołączeniu lub reaktywacji listy, nie przy każdym zapisie
- Co-rejestracja — wcześniej całkowicie pomijała istniejących subskrybentów; teraz reaktywuje i wysyła zdarzenie
- Webhook Calendly add-to-list — był cichy; teraz wysyła zdarzenie
- Akcje move/copy to list w lejkach — wywoływały nieistniejące metody rzucając błędy runtime; w pełni przepisane
- Webhook WooCommerce — używał starego schematu sprzed refaktoru, crashując przy każdym wywołaniu; przepisany dla schematu pivot
Poprawka burstu przy ponownym zapisie — znaczniki czasu kolejki
Gdy subskrybent ponownie zapisywał się na listę skonfigurowaną tak, aby zachować oryginalną datę zapisu, każde przesunięcie dniowe w sekwencji autorespondera leżało w przeszłości — i CRON wysyłał wszystkie zakolejkowane wiadomości jednocześnie.
Wpisy kolejki noszą teraz jawny znacznik czasu scheduled_for obliczany jednorazowo podczas tworzenia przez Message::calculateExpectedSendAt() (który jest też świadomy stref czasowych). CRON teraz weryfikuje ten znacznik i wraca do starszego obliczania tylko dla wpisów utworzonych przed migracją.
⚠️ Ważne: Ta poprawka wymaga migracji2026_07_24_000002_add_scheduled_for_to_message_queue_entries.php. Uruchomphp artisan migratenatychmiast po aktualizacji.
Dodatkowe poprawki
- Narzędzie MCP
create_subscriber— wysyłało tablicęlistspodczas gdy endpoint REST wymagacontact_list_id; każde wywołanie zwracało 422. Teraz wywołujePOST /subscribersraz per id listy. - Konserwacja "usuń niepotwierdzone" — szukała statusu pivot
unconfirmedpodczas gdy double opt-in zapisujepending; teraz dopasowuje oba. - Liczniki kolejki i odbiorców —
planned_recipients_countnigdy nie był obliczany dla autoresponderów; modal statystyk kolejki teraz poprawnie pokazuje podział na segmenty czasowe i liczby sumują się do 100%.
💼 Korzyści i przypadki użycia
Twórcy webinarów i kursów
Możesz teraz zbudować kompletny lejek webinarowy wewnątrz NetSendo: stronę rejestracji z trailerem YouTube i sekcjami społecznego dowodu, a po niej stronę podziękowania z wbudowanym widgetem Calendly do rozmów onboardingowych — bez dotykania page buildera ani zewnętrznego narzędzia do landing page'y.
- Dodaj zaproszenie wideo nad formularzem zapisu, aby zwiększyć konwersje
- Osadź Calendly, aby uczestnicy rezerwowali spotkanie 1-na-1 bezpośrednio po rejestracji
- Użyj autonomicznego URL podziękowania jako przekierowania w procesorze płatności
E-commerce (WooCommerce)
Przepisany webhook WooCommerce oznacza, że zapisy klientów z Twojego sklepu teraz niezawodnie tworzą członkostwo na liście i — co kluczowe — wyzwalają sekwencję autorespondera powitalnego. W połączeniu z poprawką burstu, klienci, którzy wcześniej kupili i kupują ponownie, otrzymają sekwencję w odpowiednim rytmie.
- Sekwencje powitalne po zakupie uruchamiają się niezawodnie dla każdego zamówienia
- Klienci powracający otrzymują poprawnie rozłożone e-maile follow-up
- Wypisani klienci, którzy wracają, są reaktywowani zgodnie z ustawieniami listy
SaaS i onboarding przez API (n8n / MCP)
Jeśli używasz przepływów n8n lub narzędzia NetSendo MCP do programowego dodawania użytkowników do list, każdy subskrybent dodany przez API teraz poprawnie uruchomi sekwencję autorespondera onboardingowego — łącznie z użytkownikami, którzy wcześniej istnieli w bazie danych, ale byli dodawani do nowej listy po raz pierwszy.
- Zapisy przez n8n teraz wyzwalają sekwencje od końca do końca
- Wywołania
create_subscriberprzez MCP nie zwracają już błędów 422 - Zapisy do wielu list działają poprawnie na wszystkich ścieżkach batch
📋 Przewodnik krok po kroku: Konfiguracja stron webinarowych z Calendly
-
Otwórz lub utwórz webinar
Przejdź do Webinary → Utwórz (lub edytuj istniejący webinar). Wypełnij podstawowe dane jak zwykle.
-
Dodaj sekcje strony rejestracji
Przewiń do nowej karty "Dodatkowe sekcje strony rejestracji". Kliknij + Dodaj sekcję i wybierz Tekst lub Wideo. Użyj strzałek góra/dół, aby umieścić sekcje powyżej lub poniżej formularza zapisu.
-
Skonfiguruj stronę podziękowania
Otwórz kartę "Strona podziękowania". Ustaw nagłówek i wiadomość. Dodaj sekcje tekstowe lub wideo według potrzeb.
-
Włącz Calendly
Włącz przełącznik "Włącz widget Calendly". Wklej pełny link harmonogramu Calendly (musi zaczynać się od
https://calendly.com/). Opcjonalnie dodaj nagłówek i opis nad widgetem kalendarza. -
Skopiuj autonomiczny URL strony podziękowania
Na dole karty "Strona podziękowania" zobaczysz publiczny URL autonomicznej strony podziękowania. Kliknij przycisk kopiowania i wklej go jako cel sukcesu w swoim procesorze płatności.
-
Zapisz i podglądaj
Kliknij Zapisz. Otwórz publiczny URL rejestracji w oknie incognito, aby zweryfikować poprawne renderowanie sekcji. Zarejestruj konto testowe i potwierdź, że widget Calendly ładuje się na stronie podziękowania z Twoim imieniem i e-mailem wstępnie wypełnionymi.
🛠️ Aktualizacja: Migracje do uruchomienia
v2.1.1 zawiera trzy migracje. Uruchom je natychmiast po pobraniu nowego obrazu:
# Pobierz najnowszy obraz
docker compose pull
# Uruchom wszystkie oczekujące migracje
docker compose exec app php artisan migrate
# Zrestartuj workers kolejki, aby odebrały naprawione dispatching zdarzeń
docker compose restart worker
⚠️ Ważne: Nie pomijaj migracji. Uruchomienie nowego kodu aplikacji bez 2026_07_24_000001 spowoduje, że potwierdzenie double opt-in będzie nadal kończyć się błędem SQL, dokładnie tak jak przed poprawką.
🎯 Wskazówki eksperta
Po aktualizacji użyj świeżego adresu e-mail, aby zapisać się na każdą listę double opt-in, którą obsługujesz. Potwierdź e-mail, zweryfikuj, że subskrybent jest oznaczony jako active, i sprawdź, czy pierwsza wiadomość autorespondera jest zakolejkowana.
Modal statystyk kolejki teraz poprawnie pokazuje liczbę pending i dystrybuuje wpisy do kubełków dziś/jutro/3–7 dni. Otwórz go dla list autoresponderów o największym wolumenie natychmiast po aktualizacji — nagły skok w "dziś" jest normalny i odzwierciedla wcześniej błędnie liczone elementy.
Nowy helper Message::calculateExpectedSendAt() jest w pełni świadomy stref czasowych. Jeśli używasz send_in_subscriber_timezone w swoich sekwencjach, scheduled_for jest teraz obliczany poprawnie podczas tworzenia wpisu kolejki — redukując obciążenie bazy danych przy dużych listach.
NetSendo waliduje linki Calendly przy zapisie i ponownie waliduje przy renderowaniu. Dla rezerwacji zespołowych użyj linku strony zespołu Calendly (https://calendly.com/twoj-zespol/typ-zdarzenia) zamiast linku osobistego — umożliwia rotację członków zespołu bez aktualizacji ustawień webinaru.
Workers kolejki Laravel cachują klasy w pamięci. Po każdej aktualizacji NetSendo — zwłaszcza takiej, która zmienia logikę dispatching zdarzeń — zawsze restartuj workers przez docker compose restart worker, aby zapewnić, że natychmiast pobiorą nowe ścieżki kodu.
📌 Podsumowanie
NetSendo v2.1.1 to wydanie, które powinieneś priorytetowo zaktualizować, jeśli używasz list double opt-in, sekwencji autoresponderów lub integracji WooCommerce / API — błędy naprawione w tym wydaniu po cichu uniemożliwiały aktywację subskrybentów i dostarczanie sekwencji na wielu ścieżkach kodu.
Po stronie funkcji, edytowalne strony webinarowe z integracją Calendly otwierają znaczącą nową warstwę konwersji: możesz teraz przekształcić stronę podziękowania po rejestracji w silnik rezerwacji spotkań, utrzymując potencjalnych klientów zaangażowanych w szczytowym momencie ich zainteresowania — wszystko self-hosted, wszystko pod Twoją kontrolą.
Gotowy na aktualizację?
Pobierz v2.1.1 teraz i przywróć niezawodne dostarczanie sekwencji w całej bazie subskrybentów:




