mailerlite / mailerlite-php
MailerLite PHP SDK
Requires
- php: ^7.4|^8.0
- ext-json: *
- php-http/client-common: ^2.2
- php-http/discovery: ^1.9
- php-http/httplug: ^2.1
- psr/http-client-implementation: ^1.0
- psr/http-message: ^1.0 || ^2.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.18
- guzzlehttp/psr7: ^2.6.1
- http-interop/http-factory-guzzle: ^1.0
- mockery/mockery: ^0.9.4
- php-http/guzzle7-adapter: ^0.1
- php-http/message: ^1.0
- php-http/mock-client: ^1.0
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^7.5.15 || ^8.4 || ^9.0
This package is not auto-updated.
Last update: 2024-09-11 11:23:50 UTC
README
目录
安装
需求
- PHP 7.4
- 从MailerLite获取API密钥
- 基于PSR-7和PSR-18的HTTP适配器
设置
composer require mailerlite/mailerlite-php
如果你收到错误信息“无法使用任何发现策略找到资源”,这意味着所有发现策略都失败了。很可能是你的项目缺少消息工厂和/或PSR-7实现。要解决这个问题,你可以运行
$ composer require php-http/curl-client guzzlehttp/psr7 php-http/message
用法
订阅者
关于请求参数的更多信息: https://developers.mailerlite.com/docs/subscribers.html
创建
use MailerLite\MailerLite; $mailerLite = new MailerLite(['api_key' => 'key']); $data = [ 'email' => 'subscriber@example.com', ]; $response = $mailerLite->subscribers->create($data);
读取
单个记录
use MailerLite\MailerLite; $mailerLite = new MailerLite(['api_key' => 'key']); $subscriberId = '123'; $response = $mailerLite->subscribers->find($subscriberId);
所有记录
use MailerLite\MailerLite; $mailerLite = new MailerLite(['api_key' => 'key']); $response = $mailerLite->subscribers->get();
更新
use MailerLite\MailerLite; $mailerLite = new MailerLite(['api_key' => 'key']); $subscriberId = '123', $data = [ 'fields' => [ 'name' => 'Example', ], ]; $response = $mailerLite->subscribers->update($subscriberId, $data);
删除
use MailerLite\MailerLite; $mailerLite = new MailerLite(['api_key' => 'key']); $subscriberId = '123'; $response = $mailerLite->subscribers->delete($subscriberId);
活动
关于请求参数的更多信息: https://developers.mailerlite.com/docs/campaigns.html
创建
use MailerLite\MailerLite; $mailerLite = new MailerLite(['api_key' => 'key']); $data = [ 'type' => 'regular', 'name' => 'My new campaign', 'language_id' => 10, 'emails' => [ [ 'subject' => 'My new email', 'from_name' => 'me', 'from' => 'me@example.com', 'content' => 'Hello World!', ] ], 'filter' => [], ]; $response = $mailerLite->campaigns->create($data);
读取
单个记录
use MailerLite\MailerLite; $mailerLite = new MailerLite(['api_key' => 'key']); $campaignId = '123'; $response = $mailerLite->campaigns->find($campaignId);
所有记录
use MailerLite\MailerLite; $mailerLite = new MailerLite(['api_key' => 'key']); $data = [ 'filter' => ['status' => 'sent'], ]; $response = $mailerLite->campaigns->get($data);
更新
use MailerLite\MailerLite; $mailerLite = new MailerLite(['api_key' => 'key']); $campaignId = '123'; $data = [ 'name' => 'Changed campaign name', 'emails' => [ [ 'subject' => 'Changed email subject', 'from_name' => 'Changed from name', 'from' => 'changed@example.com', ] ], ]; $response = $mailerLite->campaigns->update($campaignId, $data);
删除
use MailerLite\MailerLite; $mailerLite = new MailerLite(['api_key' => 'key']); $campaignId = '123'; $response = $mailerLite->campaigns->delete($campaignId);
计划
use MailerLite\MailerLite; $mailerLite = new MailerLite(['api_key' => 'key']); $campaignId = '123'; $data = [ 'delivery' => 'instant', ]; $response = $mailerLite->campaigns->schedule($campaignId, $data);
取消
use MailerLite\MailerLite; $mailerLite = new MailerLite(['api_key' => 'key']); $campaignId = '123'; $response = $mailerLite->campaigns->cancel($campaignId);
已发送活动的订阅者活动
use MailerLite\MailerLite; $mailerLite = new MailerLite(['api_key' => 'key']); $campaignId = '123'; $data = [ 'type' => 'opened', ]; $response = $mailerLite->campaigns->getSubscriberActivity($campaignId, $data);
组API
关于请求参数的更多信息: https://developers.mailerlite.com/docs/groups.html
创建
use MailerLite\MailerLite; $mailerLite = new MailerLite(['api_key' => 'key']); $data = [ "name" => "New group", ]; $response = $mailerLite->groups->create($data);
读取
单个记录
use MailerLite\MailerLite; $mailerLite = new MailerLite(['api_key' => 'key']); $groupId = '123'; $response = $mailerLite->groups->find($groupId);
所有记录
use MailerLite\MailerLite; $mailerLite = new MailerLite(['api_key' => 'key']); $response = $mailerLite->groups->get();
更新
use MailerLite\MailerLite; $mailerLite = new MailerLite(['api_key' => 'key']); $groupId = '123'; $data = [ "name" => "Updated name", ]; $response = $mailerLite->groups->update($groupId, $data);
删除
use MailerLite\MailerLite; $mailerLite = new MailerLite(['api_key' => 'key']); $groupId = '123'; $response = $mailerLite->groups->delete($groupId);
获取属于组的订阅者
use MailerLite\MailerLite; $mailerLite = new MailerLite(['api_key' => 'key']); $groupId = '123'; $response = $mailerLite->groups->getSubscribers($groupId);
将订阅者分配到组
use MailerLite\MailerLite; $mailerLite = new MailerLite(['api_key' => 'key']); $groupId = '123'; $subscriberId = '456'; $response = $mailerLite->groups->assignSubscriber($groupId, $subscriberId);
从组中取消分配订阅者
use MailerLite\MailerLite; $mailerLite = new MailerLite(['api_key' => 'key']); $groupId = '123'; $subscriberId = '456'; $response = $mailerLite->groups->unAssignSubscriber($groupId, $subscriberId);
分段API
关于请求参数的更多信息: https://developers.mailerlite.com/docs/segments.html
读取
所有记录
use MailerLite\MailerLite; $mailerLite = new MailerLite(['api_key' => 'key']); $response = $mailerLite->segments->get();
更新
use MailerLite\MailerLite; $mailerLite = new MailerLite(['api_key' => 'key']); $segmentId = '123'; $data = [ "name" => "Updated name", ]; $response = $mailerLite->segments->update($segmentId, $data);
删除
use MailerLite\MailerLite; $mailerLite = new MailerLite(['api_key' => 'key']); $segmentId = '123'; $response = $mailerLite->segments->delete($segmentId);
获取属于分段的订阅者
use MailerLite\MailerLite; $mailerLite = new MailerLite(['api_key' => 'key']); $segmentId = '123'; $response = $mailerLite->segments->getSubscribers($segmentId);
字段API
关于请求参数的更多信息: https://developers.mailerlite.com/docs/fields.html
创建
use MailerLite\MailerLite; $mailerLite = new MailerLite(['api_key' => 'key']); $data = [ "name" => "New field", "type" => "text", ]; $response = $mailerLite->fields->create($data);
读取
所有记录
use MailerLite\MailerLite; $mailerLite = new MailerLite(['api_key' => 'key']); $response = $mailerLite->fields->get();
更新
use MailerLite\MailerLite; $mailerLite = new MailerLite(['api_key' => 'key']); $fieldId = '123'; $data = [ "name" => "Updated name", ]; $response = $mailerLite->fields->update($fieldId, $data);
删除
use MailerLite\MailerLite; $mailerLite = new MailerLite(['api_key' => 'key']); $fieldId = '123'; $response = $mailerLite->fields->delete($fieldId);
表单API
关于请求参数的更多信息: https://developers.mailerlite.com/docs/forms.html
读取
所有记录
use MailerLite\MailerLite; $mailerLite = new MailerLite(['api_key' => 'key']); $response = $mailerLite->forms->get('popup', []);
单个
use MailerLite\MailerLite; $mailerLite = new MailerLite(['api_key' => 'key']); $formId = '123'; $response = $mailerLite->forms->find($formId);
更新
use MailerLite\MailerLite; $mailerLite = new MailerLite(['api_key' => 'key']); $formId = '123'; $data = [ "name" => "Updated name", ]; $response = $mailerLite->forms->update($formId, $data);
删除
use MailerLite\MailerLite; $mailerLite = new MailerLite(['api_key' => 'key']); $formId = '123'; $response = $mailerLite->forms->delete($formId);
注册订阅者
use MailerLite\MailerLite; $mailerLite = new MailerLite(['api_key' => 'key']); $formId = '123'; $response = $mailerLite->forms->getSignups($formId);
自动化API
关于请求参数的更多信息: https://developers.mailerlite.com/docs/automations.html
读取
所有记录
use MailerLite\MailerLite; $mailerLite = new MailerLite(['api_key' => 'key']); $response = $mailerLite->automations->get([]);
单个
use MailerLite\MailerLite; $mailerLite = new MailerLite(['api_key' => 'key']); $automationId = '123'; $response = $mailerLite->automations->find($automationId);
活动
use MailerLite\MailerLite; $mailerLite = new MailerLite(['api_key' => 'key']); $automationId = '123'; $data = [ 'filter' => [ 'status' => 'active', ], ]; $response = $mailerLite->automations->activity($automationId, $data);
Webhook API
关于请求参数的更多信息: https://developers.mailerlite.com/docs/webhooks.html
创建
use MailerLite\MailerLite; $mailerLite = new MailerLite(['api_key' => 'key']); $data = [ "name" => "Name", "events" => ["subscriber.created"], "url": "https://www.cartwright.info/eligendi-soluta-corporis-in-quod-ullam", ]; $response = $mailerLite->webhooks->create($data);
读取
所有记录
use MailerLite\MailerLite; $mailerLite = new MailerLite(['api_key' => 'key']); $response = $mailerLite->webhooks->get([]);
单个
use MailerLite\MailerLite; $mailerLite = new MailerLite(['api_key' => 'key']); $webhookId = '123'; $response = $mailerLite->webhooks->find($webhookId);
更新
use MailerLite\MailerLite; $mailerLite = new MailerLite(['api_key' => 'key']); $webhookId = '123'; $data = [ "name" => "Updated name", ]; $response = $mailerLite->webhooks->update($webhookId, $data);
删除
use MailerLite\MailerLite; $mailerLite = new MailerLite(['api_key' => 'key']); $webhookId = '123'; $response = $mailerLite->webhooks->delete($webhookId);
活动语言API
关于请求参数的更多信息:https://developers.mailerlite.com/docs/campaign-languages.html
读取
use MailerLite\MailerLite; $mailerLite = new MailerLite(['api_key' => 'key']); $response = $mailerLite->campaignLanguages->get();
时区API
关于请求参数的更多信息:https://developers.mailerlite.com/docs/timezones.html
读取
use MailerLite\MailerLite; $mailerLite = new MailerLite(['api_key' => 'key']); $response = $mailerLite->timezones->get();
批量API
关于请求参数的更多信息:https://developers.mailerlite.com/docs/batching.html
发送
use MailerLite\MailerLite; $mailerLite = new MailerLite(['api_key' => 'key']); $data = [ 'requests' => [ [ 'method' => 'post', 'path' => 'api/subscribers', 'body' => [ 'email' => 'new_subscriber@mail.com' ] ] ] ]; $response = $mailerLite->batches->send($data);
测试
composer test
支持和反馈
如果您发现任何错误,可以直接在这里的GitHub提交问题。
欢迎您为任何其他编程语言创建SDK。
如果您在使用我们的API或SDK时遇到任何问题,请通过电子邮件联系我们的支持info@mailerlite.com