hocza/sendy

Laravel 的 Sendy API 实现

1.1.1 2024-01-15 06:03 UTC

This package is auto-updated.

Last update: 2024-09-15 10:53:34 UTC


README

Sendy

Sendy Laravel

Laravel 5 中 Sendy API 的服务提供者

Latest Stable Version Total Downloads Latest Unstable Version License

安装

composer require hocza/sendy:1.*

或者将以下设置添加到 composer.json 中

{
    "require" : {
        "hocza/sendy": "1.*"
    }
}

将以下设置添加到 config/app.php 中

服务提供者

'providers' => [
    // ...
    'Hocza\Sendy\SendyServiceProvider',
]

对于 Sendy:: 门面

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

配置

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

它将在 config 目录下创建 sendy.php。

<?php

return [

    'listId' => '',
    'installationUrl' => '',
    'apiKey' => '',

];

使用方法

订阅

$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。 :)
  • 更好的文档 - 正在进行中,如您所见 :)

买我一杯咖啡 :)

Click here to lend your support to: Sendy-laravel and make a donation at pledgie.com !