stephenjude / laravel-sendportal
用于操作 SendPortal API 的 Laravel 包
1.0.2
2023-04-25 18:15 UTC
Requires
- php: ^8.1
- illuminate/contracts: ^9.25|^10.0
- juststeveking/http-status-code: ^3.0
- juststeveking/laravel-data-object-tools: ^1.0
Requires (Dev)
- guzzlehttp/guzzle: ^7.4
- laravel/pint: ^1.1
- nunomaduro/larastan: ^2.1
- orchestra/testbench: ^7.6
- pestphp/pest: ^1.21
README
用于操作 SendPortal API 的非官方 Laravel 包。
安装
您可以通过 composer 安装此包
composer require stephenjude/laravel-sendportal
设置
要开始使用此包,您需要添加以下环境变量:
SENDPORTAL_URL
- 您 Sendportal 账户的 URL,例如 — https://sendportal.io/api/v1SENDPORTAL_TOKEN
- 您可以从您的 SendPortal 账户生成此令牌。
该包将在其配置中获取这些变量,并在解析 Client
实例时使用这些变量。
使用方法
您可以使用 SendPortal
门面或通过将 SendPortal\Laravel\Http\Client
注入方法中实例化客户端来使用此包
use SendPortal\Laravel\Contracts\ClientContract; use SendPortal\Laravel\Facades\SendStack; /** * Without a Facade */ $client = app()->make( abstract: ClientContract::class, ); $client->subscribers()->all(); /** * Using the Facade */ SendPortal::subscribers()->all();
获取订阅者列表
use SendPortal\Laravel\Facades\SendPortal; SendPortal::subscribers()->all();
获取单个订阅者
use SendPortal\Laravel\Facades\SendPortal; SendPortal::subscribers()->get( subscriber: 1, );
创建新的订阅者
use SendPortal\Laravel\Facades\SendPortal; use SendPortal\Laravel\Http\Requests\SubscriberRequest; SendPortal::subscribers()->create( request: new SubscriberRequest( email: 'contact@sendportal.local', // Required firstName: 'Send', // Optional lastName: 'Portal', // Optional tags: [ 1, 2, ], // Optional optOut: false, // Optional ), );
更新订阅者
use SendPortal\Laravel\Facades\SendPortal; use SendPortal\Laravel\Http\Requests\SubscriberRequest; SendPortal::subscribers()->update( id: 1, request: new SubscriberRequest( email: 'contact@sendportal.local', // Required firstName: 'Send', // Optional lastName: 'Portal', // Optional tags: [ 1, 2, ], // Optional optOut: false, // Optional ), );
删除订阅者
use SendPortal\Laravel\Facades\SendPortal; SendPortal::subscribers()->delete( subscriberId: 1, );
将标签附加到订阅者
use SendPortal\Laravel\Facades\SendPortal; SendPortal::subscribers()->attachTag( subscriberId: 1, tagId: 1, );
从订阅者中移除标签
use SendPortal\Laravel\Facades\SendPortal; SendPortal::subscribers()->removeTag( subscriberId: 1, tagIds: [1, 2], );
检查电子邮件地址是否为活动订阅者
use SendPortal\Laravel\Facades\SendPortal; SendPortal::isActiveSubscriber( subscriberId: 1, );
获取所有标签
use SendPortal\Laravel\Facades\SendPortal; SendPortal::tags()->all();
创建新的标签
use SendPortal\Laravel\Facades\SendPortal; use SendPortal\Laravel\Http\Requests\TagRequest; SendPortal::tags()->create( request: new TagRequest( name: 'Test', // Required subscribers: [1], // Optional ), );
测试
composer test
变更日志
请参阅 CHANGELOG 了解最近更改的详细信息。
安全漏洞
请查看 我们的安全策略 了解如何报告安全漏洞。
鸣谢
许可
MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件。