165 lines
5.1 KiB
Markdown
165 lines
5.1 KiB
Markdown
|
|
# API 文档
|
|||
|
|
|
|||
|
|
## 元数据
|
|||
|
|
- 需求编号:001
|
|||
|
|
- 子需求编号:001-01
|
|||
|
|
- 创建时间:2026-01-30
|
|||
|
|
- 创建人:AI Assistant
|
|||
|
|
- 状态:已完成
|
|||
|
|
|
|||
|
|
## API 概述
|
|||
|
|
本 API 文档描述了 Salesforce Partner API 的认证和会话管理功能,包括获取会话信息、获取用户信息和修改密码等核心接口。所有接口均需要用户登录认证,使用若依框架的权限控制机制。
|
|||
|
|
|
|||
|
|
## 接口列表
|
|||
|
|
|
|||
|
|
### 接口 1:获取会话信息
|
|||
|
|
|
|||
|
|
- **功能描述**:获取当前用户的 Session ID 和实例 URL,用于后续的 Salesforce API 调用
|
|||
|
|
- **请求方式**:GET
|
|||
|
|
- **请求路径**:`/partner/connection/session`
|
|||
|
|
- **权限要求**:需要登录认证(@PreAuthorize("@ss.hasLogin()"))
|
|||
|
|
- **请求参数**:无
|
|||
|
|
- **响应参数**:
|
|||
|
|
| 参数名 | 类型 | 说明 |
|
|||
|
|
|--------|------|------|
|
|||
|
|
| code | Integer | 状态码(200 成功,其他失败) |
|
|||
|
|
| msg | String | 提示信息 |
|
|||
|
|
| data | Object | 响应数据 |
|
|||
|
|
| data.sessionId | String | Session ID,用于后续的 Salesforce API 调用 |
|
|||
|
|
| data.instanceUrl | String | 实例 URL,用于后续的 Salesforce API 调用 |
|
|||
|
|
- **成功示例**:
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 200,
|
|||
|
|
"msg": "操作成功",
|
|||
|
|
"data": {
|
|||
|
|
"sessionId": "00D5w00000AaBC!AQEAQKx...",
|
|||
|
|
"instanceUrl": "https://yourinstance.my.salesforce.com"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
- **失败示例**:
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 500,
|
|||
|
|
"msg": "获取会话信息失败: 未找到有效的会话"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 接口 2:获取用户信息
|
|||
|
|
|
|||
|
|
- **功能描述**:获取当前用户的详细信息,包括用户 ID、用户名、邮箱、组织信息、配置文件信息等
|
|||
|
|
- **请求方式**:GET
|
|||
|
|
- **请求路径**:`/partner/connection/user`
|
|||
|
|
- **权限要求**:需要登录认证(@PreAuthorize("@ss.hasLogin()"))
|
|||
|
|
- **请求参数**:无
|
|||
|
|
- **响应参数**:
|
|||
|
|
| 参数名 | 类型 | 说明 |
|
|||
|
|
|--------|------|------|
|
|||
|
|
| code | Integer | 状态码(200 成功,其他失败) |
|
|||
|
|
| msg | String | 提示信息 |
|
|||
|
|
| data | Object | 响应数据 |
|
|||
|
|
| data.userId | String | 用户 ID |
|
|||
|
|
| data.username | String | 用户名 |
|
|||
|
|
| data.email | String | 邮箱 |
|
|||
|
|
| data.organizationId | String | 组织 ID |
|
|||
|
|
| data.organizationName | String | 组织名称 |
|
|||
|
|
| data.profileId | String | 配置文件 ID |
|
|||
|
|
| data.profileName | String | 配置文件名称 |
|
|||
|
|
| data.userFullName | String | 用户全名 |
|
|||
|
|
| data.userType | String | 用户类型 |
|
|||
|
|
| data.userLanguage | String | 用户语言 |
|
|||
|
|
| data.userLocale | String | 用户区域设置 |
|
|||
|
|
- **成功示例**:
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 200,
|
|||
|
|
"msg": "操作成功",
|
|||
|
|
"data": {
|
|||
|
|
"userId": "0055w00000AaBCD",
|
|||
|
|
"username": "admin@example.com",
|
|||
|
|
"email": "admin@example.com",
|
|||
|
|
"organizationId": "00D5w00000AaBC",
|
|||
|
|
"organizationName": "Example Company",
|
|||
|
|
"profileId": "00e5w00000AaBCD",
|
|||
|
|
"profileName": "System Administrator",
|
|||
|
|
"userFullName": "John Doe",
|
|||
|
|
"userType": "Standard",
|
|||
|
|
"userLanguage": "en_US",
|
|||
|
|
"userLocale": "en_US"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
- **失败示例**:
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 500,
|
|||
|
|
"msg": "获取用户信息失败: 未找到有效的会话"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 接口 3:修改密码
|
|||
|
|
|
|||
|
|
- **功能描述**:修改当前用户的密码
|
|||
|
|
- **请求方式**:POST
|
|||
|
|
- **请求路径**:`/partner/connection/password`
|
|||
|
|
- **权限要求**:需要登录认证(@PreAuthorize("@ss.hasLogin()"))
|
|||
|
|
- **请求参数**:
|
|||
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|||
|
|
|--------|------|------|------|
|
|||
|
|
| newPassword | String | 是 | 新密码,长度 6-20 字符 |
|
|||
|
|
- **请求示例**:
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"newPassword": "NewPassword123!"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
- **响应参数**:
|
|||
|
|
| 参数名 | 类型 | 说明 |
|
|||
|
|
|--------|------|------|
|
|||
|
|
| code | Integer | 状态码(200 成功,其他失败) |
|
|||
|
|
| msg | String | 提示信息 |
|
|||
|
|
- **成功示例**:
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 200,
|
|||
|
|
"msg": "修改密码成功"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
- **失败示例**:
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 500,
|
|||
|
|
"msg": "修改密码失败: 密码不符合要求"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 错误码
|
|||
|
|
|
|||
|
|
| 错误码 | 说明 | 处理建议 |
|
|||
|
|
|--------|------|----------|
|
|||
|
|
| 200 | 操作成功 | - |
|
|||
|
|
| 401 | 未登录或登录已过期 | 请重新登录 |
|
|||
|
|
| 403 | 无权限访问 | 请检查用户权限 |
|
|||
|
|
| 500 | 服务器内部错误 | 请联系管理员或稍后重试 |
|
|||
|
|
|
|||
|
|
## 认证方式
|
|||
|
|
|
|||
|
|
所有接口均使用若依框架的认证机制,需要在请求头中携带有效的 Token:
|
|||
|
|
|
|||
|
|
```http
|
|||
|
|
Authorization: Bearer {token}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
Token 通过登录接口获取,有效期为 2 小时。
|
|||
|
|
|
|||
|
|
## 相关文档
|
|||
|
|
- [需求文档](../requirements/2026-01-28-001-PartnerAPI源org实现.md)
|
|||
|
|
- [子需求文档 - 认证和会话管理](../requirements/sub/2026-01-28-001-01-认证和会话管理.md)
|
|||
|
|
- [设计文档](../design/2026-01-29-001-01-认证和会话管理-设计.md)
|
|||
|
|
- [决策记录](../decisions/2026-01-29-001-01-ADR-认证和会话管理技术选型.md)
|
|||
|
|
- [提示词](../prompts/2026-01-29-001-01-prompt-认证和会话管理.md)
|
|||
|
|
- [变更日志](../changelog/2026-01-30-001-changelog.md)
|
|||
|
|
- [复盘文档](../retros/2026-01-30-001-retro.md)
|
|||
|
|
- [会话记录](../sessions/2026-01-28-001-session.md)
|