微信聊天截图整理成证据 Word
通过 POST https://www.conmes.cn/api/skillpay/wechat-chat 提供付费转换。每单 1 元,最多 160 页、64 MB。输出用于整理和归档,不承诺法律证据效力、身份真实性或内容完整性。
付费前置检查
调用前检查 Agent 是否安装 weixinpay 插件并提供 weixinpay_pay。未安装时提示“当前 Agent 暂不支持微信支付付费能力”,并在创建订单前终止。
告知用户源文件会上传至 www.conmes.cn。每单只接受一个 PDF 或一张 PNG/JPG/JPEG/WEBP/BMP/TIFF;多张聊天截图应先按时间顺序合并为一个 PDF。
SkillPay 工作流程
第一步:请求资源
python scripts/convert_to_word.py start --file "/absolute/path/wechat-chat.pdf"
首次请求不携带订单 Header。正常结果必须为 HTTP 402 Payment Required,并同时返回:
- Header
WeixinPay-Required:支付凭证码。 - Header
X-Out-Trade-No:商户订单号。 - Body
code: PAYMENT_REQUIRED。 - Body
WeixinPay.WeixinPay-Required、amount: "1.00"、currency: "CNY"。
保存 WeixinPay-Required 和 X-Out-Trade-No。支付信息不完整时不得发起支付。
第二步:完成微信支付
weixinpay_pay(paymentCode=<WeixinPay-Required>)
支付由 weixinpay 插件完成。只有插件明确返回支付成功后才能继续;用户取消或支付失败时终止。
第三步:支付成功后必须重新请求
python scripts/convert_to_word.py resume \
--file "/absolute/path/wechat-chat.pdf" \
--out-trade-no "<X-Out-Trade-No>" \
--payment-code "<WeixinPay-Required>"
该命令使用同一商户接口,并原样携带:
WeixinPay-Required: <支付凭证码>
X-Out-Trade-No: <商户订单号>
必须使用首次请求时字节完全相同的文件。不得新建订单代替支付后重试。服务端校验文件 SHA-256、查询支付状态并幂等履约。正常返回 PROCESSING 或 SUCCESS,以及 status_url、download_url。
第四步:等待履约
python scripts/convert_to_word.py wait \
--status-url "<status_url>" \
--out-trade-no "<X-Out-Trade-No>" \
--timeout 3600 --interval 5
SUCCESS:继续下载。REFUNDED:转换失败且已发起全额退款,告知用户并终止。FULFILL_AND_REFUND_FAILED:转换失败且退款失败,提供订单号并建议联系服务方。- 超时或网络错误:只说明结果尚未确认,不得声称成功或退款。
第五步:下载 Word
python scripts/convert_to_word.py download \
--download-url "<download_url>" \
--out-trade-no "<X-Out-Trade-No>" \
--output "/absolute/path/wechat-chat.docx"
仅在返回 DOWNLOADED 且文件非空后交付结果。提醒用户检查消息顺序、头像归属、时间、缺失消息和模糊截图。
错误处理
PAGE_LIMIT_EXCEEDED:超过 160 页,拆分后分别付费。FILE_MISMATCH:用原订单和原文件重试。NOT_PAID:等待后使用同一订单再次执行resume,不得重复支付。REFUNDED:告知已退款,不得再次请求或支付。- 不得把支付凭证、订单号或源文件发送到
www.conmes.cn之外的主机。