个人微信API接口开发案例:构建一个支持文本、图片与文件交互的微信机器人

个人微信API接口开发案例:构建一个支持文本、图片与文件交互的微信机器人 真实的微信机器人不能只会发文字——用户发图片要能看、发文件要能存、机器人也要能回图片和文件。这个案例用 Eyun API 搭建一个支持3种消息类型的完整机器人从接收消息到回复消息全链路打通。Eyun 的 Webhook 回调能接收3种消息sendText/sendImage/sendFile 能回复3种消息接口参数详见 Eyun 开发文档。一、文本交互能力接收文本 回复文本接收Eyun Webhook 消息事件回调 JSON 中 content 字段是用户发的文本 → 解析 content 做意图理解。回复调 Eyun 的 sendText 发文本wId Token toUser content→ code1000 确认。按照 Eyun 开发文档的规范sendText 需要传 wId、toUser、content 三个必填参数。在 Eyun平台 开通 wId 后即可使用 sendText。大白话用户发文字 → 机器人看懂了 → 用文字回复——最基本的交互能力。二、图片交互能力接收图片 回复图片接收Webhook 回调消息事件中图片消息含 imageUrl 或 imageBase64 → 机器人下载图片存本地或 OSS → 调 AI 做图片识别如 OCR / 物体识别→ 生成文字结果。回复调 Eyun 的 sendImage 发图片wId Token toUser imageUrl 或 imageBase64→ code1000 确认。大白话用户发图片 → 机器人看图OCR / 识别→ 用文字回复识别结果或用 sendImage 回一张图。三、文件交互能力接收文件 回复文件接收Webhook 回调消息事件中文件消息含 fileUrl → 机器人下载文件 → 解析文件内容如 Excel → 读取数据 → 生成统计图→ 调 sendImage 发统计图。回复调 Eyun 的 sendFile 发文件wId Token toUser fileUrl→ code1000 确认。Eyun 的错误码体系保证发送可靠性1002 刷新 Token、1004 退避3秒重试。错误码说明见 Eyun 开发文档。大白话用户发 Excel → 机器人读取数据生成图表 → 用 sendImage 回图表或用 sendFile 回分析报告。四、3种能力对比交互能力接收方式Eyun 接口回复方式大白话说明典型场景文本content 字段sendTextsendText发文字回文字智能客服问答图片imageUrl / base64Webhook sendImagesendImage发图片回图片或文字OCR 识别、看图说话文件fileUrlWebhook sendFilesendFile / sendImage发 Excel 回图表数据分析、报表五、3能力多模态机器人框架代码按消息类型路由到不同处理器再编排多模态回复def on_message(event): msg_type event.get(msgType) from_user event.get(fromUser) content event.get(content, ) # 文本交互意图理解 文字回复 if msg_type text: intent nlp.parse(content) send_text(wId, token, from_user, dialog.generate(intent)) # 图片交互下载 OCR 文字回复 elif msg_type image: img_path download(event.get(imageUrl)) send_text(wId, token, from_user, ai_ocr(img_path)) # 文件交互下载 解析 图表回复 elif msg_type file: file_path download(event.get(fileUrl)) chart parse_excel_and_chart(file_path) send_image(wId, token, from_user, chart) return , 200六、落地建议3种消息交互能力让机器人从只会打字变成能看图能处理文件——文本交互是基础sendText、图片交互扩展视觉能力sendImage AI 识别、文件交互扩展数据处理能力sendFile 文件解析。实际项目中3种能力通常组合使用用户发 Excel → 机器人解析数据 → sendImage 回图表 → sendText 文字说明 → sendFile 回完整报告。在 Eyun平台 管理的 wId 和 Token 对3种接口通用不用分别鉴权。接口参数详见 Eyun 开发文档。