API文档
ProcessMind的API参考,涵盖端点、身份验证以及面向开发者的集成指南。
本指南提供调用ProcessMind API的示例和最佳实践,帮助您获取数据、提交信息或自动化工作流。
如需查看包含请求和响应格式的完整端点文档,请参阅API参考。
如需更多示例和客户端库,请访问GitHub上的API文档。
所有API请求都应发送至:
https://api.processmind.com 所有路由均在/v1下进行版本管理。完整的机器可读API规范(OpenAPI 3.1)位于:
GET https://api.processmind.com/v1/openapi.json 所有API请求都需要在x-api-key标头中提供您的API密钥:
x-api-key: your-api-key-here 您可以从ProcessMind账户设置中获取API密钥。请参阅获取API密钥了解操作说明。
ProcessMind API遵循标准HTTP状态码:
| 状态 | 含义 |
|---|---|
200 OK | 请求成功 |
201 Created | 资源已创建 |
204 No Content | 请求成功,无响应正文 |
400 Bad Request | 请求无效,或参数缺失/无效 |
401 Unauthorized | API密钥缺失或无效 |
403 Forbidden | 已通过身份验证,但无权执行该操作 |
404 Not Found | 资源不存在 |
500 Internal Server Error | 意外的服务器错误 |
ProcessMind API支持您:
以下实用示例展示如何使用ProcessMind API执行常见操作。
要将文件上传到数据表,请先获取预签名URL:
const presignedUrl = await getPresignedUploadUrl({
apiKey,
tenantId: "tenant-123",
datatableId: "table-456"
});
console.log(presignedUrl); // https://s3.amazonaws.com/…?X-Amz-Signature=… 获取租户中的所有数据集:
const datasets = await getDatasets({
apiKey,
tenantId: "tenant-123"
});
console.log(datasets); 获取租户详细信息:
const tenantInfo = await getTenant({
apiKey,
tenantId: "tenant-123"
});
console.log(tenantInfo); 在租户中创建新流程:
const process = await createProcess({
apiKey,
tenantId: "tenant-123",
displayName: "Order to Cash"
});
console.log(process.id); // Use this ID for subsequent operations 上传BPMN文件以定义流程模型:
const fs = require("fs");
const bpmnXml = fs.readFileSync("./my-process.bpmn", "utf8");
await uploadBpmn({
apiKey,
tenantId: "tenant-123",
processId: "process-456",
bpmnXml
}); 将数据表连接到流程以进行分析:
const mapping = await createProcessMapping({
apiKey,
tenantId: "tenant-123",
processId: "process-456",
dataTableId: "datatable-789",
displayName: "Sales Data 2024",
showByDefault: true
}); 向租户添加用户:
const result = await addTenantUser({
apiKey,
tenantId: "tenant-123",
id: "user-456",
email: "colleague@example.com",
isAdminInTenant: false,
isActiveInTenant: true,
sendInvitationEmail: true
}); **注意:**正文中的角色字段(
isAdminInTenant、access、isDashboardViewer)将按原值处理。用户管理端点提供完整的租户管理员功能,因此只能向您信任其具备管理权限的调用方发放具有写入权限范围的API密钥。System API不会发送邀请邮件;您需要负责引导用户完成入驻。
将文件上传到ProcessMind的一般流程如下:
getPresignedUploadUrl调用获取预签名URL。以下是使用fetch的简化示例:
async function uploadFile({ apiKey, tenantId, datatableId, file }) {
// Step 1: Obtain a presigned URL
const uploadUrl = await getPresignedUploadUrl({ apiKey, tenantId, datatableId });
// Step 2: Upload the file via PUT
await fetch(uploadUrl, {
method: "PUT",
headers: {
"Content-Type": file.type
},
body: file
});
} info
以下提供不同语言的完整示例,可直接复制粘贴使用。
使用两次curl调用将文件上传到ProcessMind的最简Bash脚本,所有值均使用占位符
使用预签名URL将本地CSV文件上传到ProcessMind。
步骤:
配置:
https://api.processmind.com使用预签名URL将本地CSV文件上传到远程API。
步骤:
配置:
列表端点接受limit和offset查询参数,并返回裸JSON数组(无封装对象,也不返回总数):
| 参数 | 类型 | 默认值 | 最大值 |
|---|---|---|---|
limit | 整数 | 100 | 1,000 |
offset | 整数 | 0 | 无 |
GET /v1/tenant/{tenantId}/processes?limit=50&offset=100 如需分页获取全部内容,请持续使用offset += limit发起请求,直到响应数组短于请求的limit(或为空)。超过最大值的参数会被400拒绝。版本化数据端点(数据集、数据表、版本和Webhook)遵循相同约定。
/v1下进行版本管理;破坏性变更会在新版本中发布,而不会静默更改/v1。Sunset标头,其中包含移除日期,并包含Deprecation: true。