meta { name: 批量添加团队成员 type: http seq: 2 tags: [ generated ] } post { url: {{baseUrl}}/api/opportunity/team/add body: formUrlEncoded auth: inherit } body:form-urlencoded { oppId: 748556126794022912 userIds: 744842566742048768,744842566826861568 projectRole: project_role_02 duty: 现场勘察与方案讲解 permission: 2 } docs { # 批量添加团队成员 `POST /api/opportunity/team/add` 商机详情「团队」Tab「添加成员」弹窗「确认」触发,支持批量:所选成员统一采用本次填写的项目角色和职责(原型交互 2)。全部重复拒 66012「该成员已存在」、部分重复跳过;成员姓名快照服务端取自 crm-auth,不信任前端。permission 口径:v29 原型本页不提供权限编辑入口,不传默认只读 1,显式传值仍生效(行级授权白名单语义保留)。 ## 请求参数 | 参数 | 类型 | 必填 | 默认 | 说明 | | --- | --- | --- | --- | --- | | oppId | string | 是 | - | 商机 ID | | userIds | string | 是 | - | 成员用户 ID 列表,逗号分隔(支持批量) | | projectRole | string | 否 | - | 项目角色字典 code(纯回显标签,不带权限) | | duty | string | 否 | - | 职责(文本手工填写) | | permission | number | 否 | 1 | 行级权限档:1只读 2可写跟进 3可推进节点 4读写 | ## 请求示例 请求头:Authorization: Bearer {{token}} Content-Type: application/x-www-form-urlencoded POST /api/opportunity/team/add oppId=748556126794022912&userIds=744842566742048768,744842566826861568&projectRole=project_role_02&duty=现场勘察与方案讲解&permission=2 ## 响应 data 结构 新增成员行 ID 列表(Long 数组,序列化为 string;被跳过的重复成员不返回) ## 响应示例 // 示例数据,字段结构以上表为准,非真实返回 ```json { "code": 0, "success": true, "message": "success", "data": ["1"] } ``` }