sreedev / laravel-mailchimp
Laravel MailChimp 包
This package is auto-updated.
Last update: 2024-09-29 23:49:01 UTC
README
为Laravel提供的简单、最小抽象的MailChimp API v3库
请参考MailChimp API文档以了解可用的方法
需要PHP 7.2+
您可以使用Composer安装laravel-mailchimp
composer require sreedev/laravel-mailchimp
然后您需要
- 运行
composer install
以将这些依赖项添加到您的vendor目录 - 使用以下命令将配置发布到应用程序:
php artisan vendor:publish --provider="Sreedev\MailChimp\MailChimpServiceProvider" --tag="config"
- 在.env文件中设置
MAIL_CHIMP_API_KEY="<YOUR_API_KEY>"
示例
首先通过添加use使用库
use Sreedev\MailChimp\Facades\MailChimp;
然后,列出所有邮件列表(通过lists
方法的get
调用)
$result = MailChimp::get('lists'); print_r($result);
将某人订阅到列表(通过lists/{listID}/members
方法的post
调用)
$list_id = 'b1234346'; $result = MailChimp::post("lists/$list_id/members", [ 'email_address' => 'member@example.com', 'status' => 'subscribed', ]); print_r($result);
使用patch
更新更新列表成员的更多信息
$list_id = 'b1234346'; $subscriber_hash = MailChimp::subscriberHash('subscriber@example.com'); $result = MailChimp::patch("lists/$list_id/members/$subscriber_hash", [ 'merge_fields' => ['FNAME'=>'First', 'LNAME'=>'Man'], 'interests' => ['2s3a384h' => true], ]); print_r($result);
使用delete
方法删除列表成员
$list_id = 'b1234346'; $subscriber_hash = MailChimp::subscriberHash('subscriber@example.com'); MailChimp::delete("lists/$list_id/members/$subscriber_hash");
使用success()
方法快速测试操作是否成功
$list_id = 'b1234346'; $result = MailChimp::post("lists/$list_id/members", [ 'email_address' => 'subscriber@example.com', 'status' => 'subscribed', ]); if (MailChimp::success()) { print_r($result); } else { echo MailChimp::getLastError(); }
批量操作
MailChimp 批量操作允许您通过单个调用完成多个操作。例如:将数千个成员添加到列表 - 您可以在一个请求中完成此操作,而不是数千个。
use Sreedev\MailChimp\Facades\MailChimp; $Batch = MailChimp::newBatch()
您需要为操作设置一个ID作为第一个参数,并且您不会收到响应。该ID用于在批量操作的组合响应中找到此请求的结果。
$list_id ="abcd"; $Batch->post("op1", "lists/$list_id/members", [ 'email_address' => 'subscriber1@example.com', 'status' => 'subscribed', ]); $Batch->post("op2", "lists/$list_id/members", [ 'email_address' => 'subscriber2@example.com', 'status' => 'subscribed', ]); $Batch->post("op3", "lists/$list_id/members", [ 'email_address' => 'subscriber3@example.com', 'status' => 'subscribed', ]);
一旦完成所有应在批量中进行的请求,您需要处理它。
$result = $Batch->process();
结果包括一个批量ID。稍后,您可以检查批量的状态
MailChimp::newBatch($batchId); $result = $Batch->checkStatus();
当批量完成时,您可以下载响应中给出的URL的结果(JSON格式)。
故障排除
要获取HTTP客户端或API返回的最后错误,请使用getLastError()
echo MailChimp::getLastError();
为了进一步的调试,您可以检查响应的标头和正文
print_r(MailChimp::getLastResponse());
如果您怀疑您发送的数据格式不正确,您可以查看包装器发送给MailChimp的内容
print_r(MailChimp::getLastRequest());
如果您的服务器CA根证书没有更新,您可能会发现SSL验证失败,并且无法收到响应。解决这个问题并不是禁用SSL验证。正确的解决方案是更新您的证书。
贡献
这是一个简单的包装器,但是贡献可以使它变得更好。如果您想提出改进建议,请在提交pull request之前先提出一个问题来讨论。
欢迎提交关于错误的pull request - 请在消息中解释您试图修复的bug。