stephenjude/laravel-sendportal

用于操作 SendPortal API 的 Laravel 包

1.0.2 2023-04-25 18:15 UTC

This package is auto-updated.

Last update: 2024-09-25 21:37:52 UTC


README

Latest Version on Packagist Test Suite Total Downloads

用于操作 SendPortal API 的非官方 Laravel 包。

安装

您可以通过 composer 安装此包

composer require stephenjude/laravel-sendportal

设置

要开始使用此包,您需要添加以下环境变量:

  • SENDPORTAL_URL - 您 Sendportal 账户的 URL,例如 — https://sendportal.io/api/v1
  • SENDPORTAL_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)。有关更多信息,请参阅 许可文件