# API使用指南

## API响应格式

所有API响应都遵循以下统一格式：

```json
{
    "code": 200,           // 状态码
    "request_id": "xxx",   // 请求唯一标识
    "data": {             // 响应数据
        // 具体的业务数据
    }
}
```

### 状态码说明
- 200: 请求成功
- 400: 请求参数错误
- 401: 未授权
- 403: 禁止访问
- 404: 资源不存在
- 500: 服务器内部错误

### 重要说明
1. `request_id`字段在每个响应中都会返回，用于问题追踪
2. v2版本API已废弃，请使用v3版本
3. 所有API调用都需要在Header中携带认证信息

## API版本说明
- v3: 当前稳定版本（推荐使用）
- v2: 已废弃，返回410 Gone
- v1: 已移除

## 仓库相关API

### 获取仓库信息
```http
GET /api/v3/repos/{owner}/{repo}
```

响应示例：
```json
{
    "code": 200,
    "request_id": "f58c7dd4-9876-4321-abcd-ef1234567890",
    "data": {
        "id": 12345,
        "name": "example-repo",
        "owner": {
            "id": 67890,
            "login": "example-user"
        }
    }
}
```

### 创建仓库
```http
POST /api/v3/repos
```

请求体示例：
```json
{
    "name": "new-repo",
    "description": "A new repository",
    "private": false
}
```

## WebHook事件类型
支持的事件类型包括：
1. `push`: 推送代码时触发
2. `pull_request`: PR相关操作触发
3. `issue`: Issue相关操作触发
4. `release`: 发布版本时触发
5. `star`: 加星操作触发
6. `fork`: 仓库被fork时触发
7. `comment`: 评论相关操作触发
8. `repo_analytics`: 仓库统计数据更新时触发
9. `wiki`: Wiki页面更新时触发
10. `member`: 成员变更时触发
11. `deploy`: 部署事件触发 