网淘吧来吧,欢迎您!

返回首页 微信
微信
手机版
手机版

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 密钥

  1. 登录或在maton.ai
  2. 创建账户前往
  3. maton.ai/settings

复制您的 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 name
  • filter[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 密钥问题

  1. 请检查MATON_API_KEY环境变量是否已设置:
echo $MATON_API_KEY
  1. 通过列出连接来验证 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

故障排除:无效的应用名称

  1. 请确保您的 URL 路径以mailerlite开头。例如:
  • 正确示例:https://gateway.maton.ai/mailerlite/api/subscribers
  • 错误示例:https://gateway.maton.ai/api/subscribers

资源

免责申明
部分文章来自各大搜索引擎,如有侵权,请与我联系删除。
打赏
文章底部电脑广告
手机广告位-内容正文底部
上一篇:Claude Code Wingman 下一篇:Expense Tracker Pro

相关文章

您是本站第300359名访客 今日有73篇新文章/评论