PrinterShare 数据 API:云打印机、授权与驱动包
PrinterShare Mobile Print 是 Mobile Dynamix 推出的 Android 打印应用,可打印文档、照片、联系人、日历事件、网页和 Gmail 邮件会话,也能处理从系统打印对话框发出的任务。它的 Android 打印服务(Print Service)让其他应用也能直接调用它打印;打印机可经 Wi-Fi、USB、蓝牙和 SMB 连接选取,驱动浏览器则负责安装厂商驱动包。登录 PrinterAnywhere 云账号后,可发现远程打印机,并管理常用打印机与个人资料。高级版权限可通过 Google Play 结算、配套的高级版应用,或在激活界面输入授权码来解锁。美国区商店页收录的版本为 12.25.1。居家办公者、出差人群以及共用云打印机的企业,可把它当作跨多个打印机品牌的通用方案,替代各品牌自家的打印客户端。
云打印机清单以 public-id 为主线,title、model、location 与 online 描述用户可以选中的那台设备。目录与常用打印机记录把打印机同其 owner 和 capabilities(含彩色与双面支持)关联起来。paper-formats 集合带有 纸张规格标识、宽高、可打印区域的位置与尺寸、自定义纸张标志和纸张名称;bins 标识进纸盒。关键词与在线过滤让设施团队能区分「匹配的打印机」和「当前可用的打印机」,而同一个公开标识也让办公室打印机地图与常用列表保持一致。
账号与授权记录提供另一层背景。用户资料带有 name、mail、city、country 等联系与地址信息,并以会话 token 驱动账号级操作。高级版激活把 license_code 或 purchase_token 同 device_id、device_model、app_version 与 os_version 关联;status 成功后,返回的授权码成为本地 pid。按国家区分的方案把 sku 与 price 配对,涵盖月付、年付与一次性购买。获授权的设备管理团队可借助这些字段,在受管手机上核对高级版权限与所选方案。
驱动包身份在清单之外增加了 name、version 与 bundled,并配有成对的光栅数据与适配设备 ABI 的原生代码。构建目录以原始 XML body 保留,不对其内部标签附加缺乏依据的含义。设备镜像维护者可以把选定的驱动版本同它所支持的打印机放在一起跟踪,而不是混用互不匹配的组件。openData Studio 把这些打印机、账号、授权与驱动记录做成可调用的开放数据,服务于共享打印机清单、公共打印机发现与受管设备集成。
应用截图
API 端点一览
以下端点与请求/响应示例均依据应用界面推导重构,为示意说明,并非实际抓包。
激活高级版授权
POST
/v1/entitlements/confirmopendata提交手动输入的 license_code 或 Play 的 purchase_token,并附带 device_id、device_model、country、app_version 与 os_version;status=success 时把返回的 license_code 存为 pid。
认证方式: 无需令牌。JSON 请求体携带 license_code 和/或 purchase_token 以及 device_id;status=success 时,返回的 license_code 会作为本地 pid 保存,待处理的 purchase_token 随即清除。
- license_code
- purchase_token
- device_id
- device_model
- country
- app_version
- os_version
- status
- message
- action_text
- action_link
- pid
POST /v1/entitlements/confirm HTTP/1.1 Content-Type: application/json { "license_code": "DEMO-LICENSE-001", "purchase_token": "your-purchase-token", "device_id": "your-device-id", "device_model": "Demo Phone", "country": "US", "app_version": "12.25.1", "os_version": "14" }{ "status": "success", "license_code": "DEMO-LICENSE-001", "message": "Illustrative activation completed", "action_text": "", "action_link": "" }查询高级版 SKU 价格
GET
/v1/plans/offersopendata按设备所在国家返回 android_premium 的 sku/price 行。客户端把 sku sub1 对应月付、sub12 对应年付、pay 对应一次性购买。
认证方式: 无需令牌。查询参数包含 product=android_premium 与设备所在国家。
- product
- country
- sku
- price
GET /v1/plans/offers?product=android_premium&country=US HTTP/1.1[ { "sku": "sub1", "price": "$4.00" }, { "sku": "sub12", "price": "$28.00" }, { "sku": "pay", "price": "$18.00" } ]打开高级版结账页
GET
/v1/checkout/previewopendata打开所选 sku 的 android_premium 结账页,携带 purchase_token、country、app_version 以及经 URL 编码的 device_model。
认证方式: 无需令牌。浏览器结账使用 product=android_premium,另可附带 sku、purchase_token、country、app_version 与 device_model。打开结账页之前,待处理的 purchase_token 和 purchase_time 会先保存在本地。
- product
- sku
- purchase_token
- country
- app_version
- device_model
- purchase_time
GET /v1/checkout/preview?product=android_premium&sku=sub1&purchase_token=your-purchase-token&country=US&app_version=12.25.1&device_model=Demo%20Phone HTTP/1.1<!doctype html> <html><body><p>Illustrative premium checkout for the selected plan.</p></body></html>登录 PrinterAnywhere
POST
/v1/accounts/session/openopendata用 login/password 登录,或刷新已保存的 token,返回 success、会话 token、用户资料以及常用打印机列表(echo=favorites)。
认证方式: SOAP 账号凭据,或此前签发的会话令牌。XML 请求体携带 login 与 password,或携带 token;高级版用户可另附 premium-key。返回的会话令牌用于后续云端操作的鉴权。
- echo
- login
- password
- token
- country
- locale
- device_id
- device_model
- os_version
- premium-key
- success
- user
- id
- name
- nick
- printer
- public-id
- title
- model
- location
- online
- server-message
- message
POST /v1/accounts/session/open HTTP/1.1 Content-Type: text/xml; charset=utf-8 SOAPAction: "urn:print-demo:SessionStart" <?xml version="1.0" encoding="utf-8"?> <Envelope><Body><SessionStart><Param> <data echo="favorites"> <login>demo-user</login><password>your-password</password> <country>US</country><locale>en_US</locale><device_id>your-device-id</device_id> <device_model>Demo Phone</device_model><os_version>14</os_version> </data> </Param></SessionStart></Body></Envelope><?xml version="1.0" encoding="utf-8"?> <Envelope><Body><SessionStartResult> <response success="true"> <token>your-session-token</token> <user id="demo-user-01"> <login>demo-user</login><name>Demo User</name><nick>demo</nick> <mail>[email protected]</mail><phone>+1-202-555-0119</phone> <address>100 Example Street</address><city>Austin</city><state>TX</state> <zip>78701</zip><country>US</country> </user> <printer online="True"> <public-id>demo-printer-01</public-id><location>Example Lobby</location> <title>Example Lobby Color</title><model>Demo Color Printer</model> <owner id="demo-user-01"><login>demo-user</login><name>Demo User</name><mail>[email protected]</mail></owner> <details> <capabilities color="1" duplex="1"/> <paper-formats default="1"><paper format="1" width="2159" height="2794" area-x="42" area-y="42" area-width="2075" area-height="2710" custom="false" name="Letter"/></paper-formats> <bins default="1"><bin bin="1" name="Tray 1"/></bins> </details> </printer> <server-message></server-message> </response> </SessionStartResult></Body></Envelope>注册 PrinterAnywhere 用户
POST
/v1/accounts/enrollopendata用 user 的 mail、name 与 password 创建 PrinterAnywhere 账号,返回会话 token 与新用户资料,会话行为与登录一致。
认证方式: 无需令牌。SOAP 注册请求体携带嵌套 user 下的 mail、name 与 password 以及设备信息;返回的 token 用于建立会话。
- user
- name
- password
- country
- locale
- device_id
- device_model
- os_version
- premium-key
- success
- token
- server-message
- message
POST /v1/accounts/enroll HTTP/1.1 Content-Type: text/xml; charset=utf-8 SOAPAction: "urn:print-demo:AccountEnroll" <?xml version="1.0" encoding="utf-8"?> <Envelope><Body><AccountEnroll><Param> <data> <user><mail>[email protected]</mail><name>Demo User</name><password>your-password</password></user> <country>US</country><locale>en_US</locale><device_id>your-device-id</device_id> <device_model>Demo Phone</device_model><os_version>14</os_version> </data> </Param></AccountEnroll></Body></Envelope><?xml version="1.0" encoding="utf-8"?> <Envelope><Body><AccountEnrollResult> <response success="true"> <token>your-session-token</token> <user id="demo-user-01"> <login>demo-user</login><name>Demo User</name><nick>demo</nick> <mail>[email protected]</mail><phone>+1-202-555-0119</phone> <address>100 Example Street</address><city>Austin</city><state>TX</state> <zip>78701</zip><country>US</country> </user> <server-message></server-message> </response> </AccountEnrollResult></Body></Envelope>搜索云打印机目录
POST
/v1/shared-printers/lookuposint按关键词查找共享云打印机,可选仅返回 online=true 的打印机,并返回解析为 public-id、title、model、location、owner、capabilities、paper-formats 与 bins 的打印机行。
认证方式: SOAP 会话令牌,以 token 元素放在 XML 请求体中。可选的 online 属性可把目录匹配限定为在线打印机。
- token
- keyword
- online
- success
- printer
- public-id
- title
- model
- location
- owner
- capabilities
- paper-formats
- bins
- message
POST /v1/shared-printers/lookup HTTP/1.1 Content-Type: text/xml; charset=utf-8 SOAPAction: "urn:print-demo:DirectoryLookup" <?xml version="1.0" encoding="utf-8"?> <Envelope><Body><DirectoryLookup><Param> <data online="true"><token>your-session-token</token><keyword>example lobby</keyword></data> </Param></DirectoryLookup></Body></Envelope><?xml version="1.0" encoding="utf-8"?> <Envelope><Body><DirectoryLookupResult> <response success="true"> <printer online="True"> <public-id>demo-printer-01</public-id><location>Example Lobby</location> <title>Example Lobby Color</title><model>Demo Color Printer</model> <owner id="demo-user-01"><login>demo-user</login><name>Demo User</name><mail>[email protected]</mail></owner> <details> <capabilities color="1" duplex="1"/> <paper-formats default="1"><paper format="1" width="2159" height="2794" area-x="42" area-y="42" area-width="2075" area-height="2710" custom="false" name="Letter"/></paper-formats> <bins default="1"><bin bin="1" name="Tray 1"/></bins> </details> </printer> </response> </DirectoryLookupResult></Body></Envelope>收藏或取消收藏云打印机
POST
/v1/printer-favorites/changeopendata按 public-id 添加(action=like)或移除(action=dislike)常用打印机。like 响应包含一个 printer 元素,用来替换或追加到本地常用列表。
认证方式: SOAP 会话令牌,位于 XML 请求体中。action=like 添加收藏;action=dislike 移除收藏。
- token
- action
- printer
- public-id
- success
- title
- model
- location
- online
- message
POST /v1/printer-favorites/change HTTP/1.1 Content-Type: text/xml; charset=utf-8 SOAPAction: "urn:print-demo:FavoriteChange" <?xml version="1.0" encoding="utf-8"?> <Envelope><Body><FavoriteChange><Param> <data action="like"><token>your-session-token</token><printer><public-id>demo-printer-01</public-id></printer></data> </Param></FavoriteChange></Body></Envelope><?xml version="1.0" encoding="utf-8"?> <Envelope><Body><FavoriteChangeResult> <response success="true"> <printer online="True"> <public-id>demo-printer-01</public-id><location>Example Lobby</location> <title>Example Lobby Color</title><model>Demo Color Printer</model> <owner id="demo-user-01"><login>demo-user</login><name>Demo User</name><mail>[email protected]</mail></owner> <details> <capabilities color="1" duplex="1"/> <paper-formats default="1"><paper format="1" width="2159" height="2794" area-x="42" area-y="42" area-width="2075" area-height="2710" custom="false" name="Letter"/></paper-formats> <bins default="1"><bin bin="1" name="Tray 1"/></bins> </details> </printer> </response> </FavoriteChangeResult></Body></Envelope>更新 PrinterAnywhere 个人资料
POST
/v1/accounts/profile/saveopendata把资料编辑表单中已登录用户的 name、nick、mail、phone、address、city、state、zip 与 country 写入账号,成功后保留原有的用户 id。
认证方式: SOAP 会话令牌,位于 XML 请求体中,并随附嵌套的 user 资料。
- token
- user
- name
- nick
- phone
- address
- city
- state
- zip
- country
- success
- message
POST /v1/accounts/profile/save HTTP/1.1 Content-Type: text/xml; charset=utf-8 SOAPAction: "urn:print-demo:ProfileSave" <?xml version="1.0" encoding="utf-8"?> <Envelope><Body><ProfileSave><Param> <data><token>your-session-token</token> <user><name>Demo User</name><nick>demo</nick><mail>[email protected]</mail> <phone>+1-202-555-0119</phone><address>100 Example Street</address><city>Austin</city> <state>TX</state><zip>78701</zip><country>US</country></user> </data> </Param></ProfileSave></Body></Envelope><?xml version="1.0" encoding="utf-8"?> <Envelope><Body><ProfileSaveResult> <response success="true"><message>Illustrative profile saved</message></response> </ProfileSaveResult></Body></Envelope>发送密码提醒
POST
/v1/accounts/recovery/sendopendata在本地邮箱格式检查通过后,请 PrinterAnywhere 向指定 mail 地址发送密码提醒。
认证方式: 无需令牌。SOAP 提醒请求体携带账号邮箱,且已先在本地做过邮箱格式检查。
- success
- message
POST /v1/accounts/recovery/send HTTP/1.1 Content-Type: text/xml; charset=utf-8 SOAPAction: "urn:print-demo:RecoverySend" <?xml version="1.0" encoding="utf-8"?> <Envelope><Body><RecoverySend><Param> <data><mail>[email protected]</mail></data> </Param></RecoverySend></Body></Envelope><?xml version="1.0" encoding="utf-8"?> <Envelope><Body><RecoverySendResult> <response success="true"><message>Illustrative reminder requested</message></response> </RecoverySendResult></Body></Envelope>退出 PrinterAnywhere
POST
/v1/accounts/session/closeopendata使 PrinterAnywhere SOAP 服务上已保存的会话令牌失效。
认证方式: SOAP 会话令牌,以 token 元素放在 XML 请求体中。
- token
- success
POST /v1/accounts/session/close HTTP/1.1 Content-Type: text/xml; charset=utf-8 SOAPAction: "urn:print-demo:SessionEnd" <?xml version="1.0" encoding="utf-8"?> <Envelope><Body><SessionEnd><Param> <data><token>your-session-token</token></data> </Param></SessionEnd></Body></Envelope><?xml version="1.0" encoding="utf-8"?> <Envelope><Body><SessionEndResult> <response success="true"/> </SessionEndResult></Body></Envelope>下载打印机驱动包
GET
/v1/driver-bundles/{name}/{version}/archiveopendata从驱动浏览器获取以 name|version|bundled 标识的驱动包所对应的光栅数据 zip(以及按 CPU ABI 区分的代码 zip)。
认证方式: 无需令牌。User-Agent 标识打印客户端及应用版本。驱动包由 name、version 与 bundled 标识;与之配套的原生代码压缩包取决于设备的 CPU ABI。
- name
- version
- bundled
GET /v1/driver-bundles/demo-raster/1.0/archive?bundled=false HTTP/1.1 User-Agent: PrintClient-Demo/1.0(application/zip; illustrative driver archive bytes for the selected name and version)获取驱动构建目录
GET
/v1/driver-bundles/catalogopendata下载驱动包构建目录 XML,并把原始响应体按字符串保存。
认证方式: 无需令牌。获取驱动目录不需要账号凭据;传输层的回退方式取决于设备所在国家。
- body
GET /v1/driver-bundles/catalog HTTP/1.1<?xml version="1.0" encoding="utf-8"?> <!-- Illustrative driver build catalog body; retained in full as raw text. -->
数据类别
- 云打印机
- 用户资料
- 授权许可
- 驱动包
数据使用场景与案例
共享打印机清单
企业 IT 任务登录后拉取常用打印机行,保存 public-id、title、model、location、online、paper-formats 与 bins,使共享 PrinterAnywhere 打印机的楼层图保持最新,无需逐台走访设备。
公共打印机发现
设施或差旅服务台按关键词并带 online=true 搜索目录,记录 public-id、title、model 与 owner,让访客能选中大堂或酒店里确实在线的打印机。
高级版授权与 SKU 监测
移动设备管理(MDM)服务台按 device_id 提交 license_code 或 purchase_token,读取 status 与 pid,并留存 sku/price 行(sub1、sub12、pay)的快照,让未付费的安装在云打印停用之前就能被发现。
驱动包版本锁定
设备镜像任务读取构建目录,下载 {name}_{version}_data.zip 以及对应的 _code_{abi}.zip,让手机预装确定版本的光栅与原生驱动,而不是不匹配的厂商驱动包。
常见问题
PrinterShare 如何为云打印机目录做鉴权?
云端登录使用账号 login 与 password,或此前保存的会话令牌。登录成功会返回 token、用户资料和常用打印机。注册则用 mail、name 与 password 创建账号,并建立同类会话。目录搜索、收藏变更、资料更新与退出登录都把该令牌作为 XML 请求体元素传递;示例中的路径与凭据均为示意或占位。
哪些字段描述一台云打印机?
打印机以 public-id 为键,带有 online、location、title、model 以及嵌套的 owner。其 capabilities 描述彩色与双面支持。paper-formats 集合描述纸张规格、尺寸、可打印区域的位置与尺寸、自定义纸张设置和纸张名称;bins 标识进纸盒。关键词搜索可选择只返回 online 标志为 true 的打印机。
高级版授权与方案如何表示?
激活把 license_code 和/或 purchase_token 与 device_id、device_model、country、app_version 和 os_version 组合提交。status 表示成功时,返回的 license_code 成为本地 pid。按国家区分的方案把 sku 与 price 配对:sub1 表示月付,sub12 表示年付,pay 表示一次性购买。结账页把所选 SKU 与设备信息带入浏览器页面。示例中的价格与标识仅为示意,并非当前报价。
集成可以使用哪些驱动包信息?
驱动浏览器按 name、version 与 bundled 状态标识驱动包。安装时把光栅数据与匹配手机 CPU ABI 的原生代码配对。构建目录以原始 XML body 保留,而不是拆成一组具名子字段。设备管理工具可以锁定某个已知的驱动包身份并保留原始目录,不必假设其内部存在未公开的结构。
与 PrinterShare Mobile Print 相似的应用
- Mopria Print Service — Mopria Print Service 是 Mopria Alliance 的 Android 打印插件,可通过 Wi-Fi 或 Wi-Fi Direct 把照片、网页和文档打到 Mopria 认证打印机与一体机,并支持双面、纸张尺寸、PIN 打印和用户认证等选项。
- HP Smart — HP 应用(原名 HP Smart)是惠普打印机的配套软件,覆盖引导式装机、手机打印与扫描、传真发送、墨量提醒以及可打印模板。
- Epson iPrint — Epson iPrint 可从 Android 手机或平板把照片、PDF 和 Microsoft Office 文件打到局域网内的爱普生打印机;支持电子邮件的机型还能用远程打印从外地出纸。
- Brother iPrint&Scan — Brother iPrint&Scan 通过本地无线网把 Android 设备连到兄弟打印机或一体机,可打印照片、网页和文档,扫描到手机,并从 Dropbox、OneDrive 或 Evernote 打开文件。
- Canon PRINT — Canon PRINT 是佳能面向 PIXMA、MAXIFY、imageCLASS 和 SELPHY 打印机的配套应用,用来完成装机、打印与扫描、查看耗材余量,以及经云端发送打印任务。
- PrintHand Mobile Print — PrintHand Mobile Print 是面向多品牌打印机的 Android 打印应用,可通过 Wi-Fi、蓝牙、USB,或共享的 Windows/Mac 桌面客户端,把 Office 文档、照片、网页和云盘文件打出去。
- Samsung Print Service Plugin — Samsung Print Service Plugin 是接入 Android 打印框架的插件(许多 Galaxy 设备预装),采用 Mopria 技术,可把照片、网页和文档打到三星及其他 Mopria 认证品牌的打印机。
相关主题
- PrinterShare 数据 API
- PrinterShare 云打印机目录
- PrinterShare public-id
- PrinterShare 纸张规格
- PrinterShare 高级版授权
- PrinterShare SKU 价格
- PrinterShare 驱动包
- Mobile Dynamix 打印数据
需要集成这个 App 的数据 API?
我们可为任意指定 App 交付定制集成——源码交付 USD 500 起,或托管 API 按调用计费。告诉我们您需要的数据即可。
- 每个项目均签 NDA 与 SOW
- 3–7 天交付
- 验收通过后才付款
- 仅在授权范围内作业