本页目录

API 概览

如何调用 ProcessMind API

本指南提供 ProcessMind API 服务调用的示例、最佳实践。无论是获取 data、提交信息,还是自动化 workflow,了解如何与我们 API 交互很重要。

完整接口及请求/响应格式,请参考 API Reference

更多示例和客户端库见 API Documentation on GitHub

API 基础地址

所有 API 请求统一访问:

https://api.processmind.com

认证方式

所有 API 请求需在 x-api-key 请求头中携带您的 API key:

x-api-key: your-api-key-here

API key 可在 ProcessMind 账户设置中获取。详见 Getting your API Key

关键概念

  • apiKey – 所有 API 请求的认证令牌。
  • tenantId – 标识您的 workspace/organization,可在账户设置处查找。
  • datatableId – 指定用于 data 操作的 datatable,ProcessMind 的 dataset settings 菜单可查 [Get Data Table ID]

功能概览

ProcessMind API 让您可以:

  • 管理 Tenant – 获取 tenant 信息、更新设置、查看统计
  • 管理用户 – 添加、更新或移除 tenant/organization 用户
  • 管理流程 – 创建流程、上传 BPMN、按文件夹管理
  • 连接 data – 将 datatable 映射到流程分析
  • 上传数据 – 直接上传 CSV/XLSX 到 datatable
  • 管理数据集 – 列出、查看和删除 dataset 与 datatable

常用示例

以下为 ProcessMind API 常见操作实用示例。

获取 Presigned 上传链接

上传文件到 datatable,需先获取 presigned URL:

const presignedUrl = await getPresignedUploadUrl({
	apiKey,
	tenantId: "tenant-123",
	datatableId: "table-456"
});
console.log(presignedUrl); // https://s3.amazonaws.com/…?X-Amz-Signature=…

列出所有数据集(Dataset)

获取 tenant 下所有 dataset:

const datasets = await getDatasets({
	apiKey,
	tenantId: "tenant-123"
});
console.log(datasets);

获取 Tenant 信息

获取您的 tenant 详情:

const tenantInfo = await getTenant({
	apiKey,
	tenantId: "tenant-123"
});
console.log(tenantInfo);

创建流程(Process)

在您的 tenant 中创建新流程:

const process = await createProcess({
	apiKey,
	tenantId: "tenant-123",
	displayName: "Order to Cash"
});
console.log(process.id); // 后续操作可用该 ID

上传 BPMN 模型

上传 BPMN 文件定义流程模型:

const fs = require("fs");
const bpmnXml = fs.readFileSync("./my-process.bpmn", "utf8");

await uploadBpmn({
	apiKey,
	tenantId: "tenant-123",
	processId: "process-456",
	bpmnXml
});

Data 映射到流程(Process)

将 datatable 关联到流程用于分析:

const mapping = await createProcessMapping({
	apiKey,
	tenantId: "tenant-123",
	processId: "process-456",
	dataTableId: "datatable-789",
	displayName: "Sales Data 2024",
	showByDefault: true
});

向 Tenant 添加用户

为您的 tenant 添加用户:

const result = await addTenantUser({
	apiKey,
	tenantId: "tenant-123",
	id: "user-456",
	email: "colleague@example.com",
	isAdminInTenant: false,
	isActiveInTenant: true,
	sendInvitationEmail: true
});

文件上传

向 ProcessMind 上传文件的标准流程为:

  1. 使用 getPresignedUploadUrl 获得 presigned URL。
  2. 对该 URL 执行 PUT 并上传文件内容。
  3. presigned URL 可直接授权上传至云存储,无需额外凭证。

以下为 fetch 简化示例:

async function uploadFile({ apiKey, tenantId, datatableId, file }) {
	// 步骤1:获取 presigned URL
	const uploadUrl = await getPresignedUploadUrl({ apiKey, tenantId, datatableId });
	
	// 步骤2:通过 PUT 上传文件
	await fetch(uploadUrl, {
		method: "PUT",
		headers: {
			"Content-Type": file.type
		},
		body: file
	});
}

info

  • presigned URL 有效期较短(通常几分钟),请及时使用。
  • 上传失败(如网络异常)请重获 presigned URL 后重试。
  • 妥善保管 apiKey,勿在前端等客户端明文暴露。

完整示例

以下为不同开发语言的完整可用代码,可直接复制粘贴。

Bash 示例:上传文件

该 Bash 脚本用两个 curl 命令上传文件至 ProcessMind,参数为占位符。

下载 BASH 示例

Node.js 示例:本地 CSV 文件上传

通过预签名 URL 把本地 CSV 文件上传到 ProcessMind。

步骤:

  1. 从 API 获取预签名上传 URL。
  2. 读取本地文件。
  3. 用 HTTP PUT 上传到该 URL。

参数:

  • 调用 uploadFileToProcessMind() 时传 API key、tenantId、datatableId、filePath。
  • API base URL 设置为 https://api.processmind.com
下载 NodeJS 示例

Python 示例:本地 CSV 文件上传

通过预签名 URL 将本地 CSV 文件上传到远程 API。

步骤:

  1. 从 API 获取预签名上传 URL。
  2. 读取本地文件。
  3. 用 HTTP PUT 上传到该 URL。

参数:

  • 按需填写 api_key、tenant_id、datatable_id、file_path。
下载 Python 示例

下一步操作

info

如有 API 使用问题,欢迎联系技术支持团队或加入开发者社区论坛。