feikwok / laravel-mailchimp-list-management
用于laravel和Mailchimp列表管理的集成包
dev-master
2018-04-19 04:49 UTC
Requires
- php: >=7.0
- guzzlehttp/guzzle: ~6.0
Requires (Dev)
- mockery/mockery: ~0.9.4
- phpunit/phpunit: ^4.0
This package is not auto-updated.
Last update: 2024-09-23 16:01:25 UTC
README
用于MailChimp列表和成员管理的简单包。
包功能摘要
- 创建、更新和删除列表
- 将成员添加到列表
- 更新列表内的成员
- 从列表中删除成员
开发者注意
我在上传到packagist.org之前会对其进行一些微调。
要使用此包,请确保您已经从您的MailChimp账户中获取了API密钥,并将其设置到laravel的.env文件中。
LMAILCHIMP_API_KEY=[your-api-key]
假设
这些API是内部开发和测试的。如果您打算用于外部来源,请确保在主Laravel应用程序中处理CORS。例如,创建一个控制器以直接使用MailChimpApiService类。
然而,您可能还需要安装一些额外的包来处理CORS,例如barryvdh/laravel-cors。
API手册
以下是如何使用API方法的信息。我包括了每个API的一些请求示例。
从您的MailChimp账户获取现有列表
API端点
/api/lmailchimp/lists/
方法:GET
示例JSON响应
{
"success": true,
"lists": [
{
"id": "844a96be1c",
"web_id": 416057,
"name": "Developer Test (Edit)",
"contact": {
"company": "testing company ltd",
"address1": "46 Budd Street",
"address2": "",
"city": "Collingwood",
"state": "VIC",
"zip": "3066",
"country": "US",
"phone": "0389237658"
},
"permission_reminder": "You received this email because we are doing testing",
:
},
{
"id": "86c07e8fb9",
"web_id": 177061,
"name": "Developers",
"contact": {
"company": "Integrated Node",
"address1": "PO Box 291",
"address2": "",
"city": "CANNINGTON",
"state": "WA",
"zip": "6987",
"country": "AU",
"phone": ""
},
"permission_reminder": "You are receiving this email because you are one of the developers list in our developer list. If you found this information is incorrect, please kindly report this to our administrator.",
:
}
],
"total_items": 2
}
在MailChimp中创建新列表
API端点
/api/lmailchimp/lists
方法:POST
请求示例
{
"name": "Developer Test",
"contact.company": "testing company ltd",
"contact.address1": "46 Test Street",
"contact.address2": "",
"contact.city": "Collingwood",
"contact.state": "VIC",
"contact.zip": "3066",
"contact.country": "Australia",
"contact.phone": "0389237658",
"permission_reminder": "You received this email because we are doing testing",
"use_archive_bar": false,
"campaign_defaults.from_name": "Fei Kwok",
"campaign_defaults.from_email": "softfishtest@gmail.com",
"campaign_defaults.subject": "Test List Laravel Package Subject",
"campaign_defaults.language": "English",
"notify_on_subscribe": "",
"notify_on_unsubscribe": "",
"email_type_option": false,
"visibility": "prv"
}
响应JSON
{
"success": true,
"message": "New list has been created.",
"new_list": {
"id": "c6934bea55",
"web_id": 416165,
:
}
}
更新现有列表信息。
API端点
/api/lmailchimp/lists/[list id]
方法:PATCH/PUT
请求JSON结构和属性与列表创建相同。响应相同,只是消息不同。
删除现有列表信息。
API端点
/api/lmailchimp/lists/[list_id]
方法:DELETE
将新成员添加到列表中
API端点
/api/lmailchimp/lists/[list id]/members
方法:POST
JSON请求示例
{
"email_address": "test@email.com",
"email_type": "html",
"status": "subscribed",
"language": "English",
"vip": true,
"ip_signup": "122.321.12.1",
"timestamp_signup": "2018-03-21 22:21:21"
}
更新现有成员信息
API端点
/api/lmailchimp/lists/[list id]/members
方法:PATCH/PUT
请求与上述创建新成员的请求相同。
从列表中删除成员
API端点
/api/lmailchimp/lists/[list id]/members
方法:DELETE
删除成员功能的全部需求是在请求中包含电子邮件。
请求JSON示例
{
"email": "test@email.com"
}