跳到主要内容

开发者

在此构建,基于 Mateflow API。

一把密钥,对应一个社区。读取帖子、信息流、空间与成员,代表你的成员发布内容,并通过 Webhooks 接收每一个事件——全部来自同一套 JSON API。

能力

集成所需的一切

作用域化的 API 密钥

在社区后台创建密钥,并只授予它需要的那几个 scope。用 X-API-Key 请求头鉴权,没有会话需要维护。

Growth 及以上

JSON API

通过同一层响应信封读写你的社区。所有端点都在 /site_open_api/v1 之下,一律 POST + JSON 请求体,社区由密钥反查得出。

Growth 及以上

Webhooks

注册端点即可实时接收事件。投递体带有稳定的 event_id,可用来对重试去重;同一个 id 也会出现在 Slack、Discord 与 Zapier 那一侧。

Growth 及以上

集成

在集成中心连接 Slack、Discord 与 Zapier,浏览应用目录,并在同一处管理所有已连接的应用。

单点登录

把团队和成员的身份认证收拢到一处,而不是再维护一套独立的凭据。

Business 及以上

投递日志

每一次 Webhook 投递尝试都会连同请求体与响应一起记录。可以查看失败的投递、确认你返回了什么,并在后台重试。

Growth 及以上

24 个端点,一层信封

全部位于 https://api.mateflow.com/site_open_api/v1,一律 POST + JSON 请求体。下面是多数集成会最先用到的几个——完整清单在参考文档里。

BASE URLhttps://api.mateflow.com/site_open_api/v1
  • POST/capabilities/get无需 scope查看密钥、scope 与剩余额度
  • POST/site/getsite.read读取社区资料与设置
  • POST/feed/listcontent.read翻阅社区信息流
  • POST/post/searchcontent.read搜索帖子
  • POST/post/createcontent.write以成员身份发帖
  • POST/space/listspaces.read列出该视角可见的空间
  • POST/member/lookupmembers.read用邮箱解析出成员
  • POST/media/get_tokenmedia.write获取媒体上传令牌

快速上手

三步开始

01

打开 API 权限

API 权限是一项由社区所有者开启的套餐功能。没有它,每次调用都返回 22203,也创建不出密钥——所以先从这里开始,而不是先检查代码。

02

创建一把作用域化的密钥

社区后台 → 集成 → API Keys。只勾选你需要的 scope;密钥创建后 scope 就固定了。完整密钥只展示一次。

03

先调 /capabilities/get

它会告诉你密钥的 scope、API 权限是否开启、以及还剩多少额度——而且当套餐门禁或额度把其他调用全部挡住时,只有它仍然调得通。它不消耗额度。

用量与限制

各套餐的额度

日配额统计的是所有通过鉴权的请求,UTC 零点重置。配额为 0 是一扇关上的门,不是「没配所以无限」——它会让每次调用都返回 22204。

套餐开放 API每日请求数Webhook 端点数
Starter不包含
Growth包含5,0005
Business包含10,00020
Enterprise包含无限无限

日配额之上还有按密钥生效的突发限流——见参考文档中的速率限制一节。

你的第一次调用,三种写法

同一个请求的三种语言写法:在写任何别的代码之前,先确认密钥可用。把 mfk_xxx 换成后台里的真实密钥。

cURL
curl -X POST \
  https://api.mateflow.com/site_open_api/v1/capabilities/get \
  -H "X-API-Key: mfk_xxx" \
  -H "Content-Type: application/json" \
  -d '{}'
JavaScript
const res = await fetch(
  "https://api.mateflow.com/site_open_api/v1/capabilities/get",
  {
    method: "POST",
    headers: {
      "X-API-Key": process.env.MATEFLOW_API_KEY,
      "Content-Type": "application/json",
    },
    // Endpoints that take no parameters still want a JSON body.
    body: "{}",
  },
);
const { code, data } = await res.json();
// Branch on `code`, never on the HTTP status:
// 22203 and 22204 are 403, and only 10202 is throttling.
if (code !== 0) throw new Error(`Mateflow API error ${code}`);
console.log(data.scopes, data.quota_used, data.quota_limit);
Python
import os, requests

res = requests.post(
    "https://api.mateflow.com/site_open_api/v1/capabilities/get",
    headers={"X-API-Key": os.environ["MATEFLOW_API_KEY"]},
    json={},
)
body = res.json()
if body["code"] != 0:
    raise RuntimeError(f"Mateflow API error {body['code']}")

print(body["data"]["scopes"], body["data"]["api_access"])

OpenAPI 契约

这份机器可读契约覆盖全部路径与请求/响应 schema,可以直接喂给任意客户端生成器。官方 SDK 在路线图上;在那之前,先生成一个。

下载 openapi.json

参考文档

完整 API 参考

Scope、分页、幂等、错误码、速率限制、Webhook 去重——以及那几个上线之后才会咬人的例外。

准备好开始了?

创建账号、生成 API 密钥,把 Mateflow 接进你的工作流。

14 天免费试用 · 无需信用卡

开始免费试用