bonsi/laravel-newsletter-getresponse

管理Laravel 5中的GetResponse新闻通讯

3.0.3 2016-07-11 13:54 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:47:46 UTC


README

注意:工作正在进行中!

该包是优秀的 [spatie/laravel-newsletter] "Beter goed gejat dan slecht verzonnen" :)

此包提供了一种轻松集成GetResponse与Laravel 5的方法。幕后使用了GetResponse API的v3。以下是一些你可以使用此包完成的示例

Newsletter::subscribe('rincewind@discworld.com');

Newsletter::unsubscribe('the.luggage@discworld.com');

//Merge variables can be passed as the second argument
Newsletter::subscribe('sam.vines@discworld.com', ['firstName'=>'Sam', 'lastName'=>'Vines']);

//Subscribe someone to a specific list by using the third argument:
Newsletter::subscribe('nanny.ogg@discworld.com', ['firstName'=>'Nanny', 'lastName'=>'Ogg'], 'Name of your list');

//Get some member info, returns an array described in the official docs
Newsletter::getMember('lord.vetinari@discworld.com');

//Returns a boolean
Newsletter::hasMember('greebo@discworld.com');

//If you want to do something else, you can get an instance of the underlying API:
Newsletter::getApi();

安装

您可以通过Composer使用以下命令安装此包:

composer require bonsi/laravel-newsletter-getresponse

您还必须安装此服务提供者。

// config/app.php
'providers' => [
    ...
    Bonsi\GetResponse\Newsletter\NewsletterServiceProvider::class,
    ...
];

如果您想使用外观,也必须安装它。

// config/app.php
'aliases' => [
    ..
    'Newsletter' => Bonsi\GetResponse\Newsletter\NewsletterFacade::class,
];

要发布配置文件到app/config/laravel-newsletter-getresponse.php,请运行

php artisan vendor:publish --provider="Bonsi\GetResponse\Newsletter\NewsletterServiceProvider"

这将发布一个名为laravel-newsletter-getresponse.php的文件到您的配置目录,内容如下

return [

        /*
         * The api key of a GetResponse account. You can find yours here:
         * https://us10.admin.mailchimp.com/account/api-key-popup/
         */
        'apiKey' => env('GETRESPONSE_APIKEY'),

        /*
         * When not specifying a listname in the various methods,
         *  this list name will be used.
         */
        'defaultListName' => 'subscribers',

        /*
         * Here you can define properties of the lists you want to
         * send campaigns.
         */
        'lists' => [

            /*
             * This key is used to identify this list. It can be used
             * in the various methods provided by this package.
             *
             * You can set it to any string you want and you can add
             * as many lists as you want.
             */
            'subscribers' => [

                /*
                 * A getresponse campaign id. Check the mailchimp docs if you don't know
                 * how to get this value:
                 * http://kb.mailchimp.com/lists/managing-subscribers/find-your-list-id
                 */
                 'id' => env('GETRESPONSE_DEFAULT_LIST_ID'),
            ],
        ],
];

用法

在安装了包并在配置文件中填写了值之后,使用此包将会变得非常简单。以下所有示例都使用了外观。不要忘记在文件顶部导入它。

use Newsletter;

订阅和取消订阅

订阅电子邮件地址可以这样完成

use Newsletter;

Newsletter::subscribe('rincewind@discworld.com');

让我们取消某人的订阅

Newsletter::unsubscribe('the.luggage@discworld.com');

您可以将一些合并变量作为第二个参数传递

Newsletter::subscribe('rincewind@discworld.com', ['firstName'=>'Rince', 'lastName'=>'Wind']);

请注意,在撰写本文时,MailChimp中默认的合并变量名为FNAMELNAME。在我们的示例中,我们使用firstNamelastName以提高可读性。

您可以使用第三个参数订阅某人到特定的列表

Newsletter::subscribe('rincewind@discworld.com', ['firstName'=>'Rince', 'lastName'=>'Wind'], 'subscribers');

第三个参数是您在配置文件中配置的列表的名称。

您也可以从特定的列表中取消某人的订阅

Newsletter::unsubscribe('rincewind@discworld.com', 'subscribers');

获取订阅者信息

您可以使用getMember函数获取订阅者的信息

Newsletter::getMember('lord.vetinari@discworld.com');

这将返回一个包含订阅者信息的数组。如果没有订阅者使用该电子邮件地址,则该函数将返回false

还有一个方便的方法来检查是否有人订阅

Newsletter::hasMember('nanny.ogg@discworld.com'); //returns a bool

创建活动

这就是创建活动的方法

/**
 * @param string $fromName
 * @param string $replyTo
 * @param string $subject
 * @param string $html
 * @param string $listName
 * @param array  $options
 * @param array  $contentOptions
 *
 * @return array|bool
 *
 * @throws \Bonsi\GetResponse\Newsletter\Exceptions\InvalidNewsletterList
 */
public function createCampaign($fromName, $replyTo, $subject, $html = '', $listName = '', $options = [], $contentOptions = [])

请注意,活动将被创建,但不会发送任何邮件。

处理错误

如果出现问题,您可以使用以下方法获取最后一个错误:

Newsletter::getLastError();

如果您只想确保最后一个操作是否成功,可以这样做:

Newsletter::lastActionSucceeded();

需要其他功能?

如果您需要更多功能,可以通过以下方式获取底层GetResponse Api的实例:

$api = Newsletter::getApi();

测试

使用以下命令运行测试:

vendor/bin/phpunit

致谢

许可证

MIT许可证(MIT)。有关更多信息,请参阅许可证文件