Wiki
This commit is contained in:
67
Email-kampane.md
Normal file
67
Email-kampane.md
Normal file
@@ -0,0 +1,67 @@
|
||||
# Email kampaně
|
||||
|
||||
## Přehled
|
||||
|
||||
Systém podporuje hromadné emailové kampaně s plánováním, schvalováním, sledováním otevření a kliků.
|
||||
|
||||
## Klíčové modely
|
||||
|
||||
| Model | Tabulka | Popis |
|
||||
|-------|---------|-------|
|
||||
| `EmailCampaign` | `email_campaigns` | Definice kampaně |
|
||||
| `EmailCampaignSend` | `email_campaign_sends` | Jeden naplánovaný email jednomu příjemci |
|
||||
| `EmailTemplate` | `email_templates` | HTML šablona emailu |
|
||||
| `EmailCategory` | `email_categories` | Kategorie (pro odhlašování per kategorie) |
|
||||
| `EmailCategoryUnsubscribe` | – | Odhlášení z konkrétní kategorie |
|
||||
| `ContactCampaignStat` | – | Statistiky kampaně per kontakt |
|
||||
| `CampaignEventStat` | – | Agregované statistiky eventů |
|
||||
| `CampaignCartDailyStat` | – | Denní statistiky košíků per kampaň |
|
||||
|
||||
## Životní cyklus kampaně
|
||||
|
||||
```
|
||||
1. Vytvoření kampaně (EmailCampaign)
|
||||
2. Výběr segmentu + šablony
|
||||
3. Naplánování (schedule) nebo odeslání ihned (send-now)
|
||||
4. PrepareEmailCampaignSendsJob → vytvoří EmailCampaignSend záznamy
|
||||
5. Schválení (approval workflow)
|
||||
6. BatchSendEmailCampaignSendsJob → SendEmailCampaignSendJob → odeslání
|
||||
7. Tracking otevření (pixel /e/o/{token})
|
||||
8. Tracking kliků (ftclid parametr v odkazech)
|
||||
```
|
||||
|
||||
## Odesílání
|
||||
|
||||
Kampaně odesílá command `SendDueEmailCampaigns` (cron). Selhat může přes `RetryFailedEmailCampaignSends`.
|
||||
|
||||
Podporované mail drivery:
|
||||
- **SMTP** – standardní Laravel mailer
|
||||
- **Microsoft Graph** – `MicrosoftGraphMailService` (přes Microsoft 365 API)
|
||||
|
||||
## Šablony
|
||||
|
||||
Editor šablon je dostupný na `/admin/email-templates/editor/{id}`. Šablony podporují:
|
||||
- HTML s inline CSS (`tijsverkoyen/css-to-inline-styles`)
|
||||
- Placeholdery (`{{contact.email}}`, `{{contact.name}}` apod.)
|
||||
- Unsubscribe link
|
||||
|
||||
## Tracking
|
||||
|
||||
- **Otevření** – 1×1px tracking pixel `/e/o/{token}` → `EmailOpenTrackingController`
|
||||
- **Kliky** – `ftclid` parametr v odkazech; při kliknutí `collect.js` automaticky identifikuje návštěvníka a propojí ho s kontaktem
|
||||
|
||||
## Schvalování
|
||||
|
||||
Před odesláním může být vyžadováno schválení přes `EmailSendApprovalController`:
|
||||
- `GET /email-sends/pending` – seznam čekajících
|
||||
- `POST /email-sends/{send}/approve` – schválení
|
||||
- `POST /email-sends/{send}/reject` – zamítnutí
|
||||
|
||||
## Statistiky
|
||||
|
||||
Rebuild statistik:
|
||||
```bash
|
||||
php artisan rebuild:campaign-event-stats
|
||||
php artisan rebuild:campaign-cart-daily-stats
|
||||
php artisan rebuild:contact-campaign-stats
|
||||
```
|
||||
Reference in New Issue
Block a user