企业微信机器人:图片和文件为什么塞不进文本接口

客服要把报价单发进会话,第一反应往往是把文件路径写进 content。文本接口按字符串投递。对端收到的是路径或一串乱码,不是可点开的附件。机器人「会发字」和「会发文件」不是同一个 method。混在一个函数里,失败时两套参数一起改,归因漂掉。

本机磁盘路径能被 Python 打开,不代表对端能下载。通道传的不是你的文件系统。

文本投递只保证字符串可见

/msg/sendText 的 content 是会话里那句字。它可以提到「报价单见附件」,它不能把附件变成气泡。图片、文件要走文档里对应的发送方法,参数形态也不同,常见要先有可被通道使用的素材,再引用。素材没准备好就调发送,回执失败会被写成「文本接口不稳定」。文本接口那天可能一直是绿的。

所以发送层要按消息类型分支。类型在入队时就定,不要到 HTTP 前再猜。猜错的结果是:任务表写了图片,实际打出去的是文本,值班以为图片已达。

文本探针仍用文档字段,用来证明节点和会话是活的,不要用来夹带文件:

python 复制代码
def enqueue(kind, guid, to_id, payload):
    if kind == "text":
        return {
            "method": "/msg/sendText",
            "params": {"guid": guid, "toId": to_id, "content": payload["text"]},
        }
    if kind in ("image", "file"):
        # method、素材字段以文档为准,不要塞进 content
        raise NotImplementedError("附件走对应发送接口,先备素材再入队")
    raise ValueError(kind)

NotImplementedError 出现在联调期是好事。它逼你去对文档,而不是把 /tmp/a.pdf 写进客户群。生产里应换成明确的拒绝码:素材未就绪、类型不支持、对象非法。拒绝码进任务表,才能和通道超时切开。

先过文本,再过一种附件

第一期只验收文本。文本不过,不要测图片。第二期只加一种附件,图片或文件选一个。两种一起上,失败会说「附件都不行」,其实可能是素材过期、会话类型错、节点掉线里的某一个。

同一工单不要连发「字 + 图 + 文件」三次而不做间隔。员工号有频率约束。附件失败禁止用文本接口重试同一文件路径。那不是降级,那是把路径泄露到客户会话。真要降级,应换成人工已审的短句,例如「文件发送失败,坐席稍后补」。

验收:文本测试句在会话里原文可见;把文件路径写入 content,对端不应出现可打开附件;按文档走附件方法后,气泡可点开且与本地文件一致。三步都记下会话类型。内部群机器人能推文本,同样证明不了客户群附件已通。

查看企业微信 API 文档:

https://doc.qiweapi.com/

相关推荐
wechatbot8882 天前
企业微信HTTP协议接口完整接入教程|全量消息收发 API 实战
网络协议·http·微信·企业微信·ai编程
wechatbot8882 天前
企微第三方自动化开发:原生能力无阉割 API 开放平台介绍
后端·ios·微信·企业微信·ai编程·ipad
地球@+jdhb445 天前
企业私域运营新趋势:快手短视频平台跳转小程序企微卡片链路搭建成为商家运营重点
小程序·企业微信
ITyunwei09876 天前
ITIL 5 落地前,先补齐工单数据底座的 4 步
运维·企业微信
9624567 天前
从 ERP 变更记录到企业微信实时通知:标准工时变更通知系统工程复盘
企业微信
随性而行3607 天前
企业微信二次开发如何接入大模型工具?API接口实现智能任务调用的技术思路
java·前端·人工智能·python·微信·机器人·企业微信
爱签AI电子合同7 天前
电子合同大批量怎么测?并发与批量处理维度专项测评
服务器·数据库·人工智能·企业微信·电子签名
本人手速666+8 天前
企微开发API如何设计客户冻结状态?WeComApi 在删除、投诉和异常客户场景中的自动化边界
运维·分布式·自动化·企业微信·企微外部群开发·wecomapi·企业微信二次开发
AlexCookie8 天前
低空周报(第五期)2026年9月21日‑9月27日|多地新版适飞空域落地,西安低空大会集中产业对接,eVTOL政企签约释放商业化信号
经验分享·企业微信·创业创新·低空经济·行业周报
爱签AI电子合同8 天前
电子合同上手成本怎么测?易用性维度专项测评
服务器·人工智能·智能合约·企业微信