454 lines
16 KiB
TypeScript
454 lines
16 KiB
TypeScript
/**
|
||
* 机器人回复语 mock:与现网整理表、migration_inq_bot_reply_replace_v1.sql 同源。
|
||
* 正式页走主账 /inquiry/botReply;本文件仅对照,共 51 条。
|
||
*/
|
||
|
||
export type ReplyItem = {
|
||
id: string;
|
||
replyCode?: string;
|
||
trigger: string;
|
||
text: string;
|
||
enabled: boolean;
|
||
};
|
||
|
||
export type ReplyCategory = {
|
||
id: string;
|
||
title: string;
|
||
desc: string;
|
||
tagClass: string;
|
||
items: ReplyItem[];
|
||
};
|
||
|
||
export const mockReplyCategories: ReplyCategory[] = [
|
||
{
|
||
id: "inquiring",
|
||
title: "询价中",
|
||
desc: "工单处于需求识别、TMS 查价或内部协同阶段,尚未形成可向客户出示的正式报价方案。",
|
||
tagClass: "tag-blue",
|
||
items: [
|
||
{
|
||
id: "brv10000000000000000000000000001",
|
||
replyCode: "inquiring.first_chat",
|
||
trigger: "销售首次单聊机器人",
|
||
text: "你好,我是询价机器人。请直接描述客户需求,例如「上海到洛杉矶空运,3 件 180kg,下周三前到」,我会解析需求并查询 TMS 标准报价。",
|
||
enabled: true,
|
||
},
|
||
{
|
||
id: "brv10000000000000000000000000002",
|
||
replyCode: "inquiring.ask_transport",
|
||
trigger: "未识别运输方式",
|
||
text: "请回复数字或文字,告知我询价的运输方式:\n1.陆运\n2.海运\n3.空运",
|
||
enabled: true,
|
||
},
|
||
{
|
||
id: "brv10000000000000000000000000003",
|
||
replyCode: "inquiring.continue_need_wo",
|
||
trigger: "续办但未提供工单号",
|
||
text: "请告诉我要继续的工单号,例如 WO202609140034。",
|
||
enabled: true,
|
||
},
|
||
{
|
||
id: "brv10000000000000000000000000004",
|
||
replyCode: "inquiring.continue_not_found",
|
||
trigger: "续办找不到工单",
|
||
text: "找不到工单 {{ticket_no}},请核对工单号后再试。",
|
||
enabled: true,
|
||
},
|
||
{
|
||
id: "brv10000000000000000000000000005",
|
||
replyCode: "inquiring.image_recognizing",
|
||
trigger: "销售发送图片",
|
||
text: "正在识别图片",
|
||
enabled: true,
|
||
},
|
||
{
|
||
id: "brv10000000000000000000000000006",
|
||
replyCode: "inquiring.image_tech_fail",
|
||
trigger: "图片识别失败",
|
||
text: "图片暂时没认出来,请再发一张或直接打字。",
|
||
enabled: true,
|
||
},
|
||
{
|
||
id: "brv10000000000000000000000000007",
|
||
replyCode: "inquiring.attach_recognizing",
|
||
trigger: "销售发送附件",
|
||
text: "正在识别附件",
|
||
enabled: true,
|
||
},
|
||
{
|
||
id: "brv10000000000000000000000000008",
|
||
replyCode: "inquiring.attach_tech_fail",
|
||
trigger: "附件识别失败",
|
||
text: "附件暂时没认出来,请再传一次或直接打字。",
|
||
enabled: true,
|
||
},
|
||
{
|
||
id: "brv10000000000000000000000000009",
|
||
replyCode: "inquiring.attach_h5_expired",
|
||
trigger: "H5 上传链接过期",
|
||
text: "已过期,请回企微重新说附件询价。",
|
||
enabled: true,
|
||
},
|
||
{
|
||
id: "brv10000000000000000000000000010",
|
||
replyCode: "inquiring.attach_h5_ok",
|
||
trigger: "H5 上传成功",
|
||
text: "已收到,请回企微查看识别结果。",
|
||
enabled: true,
|
||
},
|
||
{
|
||
id: "brv10000000000000000000000000011",
|
||
replyCode: "inquiring.pull_group_manual",
|
||
trigger: "请手动拉人进群并发送工单号",
|
||
text: "请手动拉相关人员和智能体到原有群,并在群聊发送工单编号{{ticket_no}}",
|
||
enabled: true,
|
||
},
|
||
{
|
||
id: "brv10000000000000000000000000012",
|
||
replyCode: "inquiring.skip_collab_ack",
|
||
trigger: "销售跳过内部协同",
|
||
text: "好的,已跳过内部协同。正在按 TMS 标准报价生成报价单草稿…",
|
||
enabled: true,
|
||
},
|
||
{
|
||
id: "brv10000000000000000000000000013",
|
||
replyCode: "inquiring.group_created",
|
||
trigger: "协同群创建成功",
|
||
text: "协同群已创建,群名与工单号一致:{{ticket_no}}。已邀请:销售{{sales_name}}、产品{{product_names}}。请在群聊中继续确认报价。",
|
||
enabled: true,
|
||
},
|
||
{
|
||
id: "brv10000000000000000000000000014",
|
||
replyCode: "inquiring.group_exists",
|
||
trigger: "协同群已存在",
|
||
text: "协同群已在,群名与工单号一致:{{ticket_no}}。请到该群继续确认报价。",
|
||
enabled: true,
|
||
},
|
||
{
|
||
id: "brv10000000000000000000000000015",
|
||
replyCode: "inquiring.sea_no_staff",
|
||
trigger: "海运没有可拉的产品人员",
|
||
text: "没有可拉的产品人员。请先在后台「员工管理」维护本线路的海运产品岗后再试。",
|
||
enabled: true,
|
||
},
|
||
{
|
||
id: "brv10000000000000000000000000016",
|
||
replyCode: "inquiring.land_no_staff",
|
||
trigger: "陆运没有可拉的产品人员",
|
||
text: "没有可拉的产品人员。请先在后台「员工管理」维护本线路的陆运产品岗后再试。",
|
||
enabled: true,
|
||
},
|
||
{
|
||
id: "brv10000000000000000000000000017",
|
||
replyCode: "inquiring.group_create_fail",
|
||
trigger: "建群失败",
|
||
text: "建群失败,请稍后重试。",
|
||
enabled: true,
|
||
},
|
||
{
|
||
id: "brv10000000000000000000000000018",
|
||
replyCode: "inquiring.quote_generating",
|
||
trigger: "报价单生成中",
|
||
text: "报价单正在生成,请稍候。",
|
||
enabled: true,
|
||
},
|
||
{
|
||
id: "brv10000000000000000000000000019",
|
||
replyCode: "inquiring.air_ticket_not_found",
|
||
trigger: "空运群找不到工单",
|
||
text: "找不到工单{{ticket_no}},请核对工单号后再试。",
|
||
enabled: true,
|
||
},
|
||
{
|
||
id: "brv10000000000000000000000000020",
|
||
replyCode: "inquiring.air_ticket_not_air",
|
||
trigger: "工单不是空运单",
|
||
text: "工单{{ticket_no}}不是空运单,不能在空运群里跟。",
|
||
enabled: true,
|
||
},
|
||
{
|
||
id: "brv10000000000000000000000000021",
|
||
replyCode: "inquiring.air_ticket_occupied",
|
||
trigger: "空运工单已在另一个群",
|
||
text: "工单{{ticket_no}}已经在另一个群跟了,请到那个群继续。",
|
||
enabled: true,
|
||
},
|
||
{
|
||
id: "brv10000000000000000000000000022",
|
||
replyCode: "inquiring.group_only_product",
|
||
trigger: "非产品人员在群里报价",
|
||
text: "只有产品能报价格,请产品在群里发价格或 Excel/PDF",
|
||
enabled: true,
|
||
},
|
||
{
|
||
id: "brv10000000000000000000000000023",
|
||
replyCode: "inquiring.group_file_saved",
|
||
trigger: "群附件已保存",
|
||
text: "附件已保存后台",
|
||
enabled: true,
|
||
},
|
||
{
|
||
id: "brv10000000000000000000000000024",
|
||
replyCode: "inquiring.air_lock_need_wo",
|
||
trigger: "空运锁舱/释放未带工单号",
|
||
text: "锁舱或释放舱位请带上工单号,例如 WO202609160001锁舱。",
|
||
enabled: true,
|
||
},
|
||
{
|
||
id: "brv10000000000000000000000000025",
|
||
replyCode: "inquiring.air_lock_need_quote",
|
||
trigger: "没有报价不能锁舱",
|
||
text: "工单{{ticket_no}}还没有报价,不能锁舱。",
|
||
enabled: true,
|
||
},
|
||
{
|
||
id: "brv10000000000000000000000000026",
|
||
replyCode: "inquiring.air_airline_only_cabin",
|
||
trigger: "只有航线能锁舱或释放",
|
||
text: "只有岗位为「航线·空运」的人能锁舱或释放舱位。",
|
||
enabled: true,
|
||
},
|
||
{
|
||
id: "brv10000000000000000000000000027",
|
||
replyCode: "inquiring.air_lock_ok",
|
||
trigger: "空运锁舱成功",
|
||
text: "工单{{ticket_no}} 已通知TMS执行空运锁舱,执行成功。\n操作人:{{operator}}\n舱位选项:{{option_no}}\n执行编号:{{exec_no}}\n报价编号:{{quote_no}}",
|
||
enabled: true,
|
||
},
|
||
{
|
||
id: "brv10000000000000000000000000028",
|
||
replyCode: "inquiring.air_lock_fail",
|
||
trigger: "空运锁舱失败",
|
||
text: "工单{{ticket_no}} 空运锁舱失败。\n操作人:{{operator}}\n锁舱失败的原因:{{reason}}\n已通知IT运维排查,请稍等。",
|
||
enabled: true,
|
||
},
|
||
{
|
||
id: "brv10000000000000000000000000029",
|
||
replyCode: "inquiring.air_release_ok",
|
||
trigger: "空运释放成功",
|
||
text: "工单{{ticket_no}} 已通知TMS执行空运释放舱位成功\n操作人:{{operator}}\n舱位选项:{{option_no}}\n执行编号:{{exec_no}}\n报价编号:{{quote_no}}",
|
||
enabled: true,
|
||
},
|
||
{
|
||
id: "brv10000000000000000000000000030",
|
||
replyCode: "inquiring.air_release_fail",
|
||
trigger: "空运释放失败",
|
||
text: "工单{{ticket_no}} 空运释放舱位失败。\n操作人:{{operator}}\n释放舱位失败的原因:{{reason}}\n已通知IT运维排查,请稍等。",
|
||
enabled: true,
|
||
},
|
||
{
|
||
id: "brv10000000000000000000000000031",
|
||
replyCode: "inquiring.air_release_deal_blocked",
|
||
trigger: "已成交不能释放舱位",
|
||
text: "释放舱位失败,工单{{ticket_no}}已成交。",
|
||
enabled: true,
|
||
},
|
||
{
|
||
id: "brv10000000000000000000000000032",
|
||
replyCode: "inquiring.air_release_need_lock",
|
||
trigger: "没有有效锁舱不能释放",
|
||
text: "工单{{ticket_no}}还没有有效锁舱,不能释放。",
|
||
enabled: true,
|
||
}
|
||
],
|
||
},
|
||
{
|
||
id: "quoted",
|
||
title: "已报价",
|
||
desc: "系统已出具结构化报价方案或最终报价单,销售可确认采用、调价或等待成交跟进。",
|
||
tagClass: "tag-blue",
|
||
items: [
|
||
{
|
||
id: "brv10000000000000000000000000033",
|
||
replyCode: "quoted.reject_ack",
|
||
trigger: "销售选择「不采用」",
|
||
text: "请问如何调整报价单,以满足您的需求?请说明要调哪一项费用,例如「提货费加 10%」。",
|
||
enabled: true,
|
||
},
|
||
{
|
||
id: "brv10000000000000000000000000034",
|
||
replyCode: "quoted.adopt_excel",
|
||
trigger: "销售确认采用 → 生成 Excel",
|
||
text: "已确认采用该方案,正在生成 Excel 最终报价单…",
|
||
enabled: true,
|
||
},
|
||
{
|
||
id: "brv10000000000000000000000000035",
|
||
replyCode: "quoted.adopt_pdf",
|
||
trigger: "销售确认采用 → 生成 PDF",
|
||
text: "已确认采用该方案,正在生成PDF最终报价单…",
|
||
enabled: true,
|
||
},
|
||
{
|
||
id: "brv10000000000000000000000000036",
|
||
replyCode: "quoted.template_missing",
|
||
trigger: "后台未维护报价模板",
|
||
text: "生成报价单失败,请联系IT运维维护后台报价模板。",
|
||
enabled: true,
|
||
},
|
||
{
|
||
id: "brv10000000000000000000000000037",
|
||
replyCode: "quoted.file_ready",
|
||
trigger: "最终报价单生成完成",
|
||
text: "已生成{{kind}}最终报价单:{{filename}}(工单 {{ticket_no}})",
|
||
enabled: true,
|
||
}
|
||
],
|
||
},
|
||
{
|
||
id: "deal",
|
||
title: "已成交",
|
||
desc: "客户已确认接受报价,工单进入终态,停止智能体跟进。",
|
||
tagClass: "tag-green",
|
||
items: [
|
||
{
|
||
id: "brv10000000000000000000000000038",
|
||
replyCode: "deal.recorded_won",
|
||
trigger: "销售选择「成交」",
|
||
text: "已记录为「已成交」。工单 {{ticket_no}} 已关闭智能体跟进。",
|
||
enabled: true,
|
||
}
|
||
],
|
||
},
|
||
{
|
||
id: "negotiating",
|
||
title: "协商中",
|
||
desc: "销售或客户对当前方案不满意,正在进行调价、换舱、条款沟通,或成交跟进中选择顺延。",
|
||
tagClass: "tag-amber",
|
||
items: [
|
||
{
|
||
id: "brv10000000000000000000000000039",
|
||
replyCode: "negotiating.recorded",
|
||
trigger: "成交跟进中选择「协商中」",
|
||
text: "已记录为「协商中」。已顺延三个工作日,{{followup_when}}的9:00再次发起成交状态询问。",
|
||
enabled: true,
|
||
}
|
||
],
|
||
},
|
||
{
|
||
id: "lost",
|
||
title: "未成交",
|
||
desc: "客户明确拒绝或销售确认未成单,须记录原因并通知负责人,工单进入终态。",
|
||
tagClass: "tag-rose",
|
||
items: [
|
||
{
|
||
id: "brv10000000000000000000000000040",
|
||
replyCode: "lost.ask_reason",
|
||
trigger: "成交跟进中选择「未成交」且未写原因",
|
||
text: "已记录为「未成交」。请补充未成交原因。",
|
||
enabled: true,
|
||
},
|
||
{
|
||
id: "brv10000000000000000000000000041",
|
||
replyCode: "lost.reason_ack",
|
||
trigger: "销售回复未成交原因",
|
||
text: "已记下未成交原因:{{lost_reason}}。",
|
||
enabled: true,
|
||
}
|
||
],
|
||
},
|
||
{
|
||
id: "closed",
|
||
title: "已关闭",
|
||
desc: "工单长期无有效推进,由系统自动关闭或人工手动关闭,不等同于客户明确拒绝。",
|
||
tagClass: "tag-rose",
|
||
items: [
|
||
{
|
||
id: "brv10000000000000000000000000042",
|
||
replyCode: "closed.air_cannot_activate",
|
||
trigger: "空运工单已是终态仍要激活",
|
||
text: "工单{{ticket_no}}已是「{{status}}」,不能再激活。",
|
||
enabled: true,
|
||
}
|
||
],
|
||
},
|
||
{
|
||
id: "event-ex",
|
||
title: "事件异常",
|
||
desc: "业务流程中参与方响应超时等业务侧异常,写入工单「事件异常」字段,需人工跟进。",
|
||
tagClass: "tag-amber",
|
||
items: [
|
||
|
||
],
|
||
},
|
||
{
|
||
id: "sys-ex",
|
||
title: "系统异常",
|
||
desc: "大模型、TMS、企微建群等系统侧调用失败,写入工单「系统异常」字段。",
|
||
tagClass: "tag-rose",
|
||
items: [
|
||
{
|
||
id: "brv10000000000000000000000000043",
|
||
replyCode: "sys.llm_fail",
|
||
trigger: "大模型调用失败(销售侧)",
|
||
text: "大模型服务异常,IT排查中...",
|
||
enabled: true,
|
||
},
|
||
{
|
||
id: "brv10000000000000000000000000044",
|
||
replyCode: "sys.tms_fail",
|
||
trigger: "TMS 接口失败(销售侧)",
|
||
text: "TMS接口异常,IT运维排查中...",
|
||
enabled: true,
|
||
},
|
||
{
|
||
id: "brv10000000000000000000000000045",
|
||
replyCode: "sys.group_add_fail",
|
||
trigger: "企微添加成员失败",
|
||
text: "无法添加 {{staff_name}} 同事,请联系管理员检查企业微信配置。",
|
||
enabled: true,
|
||
},
|
||
{
|
||
id: "brv10000000000000000000000000046",
|
||
replyCode: "sys.tms_recovery",
|
||
trigger: "TMS 已恢复",
|
||
text: "TMS已恢复正常使用,感谢您的耐心等待。",
|
||
enabled: true,
|
||
},
|
||
{
|
||
id: "brv10000000000000000000000000047",
|
||
replyCode: "sys.llm_recovery",
|
||
trigger: "大模型已恢复",
|
||
text: "大模型已恢复正常使用,感谢您的耐心等待。",
|
||
enabled: true,
|
||
},
|
||
{
|
||
id: "brv10000000000000000000000000048",
|
||
replyCode: "sys.cabin_recovery",
|
||
trigger: "空运舱位接口已恢复",
|
||
text: "空运舱位接口已恢复正常使用,感谢您的耐心等待。",
|
||
enabled: true,
|
||
},
|
||
{
|
||
id: "brv10000000000000000000000000049",
|
||
replyCode: "sys.group_recovery",
|
||
trigger: "建群已恢复",
|
||
text: "建群已恢复正常,感谢您的耐心等待。",
|
||
enabled: true,
|
||
}
|
||
],
|
||
},
|
||
{
|
||
id: "transfer",
|
||
title: "转人工",
|
||
desc: "AI 无法独立完成询价时,引导销售确认是否拉内部航线/产品进群协同。",
|
||
tagClass: "tag-violet",
|
||
items: [
|
||
{
|
||
id: "brv10000000000000000000000000050",
|
||
replyCode: "transfer.already_collab",
|
||
trigger: "该工单已拉过产品进群",
|
||
text: "该工单已拉产品进群协同。",
|
||
enabled: true,
|
||
},
|
||
{
|
||
id: "brv10000000000000000000000000051",
|
||
replyCode: "transfer.air_hint",
|
||
trigger: "空运转人工(不自动建群)",
|
||
text: "触发转人工,请手动把航线和智能体拉进原有空运群,并发送工单号 {{ticket_no}}。",
|
||
enabled: true,
|
||
}
|
||
],
|
||
}
|
||
];
|