微信机器人API接口:图片、文件、语音收发快速搞定
一、 引言如果一个微信机器人只能发文字那它的应用场景将非常受限。在真实的业务场景中用户会发来报错截图图片、表格发票文件以及语音消息。对接 E云管家 API处理这些媒体文件其实非常简单。因为平台已经帮你完成了底层多媒体流的上传与下载转换。二、 媒体消息的接收机制当好友发送一张图片给你时E云管家 推送给你的 Webhook 数据中msg_type会变为image。此时content字段通常不再是普通文本而是一个暂存在云端的媒体文件 URL或消息资产 ID。{ event: FriendMessage, msg_type: image, content: http://store.eyunguanjia.com/download/img/xyz123.jpg, from_user: wxid_112233 }你的后端程序只需要利用 HTTP 客户端如 Python 的 urllib直接下载这个 URL 即可将图片保存到本地服务器。三、 多媒体消息发送接口实践Python 示例向用户发送多媒体文件时E云管家 提供了专门的扩展接口通常支持直接传公网 URL免去了你本地上传二进制流的烦恼。1. 发送网络图片import requests def send_image(instance_id, to_user, img_url): url http://api.eyunguanjia.com/v1/message/send_image payload { instance_id: instance_id, to_user: to_user, image_url: img_url # 必须是公网可访问的图片链接 } requests.post(url, jsonpayload)2. 发送本地/网络文件如 PDF、Exceldef send_file(instance_id, to_user, file_url, file_name): url http://api.eyunguanjia.com/v1/message/send_file payload { instance_id: instance_id, to_user: to_user, file_url: file_url, file_name: file_name # 微信端显示的完整文件名 } requests.post(url, jsonpayload)四、 开发注意事项• 文件大小限制微信原生对传输文件有大小限制如视频不能超过 25MB文件不能超过 100MB。通过 API 发送时务必先在本地做一层文件大小检查。• 语音格式微信内部使用的是 SILK 格式编码。接收到语音消息时E云管家通常会提供现成的 URL部分高级配置还会直接提供语音转文字后的文本需开通额外服务开发时应优先使用转文字后的文本进行逻辑判断。