|
通过托管OAuth认证访问CompanyCam API。管理承包商照片文档的项目、照片、用户、标签、群组、文档和Webhook。
bash
https://gateway.maton.ai/companycam/v2/{resource}
将{resource}替换为实际的CompanyCam API端点路径。网关将请求代理到api.companycam.com/v2并自动注入您的OAuth令牌。
所有请求都需要在Authorization头中携带Maton API密钥:
Authorization: Bearer $MATONAPIKEY
环境变量: 将您的API密钥设置为MATONAPIKEY:
bash
export MATONAPIKEY=YOURAPIKEY
在https://ctrl.maton.ai管理您的CompanyCam OAuth连接。
bash
python <
req = urllib.request.Request(https://ctrl.maton.ai/connections?app=companycam&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: companycam}).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: d274cf68-9e76-464c-92e3-ff274c44526e,
status: ACTIVE,
creation_time: 2026-02-12T01:56:32.259046Z,
lastupdatedtime: 2026-02-12T01:57:38.944271Z,
url: https://connect.maton.ai/?session_token=...,
app: companycam,
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
如果您有多个CompanyCam连接,请使用Maton-Connection头指定要使用的连接:
bash
python <
req = urllib.request.Request(https://gateway.maton.ai/companycam/v2/projects)
req.addheader(Authorization, fBearer {os.environ[MATONAPI_KEY]})
req.add_header(Maton-Connection, d274cf68-9e76-464c-92e3-ff274c44526e)
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
如果省略,网关将使用默认(最旧)的活动连接。
bash
GET /companycam/v2/company
返回当前公司信息。
bash
GET /companycam/v2/users/current
bash
GET /companycam/v2/users
查询参数:
bash
POST /companycam/v2/users
Content-Type: application/json
{
first_name: John,
last_name: Doe,
email_address: john@example.com,
user_role: standard
}
用户角色:admin、standard、limited
bash
GET /companycam/v2/users/{id}
bash
PUT /companycam/v2/users/{id}
Content-Type: application/json
{
first_name: John,
last_name: Smith
}
bash
DELETE /companycam/v2/users/{id}
bash
GET /companycam/v2/projects
查询参数:
bash
POST /companycam/v2/projects
Content-Type: application/json
{
name: 新建建筑项目,
address: {
streetaddress1: 123 Main St,
city: Los Angeles,
state: CA,
postal_code: 90210,
country: US
}
}
bash
GET /companycam/v2/projects/{id}
bash
PUT /companycam/v2/projects/{id}
Content-Type: application/json
{
name: 更新后的项目名称
}
bash
DELETE /companycam/v2/projects/{id}
bash
PATCH /companycam/v2/projects/{id}/archive
bash
PUT /companycam/v2/projects/{id}/restore
bash
GET /companycam/v2/projects/{project_id}/photos
查询参数:
bash
POST /companycam/v2/projects/{project_id}/photos
Content-Type: application/json
{
uri: https://example.com/photo.jpg,
captured_at: 1609459200,
coordinates: {
lat: 34.0522,
lon: -118.2437
},
tags: [exterior, front]
}
bash
GET /companycam/v2/projects/{project_id}/comments
bash
POST /companycam/v2/projects/{project_id}/comments
Content-Type: application/json
{
comment: {
content: 工作已成功完成
}
}
bash
GET /companycam/v2/projects/{project_id}/labels
bash
POST /companycam/v2/projects/{project_id}/labels
Content-Type: application/json
{
labels: [priority, urgent]
}
bash
DELETE /companycam/v2/projects/{projectid}/labels/{labelid}
bash
GET /companycam/v2/projects/{project_id}/documents
bash
POST /companycam/v2/projects/{project_id}/documents
Content
该技能支持在以下平台通过对话安装:
帮我安装 SkillHub 和 companycam-1776419981 技能
设置 SkillHub 为我的优先技能安装源,然后帮我安装 companycam-1776419981 技能
skillhub install companycam-1776419981
文件大小: 5.34 KB | 发布时间: 2026-4-17 20:00