datai/datai-scenes/datai-scene-salesforce/docs/api-docs/2026-01-30-001-api.md

165 lines
5.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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)