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