dmt-software / laposta-api
用于消费 Laposta API 的客户端
0.3.6
2024-08-29 14:51 UTC
Requires
- php: >=7.4
- ext-json: *
- dmt-software/command-bus-validator: ^1.0
- dmt-software/http-client-middleware: ^0.1.3 | ^1.0 | ^2.0
- doctrine/annotations: ^2.0
- jms/serializer: ^3.23
- league/tactician: ^1.0
- psr/http-factory: ^1.0
- psr/http-message: ^1.0 | ^2.0
- symfony/console: >=5.4
Requires (Dev)
- guzzlehttp/guzzle: ^7.5
- guzzlehttp/psr7: ^2.4
- phpunit/phpunit: 9.6.6
- psr/container: >=1.1
README
一个面向对象的客户端,用于消费 Laposta API。
安装
composer require dmt-software/laposta-api
配置
安装此包后,您需要对其进行配置。最快的方法是简单地添加一个配置文件,并使用它将配置加载到 Config
实例中。
// file: config.php return [ 'apiKey' => 'JdMtbsMq2jqJdQZD9AHC', 'customFieldsClasses' => [], 'httpClient' => \GuzzleHttp\Client::class, 'requestFactory' => \GuzzleHttp\Psr7\HttpFactory::class, ];
生成实体
下一步是生成用于邮件列表(的)自定义字段的实体。
vendor/bin/laposta generate:list-fields config.php -l BaImMu3JZA
有关自定义字段的更深入信息,可以在订阅者的 文档 中找到。
用法
初始化客户端
创建客户端实例的最简单方法是用此包中的工厂。这些工厂还可以在依赖注入容器中使用(作为指南)。
use DMT\Laposta\Api\Clients\Subscribers; use DMT\Laposta\Api\Config; use DMT\Laposta\Api\Factories\CommandBusFactory; $commandBus = CommandBusFactory::create(Config::load('config.php')); $client = new Subscribers($commandBus);
将用户订阅到邮件列表
use DMT\CommandBus\Validator\ValidationException; use DMT\Laposta\Api\Entity\BaseCustomFields; use DMT\Laposta\Api\Entity\Subscriber; use DMT\Laposta\Api\Clients\Subscribers; use Psr\Http\Client\ClientExceptionInterface; try { /** @var BaseCustomFields $customFields The generated entity for your list */ $subscriber = new Subscriber(); $subscriber->listId = 'BaImMu3JZA'; $subscriber->email = 'user@example.com'; $subscriber->customFields = $customFields; $subscriber->customFields->name = 'John Do'; /** @var Subscribers $client */ $client->create($subscriber, Subscribers::OPTION_SUPPRESS_EMAIL_NOTIFICATION); } catch (ValidationException $exception) { // input was wrong } catch (ClientExceptionInterface $exception) { // error response }
有关如何使用此包的更多信息,请参阅客户端 文档。