naroga/sendy-laravel

Laravel 的 Sendy API 实现

1.0.0 2015-12-07 17:02 UTC

This package is auto-updated.

Last update: 2024-09-12 00:41:27 UTC


README

Sendy

Sendy Laravel

Laravel 5 中 Sendy API 的服务提供者

Latest Stable Version Total Downloads Latest Unstable Version License

安装

composer require naroga/sendy-laravel:1.*

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

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

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

服务提供者

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

针对 Sendy:: 外观

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

配置

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

它将在配置目录中创建 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 !