NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky
Campaigns for Laravel

Fasáda Campaigns

Fasáda Campaigns nad RoundlyConsulting\Campaigns\CampaignManager je verejné API balíka a odporúčaný spôsob použitia. Vytvára a odosiela kampane, vyhľadáva ich a pre jednu kampaň vám dá handle obmedzený len na ňu:

use RoundlyConsulting\Campaigns\Facades\Campaigns;

$campaign = Campaigns::create('Spring sale', '<p>50% off</p>')->to($subscribers)->prepare();

Campaigns::start($campaign->uuid);        // only a prepared (Pending) campaign starts
Campaigns::find($campaign->uuid);         // ?Campaign — live progress while it sends
Campaigns::findOrFail($uuid);             // Campaign, or CampaignNotFound
Campaigns::all(offset: 0, limit: 25);     // Collection<int, Campaign>, in creation order
Campaigns::cancel($uuid);                 // Campaign — one that already ended is left as it is

Campaigns::campaign($uuid)->progress()->percentage();   // one campaign, through its handle
Campaigns::settings()->fromAddress();                   // the effective send defaults

Všetky metódy

MetódaVraciaÚčel
create(string $subject, string $content)PendingCampaignFluent builder — from, to, onlyVerified, viaContactType, uuid, subject, content, prepare, dispatch.
prepare(Campaign $campaign, iterable $recipients = [])CampaignUloží kampaň zostavenú z hodnotového objektu aj s príjemcami a ponechá ju v stave Pending. Pri obsadenom uuid vyhodí CampaignAlreadyExists.
start(Campaign|string $campaign)CampaignSpustí odosielanie kampane v stave Pending; v inom stave vyhodí InvalidCampaignTransition.
cancel(Campaign|string $campaign)CampaignZruší kampaň aj jej dávku; už skončenú kampaň vráti bez zmeny.
find(string $uuid)?CampaignVyhľadá kampaň, počas odosielania so živým priebehom; null, ak neexistuje.
findOrFail(string $uuid)CampaignVyhľadá kampaň alebo vyhodí CampaignNotFound.
all(int $offset = 0, int $limit = 10)Collection<int, Campaign>Stránka kampaní v poradí vytvorenia.
campaign(Campaign|string $campaign)CampaignHandleJedna kampaň — pozrite handle nižšie.
settings()CampaignSettingsPlatné predvolené nastavenia odosielania: fromName(), fromAddress(), notificationChannel(), sendingQueue(), onlyVerifiedRecipients(), defaultRecipientContactType().
fake()CampaignsFakeNahradí manažéra zaznamenávajúcim fake — pozrite Testovanie.

Jedna kampaň: handle

Campaigns::campaign() prijme Campaign alebo uuid a vráti CampaignHandle obmedzený na túto kampaň — pri neznámom uuid vyhodí CampaignNotFound:

use RoundlyConsulting\Campaigns\Facades\Campaigns;

$campaign = Campaigns::campaign($uuid);   // throws CampaignNotFound for an unknown uuid

$campaign->progress()->percentage();      // share delivered so far: 42.5
$campaign->progress()->failed;            // deliveries that failed
$campaign->progress()->remaining();       // recipients with no outcome yet
$campaign->recipients();                  // Collection<CampaignRecipient>, in the order added
$campaign->recipients(offset: 100, limit: 50);
$campaign->recipient($recipientUuid);     // one recipient of THIS campaign
$campaign->batch();                       // the Illuminate\Bus\Batch, or null
$campaign->start();
$campaign->cancel();                      // a campaign that already ended is left as it is
MetódaVraciaÚčel
uuid()stringuuid kampane.
get()CampaignKampaň tak, ako je teraz uložená, so živým priebehom.
progress()CampaignProgressŽivý priebeh — v stave Pending alebo Processing sa číta z príjemcov a z dávky.
recipients(int $offset = 0, ?int $limit = null)Collection<int, CampaignRecipient>Príjemcovia v poradí pridania; limit null vráti všetkých.
recipient(CampaignRecipient|string $recipient)CampaignRecipientJeden príjemca tejto kampane; inak RecipientNotFound.
batch()?BatchDávka jobov Laravelu — null pred prepare() a pod fake.
start()CampaignTo isté ako Campaigns::start().
cancel()CampaignTo isté ako Campaigns::cancel().
markProcessed(CampaignRecipient $recipient)CampaignRecipientZaznamená doručenie a spustí RecipientProcessed.
markFailed(CampaignRecipient $recipient, string $error)CampaignRecipientZaznamená zlyhanie so správou a spustí RecipientFailed.

Handle odmieta príjemcov iných kampaní: recipient(), markProcessed() aj markFailed() vtedy vyhodia RecipientNotFound. markProcessed() a markFailed() volajú joby doručenia — pozrite si časť Vlastné joby doručenia.

Chcete rovnaké API bez statických volaní? Pozrite si časť DI a akcie.

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 kryptomien

Odoslaní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.