API接口说明
MCP 服务
地址:https://kefu.aipm123.com/mcp
send_wechat_message: 向微信客户发送消息
open_kfid: (string) 客服账号ID external_userid: (string) 客户ID content: (string) 消息内容 (当 msgtype=text 时必填) msgtype: (string) 消息类型 (text, image, voice, file,默认: text) url: (string) 媒体文件URL (当 msgtype 为 image/voice/file 时必填,自动上传转为 media_id) media_id: (string) 媒体文件ID (可选,image/voice/file 时作为 url 的替代)
set_agent_enabled: 开启/关闭 Agent 托管自动回复
enabled: (boolean) 必填,true=启用,false=停用 customer_id: (string) 必填,客户ID(external_userid)
assign_staff: 人工座席分配(演示用)
user_id: (string) 必填,用户ID
list_session_summaries: 查询会话摘要列表
user_id: (string) 必填,用户ID(external_userid) open_kfid: (string) 可选,客服账号ID status: (string) 可选,会话状态(open/closed/timeout_closed/customer_closed/staff_closed/agent_closed/ticketed) order: (string) 可选,start_time.asc|start_time.desc 返回: sessions[] 每项包含 session_id, status, summary
API端点一览
基础地址:https://kefu.aipm123.com
内容类型:application/json
POST /send
向企业微信客服发送消息
参数
open_kfid: 必填,客服账号ID(未在请求体提供时使用服务配置) external_userid/touser: 必填,客户ID msgtype: 必填,消息类型(text, image, voice, file) content: 条件必填(当 msgtype=text),文本内容 url: 条件必填(当 msgtype=image/voice/file 且无 media_id),文件绝对URL,系统会自动下载上传 media_id: 条件必填(当 msgtype=image/voice/file 且无 url),已上传的素材ID
调用示例 (文本)
curl -X POST https://kefu.aipm123.com/send \
-H 'Content-Type: application/json' \
-d '{
"open_kfid": "wk...",
"external_userid": "wm...",
"msgtype": "text",
"content": "hello"
}'
调用示例 (图片)
curl -X POST https://kefu.aipm123.com/send \
-H 'Content-Type: application/json' \
-d '{
"open_kfid": "wk...",
"external_userid": "wm...",
"msgtype": "image",
"url": "https://example.com/image.jpg"
}'
POST /api/set_agent_enabled
开启/关闭 Agent 托管自动回复
参数
enabled: 必填,true=启用,false=停用 customer_id: 必填,客户ID(external_userid)
调用示例
curl -X POST https://kefu.aipm123.com/api/set_agent_enabled \
-H 'Content-Type: application/json' \
-d '{
"customer_id": "wm...",
"enabled": true
}'
POST /api/assign_staff
人工座席分配(演示接口)
参数
user_id: 必填,用户ID
响应字段
staff_id: 分配的座席ID(使用当前默认客服ID) queue_count: 分配的座席排队数(随机 0-3) queue_eta_minutes: 座席排队时间预估(queue_count * 3 分钟)
调用示例
curl -X POST https://kefu.aipm123.com/api/assign_staff \
-H 'Content-Type: application/json' \
-d '{
"user_id": "wm..."
}'
响应示例
{
"staff_id": "wk...",
"queue_count": 2,
"queue_eta_minutes": 6
}
POST /api/upload_file
上传文件到服务器
参数
file: 必填,文件数据 (multipart/form-data)
调用示例
curl -X POST https://kefu.aipm123.com/api/upload_file \ -F "file=@/path/to/image.jpg"
响应示例
{
"ok": true,
"url": "/uploads/1700000000000_image.jpg",
"name": "1700000000000_image.jpg"
}
GET /db/messages
从数据库查询标准化消息
参数
conversation_id: 可选,会话ID session_id: 可选,会话分段ID(筛选该分段开始至结束时间范围内的消息) direction: 可选,消息方向(in/out) external_userid: 可选,客户ID open_kfid: 可选,客服账号ID agent_id: 可选,Agent唯一标识(按绑定范围筛选客户消息) limit: 可选,返回条数(默认100)
调用示例
curl 'https://kefu.aipm123.com/db/messages?session_id=SESSION_ID&limit=50'
GET /db/sessions
查询会话分段(表:public.kf_sessions)
参数
conversation_id: 可选,会话ID external_userid: 可选,客户ID open_kfid: 可选,客服账号ID status: 可选,会话状态,参考说明 order: 可选,start_time.asc|start_time.desc limit: 可选,默认100
调用示例
curl 'https://kefu.aipm123.com/db/sessions?conversation_id=wk...__wm...&order=start_time.desc&limit=50'
状态值说明
open: 进行中(未结束) closed: 已结束(包含所有结束状态) timeout_closed: 系统超时自动结束 customer_closed: 客户主动结束 staff_closed: 人工客服结束 agent_closed: 智能体结束 ticketed: 已转工单
POST /db/sessions/summary
更新某个 session 的 summary 总结字段
参数
session_id: 必填,会话分段ID summary: 必填,总结内容
调用示例
curl -X POST https://kefu.aipm123.com/db/sessions/summary \
-H 'Content-Type: application/json' \
-d '{
"session_id": "sess_...",
"summary": "本次会话总结..."
}'
响应示例
{
"ok": true
}
GET /db/conversations
从数据库查询会话列表
参数
external_userid: 可选,客户ID open_kfid: 可选,客服账号ID agent_id: 可选,Agent唯一标识(按绑定范围筛选客户会话) limit: 可选,返回条数(默认100)
调用示例
curl 'https://kefu.aipm123.com/db/conversations?agent_id=agent-001&limit=50'
GET /db/send_receipts
从数据库查询发送回执
参数
open_kfid: 可选,客服账号ID external_userid: 可选,客户ID limit: 可选,返回条数(默认100)
调用示例
curl 'https://kefu.aipm123.com/db/send_receipts?open_kfid=wk...&external_userid=wm...&limit=50'
GET /callback
接收来自企业微信的验证请求并返回
echostr参数
msg_signature/signature: 必填,签名 timestamp: 必填,时间戳 nonce: 必填,随机数 echostr: 必填,回声字符串
调用示例
curl 'https://kefu.aipm123.com/callback?msg_signature=...×tamp=...&nonce=...&echostr=...'
POST /callback
接收来自企业微信的回调消息,记录事件并触发同步
参数
Content-Type: 必填,请求体类型(application/xml 或 application/json) Encrypt: 可选,加密字段
调用示例
curl -X POST 'https://kefu.aipm123.com/callback?msg_signature=...×tamp=...&nonce=...' \
-H 'Content-Type: application/json' \
-d '{
"Encrypt": "..."
}'