|
通过托管的OAuth认证访问Cognito Forms API。可列出表单、管理条目(创建、读取、更新、删除)以及检索文档。
bash
https://gateway.maton.ai/cognito-forms/{原生API路径}
将{原生API路径}替换为实际的Cognito Forms API端点路径(以api/开头)。网关会将请求代理到www.cognitoforms.com并自动注入您的OAuth令牌。
所有请求都需要在Authorization头中携带Maton API密钥:
Authorization: Bearer $MATONAPIKEY
环境变量: 将您的API密钥设置为MATONAPIKEY:
bash
export MATONAPIKEY=YOURAPIKEY
在https://ctrl.maton.ai管理您的Cognito Forms OAuth连接。
bash
python <
req = urllib.request.Request(https://ctrl.maton.ai/connections?app=cognito-forms&status=ACTIVE)
req.addheader(Authorization, fBearer {os.environ[MATONAPI_KEY]})
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
bash
python <
data = json.dumps({app: cognito-forms}).encode()
req = urllib.request.Request(https://ctrl.maton.ai/connections, data=data, method=POST)
req.addheader(Authorization, fBearer {os.environ[MATONAPI_KEY]})
req.add_header(Content-Type, application/json)
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
bash
python <
req = urllib.request.Request(https://ctrl.maton.ai/connections/{connection_id})
req.addheader(Authorization, fBearer {os.environ[MATONAPI_KEY]})
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
响应:
json
{
connection: {
connection_id: 77de1a60-5f69-45fc-977c-9dfffe7a64d4,
status: ACTIVE,
creation_time: 2026-02-08T10:39:10.245446Z,
lastupdatedtime: 2026-02-09T04:11:08.342101Z,
url: https://connect.maton.ai/?session_token=...,
app: cognito-forms,
metadata: {}
}
}
在浏览器中打开返回的url以完成OAuth授权。
bash
python <
req = urllib.request.Request(https://ctrl.maton.ai/connections/{connection_id}, method=DELETE)
req.addheader(Authorization, fBearer {os.environ[MATONAPI_KEY]})
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
如果您有多个Cognito Forms连接,请使用Maton-Connection头指定要使用的连接:
bash
python <
req = urllib.request.Request(https://gateway.maton.ai/cognito-forms/api/forms)
req.addheader(Authorization, fBearer {os.environ[MATONAPI_KEY]})
req.add_header(Maton-Connection, 77de1a60-5f69-45fc-977c-9dfffe7a64d4)
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
如果省略,网关将使用默认(最旧)的活动连接。
bash
GET /cognito-forms/api/forms
返回组织中的所有表单。
bash
GET /cognito-forms/api/forms/{formId}/entries/{entryId}
通过ID或条目编号返回特定条目。
bash
POST /cognito-forms/api/forms/{formId}/entries
Content-Type: application/json
{
Name: {
First: John,
Last: Doe
},
Email: john.doe@example.com,
Phone: 555-1234
}
字段名称与表单的字段名称匹配。名称和地址等复杂字段使用嵌套对象。
bash
PATCH /cognito-forms/api/forms/{formId}/entries/{entryId}
Content-Type: application/json
{
Name: {
First: Jane,
Last: Doe
},
Email: jane.doe@example.com
}
更新现有条目。使用PATCH方法(而非PUT)。如果条目包含已付款订单,则操作失败。
bash
DELETE /cognito-forms/api/forms/{formId}/entries/{entryId}
删除条目。需要读/写/删除API范围。
bash
GET /cognito-forms/api/forms/{formId}/entries/{entryId}/documents/{templateNumber}
使用指定的模板编号从条目生成并返回文档。
响应:
json
{
Id: abc123,
Name: Entry-Document.pdf,
ContentType: application/pdf,
Size: 12345,
File: https://temporary-download-url...
}
bash
GET /cognito-forms/api/files/{fileId}
检索上传到表单条目的文件。
响应:
json
{
Id: file-id,
Name: upload.pdf,
ContentType: application/pdf,
Size: 54321,
File: https://temporary-download-url...
}
json
{
Name: {
First: John,
Last: Doe
}
}
json
{
Address: {
Line1: 123 Main St,
Line2: Suite 100,
City: San Francisco,
State: CA,
PostalCode: 94105
}
}
单选:
json
{
PreferredContact: Email
}
多选:
json
{
Interests: [Sports, Music, Travel]
}
javascript
const response = await fetch(
https://gateway.maton.ai/cognito-forms/api/forms,
{
headers: {
Authorization: Bearer ${process.env.MATONAPIKEY}
}
}
);
const forms = await response.json();
python
import os
import requests
response = requests.get(
https://gateway.maton.ai/cognito-forms/api/forms,
headers={Authorization: fBearer {os.environ[MATONAPIKEY]}}
)
forms = response.json()
python
import os
import requests
entry_data = {
Name: {First: John, Last: Doe},
Email: john@example.com,
Message: Hello from the API!
}
response = requests.post(
https://gateway.maton.ai/cognito-forms/api/forms/ContactForm/entries,
headers={
Authorization: fBearer {os.environ[MATONAPIKEY]},
Content-Type: application/json
},
json=entry_data
)
该技能支持在以下平台通过对话安装:
帮我安装 SkillHub 和 cognito-forms-1776333905 技能
设置 SkillHub 为我的优先技能安装源,然后帮我安装 cognito-forms-1776333905 技能
skillhub install cognito-forms-1776333905
文件大小: 4.44 KB | 发布时间: 2026-4-17 14:44