Skip to content
Back to skills

Api Gateway Zh

ASecurity

连接 100+ API(Google Workspace、Microsoft 365、GitHub、Notion、Slack、Airtable、HubSpot 等),支持托管 OAuth 认证。 当用户需要与外部服务交互时使用此技能。 安全说明:MATON_API_KEY 仅用于 Maton.ai 身份验证,本身不授予对第三方服务的访问权限。每个服务都需要用户通过 Maton 的连接流程进行明确的 OAuth 授权。访问权限严格限制在用户已授权的连接范围内。由 Maton 提供 (https://maton.ai)。

  • 53 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added June 6, 2026
developmentjavascriptpythongojavashellbashsqlnodegitapi

Works with

  • cli
  • api
  • mcp

Security analysis

A100/100

Scanned June 6, 2026

npx -y skills add L-LesterYu/OpenClaw-hot-skills-zh --skill api-gateway-zh --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Api Gateway Zh?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Api Gateway Zh
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/l-lesteryu-api-gateway-zh/badge)](https://www.skillsdirectory.com/skills/l-lesteryu-api-gateway-zh)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: api-gateway-zh
description: |
  连接 100+ API(Google Workspace、Microsoft 365、GitHub、Notion、Slack、Airtable、HubSpot 等),支持托管 OAuth 认证。
  当用户需要与外部服务交互时使用此技能。
  安全说明:MATON_API_KEY 仅用于 Maton.ai 身份验证,本身不授予对第三方服务的访问权限。每个服务都需要用户通过 Maton 的连接流程进行明确的 OAuth 授权。访问权限严格限制在用户已授权的连接范围内。由 Maton 提供 (https://maton.ai)。
compatibility: 需要网络访问和有效的 Maton API 密钥
metadata:
  author: maton
  version: "1.0"
  clawdbot:
    emoji: 🧠
    homepage: "https://maton.ai"
    requires:
      env:
        - MATON_API_KEY
---

# API 网关

由 [Maton](https://maton.ai) 提供的透传代理,可通过托管 OAuth 连接直接访问第三方 API。API 网关让您可以直接调用原生 API 端点。

## 快速开始

```bash
# 原生 Slack API 调用
python <<'EOF'
import urllib.request, os, json
data = json.dumps({'channel': 'C0123456', 'text': 'Hello from gateway!'}).encode()
req = urllib.request.Request('https://gateway.maton.ai/slack/api/chat.postMessage', 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
```


## 基础 URL

```
https://gateway.maton.ai/{app}/{native-api-path}
```

将 `{app}` 替换为服务名称,将 `{native-api-path}` 替换为实际的 API 端点路径。

重要提示:URL 路径必须以连接的应用名称开头(例如 `/google-mail/...`)。此前缀告诉网关使用哪个应用连接。例如,原生 Gmail API 路径以 `gmail/v1/` 开头,因此完整路径类似于 `/google-mail/gmail/v1/users/me/messages`。

## 身份验证

所有请求都需要在 Authorization 头中包含 Maton API 密钥:

```
Authorization: Bearer $MATON_API_KEY
```

API 网关会自动为目标服务注入适当的 OAuth 令牌。

**环境变量:** 您可以将 API 密钥设置为 `MATON_API_KEY` 环境变量:

```bash
export MATON_API_KEY="YOUR_API_KEY"
```

## 获取 API 密钥

1. 登录或在 [maton.ai](https://maton.ai) 创建账户
2. 前往 [maton.ai/settings](https://maton.ai/settings)
3. 点击 API Key 部分右侧的复制按钮进行复制

## 连接管理

连接管理使用单独的基础 URL:`https://ctrl.maton.ai`

### 列出连接

```bash
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://ctrl.maton.ai/connections?app=slack&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
```

**查询参数(可选):**
- `app` - 按服务名称过滤(例如 `slack`、`hubspot`、`salesforce`)
- `status` - 按连接状态过滤(`ACTIVE`、`PENDING`、`FAILED`)

**响应:**
```json
{
  "connections": [
    {
      "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=5e9...",
      "app": "slack",
      "method": "OAUTH2",
      "metadata": {}
    }
  ]
}
```

### 创建连接

```bash
python <<'EOF'
import urllib.request, os, json
data = json.dumps({'app': 'slack'}).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
```

**请求体:**
- `app`(必需)- 服务名称(例如 `slack`、`notion`)
- `method`(可选)- 连接方式(`API_KEY`、`BASIC`、`OAUTH1`、`OAUTH2`、`MCP`)

### 获取连接

```bash
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
```

**响应:**
```json
{
  "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=5e9...",
    "app": "slack",
    "metadata": {}
  }
}
```

在浏览器中打开返回的 URL 以完成 OAuth 授权。

### 删除连接

```bash
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
```

### 指定连接

如果您对同一应用有多个连接,可以通过添加带有连接 ID 的 `Maton-Connection` 头来指定使用哪个连接:

```bash
python <<'EOF'
import urllib.request, os, json
data = json.dumps({'channel': 'C0123456', 'text': 'Hello!'}).encode()
req = urllib.request.Request('https://gateway.maton.ai/slack/api/chat.postMessage', data=data, method='POST')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
req.add_header('Content-Type', 'application/json')
req.add_header('Maton-Connection', '21fd90f9-5935-43cd-b6c8-bde9d915ca80')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
```

如果省略,网关将使用该应用的默认(最早)活动连接。

## 支持的服务

| 服务 | 应用名称 | 代理的基础 URL |
|---------|----------|------------------|
| ActiveCampaign | `active-campaign` | `{account}.api-us1.com` |
| Acuity Scheduling | `acuity-scheduling` | `acuityscheduling.com` |
| Airtable | `airtable` | `api.airtable.com` |
| Apollo | `apollo` | `api.apollo.io` |
| Asana | `asana` | `app.asana.com` |
| Attio | `attio` | `api.attio.com` |
| Basecamp | `basecamp` | `3.basecampapi.com` |
| Baserow | `baserow` | `api.baserow.io` |
| beehiiv | `beehiiv` | `api.beehiiv.com` |
| Box | `box` | `api.box.com` |
| Brevo | `brevo` | `api.brevo.com` |
| Calendly | `calendly` | `api.calendly.com` |
| Cal.com | `cal-com` | `api.cal.com` |
| CallRail | `callrail` | `api.callrail.com` |
| Chargebee | `chargebee` | `{subdomain}.chargebee.com` |
| ClickFunnels | `clickfunnels` | `{subdomain}.myclickfunnels.com` |
| ClickSend | `clicksend` | `rest.clicksend.com` |
| ClickUp | `clickup` | `api.clickup.com` |
| Clockify | `clockify` | `api.clockify.me` |
| Coda | `coda` | `coda.io` |
| Confluence | `confluence` | `api.atlassian.com` |
| CompanyCam | `companycam` | `api.companycam.com` |
| Cognito Forms | `cognito-forms` | `www.cognitoforms.com` |
| Constant Contact | `constant-contact` | `api.cc.email` |
| Dropbox | `dropbox` | `api.dropboxapi.com` |
| Dropbox Business | `dropbox-business` | `api.dropboxapi.com` |
| ElevenLabs | `elevenlabs` | `api.elevenlabs.io` |
| Eventbrite | `eventbrite` | `www.eventbriteapi.com` |
| Fathom | `fathom` | `api.fathom.ai` |
| Firebase | `firebase` | `firebase.googleapis.com` |
| Fireflies | `fireflies` | `api.fireflies.ai` |
| GetResponse | `getresponse` | `api.getresponse.com` |
| GitHub | `github` | `api.github.com` |
| Gumroad | `gumroad` | `api.gumroad.com` |
| Granola MCP | `granola` | `mcp.granola.ai` |
| Google Ads | `google-ads` | `googleads.googleapis.com` |
| Google BigQuery | `google-bigquery` | `bigquery.googleapis.com` |
| Google Analytics Admin | `google-analytics-admin` | `analyticsadmin.googleapis.com` |
| Google Analytics Data | `google-analytics-data` | `analyticsdata.googleapis.com` |
| Google Calendar | `google-calendar` | `www.googleapis.com` |
| Google Classroom | `google-classroom` | `classroom.googleapis.com` |
| Google Contacts | `google-contacts` | `people.googleapis.com` |
| Google Docs | `google-docs` | `docs.googleapis.com` |
| Google Drive | `google-drive` | `www.googleapis.com` |
| Google Forms | `google-forms` | `forms.googleapis.com` |
| Gmail | `google-mail` | `gmail.googleapis.com` |
| Google Merchant | `google-merchant` | `merchantapi.googleapis.com` |
| Google Meet | `google-meet` | `meet.googleapis.com` |
| Google Play | `google-play` | `androidpublisher.googleapis.com` |
| Google Search Console | `google-search-console` | `www.googleapis.com` |
| Google Sheets | `google-sheets` | `sheets.googleapis.com` |
| Google Slides | `google-slides` | `slides.googleapis.com` |
| Google Tasks | `google-tasks` | `tasks.googleapis.com` |
| Google Workspace Admin | `google-workspace-admin` | `admin.googleapis.com` |
| HubSpot | `hubspot` | `api.hubapi.com` |
| Instantly | `instantly` | `api.instantly.ai` |
| Jira | `jira` | `api.atlassian.com` |
| Jobber | `jobber` | `api.getjobber.com` |
| JotForm | `jotform` | `api.jotform.com` |
| Keap | `keap` | `api.infusionsoft.com` |
| Kit | `kit` | `api.kit.com` |
| Klaviyo | `klaviyo` | `a.klaviyo.com` |
| Lemlist | `lemlist` | `api.lemlist.com` |
| Linear | `linear` | `api.linear.app` |
| LinkedIn | `linkedin` | `api.linkedin.com` |
| Mailchimp | `mailchimp` | `{dc}.api.mailchimp.com` |
| MailerLite | `mailerlite` | `connect.mailerlite.com` |
| Mailgun | `mailgun` | `api.mailgun.net` |
| ManyChat | `manychat` | `api.manychat.com` |
| Manus | `manus` | `api.manus.ai` |
| Microsoft Excel | `microsoft-excel` | `graph.microsoft.com` |
| Microsoft Teams | `microsoft-teams` | `graph.microsoft.com` |
| Microsoft To Do | `microsoft-to-do` | `graph.microsoft.com` |
| Monday.com | `monday` | `api.monday.com` |
| Motion | `motion` | `api.usemotion.com` |
| Netlify | `netlify` | `api.netlify.com` |
| Notion | `notion` | `api.notion.com` |
| Notion MCP | `notion` | `mcp.notion.com` |
| OneDrive | `one-drive` | `graph.microsoft.com` |
| Outlook | `outlook` | `graph.microsoft.com` |
| PDF.co | `pdf-co` | `api.pdf.co` |
| Pipedrive | `pipedrive` | `api.pipedrive.com` |
| Podio | `podio` | `api.podio.com` |
| PostHog | `posthog` | `{subdomain}.posthog.com` |
| QuickBooks | `quickbooks` | `quickbooks.api.intuit.com` |
| Quo | `quo` | `api.openphone.com` |
| Reducto | `reducto` | `platform.reducto.ai` |
| Salesforce | `salesforce` | `{instance}.salesforce.com` |
| Sentry | `sentry` | `{subdomain}.sentry.io` |
| SignNow | `signnow` | `api.signnow.com` |
| Slack | `slack` | `slack.com` |
| Snapchat | `snapchat` | `adsapi.snapchat.com` |
| Square | `squareup` | `connect.squareup.com` |
| Squarespace | `squarespace` | `api.squarespace.com` |
| Sunsama MCP | `sunsama` | MCP server |
| Stripe | `stripe` | `api.stripe.com` |
| Systeme.io | `systeme` | `api.systeme.io` |
| Tally | `tally` | `api.tally.so` |
| Telegram | `telegram` | `api.telegram.org` |
| TickTick | `ticktick` | `api.ticktick.com` |
| Todoist | `todoist` | `api.todoist.com` |
| Toggl Track | `toggl-track` | `api.track.toggl.com` |
| Trello | `trello` | `api.trello.com` |
| Twilio | `twilio` | `api.twilio.com` |
| Typeform | `typeform` | `api.typeform.com` |
| Unbounce | `unbounce` | `api.unbounce.com` |
| Vimeo | `vimeo` | `api.vimeo.com` |
| WhatsApp Business | `whatsapp-business` | `graph.facebook.com` |
| WooCommerce | `woocommerce` | `{store-url}/wp-json/wc/v3` |
| WordPress.com | `wordpress` | `public-api.wordpress.com` |
| Xero | `xero` | `api.xero.com` |
| YouTube | `youtube` | `www.googleapis.com` |
| Zoho Bigin | `zoho-bigin` | `www.zohoapis.com` |
| Zoho Bookings | `zoho-bookings` | `www.zohoapis.com` |
| Zoho Books | `zoho-books` | `www.zohoapis.com` |
| Zoho Calendar | `zoho-calendar` | `calendar.zoho.com` |
| Zoho CRM | `zoho-crm` | `www.zohoapis.com` |
| Zoho Inventory | `zoho-inventory` | `www.zohoapis.com` |
| Zoho Mail | `zoho-mail` | `mail.zoho.com` |
| Zoho People | `zoho-people` | `people.zoho.com` |
| Zoho Projects | `zoho-projects` | `projectsapi.zoho.com` |
| Zoho Recruit | `zoho-recruit` | `recruit.zoho.com` |

查看 [references/](references/) 获取每个提供商的详细路由指南:
- [ActiveCampaign](references/active-campaign/README.md) - 联系人、交易、标签、列表、自动化、营销活动
- [Acuity Scheduling](references/acuity-scheduling/README.md) - 预约、日历、客户、可用性
- [Airtable](references/airtable/README.md) - 记录、基地、表格
- [Apollo](references/apollo/README.md) - 人员搜索、数据增强、联系人
- [Asana](references/asana/README.md) - 任务、项目、工作区、Webhook
- [Attio](references/attio/README.md) - 人员、公司、记录、任务
- [Basecamp](references/basecamp/README.md) - 项目、待办事项、消息、日程、文档
- [Baserow](references/baserow/README.md) - 数据库行、字段、表格、批量操作
- [beehiiv](references/beehiiv/README.md) - 出版物、订阅、帖子、自定义字段
- [Box](references/box/README.md) - 文件、文件夹、协作、共享链接
- [Brevo](references/brevo/README.md) - 联系人、邮件营销、事务性邮件、模板
- [Calendly](references/calendly/README.md) - 事件类型、已安排事件、可用性、Webhook
- [Cal.com](references/cal-com/README.md) - 事件类型、预订、日程、可用时段、Webhook
- [CallRail](references/callrail/README.md) - 通话、跟踪器、公司、标签、分析
- [Chargebee](references/chargebee/README.md) - 订阅、客户、发票
- [ClickFunnels](references/clickfunnels/README.md) - 联系人、产品、订单、课程、Webhook
- [ClickSend](references/clicksend/README.md) - 短信、彩信、语音消息、联系人、列表
- [ClickUp](references/clickup/README.md) - 任务、列表、文件夹、空间、Webhook
- [Clockify](references/clockify/README.md) - 时间跟踪、项目、客户、任务、工作区
- [Coda](references/coda/README.md) - 文档、页面、表格、行、公式、控件
- [Confluence](references/confluence/README.md) - 页面、空间、博客文章、评论、附件
- [CompanyCam](references/companycam/README.md) - 项目、照片、用户、标签、组、文档
- [Cognito Forms](references/cognito-forms/README.md) - 表单、条目、文档、文件
- [Constant Contact](references/constant-contact/README.md) - 联系人、邮件营销、列表、细分
- [Dropbox](references/dropbox/README.md) - 文件、文件夹、搜索、元数据、版本、标签
- [Dropbox Business](references/dropbox-business/README.md) - 团队成员、组、团队文件夹、设备、审计日志
- [ElevenLabs](references/elevenlabs/README.md) - 文本转语音、语音克隆、音效、音频处理
- [Eventbrite](references/eventbrite/README.md) - 活动、场地、门票、订单、参与者
- [Fathom](references/fathom/README.md) - 会议录音、转录、摘要、Webhook
- [Firebase](references/firebase/README.md) - 项目、Web应用、Android应用、iOS应用、配置
- [Fireflies](references/fireflies/README.md) - 会议转录、摘要、AskFred AI、频道
- [GetResponse](references/getresponse/README.md) - 营销活动、联系人、通讯、自动回复、标签、细分
- [GitHub](references/github/README.md) - 仓库、问题、拉取请求、提交
- [Gumroad](references/gumroad/README.md) - 产品、销售、订阅者、许可证、Webhook
- [Granola MCP](references/granola-mcp/README.md) - 基于 MCP 的会议笔记、转录、查询接口
- [Google Ads](references/google-ads/README.md) - 营销活动、广告组、GAQL 查询
- [Google Analytics Admin](references/google-analytics-admin/README.md) - 报告、维度、指标
- [Google Analytics Data](references/google-analytics-data/README.md) - 报告、维度、指标
- [Google BigQuery](references/google-bigquery/README.md) - 数据集、表、作业、SQL 查询
- [Google Calendar](references/google-calendar/README.md) - 事件、日历、忙碌/空闲
- [Google Classroom](references/google-classroom/README.md) - 课程、课程作业、学生、教师、公告
- [Google Contacts](references/google-contacts/README.md) - 联系人、联系人群组、人员搜索
- [Google Docs](references/google-docs/README.md) - 文档创建、批量更新
- [Google Drive](references/google-drive/README.md) - 文件、文件夹、权限
- [Google Forms](references/google-forms/README.md) - 表单、问题、回复
- [Gmail](references/google-mail/README.md) - 邮件、会话、标签
- [Google Meet](references/google-meet/README.md) - 空间、会议记录、参与者
- [Google Merchant](references/google-merchant/README.md) - 产品、库存、促销、报告
- [Google Play](references/google-play/README.md) - 应用内产品、订阅、评论
- [Google Search Console](references/google-search-console/README.md) - 搜索分析、站点地图
- [Google Sheets](references/google-sheets/README.md) - 值、范围、格式化
- [Google Slides](references/google-slides/README.md) - 演示文稿、幻灯片、格式化
- [Google Tasks](references/google-tasks/README.md) - 任务列表、任务、子任务
- [Google Workspace Admin](references/google-workspace-admin/README.md) - 用户、组、组织单元、域、角色
- [HubSpot](references/hubspot/README.md) - 联系人、公司、交易
- [Instantly](references/instantly/README.md) - 营销活动、潜在客户、账户、邮件外联
- [Jira](references/jira/README.md) - 问题、项目、JQL 查询
- [Jobber](references/jobber/README.md) - 客户、工作、发票、报价 (GraphQL)
- [JotForm](references/jotform/README.md) - 表单、提交、Webhook
- [Keap](references/keap/README.md) - 联系人、公司、标签、任务、机会、营销活动
- [Kit](references/kit/README.md) - 订阅者、标签、表单、序列、广播
- [Klaviyo](references/klaviyo/README.md) - 配置文件、列表、营销活动、流程、事件
- [Lemlist](references/lemlist/README.md) - 营销活动、潜在客户、活动、日程、退订
- [Linear](references/linear/README.md) - 问题、项目、团队、周期 (GraphQL)
- [LinkedIn](references/linkedin/README.md) - 个人资料、帖子、分享、媒体上传
- [Mailchimp](references/mailchimp/README.md) - 受众、营销活动、模板、自动化
- [MailerLite](references/mailerlite/README.md) - 订阅者、组、营销活动、自动化、表单
- [Mailgun](references/mailgun/README.md) - 邮件发送、域、路由、模板、邮件列表、退订
- [ManyChat](references/manychat/README.md) - 订阅者、标签、流程、消息
- [Manus](references/manus/README.md) - AI 代理任务、项目、文件、Webhook
- [Microsoft Excel](references/microsoft-excel/README.md) - 工作簿、工作表、范围、表格、图表
- [Microsoft Teams](references/microsoft-teams/README.md) - 团队、频道、消息、成员、聊天
- [Microsoft To Do](references/microsoft-to-do/README.md) - 任务列表、任务、检查项、链接资源
- [Monday.com](references/monday/README.md) - 看板、项目、列、组 (GraphQL)
- [Motion](references/motion/README.md) - 任务、项目、工作区、日程
- [Netlify](references/netlify/README.md) - 站点、部署、构建、DNS、环境变量
- [Notion](references/notion/README.md) - 页面、数据库、块
- [Notion MCP](references/notion-mcp/README.md) - 基于 MCP 的页面、数据库、评论、团队、用户接口
- [OneDrive](references/one-drive/README.md) - 文件、文件夹、驱动器、共享
- [Outlook](references/outlook/README.md) - 邮件、日历、联系人
- [PDF.co](references/pdf-co/README.md) - PDF 转换、合并、拆分、编辑、文本提取、条形码
- [Pipedrive](references/pipedrive/README.md) - 交易、人员、组织、活动
- [Podio](references/podio/README.md) - 组织、工作区、应用、项目、任务、评论
- [PostHog](references/posthog/README.md) - 产品分析、功能开关、会话录制、实验、HogQL 查询
- [QuickBooks](references/quickbooks/README.md) - 客户、发票、报告
- [Quo](references/quo/README.md) - 通话、消息、联系人、对话、Webhook
- [Reducto](references/reducto/README.md) - 文档解析、提取、拆分、编辑
- [Salesforce](references/salesforce/README.md) - SOQL、sObjects、CRUD
- [SignNow](references/signnow/README.md) - 文档、模板、邀请、电子签名
- [SendGrid](references/sendgrid/README.md) - 邮件发送、联系人、模板、退订、统计
- [Sentry](references/sentry/README.md) - 问题、事件、项目、团队、发布
- [Slack](references/slack/README.md) - 消息、频道、用户
- [Snapchat](references/snapchat/README.md) - 广告账户、营销活动、广告组、广告、创意、受众
- [Square](references/squareup/README.md) - 支付、客户、订单、目录、库存、发票
- [Squarespace](references/squarespace/README.md) - 产品、库存、订单、配置文件、交易
- [Sunsama MCP](references/sunsama-mcp/README.md) - 基于 MCP 的任务、日历、积压、目标、时间跟踪接口
- [Stripe](references/stripe/README.md) - 客户、订阅、支付
- [Systeme.io](references/systeme/README.md) - 联系人、标签、课程、社区、Webhook
- [Tally](references/tally/README.md) - 表单、提交、工作区、Webhook
- [Telegram](references/telegram/README.md) - 消息、聊天、机器人、更新、投票
- [TickTick](references/ticktick/README.md) - 任务、项目、任务列表
- [Todoist](references/todoist/README.md) - 任务、项目、分区、标签、评论
- [Toggl Track](references/toggl-track/README.md) - 时间条目、项目、客户、标签、工作区
- [Trello](references/trello/README.md) - 看板、列表、卡片、检查清单
- [Twilio](references/twilio/README.md) - 短信、语音通话、电话号码、消息
- [Typeform](references/typeform/README.md) - 表单、回复、洞察
- [Unbounce](references/unbounce/README.md) - 落地页、潜在客户、账户、子账户、域
- [Vimeo](references/vimeo/README.md) - 视频、文件夹、相册、评论、点赞
- [WhatsApp Business](references/whatsapp-business/README.md) - 消息、模板、媒体
- [WooCommerce](references/woocommerce/README.md) - 产品、订单、客户、优惠券
- [WordPress.com](references/wordpress/README.md) - 帖子、页面、站点、用户、设置
- [Xero](references/xero/README.md) - 联系人、发票、报告
- [YouTube](references/youtube/README.md) - 视频、播放列表、频道、订阅
- [Zoho Bigin](references/zoho-bigin/README.md) - 联系人、公司、管道、产品
- [Zoho Bookings](references/zoho-bookings/README.md) - 预约、服务、员工、工作区
- [Zoho Books](references/zoho-books/README.md) - 发票、联系人、账单、费用
- [Zoho Calendar](references/zoho-calendar/README.md) - 日历、事件、参与者、提醒
- [Zoho CRM](references/zoho-crm/README.md) - 线索、联系人、账户、交易、搜索
- [Zoho Inventory](references/zoho-inventory/README.md) - 项目、销售订单、发票、采购订单、账单
- [Zoho Mail](references/zoho-mail/README.md) - 消息、文件夹、标签、附件
- [Zoho People](references/zoho-people/README.md) - 员工、部门、职称、考勤、请假
- [Zoho Projects](references/zoho-projects/README.md) - 项目、任务、里程碑、任务列表、评论
- [Zoho Recruit](references/zoho-recruit/README.md) - 候选人、职位、面试、申请

## 示例

### Slack - 发送消息(原生 API)

```bash
# 原生 Slack API: POST https://slack.com/api/chat.postMessage
python <<'EOF'
import urllib.request, os, json
data = json.dumps({'channel': 'C0123456', 'text': 'Hello!'}).encode()
req = urllib.request.Request('https://gateway.maton.ai/slack/api/chat.postMessage', data=data, method='POST')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
req.add_header('Content-Type', 'application/json; charset=utf-8')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
```

### HubSpot - 创建联系人(原生 API)

```bash
# 原生 HubSpot API: POST https://api.hubapi.com/crm/v3/objects/contacts
python <<'EOF'
import urllib.request, os, json
data = json.dumps({'properties': {'email': 'john@example.com', 'firstname': 'John', 'lastname': 'Doe'}}).encode()
req = urllib.request.Request('https://gateway.maton.ai/hubspot/crm/v3/objects/contacts', 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
```

### Google Sheets - 获取电子表格值(原生 API)

```bash
# 原生 Sheets API: GET https://sheets.googleapis.com/v4/spreadsheets/{id}/values/{range}
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://gateway.maton.ai/google-sheets/v4/spreadsheets/122BS1sFN2RKL8AOUQjkLdubzOwgqzPT64KfZ2rvYI4M/values/Sheet1!A1:B2')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
```

### Salesforce - SOQL 查询(原生 API)

```bash
# 原生 Salesforce API: GET https://{instance}.salesforce.com/services/data/v64.0/query?q=...
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://gateway.maton.ai/salesforce/services/data/v64.0/query?q=SELECT+Id,Name+FROM+Contact+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
```

### Airtable - 列出表格(原生 API)

```bash
# 原生 Airtable API: GET https://api.airtable.com/v0/meta/bases/{id}/tables
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://gateway.maton.ai/airtable/v0/meta/bases/appgqan2NzWGP5sBK/tables')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
```

### Notion - 查询数据库(原生 API)

```bash
# 原生 Notion API: POST https://api.notion.com/v1/data_sources/{id}/query
python <<'EOF'
import urllib.request, os, json
data = json.dumps({}).encode()
req = urllib.request.Request('https://gateway.maton.ai/notion/v1/data_sources/23702dc5-9a3b-8001-9e1c-000b5af0a980/query', data=data, method='POST')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
req.add_header('Content-Type', 'application/json')
req.add_header('Notion-Version', '2025-09-03')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
```

### Stripe - 列出客户(原生 API)

```bash
# 原生 Stripe API: GET https://api.stripe.com/v1/customers
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://gateway.maton.ai/stripe/v1/customers?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
```

## 代码示例

### JavaScript (Node.js)

```javascript
const response = await fetch('https://gateway.maton.ai/slack/api/chat.postMessage', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': `Bearer ${process.env.MATON_API_KEY}`
  },
  body: JSON.stringify({ channel: 'C0123456', text: 'Hello!' })
});
```

### Python

```python
import os
import requests

response = requests.post(
    'https://gateway.maton.ai/slack/api/chat.postMessage',
    headers={'Authorization': f'Bearer {os.environ["MATON_API_KEY"]}'},
    json={'channel': 'C0123456', 'text': 'Hello!'}
)
```

## 错误处理

| 状态码 | 含义 |
|--------|---------|
| 400 | 缺少请求应用的连接 |
| 401 | Maton API 密钥无效或缺失 |
| 429 | 限流(每账户每秒 10 个请求) |
| 500 | 内部服务器错误 |
| 4xx/5xx | 来自目标 API 的透传错误 |

来自目标 API 的错误会以其原始状态码和响应体透传。

### 故障排除:API 密钥问题

1. 检查 `MATON_API_KEY` 环境变量是否已设置:

```bash
echo $MATON_API_KEY
```

2. 通过列出连接验证 API 密钥是否有效:

```bash
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 路径以正确的应用名称开头。路径必须以 `/google-mail/` 开头。例如:

- 正确:`https://gateway.maton.ai/google-mail/gmail/v1/users/me/messages`
- 错误:`https://gateway.maton.ai/gmail/v1/users/me/messages`

2. 确保您有该应用的活动连接。列出您的连接以验证:

```bash
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://ctrl.maton.ai/connections?app=google-mail&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
```

### 故障排除:服务器错误

500 错误可能表示 OAuth 令牌已过期。尝试通过上面的连接管理部分创建新连接并完成 OAuth 授权。如果新连接状态为 "ACTIVE",请删除旧连接以确保网关使用新连接。

## 速率限制

- 每账户每秒 10 个请求
- 目标 API 的速率限制同样适用

## 注意事项

- 使用 curl 处理包含括号的 URL(`fields[]`、`sort[]`、`records[]`)时,请使用 `-g` 标志禁用 glob 解析
- 将 curl 输出管道到 `jq` 时,环境变量可能在某些 shell 中无法正确展开,这可能导致"Invalid API key"错误

## 提示

1. **使用原生 API 文档**:参考每个服务的官方 API 文档了解端点路径和参数。

2. **请求头会被转发**:自定义请求头(除了 `Host` 和 `Authorization`)会被转发到目标 API。

3. **查询参数有效**:URL 查询参数会被透传到目标 API。

4. **支持所有 HTTP 方法**:GET、POST、PUT、PATCH、DELETE 均受支持。

5. **QuickBooks 特殊情况**:在路径中使用 `:realmId`,它将被替换为已连接的 realm ID。

## 可选资源

- [Github](https://github.com/maton-ai/api-gateway-skill)
- [API 参考](https://www.maton.ai/docs/api-reference)
- [Maton 社区](https://discord.com/invite/dBfFAcefs2)
- [Maton 支持](mailto:support@maton.ai)

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.