Príjemcovia z kontaktov
Campaigns určuje príjemcov priamo z contacts-for-laravel, takže kampaň adresujete z kontaktov, ktoré už evidujete, a nemusíte kopírovať e-mailové adresy. Pridajte modelu trait HasContacts:
use Illuminate\Foundation\Auth\User as Authenticatable;
use RoundlyConsulting\Contacts\Concerns\HasContacts;
final class User extends Authenticatable
{
use HasContacts;
}
$user->addEmail('[email protected]', primary: true);
$user->addPhone('+12025550100', primary: true);Potom do ->to() odovzdajte vlastníkov, kontakty alebo ich zoznamy:
use App\Models\User;
use RoundlyConsulting\Campaigns\Facades\Campaigns;
use RoundlyConsulting\Contacts\Enums\ContactType;
Campaigns::create('Spring sale', '<p>The spring sale starts today.</p>')
->onlyVerified() // skip owners/contacts without a verified contact
->viaContactType(ContactType::Email) // which contact kind to resolve (email, phone, …)
->to($user) // HasContacts owner -> its primary email
->to($contact) // a Contact record -> its value
->to(User::query()->where('newsletter', true)->get()) // an iterable of owners
->dispatch();Ako sa príjemcovia určujú
- Vlastník sa preloží na svoj kontakt požadovaného typu — najprv primárny, inak prvý v poradí.
- Kontakt Contact sa preloží na svoju hodnotu; kontakty s prázdnou hodnotou sa preskočia.
- Zobrazované meno je atribút name vlastníka, potom meno kontaktu, potom jeho označenie a nakoniec samotná adresa.
- Vlastníci bez zodpovedajúceho kontaktu — alebo pri onlyVerified() bez overeného — sa ticho preskočia, nikdy to nie je chyba.
- Vlastník odovzdaný dvakrát — napríklad $user a znova v kolekcii — dostane aj tak jednu správu: jeho adresa už v kampani je.
- Určovanie je len na čítanie: Campaigns do vašich kontaktov nikdy nezapisuje.
Pravidlá nastavte pred to()
Príjemcovia sa určia v momente volania ->to(), takže onlyVerified() a viaContactType() ovplyvnia len volania to(), ktoré nasledujú po nich. Bez nich platia options OnlyVerifiedRecipients a DefaultRecipientContactType (konfigurácia: recipients.only-verified a recipients.contact-type). onlyVerified(false) vypne overovanie pre jednu kampaň, aj keď je predvolene zapnuté.
Telefónne čísla a SMS
viaContactType(ContactType::Phone) — alebo obyčajný reťazec phone — použije namiesto e-mailov telefónne kontakty. Skombinujte ho so SendCampaignNotification alebo s vlastným jobom a doručujte cez SMS:
Campaigns::create('Delivery update', 'Your parcel is on its way.')
->viaContactType('phone') // a ContactType value works as a plain string too
->to($customers) // each owner resolves to its primary phone number
->dispatch();Reťazec, ktorý nie je hodnotou ContactType (email, phone, address, url, social, custom), vyhodí ValueError. Obyčajné reťazce a objekty CampaignRecipient fungujú popri kontaktoch bez zmeny.
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.