API 调用
调用 ProcessMind API 指引
本指南将为您提供调用 ProcessMind API 的实例与最佳实践。不论您是需要获取数据、提交信息,还是自动化 workflow 等操作,理解 API 的用法对于系统集成和流程自动化至关重要。
认证变量
- apiKey 所有 API 请求都需在 header 中添加您的 API key 进行身份验证。API key 可在 ProcessMind 账号设置中获取。
- tenantId 某些 API 接口需要 Tenant ID,用于指定请求所属组织。该 ID 在您的 organization 中唯一,也可在账号设置内找到。
- datatableId 操作 dataset 时需提供 Datatable ID 以标识正在使用的数据表。该 ID 可在 ProcessMind 的 dataset 设置菜单 [获取数据表 ID] 查看。
文件直传
ProcessMind支持通过预签名URL直接上传文件到datatable。这种方式让您可以安全上传文件,无需暴露API密钥或其他敏感信息。 请注意,预签名URL有时间限制,获取后需尽快使用。如需获得直传URL,需要发送GET请求至相关接口。 您可在ProcessMind的数据集设置菜单点击**[获取上传URL]获得该地址。URL有效期最长可选1小时、1周或1个月**。
接口概览
Method | Endpoint | 描述 |
---|---|---|
GET | /tenant/{tenantId}/datatable/{datatableId}/uploads/presignedurl | 获取临时预签名URL,用于上传文件到datatable。 |
GET | /tenant/{tenantId}/datasets | 获取指定tenant下的dataset列表。 |
GET | /tenant/{tenantId} | 获取指定tenant的详细信息。 |
GET | /tenant/{tenantId}/organization | 获取tenant所属组织的信息。 |
基础 URL
所有 API 请求都需使用以下基础 URL:https://api.processmind.com
获取预签名上传URL
接口:GET /tenant/{tenantId}/datatable/{datatableId}/uploads/presignedurl
参数:
- tenantId – tenant的ID(string)。
- datatableId – 目标datatable的ID(string)。
- apiKey – 您的API密钥(string)。
返回: 返回包含PreSignedUploadUrl的对象,该URL为临时上传地址(通常用HTTP PUT上传)。
示例(使用helper函数):
const presignedUrl = await getPresignedUploadUrl({
apiKey,
tenantId: 'tenant-123',
datatableId: 'table-456'
});
console.log(presignedUrl); // 例如: https://s3.amazonaws.com/…?X-Amz-Signature=…
获取Dataset列表
接口:GET /tenant/{tenantId}/datasets
参数:
- tenantId – tenant的ID。
- apiKey – 您的API密钥。
返回: 属于tenant的dataset对象数组。
示例:
const datasets = await getDatasets({
apiKey,
tenantId: 'tenant-123'
});
console.log(datasets);
获取Tenant详细信息
接口:GET /tenant/{tenantId}
参数:
- tenantId – tenant的ID。
- apiKey – 您的API密钥。
返回: 包含tenant元数据信息的对象,如名称、创建时间和套餐类型等。
示例:
const tenantInfo = await getTenant({
apiKey,
tenantId: 'tenant-123'
});
console.log(tenantInfo);
查询组织信息
接口:GET /tenant/{tenantId}/organization
参数:
- tenantId – tenant的ID。
- apiKey – 您的API密钥。
返回: 与tenant关联的组织信息(如公司名称、地址、联系方式等)。
示例:
const org = await getOrganization({
apiKey,
tenantId: 'tenant-123'
});
console.log(org);
文件上传
uploadFile函数演示如何通过预签名URL上传文件。一般流程如下:
- 使用getPresignedUploadUrl函数获取预签名URL。
- 通过PUT请求使用该URL上传文件内容,预签名URL直接授权上传到存储服务,无需其他凭证。
- (可选)如需,通知API文件上传完成。
以下是用fetch上传文件的简化示例:
async function uploadFile({ apiKey, tenantId, datatableId, file }) {
// 步骤1:获取预签名URL
const uploadUrl = await getPresignedUploadUrl({ apiKey, tenantId, datatableId });
// 步骤2:PUT方式上传文件
await fetch(uploadUrl, {
method: 'PUT',
headers: {
'Content-Type': file.type
},
body: file
});
// 步骤3:可选,通知API上传完成
// (视后端实现而定)
}
info
- 预签名URL会在设定时间后失效(通常为几分钟),请尽快使用。
- 上传失败(如网络中断)请重新申请新的预签名URL并重试。
- 一定要妥善保管您的apiKey,切勿在客户端(如前端页面)暴露。
BASH 示例
使用两步 curl 调用上传文件到 ProcessMind 的最简 Bash 脚本(参数为占位符)
NodeJS 示例
演示如何通过预签名 URL 将本地 CSV 文件上传到 ProcessMind。
步骤:
- 通过API获取预签名上传URL
- 读取本地磁盘文件
- 使用HTTP PUT上传该文件到预签名URL
配置说明:
- 调用 uploadFileToProcessMind() 需传入 API key、tenantId、datatableId 和 filePath。
- API基础地址为 https://api.processmind.com
Python 示例
使用预签名 URL 将本地 CSV 文件上传到远程 API。
操作步骤:
- 从 API 获取预签名上传 URL。
- 读取本地文件。
- 通过 HTTP PUT 将文件上传到预签名 URL。
配置方法:
- 按需填写 api_key、tenant_id、datatable_id、file_path。