PDF Scanner & Editor by Kaagaz 数据 API
PDF Scanner & Editor by Kaagaz 是印度开发商 Kaagaz Apps 推出的拍照转 PDF 扫描与文档整理工具,在 2020 年印度封禁中国应用、CamScanner 下架后,被广泛当作本土替代品。用户把纸质文件拍成按文件夹归档的多页扫描件,端侧 OCR 让每份扫描都能按文字检索,可用按积分解锁的 PDF 工具编辑与电子签名,并在以手机号短信验证码或 Truecaller 登录后,把全部文件备份到托管在印度境内的 Kaagaz 云保险库。分享管理器可为扫描文件夹生成限时链接,无需导出文件即可发送 PDF;内置的 Kaagaz AI 助手能就扫描的 PDF 回答问题、写出简短摘要并建议文件夹名称,每轮消耗 AI 积分。新账户获赠 100 MB 免费云空间;Kaagaz Premium 去除广告并扩容云存储,以卢比计价,经 Razorpay 或 Google Play 结算并提供免费试用;邀请好友可赚取积分,在奖励目录中兑换。它面向把 GST 发票、KYC 材料等日常纸质文件数字化的印度用户,与 Adobe Scan、Microsoft Lens、Google Drive 扫描功能同场竞争,差异在于印度境内存储与卢比定价。
云保险库里的文件夹是核心记录:每个文件夹带用户自取的 givenName 以及 createDate、modiDate、lastAccess 时间戳,并按 key、size、sequence 列出页面文件,附 ocrBackup 标记。OCR 索引逐页随行——纯文本 ocrText 加块级坐标 serializedText,以 pageId 关联,扫描下来的发票或 KYC 表格文字因此能在手机之外检索。保险库周边还有账户快照(maxSize、currentSize、numOfDocs,以及含 expiry 与 trial 的嵌套 userPlan)、带 expiresAt 与剩余 extension 天数的分享链接,以及 Kaagaz AI 每轮返回的 botChat、自动 summary 与文件夹建议名 suggestedName。
资金侧同样结构清晰:推荐钱包的 totalPoints 与带 rewardType、rewardCreditTime 的 walletHistory 流水,被邀请人的 referralTime,剩余 AI 积分数,以卢比计价、携带 razorPaySubscriptionCode 与 playSubscriptionId 的套餐,以及含 orderId、amount、subscriptionId 的结账订单。
基于这些数据,档案机器人可直接从印度托管的保险库归档 GST 发票文件夹,无需刮取相册;合规任务按策略比对分享链接到期时间,续期仍有延期天数的链接、撤销过期的 GST 或 KYC 文件包;财务栈把推荐积分与 Premium 订单同 Razorpay 或 Play 收据对账;发票助手在已备份的 OCR 索引上答疑,剩余积分决定还能问几轮。openData Studio 把这套 Kaagaz 保险库、OCR 与钱包数据变成可调用的开放数据。
应用截图
API 端点一览
以下端点与请求/响应示例均依据应用界面推导重构,为示意说明,并非实际抓包。
发送手机 OTP
POST
/v1/auth/otp/requestopendata从登录页启动 Kaagaz 云登录:向随后由验证页确认的手机号发送短信 OTP。
认证方式: 无需登录。请求体以印度手机号识别用户;同一登录页可选 Truecaller SDK。
- mobile
- response
- exists
POST /v1/auth/otp/request HTTP/1.1 Content-Type: application/json { "mobile": 9876543210 }{ "response": "OTP_SENT", "exists": true }核验 OTP 并签发会话
POST
/v1/auth/otp/confirmopendata在验证页确认 OTP,返回会话令牌以及账户获赠的免费云配额(spaceAlloted,通常 100 MB)。
认证方式: 无需登录。请求体携带短信 OTP 与登录页手机号。响应 authorization 在后续 Kaagaz 调用中作为 Authorization 请求头发送。
- mobile
- otp
- newUser
- spaceAlloted
- authorization
POST /v1/auth/otp/confirm HTTP/1.1 Content-Type: application/json { "mobile": 9876543210, "otp": "482193" }{ "newUser": false, "spaceAlloted": 104857600, "authorization": "kgz_live_8f3c1d2e7a9b4c5e" }读取账户配额与套餐
GET
/v1/account/quotaopendata返回首页与设置页使用的已登录保险库快照:已用/获配云字节、文档数、广告/推荐开关、AI 同意,以及嵌套的 UserPlan(名称、到期、总限额、积分)。
认证方式: /v1/auth/otp/confirm 签发的 Authorization 令牌。
- id
- obfuscatedId
- maxSize
- currentSize
- numOfDocs
- exists
- showAds
- showReferral
- everPremium
- recurring
- aiConsent
- userPlan
- name
- expiry
- overallLimit
- topPlan
- totalPoints
- trial
GET /v1/account/quota HTTP/1.1 Authorization: kgz_live_8f3c1d2e7a9b4c5e{ "id": 18422109, "obfuscatedId": "usr_8f3c1d2e", "maxSize": 1073741824, "currentSize": 248576000, "numOfDocs": 142, "exists": true, "showAds": false, "showReferral": true, "everPremium": true, "recurring": true, "aiConsent": true, "userPlan": { "name": "Kaagaz Premium", "expiry": 1767225600000, "overallLimit": 1073741824, "topPlan": true, "totalPoints": 450, "trial": false, "recentlyActivated": false, "userDurationOnKaagaz": 86400000 } }获取用户资料
GET
/v1/vault/ownerosint读取资料页记录:显示名、邮箱、手机号、WhatsApp 同意以及资料补全底部弹层开关。
认证方式: /v1/auth/otp/confirm 签发的 Authorization 令牌。
- name
- mobile
- whatsappConsent
- shouldShowProfileBottomSheet
- elements
GET /v1/vault/owner HTTP/1.1 Authorization: kgz_live_8f3c1d2e7a9b4c5e{ "name": "Anita Sharma", "email": "[email protected]", "mobile": 9876543210, "whatsappConsent": true, "shouldShowProfileBottomSheet": false, "elements": [] }恢复云文档保险库
GET
/v1/vault/foldersopendata返回恢复任务使用的云保险库:按用户的文件夹树(显示名)、页面文件(key、size、sequence、ocrBackup)以及对照 /v1/account/quota 配额的 totalPages。
认证方式: /v1/auth/otp/confirm 签发的 Authorization 令牌。
- userId
- totalPages
- folders
- name
- givenName
- createDate
- modiDate
- lastAccess
- files
- key
- size
- sequence
- ocrBackup
- link
GET /v1/vault/folders HTTP/1.1 Authorization: kgz_live_8f3c1d2e7a9b4c5e{ "userId": 18422109, "totalPages": 36, "folders": [ { "name": "folder_20260901_1015", "givenName": "GST invoice Sep", "createDate": "2026-09-01T10:15:00.000+05:30", "modiDate": "2026-09-12T18:40:00.000+05:30", "lastAccess": "2026-09-20T09:02:00.000+05:30", "files": [ { "name": "page_001.jpg", "key": "18422109/folder_20260901_1015/page_001.jpg", "size": 842113, "sequence": 1, "ocrBackup": true, "link": "/obj/18422109/folder_20260901_1015/page_001.jpg" } ], "tag": [] } ] }创建文档分享链接
POST
/v1/shares/createopendata为扫描文件夹签发有时限的公开 URL(Link.link、Link.expires),无需把文件导出设备即可分享 PDF。
认证方式: /v1/auth/otp/confirm 签发的 Authorization 令牌。
- folderName
- extension
- link
- expires
- error
POST /v1/shares/create HTTP/1.1 Authorization: kgz_live_8f3c1d2e7a9b4c5e Content-Type: application/json { "folderName": "folder_20260901_1015", "extension": 7 }{ "link": "/s/a8f3c1d2", "expires": 1761955200000, "error": null }列出有效分享链接
GET
/v1/sharesopendata列出该账户已签发的全部有效分享,含 folderName、createdAt/expiresAt 与剩余延期天数——分享管理界面与后台分享链接刷新任务。
认证方式: /v1/auth/otp/confirm 签发的 Authorization 令牌。
- link
- folderName
- createdAt
- expiresAt
- extension
- error
GET /v1/shares HTTP/1.1 Authorization: kgz_live_8f3c1d2e7a9b4c5e[ { "link": "/s/a8f3c1d2", "folderName": "GST invoice Sep", "createdAt": "2026-09-12T18:41:00.000+05:30", "expiresAt": "2026-10-12T18:41:00.000+05:30", "extension": 7, "error": null } ]备份单页 OCR 文本
POST
/v1/ocr/pagesopendata上传一页扫描件的端侧 OCR 索引(纯文本加序列化块坐标),以便跨设备重建检索。配套恢复提交一批 page id,返回 fileList。
认证方式: /v1/auth/otp/confirm 签发的 Authorization 令牌。
- ocrText
- serializedText
- folderName
- fileName
- pageId
- response
- exists
POST /v1/ocr/pages HTTP/1.1 Authorization: kgz_live_8f3c1d2e7a9b4c5e Content-Type: application/json { "ocrText": "GSTIN 07AABCU9603R1ZX Invoice No. INV-2041", "serializedText": "{\"blocks\":[{\"text\":\"GSTIN 07AABCU9603R1ZX\"}]}", "folderName": "folder_20260901_1015", "fileName": "page_001.jpg", "pageId": 900112 }{ "response": "OK", "exists": true }读取 AI / 工具积分余额
GET
/v1/credits/balanceopenfinance返回剩余积分徽章与 PDF 工具付费墙使用的整数积分余额。流水列出同一账户的积分交易。
认证方式: /v1/auth/otp/confirm 签发的 Authorization 令牌。
- credits-balance
GET /v1/credits/balance HTTP/1.1 Authorization: kgz_live_8f3c1d2e7a9b4c5e42读取推荐钱包
GET
/v1/referrals/walletopenfinance返回钱包流水页背后的推荐积分账本:累计 totalPoints、可兑换 saleItems(code、points、text)与 walletHistory 流水(cat、rewardType、rewardCreditTime)。消耗路径用积分兑换目录商品。
认证方式: /v1/auth/otp/confirm 签发的 Authorization 令牌。
- totalPoints
- saleItems
- code
- image
- points
- text
- desc
- walletHistory
- id
- cat
- rewardType
- rewardCreditTime
GET /v1/referrals/wallet HTTP/1.1 Authorization: kgz_live_8f3c1d2e7a9b4c5e{ "totalPoints": 450, "saleItems": [ { "code": "PREMIUM_1M", "image": "/ads/kaagaz-premium.jpg", "points": 400, "text": "1 month Premium", "desc": "Redeem 400 points for a month of Kaagaz Premium" } ], "walletHistory": [ { "id": "wh_9012", "cat": "REFERRAL", "points": 50, "text": "Friend joined Kaagaz", "rewardType": "CREDIT", "rewardCreditTime": "2026-09-18T11:20:00.000+05:30" } ] }获取推荐码与邀请记录
GET
/v1/referrals/codeopendata加载推荐分享卡片:个人推荐 url,以及具名被邀请人与每次转化计入的积分。权益文案为配套的活动条款读取。
认证方式: /v1/auth/otp/confirm 签发的 Authorization 令牌。
- url
- totalPoints
- history
- name
- points
- referralTime
GET /v1/referrals/code HTTP/1.1 Authorization: kgz_live_8f3c1d2e7a9b4c5e{ "url": "/r/ANITA50", "totalPoints": 450, "history": [ { "name": "Ravi Kumar", "points": 50, "referralTime": "2026-09-18T11:20:00.000+05:30" } ] }列出高级套餐
GET
/v1/billing/plansopenfinance返回付费墙目录:各套餐 INR 现价/原价、Razorpay 订阅码、Play 商品 id、trialValid,以及是否隐藏 Razorpay 改走 Play Billing。
认证方式: /v1/auth/otp/confirm 签发的 Authorization 令牌。查询参数在 Play Billing 与 Razorpay、一次付与订阅目录之间切换。
- title
- subHeading
- buttonText
- hideRazorPay
- launchPlayBilling
- trialValid
- plans
- name
- price
- actualPrice
- oldPrice
- currency
- validity
- offer
- razorPaySubscriptionCode
- playSubscriptionId
GET /v1/billing/plans HTTP/1.1 Authorization: kgz_live_8f3c1d2e7a9b4c5e{ "title": "Go Premium", "subHeading": "Remove ads, unlock 1 GB cloud", "buttonText": "Continue", "hideRazorPay": false, "launchPlayBilling": true, "trialValid": true, "plans": [ { "name": "Yearly", "price": "599", "actualPrice": "999", "oldPrice": "999", "currency": "₹", "validity": "12 months", "offer": "40% off", "razorPaySubscriptionCode": "plan_KaagazYearly", "playSubscriptionId": "kaagaz_premium_yearly", "selected": true } ] }创建 Razorpay / Play 订单
POST
/v1/billing/ordersopenfinance开立可支付订单,其 orderId/amount/subscriptionId 供 Razorpay 结账或 Play Billing 使用。状态在配套的支付状态路由轮询;确认提交 paymentId、orderId、signature(Razorpay)或 purchaseToken(Play)。
认证方式: /v1/auth/otp/confirm 签发的 Authorization 令牌。
- planName
- razorPaySubscriptionCode
- playSubscriptionId
- orderId
- amount
- subscriptionId
POST /v1/billing/orders HTTP/1.1 Authorization: kgz_live_8f3c1d2e7a9b4c5e Content-Type: application/json { "planName": "Yearly", "razorPaySubscriptionCode": "plan_KaagazYearly", "playSubscriptionId": "kaagaz_premium_yearly" }{ "orderId": "order_N8f3c1d2e7a9", "amount": 59900, "subscriptionId": "sub_KaagazYearly_001" }就 PDF 与 Kaagaz AI 对话
POST
/v1/assistant/messagesopendata在扫描 PDF 上跑一轮 Kaagaz AI:客户端提交 userChat 与 Bot 会话(assistId、fileId、threadId、vectorStore),返回 botChat、自动摘要、建议文件夹名 suggestedName 与追问。配套的摘要与对话响应调用完成同一助手线程。
认证方式: /v1/auth/otp/confirm 签发的 Authorization 令牌。消耗 /v1/assistant/credits 跟踪的 AI 积分。
- userChat
- botChat
- summary
- suggestedName
- questions
- bot
- assistId
- fileId
- fileName
- fileType
- origFileName
- pdfPath
- sessId
- threadId
- runId
- vectorStore
POST /v1/assistant/messages HTTP/1.1 Authorization: kgz_live_8f3c1d2e7a9b4c5e Content-Type: application/json { "userChat": "What is the GSTIN and invoice total?", "bot": { "assistId": "asst_kaagaz_pdf", "fileId": "file_9c1", "fileName": "gst_invoice_sep.pdf", "fileType": "pdf", "origFileName": "GST invoice Sep.pdf", "pdfPath": "18422109/folder_20260901_1015/gst_invoice_sep.pdf", "sessId": "sess_44ab", "threadId": "thread_7e2", "runId": "run_01", "vectorStore": "vs_kaagaz_18422109" } }{ "botChat": "GSTIN 07AABCU9603R1ZX. Invoice total is ₹12,480 including 18% GST.", "summary": "September GST invoice, total ₹12,480.", "suggestedName": "GST invoice Sep 2026", "questions": [ "Who is the vendor?", "When is payment due?" ], "userChat": "What is the GSTIN and invoice total?", "bot": { "assistId": "asst_kaagaz_pdf", "fileId": "file_9c1", "threadId": "thread_7e2", "runId": "run_02", "sessId": "sess_44ab", "vectorStore": "vs_kaagaz_18422109", "fileName": "gst_invoice_sep.pdf", "fileType": "pdf", "origFileName": "GST invoice Sep.pdf", "pdfPath": "18422109/folder_20260901_1015/gst_invoice_sep.pdf" } }读取剩余 Kaagaz AI 积分
GET
/v1/assistant/creditsopenfinance返回积分提示条上的剩余 Kaagaz AI 积分数(AiCredit.value),/v1/assistant/messages 运行前会读取。
认证方式: /v1/auth/otp/confirm 签发的 Authorization 令牌。
- response
- value
GET /v1/assistant/credits HTTP/1.1 Authorization: kgz_live_8f3c1d2e7a9b4c5e{ "response": "OK", "value": 12 }
数据类别
- 身份
- 云存储
- 文档分享
- OCR 索引
- 积分
- 推荐
- 订阅
- AI 对话
数据使用场景与案例
印度托管的文档保险库同步
以同一 Kaagaz 账户登录的档案机器人可轮询 GET /v1/account/quota 读取 maxSize/currentSize/numOfDocs,再拉取 GET /v1/vault/folders 清点每个文件夹的 givenName、页面 key 与 ocrBackup 标记——用于 GST 发票归档而无需刮取相册。
分享链接到期监控
合规任务列出 GET /v1/shares 并把 expiresAt 与策略对比;仍有延期天数的链接可续期,过期的 GST/KYC 包从同一分享管理面撤销。
推荐积分与高级套餐对账
财务栈读取 GET /v1/referrals/wallet(totalPoints、walletHistory)与 GET /v1/referrals/code(被邀请人名、积分、referralTime),再把 POST /v1/billing/orders 的 orderId/amount/subscriptionId 与结账后的 Razorpay 或 Play 收据对齐。
扫描 PDF 上的发票问答
OCR 在 POST /v1/ocr/pages 备份后,助手把 Bot 会话(fileId、threadId、vectorStore)发到 POST /v1/assistant/messages 并保存 botChat 与 summary;GET /v1/assistant/credits.value 门控剩余轮次。
常见问题
Kaagaz Scanner 如何鉴权云保险库?
用户在登录页输入手机号;POST /v1/auth/otp/request 下发短信验证码,POST /v1/auth/otp/confirm 返回 authorization、newUser 与 spaceAlloted(免费 100 MB 配额)。之后对账户、保险库、账单与 OCR 路由的调用将该令牌作为 Authorization 发送。同一登录页可选 Truecaller。
备份 API 返回哪些文档数据?
GET /v1/vault/folders 返回 userId、totalPages 与 folders 数组。每个文件夹含 name、givenName、createDate/modiDate/lastAccess,以及带 key、size、sequence、ocrBackup 与下载链接的 files 列表。门控保险库的配额在 GET /v1/account/quota 的 maxSize 与 currentSize。
哪些端点暴露积分、推荐或订阅?
GET /v1/credits/balance 与 GET /v1/assistant/credits.value 是可消耗计数。GET /v1/referrals/wallet 返回 totalPoints、saleItems 与 walletHistory;GET /v1/referrals/code 补充个人 url 与被邀请人记录。高级目录是 GET /v1/billing/plans(price、razorPaySubscriptionCode、playSubscriptionId);POST /v1/billing/orders 创建可支付 orderId。
这是公开的开发者 API 吗?
不是。这些是 Android 客户端在 OTP 登录后调用的第一方端点。这里记录路径与字段名,是为了让集成方认出应用已经展示的同一份数据——并非开放的开发者计划。
与 PDF Scanner & Editor by Kaagaz 相似的应用
- Adobe Scan — Adobe Scan 用手机摄像头把纸质文件转成可搜索的 PDF,并接入 Acrobat 填写表单和签名。
- Genius Scan - PDF Scanner — Genius Scan 把纸质文件做成带可检索文字层的多页 PDF,并可选用 Genius Cloud 备份。
- PDF Scanner app - TapScanner — TapScanner 是拍照转 PDF 工具,带自动边缘检测、一百多种语言的文字识别,以及应用内合并、拆分和签名。
- Simple Scan - PDF Scanner App — Simple Scan 把手机变成便携 PDF 扫描仪,可拍文件和收据,支持导出识别文字并可选云备份。
- Microsoft Lens — Microsoft Lens(原 Office Lens)可拍摄白板、纸质文件和名片,并导出为 PDF、Word、PowerPoint 或 OneNote。
- Google Drive Scanner — Google Drive 安卓应用内置扫描功能,可将收据、信件和账单存成可搜索的 PDF 到网盘。
- SwiftScan — SwiftScan 可在 iPhone、iPad 和安卓上拍摄文档,保存为 PDF 或 JPEG,并能在同一应用里发传真。
相关主题
- Kaagaz 扫描器 API
- Kaagaz PDF 云备份
- Kaagaz OCR 备份
- Kaagaz 推荐钱包
- Kaagaz AI 积分
- Kaagaz Razorpay 套餐
- 印度 PDF 扫描数据 API
需要集成这个 App 的数据 API?
我们可为任意指定 App 交付定制集成——源码交付 USD 500 起,或托管 API 按调用计费。告诉我们您需要的数据即可。
- 每个项目均签 NDA 与 SOW
- 3–7 天交付
- 验收通过后才付款
- 仅在授权范围内作业