locomotivemtl/charcoal-contrib-mailchimp

Charcoal 服务提供商,用于 Mailchimp 实现。

0.2.0 2019-12-06 15:12 UTC

This package is auto-updated.

Last update: 2024-09-07 02:08:30 UTC


README

License Latest Stable Version Code Quality Coverage Status Build Status

A Charcoal 服务提供商的 Mailchimp 实现。

目录

安装

首选(也是唯一支持的)方法是使用 Composer

$ composer require locomotivemtl/charcoal-contrib-mailchimp

依赖关系

要求

配置

在项目的配置文件中包含 mailchimp 模块。这将提供 charcoal-contrib-mailchimp 正确工作所需的一切。

{
    "modules": {
       "charcoal/mailchimp/mailchimp": {}
    }
}

在配置文件中添加 api 密钥(账户 > 设置 > 额外 > Api 密钥)

"apis": {
    "mailchimp": {
        "key": "myapikey-usXX"
    }
}

使用

charcoal-contrib-mailchimp 包含一系列工具,可帮助设置新闻通讯订阅。

属性

您可以使用两种不同的属性类型来选择特定受众的受众或注册表单。

Mailchimp 列表

按照以下方式设置属性。

    "type": "string",
    "input_type": "charcoal/admin/property/input/mailchimp-list",
    "mailchimp_options": {
        "query_parameters": {
            "count": 20
        }
    }

您可以自定义显示标签、显示标题、值和子文本模式。还可以添加查询参数(请参阅 文档)。默认设置如下

"mailchimp_options": {
    "title_pattern": "{{name}}",
    "value_pattern": "{{id}}",
    "label_pattern": "{{name}}",
    "subtext_pattern": "Web ID: {{id}}",
    "query_parameters": []
}

Mailchimp 注册表单

    "type": "string",
    "input_type": "charcoal/admin/property/input/mailchimp-form",
    "mailchimp_options": {
        [...]
    }

您可以自定义显示标签、显示标题、值和子文本模式。默认设置如下

"mailchimp_options": {
    "title_pattern": "{{header.text}}",
    "value_pattern": "{{signup_form_url}}",
    "label_pattern": "{{header.text}}",
    "subtext_pattern": "Form URL: {{signup_form_url}}"
}

用户订阅

class FooBar
{
    use MailchimpAwareTrait;
    [...]

    public function setDependencies(Container $container)
    {
        $this->setMailchimpListsMembers($container['mailchimp/lists/members']);
        [...]
    }
    
    public function run()
    {
        $user = [
            'email_address' => 'email@example.com',
            'status' => 'pending',
            'merge_fields' => [
                'FNAME' => 'John',
                'LNAME' => 'Doe'
            ]
        ];
        
        // Set list ID
        $listId = 'a4029db2d';
        $this->mailchimpListsMembers()->setListId($listId);
        
        // Add/Create user
        $results = $this->mailchimpListsMembers()->add($user);
        
        // Add or Update user
        $results = $this->mailchimpListsMembers()->addOrUpdate($user);
        
        // Get a user's informations
        $results = $this->mailchimpListsMembers()->get('email@example.com');        
        
        // Delete a user from a list
        $results = $this->mailchimpListsMembers()->remove('email@example.com');
    }
}

mailchimp 服务是独立的,如果您知道端点,可以直接使用 post、patch、get、put 和 delete 方法。

// Get lists members
$this->mailchimp()->get('lists/{list_id}/members');

// Add member to list
$this->mailchimp()->post('list/{list_id}/members', [ 
    'email_address' => 'email@example.com',
    'status' => 'pending'
]);

编码风格

charcoal-contrib-mailchimp 模块遵循 Charcoal 编码风格

可以使用 composer phpcs 执行编码风格验证/强制执行。还可以使用 composer phpcbf 提供的自动修复程序。

致谢

许可证

Charcoal 采用 MIT 许可证。有关详细信息,请参阅 LICENSE