# 获客(storlead-acquisition)功能需求文档 对应目录:`storlead-acquisition` · Maven `artifactId`:`storlead-acquisition` · Java 包根:`com.storlead.crm.acquisition` ## 1. 模块目标 本模块核心能力不是渠道投放,而是将业务侧定义的策略和基础画像传给 Python 服务,由 Python 服务执行客户匹配与检索,再将候选客户返回 CRM,供后续入池和跟进。 ## 2. 业务场景 1. 运营或销售负责人在 CRM 中配置获客策略(行业、规模、地域、行为标签、预算偏好等)。 2. 系统将策略与基础画像组装为标准请求,调用 Python 智能匹配服务。 3. Python 服务返回候选客户列表及匹配分、标签、推荐理由。 4. CRM 侧落库匹配结果,支持人工筛选、批量入客户池、建立跟进任务。 ## 3. 功能范围 ### 3.1 策略管理 - 新建/编辑/启停策略。 - 支持策略版本管理(每次变更形成版本快照)。 - 支持策略试跑(不入正式结果,仅返回预览)。 ### 3.2 业务画像管理 - 维护基础画像模板(行业、企业规模、岗位、地区、关键词、负向关键词等)。 - 支持画像参数与策略参数合并规则(策略优先、模板兜底)。 - 支持画像校验(必填项、取值范围、枚举合法性)。 ### 3.3 Python 服务对接 - 提供统一调用网关(HTTP/HTTPS)。 - 支持同步调用(小批量)与异步任务调用(大批量)。 - 记录请求体、响应体摘要、耗时、状态码、错误码、重试次数。 - 支持超时控制、重试策略、熔断与降级(避免阻塞主业务)。 ### 3.4 匹配结果管理 - 存储候选客户基础信息、匹配得分、命中标签、推荐理由、来源策略版本。 - 去重与合并(同一客户跨任务命中时保留最新和最高分)。 - 支持结果筛选(分值区间、标签、区域、时间)与导出。 - 支持批量转入 `storlead-customer` 模块。 ### 3.5 任务与流程 - 支持手动触发与定时触发(如每天 09:00)。 - 任务状态:待执行、执行中、成功、部分成功、失败、已取消。 - 失败任务支持重跑,并保留历史执行记录。 ### 3.6 权限与多租户 - 按租户隔离策略、画像、任务、匹配结果。 - 仅授权角色可创建/修改策略与触发任务。 - 跨租户数据访问严格禁止。 ## 4. 外部接口需求(CRM -> Python) 建议统一定义请求对象: - `tenantId`:租户标识 - `strategyId` / `strategyVersion` - `portrait`:业务画像参数 - `limit`:期望返回条数 - `traceId`:链路追踪 ID Python 返回建议包含: - `taskId`(同步可选) - `candidates`:候选客户集合 - `score`:匹配分 - `tags`:命中标签 - `reason`:推荐理由 - `status` / `errorCode` / `errorMessage` ## 5. 数据与审计需求 - 所有策略变更要留痕(谁在何时改了什么)。 - 任务执行要可追踪(入参快照、响应摘要、执行日志)。 - 对外返回敏感信息需脱敏或按权限控制展示。 ## 6. 非功能需求 - 性能:单次同步请求建议 3-5 秒内返回;异步任务支持分页回传。 - 可用性:Python 服务不可用时,不影响 CRM 其他模块运行。 - 可观测性:提供任务成功率、平均耗时、失败原因分布监控。 ## 7. 与其他模块边界 - 本模块负责“策略/画像编排 + Python 匹配调用 + 结果回收”。 - 客户入池后的分配与跟进由 `storlead-customer` 负责。 - 订单、邮件、营销执行分别由 `storlead-order`、`storlead-email`、`storlead-marketing` 负责。