事件通道不用公网
用钉钉 Stream 模式接收事件,服务端主动出站建长连接,不需要准备公网回调地址。
同样是聊天工具入口,钉钉的接入条件和飞书、企业微信不一样,不能照搬。
用钉钉 Stream 模式接收事件,服务端主动出站建长连接,不需要准备公网回调地址。
扫码登录、打印通知与卡片释放、云打印、通讯录同步,一套服务、一份配置。
人员、作业与日志都留在客户自己的服务器和内网,不上传到我们这边。
离线 license 按功能位授权,绑定服务器 UUID,换机需要重新授权。
都围绕一件事:让员工在钉钉里完成打印动作,不用再记一套账号。
复合机面板显示二维码,员工用钉钉确认后登录;服务把钉钉身份映射到 PaperCut 用户,作业跟着人走。
提交后推钉钉消息,卡片上直接释放或取消;只有任务所有者能操作,重复点击也只执行一次。
把 PDF、图片或 Office 文件发给机器人,服务转成 PDF 后投进专用的 Hold 队列,到机刷卡再出纸。
从钉钉通讯录同步部门与人员;默认不删除本地账号,避免误删历史用量。
装之前先把这三条链路的网络确认掉,后面会省很多事。
钉钉 Stream,服务端出站 443,不需要公网回调地址。
本机调用 PaperCut XML-RPC 9191,读写作业与用户。
需要一个手机可达的 redirect_uri:公网 HTTPS、反向代理或 VPN 任选其一。
网络
部署环境
授权与依赖
常规项目的起点配置,实际按现场调整。
| 项目 | 要求 | 说明 |
|---|---|---|
| 网络位置 | 内网,与 PaperCut 同机或同网段 | 不要求服务器放在公网 |
| 操作系统 | Windows Server 2019+ / Windows 10+ | 不支持的系统需要先确认 |
| 运行时 | Python 3.10+ | 单服务部署 |
| 事件接入 | 钉钉 Stream 长连接(出站 443) | 无公网回调 |
| 扫码登录 | 手机可达的 redirect_uri | 公网 HTTPS / 反向代理 / VPN |
| 授权 | 离线 license,按功能位 | 绑定 server.uuid |
| PaperCut 依赖 | Web Services API | 读写作业与用户 |
| 云打印 | LibreOffice + 专用 Hold 队列 | Office 先转 PDF |
把网络结构、PaperCut 版本和钉钉应用情况发给我们,先确认 Stream、9191 和 redirect_uri 这三条能不能通。