dsvllc/laravel-sendy

该包已被放弃,不再维护。未建议替代包。

Laravel 8 的 Sendy API 实现

1.3.0 2022-03-18 04:36 UTC

This package is auto-updated.

Last update: 2022-08-18 05:27:48 UTC


README

Laravel-Sendy

Laravel Sendy

Laravel 9 的 Sendy API 服务提供者。非常感谢 Jozsef Hocza 为 Laravel 5 版本所做的贡献。

68747470733a2f2f6170692e636f6465636c696d6174652e636f6d2f76312f6261646765732f64386134346631323436343263323839633761632f6d61696e7461696e6162696c697479 Latest Stable Version Total Downloads Latest Unstable Version License

安装

composer require dsvllc/laravel-sendy

或者在你的 composer.json 中添加以下内容

{
    "require": {
        "dsvllc/laravel-sendy": "^1.*"
    }
}

Sendy:: 门面添加以下设置到 config/app.php 中

'aliases' => [
    // ...
    'Sendy' => 'Dsvllc\Sendy\Facades\Sendy',
]

配置

php artisan vendor:publish --provider="Dsvllc\Sendy\SendyServiceProvider"

它将在配置目录中创建 laravel-sendy.php。

<?php

return [

    'api_key' => env('SENDY_API_KEY', ''),
    'list_id' => env('SENDY_LIST_ID', ''),
    'installation_url' => env('SENDY_INSTALLATION_URL', ''),
];

用法

订阅

$data = [
    'email' => 'johndoe@example.com',
    'name' => 'John Doe',
    'any_custom_column' => 'value',
];

Sendy::subscribe($data);

响应 (数组)

成功情况

['status' => true, 'message' => 'Subscribed']
['status' => true, 'message' => 'Already subscribed']

错误情况

['status' => false, 'message' => 'The error message']

退订

$email = 'johndoe@example.com';
Sendy::unsubscribe($email);

响应 (数组)

成功情况

['status' => true, 'message' => 'Unsubscribed']

错误情况

['status' => false, 'message' => 'The error message']

订阅状态

$email = 'johndoe@example.com';
Sendy::status($email);

响应 (纯文本)

成功

  • 已订阅
  • 已退订
  • 未确认
  • 退信
  • 软退信
  • 投诉

错误

  • 未传递数据
  • 未传递 API 密钥
  • 无效的 API 密钥
  • 未传递电子邮件
  • 未传递列表 ID
  • 电子邮件不在列表中

活跃订阅者数量

Sendy::count();
#To check other list:
Sendy::setListId($list_id)->count();

响应 (纯文本)

成功

  • 您将获得一个表示活跃订阅者数量的整数

错误

  • 未传递数据
  • 未传递 API 密钥
  • 无效的 API 密钥
  • 未传递列表 ID
  • 列表不存在

创建活动

<?php

$campaignOptions = [
    'from_name' => 'My Name',
    'from_email' => 'test@mail.com',
    'reply_to' => 'test@mail.com',
    'title' => 'My Campaign',
    'subject' => 'My Subject',
    'list_ids' => '1,2,3', // comma-separated, optional
    'brand_id' => 1,
    'query_string' => 'utm_source=sendy&utm_medium=email&utm_content=email%20newsletter&utm_campaign=email%20newsletter',
];
$campaignContent = [
    'plain_text' => 'My Campaign',
    'html_text' => View::make('mail.my-campaign'),
];
$send = false;

Sendy::createCampaign($campaignOptions, $campaignContent, $send);

响应 (纯文本)

成功

  • 活动已创建
  • 活动已创建并开始发送

错误

  • 未传递数据
  • 未传递 API 密钥
  • 无效的 API 密钥
  • 未传递发件人名称
  • 未传递发件人电子邮件
  • 未传递回复电子邮件
  • 未传递主题
  • 未传递 HTML
  • 未传递列表 ID(s)
  • 一个或多个列表 ID 无效
  • 列表 ID 不属于单个品牌
  • 未传递品牌 ID
  • 无法创建活动
  • 无法创建并发送活动

更改列表 ID

要更改默认列表 ID,只需在前面添加 setListId($list_id) 示例:

Sendy::setListId($list_id)->subscribe($data);
Sendy::setListId($list_id)->unsubscribe($email);
Sendy::setListId($list_id)->status($email);
Sendy::setListId($list_id)->count();

待办事项

  • 实现剩余的 API
  • 更详细的文档