ajtarragona/mailrelay-client

MailRelay API Rest 客户端 Laravel

v1.0.1 2021-10-19 07:36 UTC

This package is auto-updated.

Last update: 2024-09-19 14:03:12 UTC


README

MailRelay API Rest 客户端 Laravel.

鸣谢: Tarragona 市政府。

在此处查看 MailRelay API 文档:https://tarragona1.ipzmarketing.com/api-documentation/

安装

composer require ajtarragona/mailrelay-client

配置

您可以通过应用程序 Laravel 的 .env 文件以及以下环境变量配置此软件包

MAILRELAY_API_URL
MAILRELAY_API_KEY
MAILRELAY_DEBUG

或者,您可以通过以下命令发布配置文件

php artisan vendor:publish --tag=ajtarragona-mailrelay-config

这将在应用程序 Laravel 的 config 文件夹中创建 mailrelay.php 文件。

使用

您可以通过三种不同的方式使用此服务

通过 Facade

use MailRelay;
...
public  function  test(){
    $remitents=MailRelay::getSenders();
    ...
}

注意: 对于 Laravel < 5.6,您需要在应用程序 Laravel 的 config/app.php 文件中注册 Facade 的别名

'aliases'  =>  [
   ...
   'MailRelay'  =>  Ajtarragona\MailRelay\Facades\MailRelay::class
]

通过依赖注入

在您的控制器、辅助器、模型...中

use Ajtarragona\MailRelay\MailRelayService;
...

public  function  test(MailRelayService  $mailrelay){
    $remitents=$mailrelay->getSenders();
    ...
}

通过 helper 函数

...
public  function  test(){
    $remitents=mailrelay()->getSenders();
    ...
}

功能

发件人(寄件人)

一个发件人是一个 Sender 类的对象

getSenders($page=null, $per_page=null)

返回所有发件人。

  • $page: 页码(可选)
  • $per_page: 每页记录数(可选)
getSender($id)

返回一个发件人

getDefaultSender()

返回默认发件人

createSender($name, $email)

添加一个发件人

  • $name: 发件人名称
  • $email: 发件人电子邮件

自定义字段

一个自定义字段是一个 CustomField 类的对象

getCustomFields($page=null, $per_page=null)

返回所有 Mailrelay 的 custom_fields。

getCustomField($id)

返回一个 custom_fields。

createCustomField($name, $label, $type="text", $required=false, $default_value="", $options=[])

向 Mailrelay 添加一个自定义字段。

  • $name: 内部简短名称
  • $label: 可见名称
  • $type : 字段类型。支持的类型:text, textarea, number, select, select_multiple, checkbox, radio_buttons, date. (可选,默认 text)
  • $required: 表示是否为必填项(可选,默认 false
  • $default_value: 默认值(可选)

如果是 select, select_multiple, checkbox 或 radio_buttons

  • $options 是一个包含选项名称的数组

一个组是 Group 类的实例

getGroups($page=null, $per_page=null)

返回所有组。

getGroup($id)

返回一个组

createGroup($name, $description=null)

添加一个组

活动(通讯)

一个公告是 Campaign 类的实例

getCampaigns($page=null, $per_page=null)

返回所有公告。

getCampaign($id)

返回一个公告

createCampaign($subject, $body, $sender_id, $group_ids=[], $target="groups", $attributes=[])

添加一个公告

  • $subject 主题
  • $body 公告正文
  • $sender_id 发送者ID
  • $group_ids 组ID数组(可选)
  • $target 表示是否为组公告(groups)或段公告(segment
  • $attributes 包含传递给 MailRelay 的其他可选属性的数组

已发送活动(通讯发送报告)

一个公告发送报告是 SentCampaign 类的实例

getSentCampaigns($page=null, $per_page=null)

返回所有公告发送报告。

getSentCampaign($id)

返回一个公告发送报告

活动文件夹

一个文件夹是 CampaignFolder 类的实例

getCampaignFolders($page=null, $per_page=null)

返回所有公告文件夹。

getCampaignFolder($id)

返回一个公告文件夹

createCampaignFolder($name)

添加一个公告文件夹

  • $name 文件夹名称

导入

一个导入是 Import 类的实例

getImports($page=null, $per_page=null)

返回所有导入。

getImport($id)

返回一个导入

createImport($filename, $subscribers, $group_ids=[], $callback=null, $ignore=true)

添加一个导入

  • $filename 在 MailRelay 中创建的文件名
  • $subscribers 必须是一个订阅者数组。每一行必须有相同的 key=>value 字段。自定义字段键应该是:custom_field_ID
  • $group_ids 用户将被订阅到的组ID数组
  • $callback URL
  • $ignore 默认情况下将忽略现有用户
MailRelay::createImport("prueba api",[
  [
    "name"=>"juan",
    "email"=>"juan2@txomin.com",
    "custom_field_17"=>"a"
  ],
  [
    "name"=>"Luis d'Àvila",
    "email"=>"luis2@txomin.com",
    "custom_field_17"=>"bb"
  ]
],[13]);

媒体文件

一个媒体文件是 MediaFile 类的实例

getMediaFiles($page=null, $per_page=null)

返回所有图片

getMediaFile($id){

返回一个图片

createMediaFile($filename, $content, $media_folder_id=false)

添加一个图片

  • $filename 图片名称
  • $content 图片的二进制内容(不是 base64)
uploadMediaFile($filename, $uploaded_file, $media_folder_id=0)

通过上传添加一个图片

媒体文件夹

一个媒体文件夹是 MediaFolder 类的实例

getMediaFolders(){

返回媒体文件夹

getMediaFolder($id){

返回一个媒体文件夹

createMediaFolder($name){

添加一个媒体文件夹。

如果已存在同名文件夹,则返回它

RestModel 类

API 返回的对象以 RestModel 类的实例形式返回。对于这些对象,我们可以调用以下方法

delete()

将从 MailRelay 中删除对象

$sender=MailRelay::getSender(2);
$sender->delete();
update($attributes=[])

修改传入的属性

$sender=MailRelay::getSender(2);
$sender->update([
    "name"=>"Nuevo nombre"
]);

CustomField 类

继承自 RestModel

Sender 类

继承自 RestModel

方法

sendConfirmationMail()

向发送者发送确认邮件

$sender=MailRelay::getSender(2);
$sender->sendConfirmationMail();

Group 类

继承自 RestModel

Campaign 类

继承自 RestModel

方法

send()

发送公告。返回发送报告(一个 SentCampaign 对象)

$boletin=MailRelay::getCampaign(5);
$informe=$boletin->send();

SentCampaign 类

继承自 RestModel

方法

clicks()

返回点击次数

impressions()

返回展示次数

sent_emails()

返回已发送的电子邮件

unsubscribe_events()

返回取消订阅的次数

CampaignFolder 类

继承自 RestModel

Import 类

继承自 RestModel

方法

data()

返回导入数据

cancel()

如果正在导入,则取消导入

MediaFile 类

继承自 RestModel

MediaFolder 类

继承自 RestModel