Wininsales crm
by @hijasongithub
Use when users need 赢在销客CRM, wininsales, WininSales CRM, 企业微信CRM, 企微CRM, or CRM sales operations, including customer search, duplicate check, ownership looku...
clawhub install wininsales-crm📖 About This Skill
name: wininsales-crm description: 赢在销客CRM(24个API)。覆盖:客户录入/查重/归属查询、跟进记录、客户分析、团队业绩、客户分配/共享、合同回款、到期客户、未跟进客户、商机管理、线索管理(添加/查询/分配/通话标记)、公海捡回、产品查询、员工查询、日报。触发词:CRM、客户、录入、查重、在谁名下、谁的客户、客户存在吗、公司存在吗、跟进、合同、回款、业绩、成交、分配客户、共享客户、商机、线索、公海、到期、未跟进、日报、写日报、归属、经销商、开票、工单、产品。
赢在销客CRM (WininSales CRM)
概述
此skill集成了赢在销客CRM的MCP API(24个接口),覆盖客户管理全流程。
数据来源: 通过 tools/list 接口获取实际API定义,确保与系统一致。
API总览(24个接口,按功能分组)
🔵 客户管理(7个)
| # | API名称 | 功能 | 使用频率 | |---|---------|------|----------| | 1 | SearchExistingCustomers | 客户查重/搜索 | ⭐⭐⭐⭐⭐ | | 2 | CreateNewBusinessCustomer | 新客户录入(40+字段) | ⭐⭐⭐⭐⭐ | | 3 | CompanyBusinessRegistrationInquiry | 工商信息查询(天眼查) | ⭐⭐⭐⭐ | | 4 | CompanyInformationSearch | 工商信息补全 | ⭐⭐⭐ | | 5 | AnalyzeCustomers | 客户数据分析 | ⭐⭐⭐⭐ | | 6 | CRMOperationManual | 查询操作手册 | ⭐⭐ | | 7 | QueryDictByCode | 查询数据字典(辅助工具) | ⭐⭐ |
🟢 跟进与拜访(1个)
| # | API名称 | 功能 | 使用频率 | |---|---------|------|----------| | 8 | AddCustomerVisit | 添加跟进/拜访记录 | ⭐⭐⭐⭐⭐ |
🟡 客户协作(4个)
| # | API名称 | 功能 | 使用频率 | |---|---------|------|----------| | 9 | ShareCustomer | 客户共享给同事 | ⭐⭐⭐ | | 10 | AssignCustomer | 客户分配给同事 | ⭐⭐⭐ | | 11 | QueryEmployeeUserId | 查询员工ID | ⭐⭐⭐ | | 12 | ReclaimPublicPoolCustomer | 公海客户捡回提示 | ⭐⭐⭐ |
🟠 业绩与分析(4个)
| # | API名称 | 功能 | 使用频率 | |---|---------|------|----------| | 13 | EmployeeAnalysis | 员工/团队业绩分析 | ⭐⭐⭐⭐ | | 14 | QueryCustomerContractPayment | 客户合同与回款查询 | ⭐⭐⭐ | | 15 | QueryCustomersRecentExpiry | 🆕 查询即将到期客户 | ⭐⭐⭐ | | 16 | QueryNoFollowUpCustomers | 🆕 查询长期未跟进客户 | ⭐⭐⭐ |
🔴 线索管理(4个)
| # | API名称 | 功能 | 使用频率 | |---|---------|------|----------| | 17 | AddOpportunity | 添加销售线索 | ⭐⭐⭐ | | 18 | QueryLead | 查询线索 | ⭐⭐⭐ | | 19 | AssignLead | 分配线索给同事 | ⭐⭐⭐ | | 20 | SignLeadCall | 线索通话标记 | ⭐⭐ |
🟣 商机与产品(2个)
| # | API名称 | 功能 | 使用频率 | |---|---------|------|----------| | 21 | AddClue | 为客户添加商机 | ⭐⭐⭐ | | 22 | SearchProducts | 按名称/编号查产品 | ⭐⭐⭐ |
⚪ 辅助工具(2个)
| # | API名称 | 功能 | 使用频率 | |---|---------|------|----------| | 23 | SearchFieldOptions | 查询下拉/单选字段选项 | ⭐⭐ | | 24 | QueryDailyWriteContext | 🆕 拉取日报上下文 | ⭐⭐ |
基础配置
授权Token
已配置: token 保存在 ~/.workbuddy/wininsales-config.json
当前登录用户: 周建升
curl调用方式
# ⚠️ 中文参数必须用 heredoc 方式传入,避免编码异常!
cat > /tmp/crm_query.json << 'JSONEOF'
{"jsonrpc":"2.0","method":"tools/call","params":{"name":"工具名称","arguments":{参数}},"id":1}
JSONEOF
curl -s "https://www.wininsales.com/mcp_api/mcp?token=FE9F5FE228702F31893B67F975E40B8B" \
-X POST -H "Content-Type: application/json" \
-d @/tmp/crm_query.json
智能工作流(14个核心流程)
流程1:客户查重+归属查询(最高频)
> 触发:用户说"XX公司存在吗"、"在谁名下"、"这个客户是谁的"
Step 1: SearchExistingCustomers(query=公司名)
↓
├─ 未查到 → "系统中不存在该客户,需要录入吗?"
└─ 查到了 → 展示:客户名称、状态(私海/公海/他人跟进)、录入时间
↓
Step 2: 用户追问"谁的客户" → AnalyzeCustomers(customer=公司全称, analysis_type=客户)
↓
⚠️ customer必须用公司全称,不能缩写!
↓
Step 3: 输出:主跟进人、地址、意向等级
↓
Step 4: 根据状态给建议
- "他人跟进" → "需要我帮你共享或分配过来吗?"
- "客户公海" → "需要我帮你捡回吗?"
流程2:客户录入(含工商查询)
> 触发:用户说"帮我录入XX公司"、"XX公司录入CRM"
Step 1: 询问客户名称
↓
Step 2: SearchExistingCustomers 查重
├─ 已存在 → 展示信息,问是否需要其他操作(查归属/共享/分配)
└─ 不存在 → 继续
↓
Step 3: CompanyBusinessRegistrationInquiry 工商查询
├─ 查到 → 展示工商信息,让用户确认
└─ 未查到 → 问是否手动录入
↓
Step 4: 补充联系人信息(用户提供时直接用,否则用法人默认)
↓
Step 5: CreateNewBusinessCustomer 提交
├─ 成功 → "客户录入成功"
└─ 失败 → 根据错误提示处理(见踩坑经验)
录入字段经验:
流程3:跟进录入
> 触发:用户说"记录一下跟进"、"加个拜访记录"
Step 1: SearchExistingCustomers 获取客户ID
Step 2: 询问:往来方式(面访/电话/微信/QQ/邮件)、时间、内容
Step 3: 面访需补充:结束时间(默认+4小时)、拜访地址
Step 4: AddCustomerVisit 提交
往来方式映射: 面访=VisitType.1, 电话=2, 邮件=3, QQ=4, 微信=5, 其他=6, 企业微信=105
流程4:客户分配/共享(核心优化)
> 触发:用户说"把XX客户分给XX"、"让XX也能看到这个客户"、"把XX客户转给XX"
Step 1: SearchExistingCustomers 获取 customer_id
↓
Step 2: QueryEmployeeUserId 查询目标员工ID
- employee_name: 员工姓名(支持"我"/"自己")
- multiple: 0(单人分配)
- status: 0(仅在职)
↓
├─ ✅ 查询成功 → 获取 user_id,继续
└─ ❌ 查询失败(无权限)→ 尝试直接用员工姓名
↓
Step 3: 执行分配/共享
├─ 分配客户: AssignCustomer(customer_id, assignee=user_id)
└─ 共享客户: ShareCustomer(customer_id, share_with=user_id)【容错策略】
如果 QueryEmployeeUserId 返回错误,尝试直接把 receiver/assignee 参数设为员工姓名
部分API支持直接用姓名代替user_id
分配 vs 共享区别: | 操作 | 效果 | 适用场景 | |------|------|----------| | AssignCustomer | 客户转给对方,自己不再跟进 | 正式交接、全权移交 | | ShareCustomer | 双方都能看到,各自独立跟进 | 协作查看、数据同步 |
完整示例(客户分配):
# Step 1: 查客户
curl ... -d '{"method":"tools/call","params":{"name":"SearchExistingCustomers","arguments":{"query":"XX公司"}}}'Step 2: 查员工ID(如果有权限)
curl ... -d '{"method":"tools/call","params":{"name":"QueryEmployeeUserId","arguments":{"employee_name":"张涛","multiple":0,"status":0}}}'Step 3: 分配客户
curl ... -d '{"method":"tools/call","params":{"name":"AssignCustomer","arguments":{"customer_id":"xxx","assignee":"查到的user_id"}}}'
完整示例(客户共享):
# Step 1: 查客户
curl ... -d '{"method":"tools/call","params":{"name":"SearchExistingCustomers","arguments":{"query":"XX公司"}}}'Step 2: 查员工ID(如果有权限)
curl ... -d '{"method":"tools/call","params":{"name":"QueryEmployeeUserId","arguments":{"employee_name":"李四","multiple":0,"status":0}}}'Step 3: 共享客户
curl ... -d '{"method":"tools/call","params":{"name":"ShareCustomer","arguments":{"customer_id":"xxx","share_with":"查到的user_id"}}}'
流程5:公海捡回
> 触发:用户说"XX客户在公海,帮我捡回来"
Step 1: SearchExistingCustomers 确认客户在公海(status_name=客户公海)
Step 2: ReclaimPublicPoolCustomer 获取操作指引
Step 3: AddCustomerVisit 添加一条跟进记录 → 自动捡回私海
流程6:线索管理(核心优化)
> 触发:用户说"帮我加个线索"、"查一下线索"、"把线索分给XX"
【添加线索】
Step 1: SearchFieldOptions(tool_name="AddOpportunity", field_key="source") 查来源选项
├─ ✅ 成功 → 获取 source 选项值
└─ ❌ 失败(无权限)→ 使用常见默认值: 1=线索转化, 3=主动开发
Step 2: 收集信息(联系人、公司、电话等,phone/email/qq/tel/wechat至少一个)
Step 3: AddOpportunity 提交【查询线索】
Step 1: QueryLead(keyword) → 展示线索列表(含id、can_make_call_flag、is_opp_assign)
Step 2: 如需展示更多字段,手动查询
【分配线索】⚠️ 重要优化
Step 1: QueryLead 找到线索ID
↓
Step 2: QueryEmployeeUserId 查询目标员工ID
- employee_name: 员工姓名
- multiple: 0
- status: 0
↓
├─ ✅ 查询成功 → 获取 user_id,继续
└─ ❌ 查询失败(无权限)→ 直接用员工姓名作为 receiver
↓
Step 3: AssignLead(id=线索ID, receiver=员工ID或姓名, suggest=分配原因)
└─ ⚠️ receiver 参数支持直接用员工姓名字符串(系统会自动匹配)
【通话标记】
Step 1: QueryLead 找到线索,确认 can_make_call_flag 权限
Step 2: SearchFieldOptions(tool_name="SignLeadCall", field_key="labeling_status") 查选项
Step 3: SignLeadCall 提交
添加线索示例(无权限时降级):
# 如果 SearchFieldOptions 失败,用默认值
curl ... -d '{"method":"tools/call","params":{"name":"AddOpportunity","arguments":{
"contact_name":"联系人名", "phone":"手机号", "source":"1", "memo":"备注"
}}}'
分配线索示例(查询ID + 分配):
# Step 1: 查询线索
curl ... -d '{"method":"tools/call","params":{"name":"QueryLead","arguments":{"keyword":"手机号或公司名"}}}'
返回: [{"id":"xxx","contact_name":"...","phone":"...","create_time":"...","is_opp_assign":0}]
Step 2: 查询员工ID(如果有权限)
curl ... -d '{"method":"tools/call","params":{"name":"QueryEmployeeUserId","arguments":{"employee_name":"张涛","multiple":0,"status":0}}}'Step 3: 分配线索
curl ... -d '{"method":"tools/call","params":{"name":"AssignLead","arguments":{
"id":"查到的线索ID", "receiver":"张涛或user_id", "suggest":"了解CRM系统,分配给张涛跟进"
}}}'
流程7:商机添加
> 触发:用户说"帮这个客户建个商机"、"给XX公司加个商机"
Step 1: SearchExistingCustomers 获取 company_id
Step 2: SearchProducts 查询产品ID(如需指定产品)
Step 3: 收集商机信息:预算、预计签约时间、需求描述、竞品
Step 4: AddClue 提交
品牌ID: 腾讯标准产品(1)/赢在销客(122)/企业微信私有化(123)/惠岚品牌(1566)/定制开发(1639)
流程8:客户分析
> 触发:用户说"分析一下XX公司"、"看一下XX客户的数据"
Step 1: AnalyzeCustomers(customer=公司全称, analysis_type=all)
Step 2: 可选类型:客户、联系人、往来记录、商机记录、合同记录、all
Step 3: 格式化输出(隐藏手机号、用表格呈现)
流程9:业绩分析
> 触发:用户说"查一下本周的业绩"、"团队成交情况"
Step 1: 确认范围(个人/团队)和时间(本周/上周/本月/自定义)
Step 2: EmployeeAnalysis(employee_name, start_time, end_time, scope, analysis_type)
Step 3: 汇总输出(按业绩排序、计算总计)
流程10:合同查询
> 触发:用户说"看一下XX公司的合同"、"XX客户回款情况"
Step 1: SearchExistingCustomers 获取 customer_id(需 check_look=1)
Step 2: QueryCustomerContractPayment(customer_id)
Step 3: 输出合同、到账、回款、利润信息
流程11:🆕 到期客户查询
> 触发:用户说"最近哪些客户要到期"、"本月到期名单"、"续费提醒"
Step 1: 确认时间范围和查询范围
Step 2: QueryCustomersRecentExpiry(start_time, end_time, scope, userids?)
- scope: "全部" / "团队" / "个人"
- 时间格式: YYYY-MM-DD
- scope="个人"时 userids 可省略(默认当前登录人),或传 me/自己/我
Step 3: 输出到期客户列表
流程12:🆕 未跟进客户查询
> 触发:用户说"多久没跟进的客户"、"哪些客户没联系"、"跟进超期"
Step 1: 确认时间阈值(如30天、60天)
Step 2: QueryNoFollowUpCustomers(end_time, company_level?)
- end_time: 最后跟进截止日期(YYYY-MM-DD),如距今30天前的日期
- company_level: 可选,客户等级筛选(需先 QueryDictByCode(dict_code="CompanyLevel") 获取)
Step 3: 输出未跟进客户列表
流程13:🆕 日报上下文
> 触发:用户说"帮我写日报"、"今日工作汇总"
Step 1: QueryDailyWriteContext(date=YYYY-MM-DD)
- 获取当日工作要点与明日计划等上下文
Step 2: 基于上下文生成日报内容
流程14:数据字典查询
> 触发:需要查询某个字段的全部可选值(当 SearchFieldOptions 不适用时)
Step 1: QueryDictByCode(dict_code="编码名")
- 常用编码: CompanyLevel, CompanyType, EmployeesNum, Industry 等
Step 2: 输出字典值列表
API详细参考
1. SearchExistingCustomers — 客户查重/搜索
参数: query(必填)— 公司名/电话/联系人,优先:客户名称 > 电话 > 联系人姓名
返回: 客户列表(含customer_id、contact_id、status_name、check_look)
约束: 禁止在未指明查询行为时自动调用;不泄露客户ID/联系方式
2. CreateNewBusinessCustomer — 客户录入(40+字段)
必填: company_name, contact_contact_name, contact_sex(1男/0女/2未知)--- 企业信息 ---
company_name [必填] 客户名称
short_name [可选] 客户简称
customer_no [可选] 客户编号
type [可选] 客户类型: 直接客户(CompanyType.1)/经销商(CompanyType.2)/合作伙伴(CompanyType.3)
level [可选] 意向等级: 信息无效(CompanyLevel.110)/无意向(0)/信息不完整(113)/未沟通(103)/潜在(1)/意向(2)
source [可选] 客户来源(需SearchFieldOptions查)常用: 主动开发(MessageSource.3)/线索转化(1)
industry [可选] 所属行业(需SearchFieldOptions查)
scope [可选] 企业规模: 1-10人(EmployeesNum.1)/11-50(2)/51-100(3)/101-200(4)/201-500(5)/501-1000(6)/1001-2000(7)/2001-5000(8)/5000人以上(9)
main_product [可选] 主营产品(文本)
label [可选] 客户标签(多选,需SearchFieldOptions查)
region [可选] 区域
address [可选] 企业地址
url [可选] 企业网址
tel [可选] 企业电话(手机号格式,严格11位)
fax [可选] 企业传真(座机格式)
memo [可选] 备注
dealer_id [可选] 经销商(需SearchFieldOptions查)
customer16 [可选] 现用品牌(需SearchFieldOptions查)
customer200634 [可选] 管理员账号/企业ID
customer52643 [可选] 销售归属
customer32000 [可选] 购买账户数(整数)
customer52633 [可选] 服务到期时间(YYYY-MM-DD)
customer152787 [可选] 到期年月(YYYY-MM)
customer212687 [可选] 客户咨询: 400咨询(ext1)/IM咨询(ext2)/从未咨询(ext3)
customer156559 [可选] 产品培训: 已培训(ext1)/未培训(ext2)
cooperater [可选] 协作人(需SearchFieldOptions查)
relevance_customer [可选] 被关联客户(需SearchFieldOptions查)
--- 联系人信息 ---
contact_contact_name [必填] 联系人姓名
contact_sex [必填] 性别: 男(1)/女(0)/未知(2)
contact_phone [可选] 联系人手机(手机号格式,严格11位)
contact_tel [可选] 联系人座机(座机格式)
contact_email [可选] 联系人邮箱
contact_qq [可选] 联系人QQ
contact_wechat [可选] 联系人微信
contact_department [可选] 联系人部门
contact_role [可选] 联系人角色: 公司负责人(ContactRole.1)/财务决策人(2)/项目影响人(3)/项目负责人(4)/项目执行人(5)
contact_duty [可选] 联系人职务
contact_kp [可选] 关键人: 否(0)/是(1)
contact_birthday [可选] 联系人生日(YYYY-MM-DD)
contact_memo [可选] 联系人备注
3. CompanyBusinessRegistrationInquiry — 工商信息查询
参数: tyc_keyword(必填)— 企业全称
返回: companyName, juridicalPerson, registedCapital, registedDate,
companyStatUs, address, actualAddress, industry, products,
creditCode, webSites, staffNumber, socialSecurityNum,
annualTurnover, reportTaxTotal
4. CompanyInformationSearch — 工商信息补全
参数: tyc_keyword(必填)— 企业全称
用途: 创建客户流程中补充企业工商信息
5. AnalyzeCustomers — 客户分析
参数: customer(必填, 公司全称), analysis_type(必填), start_time, end_time
类型: 客户/联系人/往来记录/商机记录/合同记录/all
6. CRMOperationManual — 操作手册
参数: question(必填)— 操作问题
用途: 查询CRM系统操作指南
⚠️ 注意: 返回的信息可能不准确(如字段名),以 tools/list 实际schema为准
7. AddCustomerVisit — 跟进录入
必填: company_id, type, expect_start_time(YYYY-MM-DD HH:MM), memo
可选: contact_id, expect_end_time(面访必填), visit_address
type: VisitType.1(面访)/2(电话)/3(邮件)/4(QQ)/5(微信)/6(其他)/105(企业微信)
8. ShareCustomer — 客户共享
必填: customer_id, share_with(接收人userid,多人用逗号分隔)
效果: 双方都能看到客户
9. AssignCustomer — 客户分配
必填: customer_id, assignee(新跟进人userid)
可选: previous_follower(原跟进人userid), sync_wecom_customer("1"开启/"0"关闭)
效果: 客户转给对方,可同步企业微信客户交接
10. QueryEmployeeUserId — 查询员工ID
必填: employee_name(支持"我"/"自己"), multiple(0单/1多), status(0在职/all)
用途: 分配/共享客户、分配线索时需要
11. ReclaimPublicPoolCustomer — 公海捡回
参数: customer_name
用途: 提示操作方式(不直接发请求),实际通过 AddCustomerVisit 添加跟进记录捡回
12. EmployeeAnalysis — 业绩分析
必填: employee_name, start_time, end_time, scope(个人/团队)
可选: analysis_type
13. QueryCustomerContractPayment — 合同查询
必填: customer_id(需来自SearchExistingCustomers且check_look=1)
返回: 合同、到账、回款、利润
14. 🆕 QueryCustomersRecentExpiry — 到期客户查询
必填: start_time(YYYY-MM-DD), end_time(YYYY-MM-DD), scope("全部"/"团队"/"个人")
可选: userids(多人逗号分隔;scope=个人时可省略或传 me/自己/我)
用途: 查询即将到期/最近到期的客户,用于续费提醒
15. 🆕 QueryNoFollowUpCustomers — 未跟进客户查询
必填: end_time(YYYY-MM-DD) — 最后跟进截止日期/阈值
可选: company_level — 客户等级筛选(须与字典CompanyLevel一致,用QueryDictByCode查询)
用途: 查询长期未跟进的客户
16. 🆕 QueryDictByCode — 数据字典查询
必填: dict_code — 字典编码
常用编码: CompanyLevel, CompanyType, EmployeesNum, Industry 等
用途: 辅助工具,获取下拉选项值列表
17. AddOpportunity — 添加线索
必填: contact_name, source(需先SearchFieldOptions查选项)
可选: company_name, phone, duty, region, address, email, qq, wechat, memo, receiver
注意: phone/email/qq/tel/wechat 至少填一个
18. QueryLead — 查询线索
参数: keyword(必填)— 公司名称/联系人/手机号
返回: 线索列表(含id和can_make_call_flag)
19. AssignLead — 分配线索
必填: id(线索ID), receiver(接收人userid), suggest(备注说明)
20. SignLeadCall — 通话标记
全部可选: id, labeling_status(需SearchFieldOptions查), labeling_memo
⚠️ 必须先 QueryLead 确认 can_make_call_flag 有权限
21. AddClue — 添加商机
必填: clue_name, company_id, clue_brand, budget(数字), expect_date(YYYY-MM),
belong_user(自己的user_id), used_brand(需求描述), competitive_brands(竞品分析)
可选: product_ids, cooperater(需SearchFieldOptions查)
品牌: 腾讯标准产品(1)/赢在销客(122)/企业微信私有化(123)/惠岚(1566)/定制开发(1639)
22. SearchProducts — 产品查询
参数: keyword(必填)— 产品名或编号
23. SearchFieldOptions — 字段选项查询
必填: tool_name, field_key
可选: keyword(筛选子串), limit(最大条数)
tool_name: AddClue/AddCustomerVisit/AddOpportunity/CreateNewBusinessCustomer
用途: 查询单选/多选/下拉字段的 label 和 value
24. 🆕 QueryDailyWriteContext — 日报上下文
必填: date(YYYY-MM-DD)— 查询日期
用途: 拉取工作汇总上下文,用于填写日报
员工ID查询(统一规范)
需要user_id的接口汇总
| # | 接口 | user_id参数 | 说明 | |---|------|-------------|------| | 1 | AssignCustomer | assignee | 必填 - 新跟进人userid | | 2 | ShareCustomer | share_with | 必填 - 接收人userid(多人用逗号分隔) | | 3 | AssignLead | receiver | 必填 - 接收人userid | | 4 | AddClue | belong_user | 必填 - 自己的userid | | 5 | QueryCustomersRecentExpiry | userids | 可选 - 多人用逗号分隔 |
查询员工ID的标准流程
Step 1: 调用 QueryEmployeeUserId 查询员工ID
- employee_name: 员工姓名(支持"我"/"自己")
- multiple: 0(单人)或 1(多人)
- status: 0(仅在职员工)
↓
├─ ✅ 查询成功 → 获取 user_id,继续调用目标接口
└─ ❌ 查询失败(无权限/查不到)→ 尝试降级策略(见下方)
降级策略(QueryEmployeeUserId失败时)
方案A:直接用员工姓名 部分接口的userid参数支持直接传入员工姓名字符串,系统会自动匹配:
| 接口 | 参数 | 支持姓名? | |------|------|----------| | AssignLead | receiver | ✅ 支持 | | AssignCustomer | assignee | ⚠️ 可能支持 | | ShareCustomer | share_with | ⚠️ 可能支持 |
方案B:用"我/自己/我"代替 如果操作对象是当前登录人,可以:
调用示例
# 标准查询员工ID
cat > /tmp/crm_query.json << 'JSONEOF'
{"jsonrpc":"2.0","method":"tools/call","params":{"name":"QueryEmployeeUserId","arguments":{"employee_name":"张涛","multiple":0,"status":0}},"id":1}
JSONEOF
curl -s "https://www.wininsales.com/mcp_api/mcp?token=FE9F5FE228702F31893B67F975E40B8B" \
-X POST -H "Content-Type: application/json" \
-d @/tmp/crm_query.json降级:直接用姓名分配线索
cat > /tmp/crm_query.json << 'JSONEOF'
{"jsonrpc":"2.0","method":"tools/call","params":{"name":"AssignLead","arguments":{"id":"线索ID","receiver":"张涛","suggest":"备注"}},"id":1}
JSONEOF
curl -s "https://www.wininsales.com/mcp_api/mcp?token=FE9F5FE228702F31893B67F975E40B8B" \
-X POST -H "Content-Type: application/json" \
-d @/tmp/crm_query.json
特殊说明
工商信息 → CRM字段映射
| 工商字段 | CRM字段 | 说明 | |---------|---------|------| | companyName | company_name | 直接使用 | | juridicalPerson | contact_contact_name | 建议作默认联系人 | | registedCapital | memo | 填入备注 | | registedDate | memo | 填入备注 | | address | address | 直接使用 | | actualAddress | memo | 如与address不同则备注 | | industry | industry | 可能需要SearchFieldOptions匹配 | | products | main_product | 主营产品字段 | | creditCode | memo | 填入备注 | | webSites | url | 取第一个 | | staffNumber | scope | 需转换为EmployeesNum编号 | | province + city | region | 组合填入 |
场景速查表
> 按老板实际说法整理,零技术术语
| 老板怎么说 | 做什么 | 用什么工具 | |-----------|--------|-----------| | "XX公司存在吗" | 客户查重 | SearchExistingCustomers | | "在谁名下" | 查客户归属和跟进人 | SearchExistingCustomers → AnalyzeCustomers | | "帮我录入XX公司" | 创建新客户(自动查工商) | 查重 → 工商查询 → CreateNewBusinessCustomer | | "记录一下跟进" | 添加拜访/电话/微信记录 | SearchExistingCustomers → AddCustomerVisit | | "看一下XX公司的合同" | 查合同、回款、利润 | SearchExistingCustomers → QueryCustomerContractPayment | | "查一下本周的业绩" | 团队或个人业绩分析 | EmployeeAnalysis | | "把XX客户分给XX" | 客户转给同事 | SearchExistingCustomers → QueryEmployeeUserId → AssignCustomer | | "让XX也能看到这个客户" | 共享客户给同事 | SearchExistingCustomers → QueryEmployeeUserId → ShareCustomer | | "XX客户在公海,帮我捡回来" | 公海客户捡回 | SearchExistingCustomers → AddCustomerVisit | | "帮我加个线索" | 添加新销售线索 | SearchFieldOptions → AddOpportunity | | "查一下线索" | 按名称/电话查线索 | QueryLead | | "把线索分给XX" | 线索分配给同事 | QueryLead → QueryEmployeeUserId → AssignLead | | "打了个电话标记一下" | 线索通话标记 | QueryLead → SearchFieldOptions → SignLeadCall | | "帮这个客户建个商机" | 为客户创建商机 | SearchExistingCustomers → SearchProducts → AddClue | | "查一下产品" | 按名称或编号查产品 | SearchProducts | | "有哪些选项可以选" | 查询下拉选项值 | SearchFieldOptions | | "最近哪些客户要到期" | 查询即将到期客户 | QueryCustomersRecentExpiry | | "哪些客户很久没联系了" | 查询长期未跟进客户 | QueryNoFollowUpCustomers | | "帮我写日报" | 拉取工作汇总生成日报 | QueryDailyWriteContext |
注意事项
1. 必须先查重 — 录入/操作前先 SearchExistingCustomers 2. 工商查询优先 — 录入新客户时自动查工商信息填充 3. 必须二次确认 — 工商信息展示后需用户确认才录入 4. 隐私保护 — 手机号、邮箱中间用 **** 代替 5. 错误处理 — API失败告知原因,不隐瞒 6. 时间格式 — 严格 YYYY-MM-DD HH:MM 或 YYYY-MM 7. 字段选项先查 — 创建商机/线索时,单选字段须先 SearchFieldOptions 8. 禁止编造ID — customer_id、线索id、产品id必须来自查询结果 9. 禁止编造信息 — 不得编造任何客户信息,不完整时须向用户请求补充 10. CRMOperationManual仅供参考 — 其返回信息可能不准确,以 tools/list 实际schema为准 11. 分配容错策略 — QueryEmployeeUserId 失败时,可直接用员工姓名作为 receiver/assignee/share_with 参数 12. 员工ID优先查询 — 所有需要user_id的接口(AssignCustomer/ShareCustomer/AssignLead/AddClue)都应先调用 QueryEmployeeUserId
踩坑经验
(以下由AI在实际调用中自动积累,请勿手动删除)
curl -d @file,或用 printf 管道传入