---
title: "Fasáda Campaigns — Campaigns for Laravel | Roundly"
description: "Všetko cez jednu fasádu — create, prepare, start, cancel, find, all, handle pre jednu kampaň, settings() a fake()."
url: https://roundly-consulting.com/sk/open-source/navody/campaigns-for-laravel/fasada
language: sk
---

[Všetky balíky](https://roundly-consulting.com/sk/open-source.md)

[Campaigns for Laravel](https://roundly-consulting.com/sk/open-source/navody/campaigns-for-laravel.md)

# 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:

```php
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óda | Vracia | Účel |
| --- | --- | --- |
| `create(string $subject, string $content)` | `PendingCampaign` | Fluent builder — from, to, onlyVerified, viaContactType, uuid, subject, content, prepare, dispatch. |
| `prepare(Campaign $campaign, iterable $recipients = [])` | `Campaign` | Uloží 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)` | `Campaign` | Spustí odosielanie kampane v stave Pending; v inom stave vyhodí InvalidCampaignTransition. |
| `cancel(Campaign\|string $campaign)` | `Campaign` | Zruší kampaň aj jej dávku; už skončenú kampaň vráti bez zmeny. |
| `find(string $uuid)` | `?Campaign` | Vyhľadá kampaň, počas odosielania so živým priebehom; null, ak neexistuje. |
| `findOrFail(string $uuid)` | `Campaign` | Vyhľ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)` | `CampaignHandle` | Jedna kampaň — pozrite handle nižšie. |
| `settings()` | `CampaignSettings` | Platné predvolené nastavenia odosielania: fromName(), fromAddress(), notificationChannel(), sendingQueue(), onlyVerifiedRecipients(), defaultRecipientContactType(). |
| `fake()` | `CampaignsFake` | Nahradí 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:

```php
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óda | Vracia | Účel |
| --- | --- | --- |
| `uuid()` | `string` | uuid kampane. |
| `get()` | `Campaign` | Kampaň 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)` | `CampaignRecipient` | Jeden príjemca tejto kampane; inak RecipientNotFound. |
| `batch()` | `?Batch` | Dávka jobov Laravelu — null pred prepare() a pod fake. |
| `start()` | `Campaign` | To isté ako Campaigns::start(). |
| `cancel()` | `Campaign` | To isté ako Campaigns::cancel(). |
| `markProcessed(CampaignRecipient $recipient)` | `CampaignRecipient` | Zaznamená doručenie a spustí RecipientProcessed. |
| `markFailed(CampaignRecipient $recipient, string $error)` | `CampaignRecipient` | Zaznamená 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](https://roundly-consulting.com/sk/podporte-nas.md)

Odoslaním daru súhlasíte s našimi [podmienkami prijímania darov](https://roundly-consulting.com/sk/podmienky-darov.md).

[Podporte našu open-source prácu (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Pridajte sa k nám na Patreone (otvorí sa v novej karte)](https://www.patreon.com/cw/roundly)

## 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.

[Ponuka do 48 hodín](https://roundly-consulting.com/sk/kontakt.md) [Prezrieť všetky balíky](https://roundly-consulting.com/sk/open-source/navody/campaigns-for-laravel.md)
