ajtarragona / mailrelay-client
MailRelay API Rest 客户端 Laravel
Requires
- php: >=7.0.0
- guzzlehttp/guzzle: ^6.3
- laravel/framework: ^6.0
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 类