[ PROMPT_NODE_27052 ]
protocols_api
[ SKILL_DOCUMENTATION ]
# 协议 API
## 概述
协议 API 是 protocols.io 的核心功能,支持从创建到发布的完整协议生命周期。包括搜索、创建、更新、管理步骤、处理材料、添加书签以及生成 PDF。
## 基础 URL
所有协议端点均使用基础 URL:`https://protocols.io/api/v3`
## 内容格式参数
许多端点支持 `content_format` 参数以指定返回内容的格式:
- `json`: Draft.js JSON 格式(默认)
- `html`: HTML 格式
- `markdown`: Markdown 格式
将其作为查询参数包含在内:`?content_format=html`
## 列出与搜索操作
### 列出协议
通过过滤和分页检索协议。
**端点:** `GET /protocols`
**查询参数:**
- `filter`: 过滤类型
- `public`: 仅公开协议
- `private`: 您的私有协议
- `shared`: 与您共享的协议
- `user_public`: 其他用户的公开协议
- `key`: 协议标题、描述和内容中的搜索关键词
- `order_field`: 排序字段 (`activity`, `created_on`, `modified_on`, `name`, `id`)
- `order_dir`: 排序方向 (`desc`, `asc`)
- `page_size`: 每页结果数 (默认:10,最大:50)
- `page_id`: 分页页码 (从 0 开始)
- `fields`: 要返回的字段列表(以逗号分隔)
- `content_format`: 内容格式 (`json`, `html`, `markdown`)
**请求示例:**
bash
curl -H "Authorization: Bearer YOUR_TOKEN"
"https://protocols.io/api/v3/protocols?filter=public&key=CRISPR&page_size=20&content_format=html"
### 通过 DOI 搜索
通过 DOI 检索协议。
**端点:** `GET /protocols/{doi}`
**路径参数:**
- `doi`: 协议 DOI (例如:`dx.doi.org/10.17504/protocols.io.xxxxx`)
## 检索协议详情
### 通过 ID 获取协议
**端点:** `GET /protocols/{protocol_id}`
**路径参数:**
- `protocol_id`: 协议的唯一标识符
**查询参数:**
- `content_format`: 内容格式 (`json`, `html`, `markdown`)
**响应包含:**
- 协议元数据(标题、作者、描述、DOI)
- 所有协议步骤及内容
- 材料和试剂
- 指南和警告
- 版本信息
- 发布状态
## 创建与更新协议
### 创建新协议
**端点:** `POST /protocols`
**请求体参数:**
- `title` (必需):协议标题
- `description`: 协议描述
- `tags`: 标签字符串数组
- `vendor_name`: 供应商/合作