MailerLite
2026-03-29
新闻来源:网淘吧
围观:7
电脑广告
手机广告
MailerLite
通过托管的 OAuth 认证访问 MailerLite API。管理订阅者、群组、营销活动、自动化流程、表单、字段、细分和网络钩子。
快速开始
# List subscribers
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://gateway.maton.ai/mailerlite/api/subscribers?limit=10')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
基础 URL
https://gateway.maton.ai/mailerlite/{native-api-path}
将{native-api-path}替换为实际的 MailerLite API 端点路径。网关将请求代理到connect.mailerlite.com并自动注入您的 OAuth 令牌。
认证
所有请求都需要在 Authorization 请求头中包含 Maton API 密钥:
Authorization: Bearer $MATON_API_KEY
环境变量:将您的 API 密钥设置为MATON_API_KEY:
export MATON_API_KEY="YOUR_API_KEY"
获取您的 API 密钥
复制您的 API 密钥
在以下网址管理您的MailerLite OAuth连接https://ctrl.maton.ai。
列出连接
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://ctrl.maton.ai/connections?app=mailerlite&status=ACTIVE')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
创建连接
python <<'EOF'
import urllib.request, os, json
data = json.dumps({'app': 'mailerlite'}).encode()
req = urllib.request.Request('https://ctrl.maton.ai/connections', data=data, method='POST')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
req.add_header('Content-Type', 'application/json')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
获取连接
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://ctrl.maton.ai/connections/{connection_id}')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
响应:
{
"connection": {
"connection_id": "21fd90f9-5935-43cd-b6c8-bde9d915ca80",
"status": "ACTIVE",
"creation_time": "2025-12-08T07:20:53.488460Z",
"last_updated_time": "2026-01-31T20:03:32.593153Z",
"url": "https://connect.maton.ai/?session_token=...",
"app": "mailerlite",
"metadata": {}
}
}
在浏览器中打开返回的网址以完成OAuth授权。
删除连接
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://ctrl.maton.ai/connections/{connection_id}', method='DELETE')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
指定连接
如果您有多个MailerLite连接,请使用Maton-Connection请求头来指定要使用哪一个:
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://gateway.maton.ai/mailerlite/api/subscribers')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
req.add_header('Maton-Connection', '21fd90f9-5935-43cd-b6c8-bde9d915ca80')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
如果省略,网关将使用默认(最早创建的)活动连接。
API参考
订阅者操作
列出订阅者
GET /mailerlite/api/subscribers
查询参数:
filter[status]- 按状态筛选:活跃,已退订,未确认,退回,垃圾邮件limit- 每页结果数(默认:25)cursor- 分页游标include- 包含相关数据:groups
获取订阅者
GET /mailerlite/api/subscribers/{subscriber_id_or_email}
创建/更新订阅者
POST /mailerlite/api/subscribers
Content-Type: application/json
{
"email": "subscriber@example.com",
"fields": {
"name": "John Doe",
"company": "Acme Inc"
},
"groups": ["12345678901234567"],
"status": "active"
}
新订阅者返回201,更新返回200。
更新订阅者
PUT /mailerlite/api/subscribers/{subscriber_id}
Content-Type: application/json
{
"fields": {
"name": "Jane Doe"
},
"status": "active"
}
删除订阅者
DELETE /mailerlite/api/subscribers/{subscriber_id}
获取订阅者活动
GET /mailerlite/api/subscribers/{subscriber_id}/activity-log
查询参数:
filter[log_name]- 按活动类型筛选:campaign_send,自动化邮件已发送,邮件打开,链接点击,邮件退回,垃圾邮件投诉,取消订阅limit- 每页结果数(默认:100)page- 页码(从1开始)
遗忘订阅者(GDPR)
POST /mailerlite/api/subscribers/{subscriber_id}/forget
群组操作
列出群组
GET /mailerlite/api/groups
查询参数:
limit- 每页结果数page- 页码(从1开始)filter[name]- 按名称筛选(部分匹配)排序- 排序依据:名称,总计,打开率,点击率,创建时间(在字段前添加-表示降序)
创建群组
POST /mailerlite/api/groups
Content-Type: application/json
{
"name": "Newsletter Subscribers"
}
更新群组
PUT /mailerlite/api/groups/{group_id}
Content-Type: application/json
{
"name": "Updated Group Name"
}
删除群组
DELETE /mailerlite/api/groups/{group_id}
获取群组订阅者
GET /mailerlite/api/groups/{group_id}/subscribers
查询参数:
filter[status]- 按状态筛选:活跃,已退订,未确认,弹回,垃圾邮件限制- 每页结果数(1-1000,默认:50)游标- 分页游标
分配订阅者到群组
POST /mailerlite/api/subscribers/{subscriber_id}/groups/{group_id}
从群组移除订阅者
DELETE /mailerlite/api/subscribers/{subscriber_id}/groups/{group_id}
营销活动操作
列出营销活动
GET /mailerlite/api/campaigns
查询参数:
filter[status]- 按状态筛选:已发送,草稿,就绪filter[type]- 按类型筛选:常规,AB测试,重发,rss限制- 每页结果数:10、25、50 或 100(默认值:25)页码- 页码(从 1 开始)
获取营销活动
GET /mailerlite/api/campaigns/{campaign_id}
创建营销活动
POST /mailerlite/api/campaigns
Content-Type: application/json
{
"name": "My Newsletter",
"type": "regular",
"emails": [
{
"subject": "Weekly Update",
"from_name": "Newsletter",
"from": "newsletter@example.com"
}
],
"groups": ["12345678901234567"]
}
更新营销活动
PUT /mailerlite/api/campaigns/{campaign_id}
Content-Type: application/json
{
"name": "Updated Campaign Name",
"emails": [
{
"subject": "New Subject Line",
"from_name": "Newsletter",
"from": "newsletter@example.com"
}
]
}
注意:只能更新处于草稿状态的营销活动。
安排营销活动
POST /mailerlite/api/campaigns/{campaign_id}/schedule
Content-Type: application/json
{
"delivery": "instant"
}
对于计划发送:
{
"delivery": "scheduled",
"schedule": {
"date": "2026-03-15",
"hours": "10",
"minutes": "30"
}
}
取消营销活动
POST /mailerlite/api/campaigns/{campaign_id}/cancel
将准备就绪的营销活动恢复为草稿状态。
删除营销活动
DELETE /mailerlite/api/campaigns/{campaign_id}
获取营销活动订阅者活动
GET /mailerlite/api/campaigns/{campaign_id}/reports/subscriber-activity
查询参数:
filter[type]- 按活动类型筛选:已打开、未打开、已点击、已退订转发硬退信软退信垃圾邮件筛选器[搜索]- 按邮箱搜索限制- 每页结果数(10、25、50或100)页码- 页码(从1开始)自动化操作列出自动化任务查询参数:筛选器[启用状态]
- 按状态筛选:
true
GET /mailerlite/api/automations
或
false筛选器[名称]- 按名称筛选筛选器[群组]- 按群组ID筛选filter[name]- Filter by namefilter[group]- Filter by group ID页面- 页码(从1开始)限制- 每页结果数(默认:10)
获取自动化
GET /mailerlite/api/automations/{automation_id}
创建自动化
POST /mailerlite/api/automations
Content-Type: application/json
{
"name": "Welcome Series"
}
创建草稿自动化。
获取自动化活动
GET /mailerlite/api/automations/{automation_id}/activity
查询参数:
filter[status]- 必填:已完成、进行中、已取消、已失败filter[date_from]- 开始日期(年-月-日)filter[date_to]- 结束日期(年-月-日)filter[search]- 按电子邮件搜索页码- 页码(从1开始)限制- 每页结果数(默认:10)
删除自动化
DELETE /mailerlite/api/automations/{automation_id}
字段操作
列出字段
GET /mailerlite/api/fields
查询参数:
限制- 每页结果数(最多100条)页码- 页码(从1开始)filter[keyword]- 按关键词过滤(部分匹配)filter[type]- 按类型过滤:文本,数字,日期排序- 排序依据:名称,类型(前置-(降序时使用)
创建字段
POST /mailerlite/api/fields
Content-Type: application/json
{
"name": "Company",
"type": "text"
}
更新字段
PUT /mailerlite/api/fields/{field_id}
Content-Type: application/json
{
"name": "Organization"
}
删除字段
DELETE /mailerlite/api/fields/{field_id}
分段操作
列出分段
GET /mailerlite/api/segments
查询参数:
limit- 每页结果数(最多250条)page- 页码(从1开始)
获取分段订阅者
GET /mailerlite/api/segments/{segment_id}/subscribers
查询参数:
filter[status]- 按状态筛选:活跃、已退订、未确认、退信、垃圾邮件limit- 每页结果数游标- 分页游标
更新片段
PUT /mailerlite/api/segments/{segment_id}
Content-Type: application/json
{
"name": "High Engagement Subscribers"
}
删除片段
DELETE /mailerlite/api/segments/{segment_id}
表单操作
列出表单
GET /mailerlite/api/forms/{type}
路径参数:
类型- 表单类型:弹出式、嵌入式、推广式
查询参数:
限制- 每页结果数页码- 页码(从1开始)筛选器[名称]- 按名称筛选(部分匹配)排序- 排序依据:创建时间,名称,转化次数,打开次数,访问者,转化率,上次注册时间(在开头添加-表示降序)
获取表单
GET /mailerlite/api/forms/{form_id}
更新表单
PUT /mailerlite/api/forms/{form_id}
Content-Type: application/json
{
"name": "Newsletter Signup"
}
删除表单
DELETE /mailerlite/api/forms/{form_id}
获取表单订阅者
GET /mailerlite/api/forms/{form_id}/subscribers
查询参数:
filter[status]- 按状态筛选:活跃,已退订,未确认,已退回,垃圾邮件限制- 每页结果数(默认:25)游标- 分页游标
Webhook 操作
列出 Webhook
GET /mailerlite/api/webhooks
获取 Webhook
GET /mailerlite/api/webhooks/{webhook_id}
创建 Webhook
POST /mailerlite/api/webhooks
Content-Type: application/json
{
"name": "Subscriber Updates",
"events": ["subscriber.created", "subscriber.updated"],
"url": "https://example.com/webhook"
}
更新 Webhook
PUT /mailerlite/api/webhooks/{webhook_id}
Content-Type: application/json
{
"name": "Updated Webhook",
"enabled": true
}
删除 Webhook
DELETE /mailerlite/api/webhooks/{webhook_id}
分页
MailerLite 对大多数端点使用基于游标的分页,对某些端点使用基于页面的分页。
基于游标的分页
GET /mailerlite/api/subscribers?limit=25&cursor=eyJpZCI6MTIzNDU2fQ
响应包含分页链接:
{
"data": [...],
"links": {
"first": "https://connect.mailerlite.com/api/subscribers?cursor=...",
"last": null,
"prev": null,
"next": "https://connect.mailerlite.com/api/subscribers?cursor=eyJpZCI6MTIzNDU2fQ"
},
"meta": {
"path": "https://connect.mailerlite.com/api/subscribers",
"per_page": 25,
"next_cursor": "eyJpZCI6MTIzNDU2fQ",
"prev_cursor": null
}
}
基于页面的分页
GET /mailerlite/api/groups?limit=25&page=2
响应包含页面元数据:
{
"data": [...],
"meta": {
"current_page": 2,
"from": 26,
"last_page": 4,
"per_page": 25,
"to": 50,
"total": 100
}
}
代码示例
JavaScript
const response = await fetch(
'https://gateway.maton.ai/mailerlite/api/subscribers?limit=10',
{
headers: {
'Authorization': `Bearer ${process.env.MATON_API_KEY}`
}
}
);
const data = await response.json();
Python
import os
import requests
response = requests.get(
'https://gateway.maton.ai/mailerlite/api/subscribers',
headers={'Authorization': f'Bearer {os.environ["MATON_API_KEY"]}'},
params={'limit': 10}
)
data = response.json()
创建订阅者示例
import os
import requests
response = requests.post(
'https://gateway.maton.ai/mailerlite/api/subscribers',
headers={
'Authorization': f'Bearer {os.environ["MATON_API_KEY"]}',
'Content-Type': 'application/json'
},
json={
'email': 'newuser@example.com',
'fields': {'name': 'John Doe'},
'status': 'active'
}
)
data = response.json()
备注
- 速率限制:每分钟120次请求
- 订阅者邮箱作为唯一标识符使用(POST请求会创建或更新)
- 群组名称最大长度为255个字符
- 仅草稿状态的营销活动可以更新
- API版本可通过以下方式覆盖:
X-Version: YYYY-MM-DD请求头 - 重要提示:使用curl命令时,若URL包含方括号,请使用
curl -g以禁用通配符解析 - 重要提示:将curl输出通过管道传递给
jq或其他命令时,某些shell环境中可能无法正确展开环境变量,例如$MATON_API_KEY错误处理
状态码
| 含义 | 400 |
|---|---|
| 缺少MailerLite连接 | 401 |
| Maton API密钥无效或缺失 | Invalid or missing Maton API key |
| 403 | 禁止访问 - 权限不足 |
| 404 | 资源未找到 |
| 422 | 验证错误 |
| 429 | 请求频率受限 (120 次/分钟) |
| 4xx/5xx | 来自 MailerLite API 的透传错误 |
故障排除:API 密钥问题
- 请检查
MATON_API_KEY环境变量是否已设置:
echo $MATON_API_KEY
- 通过列出连接来验证 API 密钥是否有效:
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://ctrl.maton.ai/connections')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
故障排除:无效的应用名称
- 请确保您的 URL 路径以
mailerlite开头。例如:
- 正确示例:
https://gateway.maton.ai/mailerlite/api/subscribers - 错误示例:
https://gateway.maton.ai/api/subscribers
资源
文章底部电脑广告
手机广告位-内容正文底部


微信扫一扫,打赏作者吧~