Vault - Hide Pics, App Lock icon

Vault 数据 API:云备份、恢复与找回邮箱

Wafer Co. · 身份

Vault 的云端能力围绕保险箱空间展开:POST /v1/auth/session 登录云账号并返回 accessToken 与存储配额;POST /v1/vault/backup 把短信、通话记录、联系人与隐藏文件元数据上传到云端,POST /v1/vault/restore 再按分片拉回。

媒体文件经 GET /v1/vault/media 按 fileId 下载(支持字节区间);POST /v1/account/recovery-email 则绑定用于重置锁屏密码的找回邮箱。

Vault - Hide Pics, App Lock(包名 com.netqin.ps,版本 6.8.12.80)是 Wafer Co. 的安卓隐私保险箱,用于隐藏照片、锁定应用、保存私密联系人、短信与通话记录。云端备份通过一套以 accessToken 认证的私有 API 完成。

应用截图

  • Vault - Hide Pics, App Lock 应用截图 1
  • Vault - Hide Pics, App Lock 应用截图 2
  • Vault - Hide Pics, App Lock 应用截图 3
  • Vault - Hide Pics, App Lock 应用截图 4
  • Vault - Hide Pics, App Lock 应用截图 5

API 端点一览

  • 云账号登录

    POST /v1/auth/session osint

    认证 Vault 云账号,返回 accessToken 及存储配额 / 已用量计数。

    认证方式: Vault password in the JSON body; the returned session token is reused on later cloud calls.

    • command
    • userInfo
    • uid
    • userName
    • level
    • password
    • softwareInfo
    • version
    • os
    • partner
    • language
    • status
    • code
    • message
    • title
    • content
    • accessToken
    • quota
    • used
    • step
    • tag

    依据应用界面重构的示意示例,并非实时抓包。

    POST /v1/auth/session HTTP/1.1
    Content-Type: application/json
    
    {
      "command": "login",
      "userInfo": {
        "uid": "10086001",
        "userName": "vault_user",
        "level": "1"
      },
      "password": "<vault-password>",
      "softwareInfo": {
        "version": "6.8.12.80",
        "os": "android",
        "partner": "googleplay",
        "language": "en"
      }
    }
    {
      "status": {
        "code": 0,
        "message": {
          "title": "OK",
          "content": "login success"
        }
      },
      "userInfo": {
        "accessToken": "<access-token>",
        "quota": 1073741824,
        "used": 24883200,
        "step": 0,
        "tag": 1
      }
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • reconstructed from the app's cloud sign-in flow
    • session token and quota counters match what the backup screens consume
  • 查询云存储配额

    POST /v1/account/storage opendata

    在备份或恢复前,读取当前保险箱的云存储配额与已用字节数。

    认证方式: userInfo.accessToken from sign-in, plus uid/userName/level.

    • command
    • uid
    • userName
    • level
    • accessToken
    • version
    • os
    • partner
    • language
    • status
    • code
    • title
    • content
    • quota
    • used
    • step
    • tag

    依据应用界面重构的示意示例,并非实时抓包。

    POST /v1/account/storage HTTP/1.1
    Content-Type: application/json
    
    {
      "command": "quota",
      "userInfo": {
        "uid": "10086001",
        "userName": "vault_user",
        "level": "1",
        "accessToken": "<access-token>"
      },
      "softwareInfo": {
        "version": "6.8.12.80",
        "os": "android",
        "partner": "googleplay",
        "language": "en"
      }
    }
    {
      "status": {
        "code": 0,
        "message": {
          "title": "OK",
          "content": ""
        }
      },
      "userInfo": {
        "accessToken": "<access-token>",
        "quota": 1073741824,
        "used": 24883200,
        "step": 0,
        "tag": 1
      }
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • reconstructed from the storage meter shown ahead of a cloud backup
  • 云端备份保险箱内容

    POST /v1/vault/backup osint

    把保险箱内的短信、通话记录、联系人、书签与隐藏文件元数据上传到云端。

    认证方式: userInfo.accessToken from sign-in.

    • command
    • uid
    • userName
    • level
    • accessToken
    • smsList
    • calllogList
    • contactList
    • bookmarksList
    • fileList
    • fileId
    • path
    • digest
    • size
    • currentPath
    • meta
    • contact_result
    • smsResult
    • calllogResult
    • bookmarkResult
    • fileResult
    • fileUrl
    • fileInfo
    • uploadSize

    依据应用界面重构的示意示例,并非实时抓包。

    POST /v1/vault/backup HTTP/1.1
    Content-Type: application/json
    
    {
      "command": "backup",
      "userInfo": {
        "uid": "10086001",
        "userName": "vault_user",
        "level": "1",
        "accessToken": "<access-token>"
      },
      "softwareInfo": {
        "version": "6.8.12.80",
        "os": "android",
        "partner": "googleplay",
        "language": "en"
      },
      "smsList": [],
      "calllogList": [],
      "contactList": [],
      "bookmarksList": [],
      "fileList": [
        {
          "fileId": "img-001",
          "path": "/vault/hidden/IMG_1001.jpg",
          "digest": "d41d8cd98f00b204e9800998ecf8427e",
          "size": 248832,
          "currentPath": "/vault/hidden/IMG_1001.jpg",
          "meta": "10002"
        }
      ]
    }
    {
      "status": {
        "code": 0,
        "message": {
          "title": "OK",
          "content": ""
        }
      },
      "userInfo": {
        "accessToken": "<access-token>"
      },
      "contact": { "result": 0 },
      "sms": { "result": 0 },
      "calllog": { "result": 0 },
      "bookmarks": { "result": 0 },
      "file": {
        "result": 0,
        "url": "/v1/vault/media",
        "fileInfo": [
          {
            "fileId": "img-001",
            "path": "/vault/hidden/IMG_1001.jpg",
            "digest": "d41d8cd98f00b204e9800998ecf8427e",
            "size": 248832,
            "currentPath": "/vault/hidden/IMG_1001.jpg",
            "uploadSize": 0
          }
        ]
      }
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • reconstructed from the app's cloud backup progress flow
    • file metadata rows match the hidden-media sync payload
  • 从云端恢复保险箱内容

    POST /v1/vault/restore osint

    询问云端需要恢复哪些保险箱分片(联系人、短信、通话记录、书签、文件)并拉回。

    认证方式: userInfo.accessToken from sign-in.

    • command
    • uid
    • userName
    • level
    • accessToken
    • contact
    • sms
    • calllog
    • bookmarks
    • file
    • fileList
    • fileId
    • path
    • digest
    • size
    • meta
    • fileUrl
    • fileInfo
    • mimeType
    • fileResult
    • calllogFileid
    • bookmarkFileid

    依据应用界面重构的示意示例,并非实时抓包。

    POST /v1/vault/restore HTTP/1.1
    Content-Type: application/json
    
    {
      "command": "restore",
      "userInfo": {
        "uid": "10086001",
        "userName": "vault_user",
        "level": "1",
        "accessToken": "<access-token>"
      },
      "softwareInfo": {
        "version": "6.8.12.80",
        "os": "android",
        "partner": "googleplay",
        "language": "en"
      },
      "contact": "true",
      "sms": "true",
      "calllog": "true",
      "bookmarks": "true",
      "file": "true",
      "fileList": [
        {
          "fileId": "img-001",
          "path": "/vault/hidden/IMG_1001.jpg",
          "digest": "d41d8cd98f00b204e9800998ecf8427e",
          "size": 248832
        }
      ]
    }
    {
      "status": {
        "code": 0,
        "message": {
          "title": "OK",
          "content": ""
        }
      },
      "userInfo": {
        "accessToken": "<access-token>"
      },
      "contact": { "result": 0, "fileId": "contact-001" },
      "sms": { "result": 0 },
      "calllog": { "result": 0, "fileId": "calllog-001" },
      "bookmarks": { "result": 0, "fileId": "bookmark-001" },
      "file": {
        "result": 0,
        "url": "/v1/vault/media",
        "fileInfo": [
          {
            "fileId": "img-001",
            "path": "/vault/hidden/IMG_1001.jpg",
            "digest": "d41d8cd98f00b204e9800998ecf8427e",
            "size": 248832,
            "mimeType": "image"
          }
        ]
      }
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • reconstructed from the app's restore-onto-new-device flow
  • 下载保险箱媒体

    GET /v1/vault/media opendata

    按 fileId 下载此前备份的保险箱照片或视频,支持可选的字节区间。

    认证方式: accessToken query parameter from sign-in.

    • action
    • accessToken
    • fileId
    • range
    • saveFilePath
    • startPosition
    • endPosition

    依据应用界面重构的示意示例,并非实时抓包。

    GET /v1/vault/media?action=download&accessToken=<access-token>&fileId=img-001&range=bytes=0-248831 HTTP/1.1
    <binary octet-stream of the vault file; Range writes into saveFilePath from startPosition>

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • reconstructed from the app's hidden-photo download flow with byte-range resume
  • 绑定找回邮箱

    POST /v1/account/recovery-email osint

    把找回(安全)邮箱绑定到保险箱空间,用于在忘记锁屏密码时重置。

    认证方式: userInfo.uid and level; deviceId identifies the vault space.

    • deviceId
    • spaceId
    • email
    • uid
    • level
    • version
    • os
    • partner
    • language
    • result
    • userInfo
    • softwareInfo

    依据应用界面重构的示意示例,并非实时抓包。

    POST /v1/account/recovery-email HTTP/1.1
    Content-Type: application/json
    
    {
      "deviceId": "a1b2c3d4e5f6",
      "spaceId": "space-001",
      "email": "[email protected]",
      "userInfo": {
        "uid": "10086001",
        "level": "1"
      },
      "softwareInfo": {
        "version": "6.8.12.80",
        "os": "android",
        "partner": "googleplay",
        "language": "en"
      }
    }
    {
      "result": "ok",
      "spaceId": "space-001"
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • reconstructed from the app's recovery-email binding and forgot-password screens

数据类别

  • 云备份
  • 联系人
  • 短信
  • 通话记录
  • 照片
  • 账号找回

数据使用场景与案例

  • 换机迁移服务

    换机工具经由云端备份/恢复闭环搬运用户的通讯录、短信、通话记录与加密相册,摘要比对确保无一遗漏。

  • 备份配额管理

    渠道商看板盯每个账户的云存储配额与用量,在客户夜间备份悄悄失败之前提前告警或触发升级销售。

  • 账号找回流程

    客服工具为保险柜账号绑定找回邮箱,用户换机或忘记密码时显著减少锁账户工单。

常见问题

Vault 使用什么数据 API?

应用调用一套私有云 API:POST /v1/auth/session 登录并换取 accessToken,之后备份、恢复、媒体下载与账号管理都凭该令牌访问,数据以 JSON 交换。

云备份包含哪些数据?

POST /v1/vault/backup 上传保险箱内的短信、通话记录、联系人、书签与隐藏文件元数据;实际照片 / 视频文件经 GET /v1/vault/media 按 fileId 下载,支持字节区间请求。

忘记锁屏密码怎么办?

应用提供找回邮箱机制:POST /v1/account/recovery-email 把安全邮箱绑定到保险箱空间(deviceId + spaceId),之后可通过该邮箱重置锁屏密码。

该 API 如何认证?

登录后所有调用都带 accessToken,并以 deviceId / spaceId 区分设备与保险箱空间;这些是第一方私有端点,没有公开密钥。

相关主题

  • Vault Hide Pics API
  • 保险箱云备份端点
  • accessToken 同步
  • smsList contactList fileList
  • 保险箱照片下载接口
  • 找回邮箱 deviceId spaceId

需要集成这个 App 的数据 API?

我们可为任意指定 App 交付定制集成——源码交付 USD 500 起,或托管 API 按调用计费。告诉我们您需要的数据即可。

获取报价