A library for interacting with the Klaviyo API in Laravel
balfour/laravel-klaviyo is a Laravel package for a library for interacting with the klaviyo api in laravel.
It currently has 8 GitHub stars and 79 downloads on Packagist (latest version 0.0.1-alpha).
Install it with composer require balfour/laravel-klaviyo.
Discover more Laravel packages by balfour
or browse all Laravel packages to compare alternatives.
Last updated
A library for interacting with the Klaviyo API in Laravel.
This library is in early release and is pending unit tests.
composer require balfour/laravel-klaviyo
The package makes use of the following env vars:
KLAVIYO_ENABLED [default = false]KLAVIYO_API_KEY [default = null]KLAVIYO_QUEUE [default = klaviyo]If you would like to publish the config, you can do so using:
php artisan vendor:publish --provider="Balfour\LaravelKlaviyo\ServiceProvider"
If you plan to process events and identities on a queue, you'll need to make sure
you have a queue worker running and handling the KLAVIYO_QUEUE jobs.
use App\Models\User;
use Balfour\LaravelKlaviyo\Event;
use Balfour\LaravelKlaviyo\Jobs\PushIdentity;
use Balfour\LaravelKlaviyo\Jobs\TrackEvent;
use Balfour\LaravelKlaviyo\Klaviyo;
$klaviyo = app(Klaviyo::class);
// pushing an identity
// in a real world, this may be a `user` model implementing the `IdentityInterface`
$user = User::find(1);
$klaviyo->pushIdentity($user);
// pushing an identity (using a queue)
$user = User::find(1);
PushIdentity::enqueue($user);
// tracking an event
$user = User::find(1);
$event = new Event(
'Complete Checkout Step 2',
[
'product' => 'Chicken Soup',
'price' => 'R100.00',
]
);
$event->fire($user);
// or
$klaviyo->trackEvent($user, $event);
// tracking an event (using a queue)
$event->enqueue($user);
// or
TrackEvent::enqueue($user, $event);
// in the case that you don't have an identity object, but just an email identifier
$event = new Event('Subscribed To Mailing List');
$event->fire('[email protected]');
// create a mailing list
$klaviyo->createMailingList('My List Name');
// add email to mailing list
$klaviyo->addToMailingList('12345', '[email protected]');
// remove email from mailing list
$klaviyo->removeFromMailingList('12345', '[email protected]');