Systeme.io技能使用说明
2026-03-28
新闻来源:网淘吧
围观:11
电脑广告
手机广告
Systeme.io
通过托管的 OAuth 认证访问 Systeme.io API。管理联系人、标签、课程、社区和订阅。
快速开始
# List contacts
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://gateway.maton.ai/systeme/api/contacts')
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/systeme/{native-api-path}
将{native-api-path}替换为实际的 Systeme.io API 端点路径。网关将请求代理到api.systeme.io并自动注入您的 API 密钥。
认证
所有请求都需要在 Authorization 请求头中包含 Maton API 密钥:
Authorization: Bearer $MATON_API_KEY
环境变量:将您的 API 密钥设置为MATON_API_KEY:
export MATON_API_KEY="YOUR_API_KEY"
获取您的 API 密钥
- 登录或创建一个账户,访问maton.ai
- 前往maton.ai/settings
- 复制您的 API 密钥
连接管理
在https://ctrl.maton.ai管理您的 Systeme.io 连接。
列出连接
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://ctrl.maton.ai/connections?app=systeme&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': 'systeme'}).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": "systeme",
"metadata": {}
}
}
在浏览器中打开返回的URL以完成 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
指定连接
如果您有多个 Systeme.io 连接,请使用Maton-Connection标头指定要使用的连接:
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://gateway.maton.ai/systeme/api/contacts')
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 /systeme/api/contacts
查询参数:
limit- 每页项目数(10-100,可选)startingAfter- 用于分页的最后接收项ID(可选)排序- 排序方式:升序或降序(默认:降序,可选)
获取联系人
GET /systeme/api/contacts/{id}
创建联系人
POST /systeme/api/contacts
Content-Type: application/json
{
"email": "john@example.com",
"firstName": "John",
"lastName": "Doe",
"phoneNumber": "+1234567890",
"locale": "en",
"fields": [
{
"slug": "custom_field_slug",
"value": "custom value"
}
]
}
更新联系人
PATCH /systeme/api/contacts/{id}
Content-Type: application/merge-patch+json
{
"firstName": "Jane",
"lastName": "Smith"
}
删除联系人
DELETE /systeme/api/contacts/{id}
标签操作
列出标签
GET /systeme/api/tags
获取标签
GET /systeme/api/tags/{id}
创建标签
POST /systeme/api/tags
Content-Type: application/json
{
"name": "VIP Customer"
}
更新标签
PUT /systeme/api/tags/{id}
Content-Type: application/json
{
"name": "Premium Customer"
}
删除标签
DELETE /systeme/api/tags/{id}
联系人标签操作
为联系人分配标签
POST /systeme/api/contacts/{id}/tags
Content-Type: application/json
{
"tagId": 12345
}
从联系人移除标签
DELETE /systeme/api/contacts/{id}/tags/{tagId}
联系人字段操作
列出联系人字段
GET /systeme/api/contact_fields
创建联系人字段
POST /systeme/api/contact_fields
Content-Type: application/json
{
"name": "Company Name",
"slug": "company_name"
}
更新联系人字段
PATCH /systeme/api/contact_fields/{slug}
Content-Type: application/merge-patch+json
{
"name": "Organization Name"
}
删除联系人字段
DELETE /systeme/api/contact_fields/{slug}
课程操作
列出课程
GET /systeme/api/school/courses
列出注册信息
GET /systeme/api/school/enrollments
创建注册
POST /systeme/api/school/courses/{courseId}/enrollments
Content-Type: application/json
{
"contactId": 12345,
"accessType": "full_access"
}
必填字段:
contactId- 要注册的联系人IDaccessType- 访问类型:full_access、partial_access或dripping_content
注意:如果accessType是partial_access,您还必须提供一个包含模块ID的modules数组。
删除注册
DELETE /systeme/api/school/enrollments/{id}
社区操作
列出社区
GET /systeme/api/community/communities
列出成员资格
GET /systeme/api/community/memberships
创建成员资格
POST /systeme/api/community/communities/{communityId}/memberships
Content-Type: application/json
{
"contactId": 12345
}
删除成员资格
DELETE /systeme/api/community/memberships/{id}
订阅操作
列出订阅
GET /systeme/api/payment/subscriptions
取消订阅
POST /systeme/api/payment/subscriptions/{id}/cancel
分页
Systeme.io 使用基于游标的分页,参数如下:
GET /systeme/api/contacts?limit=50&startingAfter=12345&order=asc
参数:
limit- 每页项目数量(10-100)startingAfter- 上一页最后一个项目的IDorder- 排序顺序:asc或desc(默认:desc)
响应:
{
"items": [...],
"hasMore": true
}
当还有更多是真,使用项目中最后一个项目的ID作为起始后以获取下一页。
代码示例
JavaScript
const response = await fetch(
'https://gateway.maton.ai/systeme/api/contacts',
{
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/systeme/api/contacts',
headers={'Authorization': f'Bearer {os.environ["MATON_API_KEY"]}'}
)
data = response.json()
创建带标签的联系人
import os
import requests
# Create contact
contact = requests.post(
'https://gateway.maton.ai/systeme/api/contacts',
headers={
'Authorization': f'Bearer {os.environ["MATON_API_KEY"]}',
'Content-Type': 'application/json'
},
json={
'email': 'new@example.com',
'firstName': 'New',
'lastName': 'Contact'
}
).json()
# Assign tag
requests.post(
f'https://gateway.maton.ai/systeme/api/contacts/{contact["id"]}/tags',
headers={
'Authorization': f'Bearer {os.environ["MATON_API_KEY"]}',
'Content-Type': 'application/json'
},
json={'tagId': 12345}
)
备注
- Systeme.io 使用API密钥认证(原生通过
X-API-Key头传递) - 网关自动处理认证头的转换
- 使用
application/merge-patch+json内容类型进行PATCH请求 - 联系人、标签、课程和注册ID为数字整数
- 速率限制通过
X-RateLimit-*头强制执行 - Systeme.io验证电子邮件域名 - 只接受具有有效MX记录的真实电子邮件地址
- 订阅端点 (
/api/payment/subscriptions) 如果未配置支付功能,可能会返回404 - 重要提示:使用curl命令时,当URL包含方括号时,请使用
curl -g以禁用通配符解析 - 重要提示:将curl输出通过管道传递给
jq或其他命令时,某些shell环境中可能无法正确展开环境变量,例如$MATON_API_KEY错误处理
状态码
| 含义 | 400 |
|---|---|
| 缺少Systeme.io连接或请求格式错误 | 401 |
| Maton API密钥无效或缺失 | 429 |
| 请求频率受限(请检查 | Retry-AfterRetry-After标题) |
| 4xx/5xx 错误 | 来自 Systeme.io 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 路径以
systeme开头。例如:
- 正确示例:
https://gateway.maton.ai/systeme/api/contacts - 错误示例:
https://gateway.maton.ai/api/contacts
资源
文章底部电脑广告
手机广告位-内容正文底部
上一篇:Keyword Research技能使用说明
下一篇:Clawback技能使用说明


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