Open source
Campaigns for Laravel
composer require roundly-consulting/campaigns-for-laravelPrehľad
Pošlite jednu správu mnohým príjemcom z ľubovoľnej Laravel aplikácie. Campaigns for Laravel obaľuje vlastné fronty a dávky jobov Laravelu do fluent buildera: vytvorte kampaň, adresujte ju e-mailovým adresám, kontaktom alebo modelom vlastníkov a odošlite — jedna dávka na kampaň, jeden job vo fronte na príjemcu, so sledovaním priebehu, udalosťami životného cyklu a možnosťou zrušenia. Doručovanie je vymeniteľné (e-mail, notifikácie Laravelu alebo vlastný job) a úložisko tiež: predvolene v pamäti, s databázou po jednej zmene konfigurácie. Licencia MIT a minimum závislostí — Laravel a balíky Roundly contacts, options, enums a package-toolkit, žiadne externé SDK na rozosielanie.
Čo získate
Fasáda, handle a fake
Campaigns::create()->to()->dispatch() v jednej reťazi, handle pre každú kampaň, DI alebo samostatné akcie — a Campaigns::fake() zaznamená každý zápis.
Dávky jobov vo fronte
Jedna dávka jobov Laravelu na kampaň a jeden job vo fronte na príjemcu. Neúspešné doručenie nezastaví ostatné a bežiace odosielanie môžete zrušiť.
Priebeh a udalosti
Stav s počítadlami doručených, neúspešných, čakajúcich a všetkých, percentage() a sedem udalostí pre kampane aj jednotlivých príjemcov.
Vymeniteľné doručovanie
Predvolene HTML e-mail, notifikácie Laravelu pre SMS či push, alebo vlastný job pre akýkoľvek iný kanál.
Príjemcovia z kontaktov
->to() prijíma kontakty z contacts-for-laravel aj vlastníkov s HasContacts, s pravidlami pre overené kontakty a typ kontaktu.
Nastavenia meniteľné za behu
Odosielateľ, fronta odosielania, kanál a pravidlá príjemcov sú typované options — uložená hodnota prepíše konfiguráciu bez nasadenia.
Voliteľná perzistencia
Predvolene v pamäti, databázové úložisko po jednej zmene env, alebo vlastné úložisko za kontraktom CampaignStore.
Dokumentácia
Inštalácia
Inštalácia cez Composer, migrácie balíkov options a contacts a publikovanie konfigurácie a tabuliek kampaní len vtedy, keď ich potrebujete.
Konfigurácia
Každý konfiguračný kľúč, predvolená hodnota a env premenná — úložisko, odosielateľ, pravidlá príjemcov, fronta, job doručenia a kanál notifikácií.
Fasáda Campaigns
Všetko cez jednu fasádu — create, prepare, start, cancel, find, all, handle pre jednu kampaň, settings() a fake().
DI a akcie
Namiesto fasády injektujte CampaignManager alebo priamo spúšťajte akcie prípravy, spustenia, zrušenia a príjemcov — s mapou fasáda → akcia.
Odoslanie kampane
Vytvorte, adresujte a odošlite kampaň cez fluent fasádu Campaigns — alebo ju pripravte teraz a spustite neskôr.
Príjemcovia
Pridávajte príjemcov ako reťazce, objekty CampaignRecipient či iterovateľné zoznamy — aj veľké zoznamy streamované z lazy dopytu.
Príjemcovia z kontaktov
Adresujte kampane z kontaktov contacts-for-laravel a vlastníkov s HasContacts, s pravidlami pre overené kontakty a typ kontaktu.
Priebeh a vyhľadávanie
Vyhľadajte kampaň podľa UUID, čítajte stav, počítadlá a percento, prechádzajte zoznam kampaní a zrušte bežiace odosielanie.
Stavy kampane
Životný cyklus CampaignStatus od Created po koncový stav, udalosť každého prechodu a pomocné metódy enumu.
Hodnotové objekty
Campaign, CampaignRecipient a CampaignProgress — konštruktory, polia a tvar ich toArray().
Kanály doručenia
Doručovanie HTML e-mailom cez SendCampaignEmail alebo cez notifikácie Laravelu so SendCampaignNotification.
Vlastné joby doručenia
Implementujte ProcessesCampaignRecipient a doručujte cez SMS, push či iný kanál so zrušením a evidenciou chýb bezpečnými pre dávky.
Predvolené nastavenia odosielania
Predvolené nastavenia odosielania meniteľné za behu cez options-for-laravel — triedy, kľúče registra, hodnoty z konfigurácie a priorita.
Úložiská kampaní
Kde kampane žijú — kontrakt CampaignStore, úložisko v pamäti a v databáze a pripojenie vlastného úložiska.
Databázové úložisko
Prechod na DatabaseCampaignStore — schéma, Eloquent modely, factories a pravidlo UUID pre uložené kampane.
Fronty a dávky
Ako sa kampane mapujú na dávky jobov Laravelu — fronta odosielania, workery, neúspešné doručenia, zrušenie a obmedzenie úložiska v pamäti.
Udalosti
Sedem udalostí životného cyklu a príjemcov s ich dátami — pre logovanie, dashboardy, metriky a webhooky.
Artisan príkazy
Vypíšte kampane s priebehom, zrušte kampaň podľa UUID a skontrolujte nastavenie cez php artisan about.
Výnimky
CampaignNotFound, CampaignAlreadyExists, InvalidCampaignTransition, RecipientNotFound, chyby konfigurácie a argumentov buildera — a kedy nastávajú.
Testovanie
Zaznamenajte každý zápis cez Campaigns::fake() a overte vytvorenie, spustenie, zrušenie aj doručenie — alebo spustite skutočný tok nad fake dávkou.
Požiadavky
PHP 8.4+, Laravel 12 alebo 13, štyri sprievodné balíky Roundly, fronta s dávkami jobov a mailer alebo kanál notifikácií.
Prejavte lásku k open source
Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.
Ďalšie spôsoby podpory vrátane kryptomienOdoslaním daru súhlasíte s našimi podmienkami prijímania darov.
Chcete to zabudovať do svojho produktu?
Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.