balfour/laravel-klaviyo

用于在Laravel中与Klaviyo API交互的库

0.0.1-alpha 2020-02-24 11:35 UTC

This package is auto-updated.

Last update: 2024-09-04 19:23:15 UTC


README

这是一个用于在Laravel中与Klaviyo API交互的库。

此库处于早期发布阶段,并正在等待单元测试。

安装

composer require balfour/laravel-klaviyo

配置

该包使用了以下环境变量

  • KLAVIYO_ENABLED [默认 = false]
  • KLAVIYO_API_KEY [默认 = null]
  • KLAVIYO_QUEUE [默认 = klaviyo]

如果您想发布配置,可以使用以下命令:

php artisan vendor:publish --provider="Balfour\LaravelKlaviyo\ServiceProvider"

如果您计划在队列中处理eventsidentities,请确保您有一个正在运行的队列工作进程,可以处理KLAVIYO_QUEUE作业。

用法

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('matthew@masterstart.com');

// create a mailing list
$klaviyo->createMailingList('My List Name');

// add email to mailing list
$klaviyo->addToMailingList('12345', 'matthew@masterstart.com');

// remove email from mailing list
$klaviyo->removeFromMailingList('12345', 'matthew@masterstart.com');