costamateus / laravel-mautic-api
免费开源营销自动化API
Requires
- php: ^8.2
- graham-campbell/manager: ^5.1
- guzzlehttp/guzzle: ^7.9
- laravel/framework: ^11.0
- mautic/api-library: ^3.1
- psr/log: ~2.0
README
免费开源营销自动化API
要求
- cURL支持
v 2.0.7
- Laravel ^8.0
- PHP ^7.3 或更高版本
v 3.0.1
- Laravel ^9.0
- PHP ^8.0.2 或更高版本
v 3.0.2
- Laravel ^10.0
- PHP ^8.1 或更高版本
v 3.0.3
- Laravel ^11.0
- PHP ^8.2 或更高版本
Mautic设置
必须在Mautic中启用API。
在Mautic中,转到配置页面(位于设置菜单中),然后在API设置下启用Mautic的API。您还可以在此处选择要使用的OAuth2协议。
保存配置后,转到API凭据页面(位于设置菜单中),创建一个新的客户端。输入请求将发送的 callback/redirect URI(必须是 https://your-app.com/mautic/application/register)。点击应用,然后将 Client ID 和 Client Secret 复制到将使用API的应用程序。
安装
首先,您需要使用Composer要求此包
composer require costamateus/laravel-mautic-api
然后,从您的命令行运行 composer update。
然后,通过在服务提供程序中添加条目来更新 config/app.php。
'providers' => [ // ... Triibo\Mautic\MauticServiceProvider::class, ],
然后,通过在别名部分添加条目来注册类别名
'aliases' => [ // ... 'Mautic' => Triibo\Mautic\Facades\Mautic::class, ],
最后,从命令行运行 php artisan vendor:publish --provider="Triibo\Mautic\MauticServiceProvider" 以发布默认配置文件。这将发布一个名为 mautic.php 的配置文件、消费者迁移 和 消费者模型。
然后,运行 php artisan migrate 迁移命令以在您的数据库中创建消费者表。
配置
您需要在 config/mautic.php 中添加您的 client id、client secret 和 callback url(用于OAuth2)或 username 和 password(用于基本认证)。或者将其放入您的 .env 文件中。
## OAuth2
MAUTIC_BASE_URL="https://your-mautic.com"
MAUTIC_PUBLIC_KEY="publicKey"
MAUTIC_SECRET_KEY="secretKey"
MAUTIC_CALLBACK="https://your-app.com/mautic/application/register"
## or BasicAuth
MAUTIC_BASE_URL="https://your-mautic.com"
MAUTIC_USERNAME="username"
MAUTIC_PASSWORD="password"
授权
此库仅支持 OAuth2 和 BasicAuth 认证。对于OAuth2,您需要创建一个 OAuth2 客户端才能使用API。
注册应用程序
为了将应用程序注册到Mautic,ping此URL,这是一次性注册。
http://your-app.com/mautic/application/register
用法
在您的控制器中添加Mautic Facade。
use Triibo\Mautic\Facades\Mautic;
向Mautic发送请求(示例)
在Mautic中创建新的联系人。
$params = array( 'firstname' => 'Prince', 'lastname' => 'Ali Khan', 'email' => 'princealikhan08@gmail.com' ); Mautic::request('POST','contacts/new',$params);
获取所有联系人的列表
Mautic::request('GET','contacts');
获取唯一的联系人
Mautic::request('GET','contacts/1'); //where 1 is unique id for a contact.
删除联系人
Mautic::request('Delete','contacts/1/delete');
以及许多Mautic支持的端点。
Mautic支持的端点列表。
资产
[
"assets",
"assets/new",
"assets/{asset_id}",
"assets/{asset_id}/edit",
"assets/{asset_id}/delete"
]
活动
[
"campaigns",
"campaigns/new",
"campaigns/{campaign_id}",
"campaigns/{campaign_id}/contacts",
"campaigns/clone/{campaign_id}",
"campaigns/{campaign_id}/edit",
"campaigns/{campaign_id}/delete",
"campaigns/{campaign_id}/contact/{contact_id}/add",
"campaigns/{campaign_id}/contact/{contact_id}/remove"
]
类别
[
"categories",
"categories/new",
"categories/{category_id}",
"categories/{category_id}/edit",
"categories/{category_id}/delete"
]
公司
[
"companies",
"companies/new",
"companies/{company_id}",
"companies/{company_id}/edit",
"companies/{company_id}/delete",
"companies/{company_id}/contact/{contact_id}/add",
"companies/{company_id}/contact/{contact_id}/remove"
]
联系人
[
"contacts",
"contacts/batch/new",
"contacts/batch/edit",
"contacts/batch/delete",
"contacts/new",
"contacts/{contact_id}",
"contacts/{contact_id}/edit",
"contacts/{contact_id}/delete",
"contacts/{contact_id}/dnc/{channel}/add",
"contacts/{contact_id}/dnc/{channel}/remove",
"contacts/{contact_id}/utm/add",
"contacts/{contact_id}/utm/{utm_id}/remove",
"contacts/{contact_id}/points/plus/{points}",
"contacts/{contact_id}/points/minus/{points}",
"contacts/list/owners",
"contacts/list/fields",
"contacts/{contact_id}/notes",
"contacts/{contact_id}/segments",
"contacts/{contact_id}/campaigns"
"contacts/{contact_id}/events",
"contacts/{contact_id}/activity",
"contacts/activity",
"contacts/{contact_id}/companies",
"contacts/{contact_id}/devices"
]
数据
[
"data",
"data/{type}",
"data/emails.in.time",
"data/sent.email.to.contacts",
"data/most.hit.email.redirects"
]
动态内容
[
"dynamiccontents",
"dynamiccontents/new",
"dynamiccontents/{dynamiccontent_id}",
"dynamiccontents/{dynamiccontent_id}/edit",
"dynamiccontents/{dynamiccontent_id}/delete"
]
电子邮件
[
"emails",
"emails/new",
"emails/{email_id}",
"emails/{email_id}/edit",
"emails/{email_id}/delete",
"emails/{email_id}/send",
"emails/reply/{tracking_hash}"
]
字段
[
"fields/company",
"fields/company/new",
"fields/company/{company_id}",
"fields/company/{company_id}/edit",
"fields/company/{company_id}/delete",
"fields/contact",
"fields/contact/new",
"fields/contact/{contact_id}",
"fields/contact/{contact_id}/edit",
"fields/contact/{contact_id}/delete"
]
文件
[
"files/images",
"files/{dir}/new",
"files/{dir}/{file}/delete"
]
表单
[
"forms",
"forms/new",
"forms/{form_id}",
"forms/{form_id}/edit",
"forms/{form_id}/delete",
"forms/{form_id}/fields/delete",
"forms/{form_id}/actions/delete",
"forms/{form_id}/submissions",
"forms/{form_id}/submissions/contact/{contact_id}",
"forms/{form_id}/submissions/{submission_id}"
]
营销消息
[
"messages",
"messages/new",
"messages/{message_id}",
"messages/{message_id}/edit",
"messages/{message_id}/delete"
]
笔记
[
"notes",
"notes/new",
"notes/{note_id}",
"notes/{note_id}/edit",
"notes/{note_id}/delete"
]
通知
[
"notifications",
"notifications/new",
"notifications/{notification_id}",
"notifications/{notification_id}/edit",
"notifications/{notification_id}/delete"
]
页面
[
"pages",
"pages/new",
"pages/{page_id}",
"pages/{page_id}/edit",
"pages/{page_id}/delete"
]
点动作
[
"points",
"points/new",
"points/{point_id}",
"points/{point_id}/edit",
"points/{point_id}/delete",
"points/actions/types",
"points/triggers",
"points/triggers/new",
"points/triggers/{point_id}",
"points/triggers/{point_id}/edit",
"points/triggers/{point_id}/delete",
"points/triggers/{point_id}/events/delete",
"points/triggers/events/types"
]
报告
[
"reports",
"reports/{report_id}"
]
角色
[
"roles",
"roles/new",
"roles/{role_id}",
"roles/{role_id}/edit",
"roles/{role_id}/delete"
]
段
[
"segments",
"segments/new",
"segments/{segment_id}",
"segments/{segment_id}/edit",
"segments/{segment_id}/delete",
"segments/{segment_id}/contact/{contact_id}/add",
"segments/{segment_id}/contact/{contact_id}/remove"
]
短信
[
"smses",
"smses/new",
"smses/{sms_id}",
"smses/{sms_id}/edit",
"smses/{sms_id}/delete",
"smses/{sms_id}/contact/{contact_id}/send"
]
阶段
[
"stages",
"stages/new",
"stages/{stage_id}",
"stages/{stage_id}/edit",
"stages/{stage_id}/delete",
"stages/{stage_id}/contact/{contact_id}/add",
"stages/{stage_id}/contact/{contact_id}/remove"
]
统计
[
"stats",
"stats/{table}"
]
标签
[
"tags",
"tags/new",
"tags/{tag_id}",
"tags/{tag_id}/edit",
"tags/{tag_id}/delete"
]
主题
[
"themes",
"themes/new",
"themes/{theme_name}",
"themes/{theme_name}/delete"
]
推文
[
"tweets",
"tweets/new",
"tweets/{tweet_id}",
"tweets/{tweet_id}/edit",
"tweets/{tweet_id}/delete"
]
用户
[
"users",
"users/new",
"users/{user_id}",
"users/{user_id}/edit",
"users/{user_id}/delete",
"users/self",
"users/{user_id}/permissioncheck"
]
Webhooks
[
"hooks",
"hooks/new",
"hooks/{hook_id}",
"hooks/{hook_id}/edit",
"hooks/{hook_id}/delete",
"hooks/triggers"
]
有关所有可自定义参数的信息,请参阅 文档。