combindma / laravel-mautic
Laravel应用的Mautic API
1.6.0
2024-03-16 00:25 UTC
Requires
- php: ^8.1
- guzzlehttp/guzzle: ^7.5|^8.0
- illuminate/contracts: ^10.0|^11.0
- saloonphp/laravel-plugin: ^3.0
- spatie/laravel-package-tools: ^1.14.0
Requires (Dev)
- laravel/pint: ^1.0
- mockery/mockery: ^1.5
- nunomaduro/collision: ^7.0|^8.0
- orchestra/testbench: ^8.0|^9.0
- pestphp/pest: ^2.0
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
README
免费开源营销自动化API免费开源营销自动化API
安装
您可以通过composer安装此包
composer require combindma/laravel-mautic
您可以使用以下命令发布配置文件
php artisan vendor:publish --tag="laravel-mautic-config"
这是已发布配置文件的内容
return [ /* |-------------------------------------------------------------------------- | Auth Type |-------------------------------------------------------------------------- | Version of the auth can be OAuth2 or BasicAuth. OAuth2 is the default value. | */ 'version' => env('MAUTIC_VERSION', 'OAuth2'), //or BasicAuth /* * Base URL of the Mautic instance */ 'baseUrl' => env('MAUTIC_BASE_URL'), /* * Client/Consumer key from Mautic */ 'clientKey' => env('MAUTIC_PUBLIC_KEY'), /* * Client/Consumer secret key from Mautic */ 'clientSecret' => env('MAUTIC_SECRET_KEY'), /* * Redirect URI/Callback URI for this script */ 'callback' => env('MAUTIC_CALLBACK'), /* |-------------------------------------------------------------------------- | Mautic App Credentials |-------------------------------------------------------------------------- | | This is used in case of BasicAuth | */ 'username' => env('MAUTIC_USERNAME'), 'password' => env('MAUTIC_PASSWORD'), /* * Enable or disable Mautic. Useful for local development when running tests. */ 'apiEnabled' => env('MAUTIC_ENABLED', false), /* * Filename to use when storing mautic access token. Must be a json File */ 'fileName' => 'mautic.json', ];
可选地,您可以使用以下命令发布视图
php artisan vendor:publish --tag="laravel-mautic-views"
授权
此库仅支持OAuth2
和BasicAuth
认证。对于OAuth2,您需要创建一个OAuth2
客户端才能使用API。
OAuth2 Mautic配置
必须启用Mautic中的API。
在Mautic中,转到配置页面(位于设置菜单中),在API设置中启用Mautic的API。
保存配置后,转到API凭据页面(位于设置菜单中)并创建一个新的客户端。
输入回调/重定向URI(应为https://your-domain.com/integration/mautic/callback
)。点击应用,然后将客户端ID和客户端密钥复制到.env文件中。
这是.env文件的示例
MAUTIC_VERSION="OAuth2"
MAUTIC_BASE_URL=https://mautic-domain.com
MAUTIC_PUBLIC_KEY=XXXXXXXXXXXXXXXX
MAUTIC_SECRET_KEY=XXXXXXXXXX
MAUTIC_CALLBACK=https://your-domain.com/integration/mautic/callback
MAUTIC_ENABLED=true
BasicAuth Mautic配置
您需要在.env文件中添加您的username
和password
以使用BasicAuth。
MAUTIC_VERSION="BasicAuth"
MAUTIC_BASE_URL=https://mautic-domain.com
MAUTIC_USERNAME=email@email.com
MAUTIC_PASSWORD=password
MAUTIC_ENABLED=true
注册应用程序(仅OAuth2认证)
为了将应用程序注册到mautic,请一次ping此url以注册您的应用程序。
https://your-domain.com/integration/mautic
使用方法
管理联系人
当与联系人API一起工作时,IpAddress和lastActive参数默认添加,因此您无需包含它们。
use Combindma\Mautic\Facades\Mautic; //Create a new contact Mautic::contacts()->create('email@gmail.com'); //with $parameters $params = array( 'firstname' => 'bullet', 'lastname' => 'proof', ); Mautic::contacts()->create('email@gmail.com', $params); //Edit a given contact Mautic::contacts()->edit($contactId, $params); //Delete a contact Mautic::contacts()->delete(567);//567 is the contact ID, change it to your needs
使用段管理联系人
use Combindma\Mautic\Facades\Mautic; //Add contact to a segment Mautic::segments()->addContact($segmentId, $contactId); //Create a contact and add it to a segment $response = Mautic::contacts()->create(strtolower($request->input('email'))); if ($response && !$response->failed()) { $contactId = $response->object()->contact->id; Mautic::segments()->addContact(4, $contactId);//4 is the segment ID, change it to your needs } //Remove a contact from a given segment Mautic::segments()->removeContact($segmentId, $contactId);
使用UTM标签管理联系人
use Combindma\Mautic\Facades\Mautic; //Add UTM tags to a given contact $data = array( 'utm_campaign' => 'apicampaign', 'utm_source' => 'fb', 'utm_medium' => 'social', 'utm_content' => 'fbad', 'utm_term' => 'mautic api', 'useragent' => 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0', 'url' => '/product/fbad01/', 'referer' => 'https://google.com/q=mautic+api', 'query' => ['cid'=>'abc','cond'=>'new'], // or as string with "cid=abc&cond=new" 'remotehost' => 'example.com', 'lastActive' => '2017-01-17T00:30:08+00:00' ); Mautic::utmTags()->addUtmTag($contactId, $data); //Remove a given UTM Tag from contact Mautic::utmTags()->removeUtmTag($utmId, $contactId);
管理联系人点
use Combindma\Mautic\Facades\Mautic; //Add contact points $data = array( 'eventName' => 'Score via api', 'actionName' => 'Adding', ); Mautic::points()->addPoints($contactId, 10, $data);//$data is optional //Subtract contact points $data = array( 'eventname' => 'Score via api', 'actionname' => 'Subtracting', ); Mautic::points()->subtractPoints($contactId, 10, $data);//$data is optional
宏
与API通信可能成为重复的过程。这就是为什么我们使此包可宏化的原因。
use Combindma\Mautic\Facades\Mautic; //include this in your macrobale file Mautic::macro('subscribe', function(string $email) { $response = Mautic::contacts()->create(strtolower($request->input('email'))); if ($response && !$response->failed()) { $contactId = $response->object()->contact->id; Mautic::segments()->addContact(4, $contactId);//4 is the segment ID, change it to your needs } }); //In your controller, you only need to call your method Mautic::sbscribe('email@email.com');
有关所有可定制的参数,请参阅文档。
测试
composer test
贡献
有关详细信息,请参阅贡献指南。
安全漏洞
有关如何报告安全漏洞,请参阅我们的安全策略。
鸣谢
许可
MIT许可证(MIT)。有关更多信息,请参阅许可文件。