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

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