Tunaiku 在线现金贷数据 API
Tunaiku - Pinjaman Dana Online 是 PT Bank Amar Indonesia Tbk. 的无抵押现金贷(KTA)应用,该公司持有印尼金融服务管理局(OJK)银行牌照。借款人可申请 200 万至 3,000 万印尼盾、期限 6–30 个月的贷款,公布月息 3–5% 固定利率;Play 示例按 500 万印尼盾、6 个月、3% 计息,外加 5% 手续费与 55 万账户维护费,放款 475 万、月供 107.5 万。同一 Android 客户端覆盖首贷与复贷/提额、提前结清、虚拟账户还款、电子 KYC、QRIS,以及作为放款通道的 Amar Bank Senyumku 储蓄账户。Google Play 评分 4.73(1,457,544 条评价),安装量逾一千万,与 Kredivo、Easycash 争夺同一批印尼 pinjaman 用户。
借款人身份落在资料记录的 custHash、custId 与 KTP pin 上,并带 mlpLevel、paymentNumber 以及 eligibleToApply / hasActiveLoan 标志。报价行携带 loanAmount、period、monthlyInstallmentAmount 与净放款 toBankAmount;在贷再补 saldo、totalUnpaid、dueDate 和分期 sum / partNum。
还款通道签发 virtualAccount 与 accountName;提前结清按专用虚拟账户给出 earlyPaymentAmount 与 refundAmount。Senyumku 储蓄暴露 averageBalance 与 nextMonthLevel。催收台与信贷栈机器人用这些字段做未还监控和对虚拟账户入账;openData Studio 把同一接口面变成可调用的开放数据。
应用截图
API 端点一览
以下端点与请求/响应示例均依据应用界面推导重构,为示意说明,并非实际抓包。
密码或刷新会话
POST
/v1/auth/grantosint打开或续期借款人会话。密码授权提交 username 与 password;刷新授权提交 refreshToken。JSON 返回 authToken(以及可选 resetPasswordToken),Android 客户端以 Authorization: Bearer 携带。
认证方式: 请求体提交 username 与 password(grantType),或以 refreshToken 走刷新授权。响应 authToken 在后续调用中以 Authorization: Bearer 携带。
- username
- password
- grantType
- refreshToken
- authToken
- resetPasswordToken
POST /v1/auth/grant HTTP/1.1 Content-Type: application/json { "username": "081234567890", "password": "********", "grantType": "password", "refreshToken": null }{ "authToken": "eyJhbGciOiJSUzI1NiJ9.auth", "resetPasswordToken": null, "grantType": "password", "refreshToken": "rt_9f21c0ab" }请求登录 OTP
POST
/v1/auth/otp/{purpose}/dispatchosint为 first-login 等用途发起短信或 WhatsApp OTP。请求体是 username;响应签发 otpRequestId 以及 attemptsLeft、retryableAfter、maxAttempt 限次计数。
认证方式: 登录前调用;请求体 username。purpose 选择用途(如 first-login),medium 为 sms 或 whatsapp。此时尚无 Bearer。
- username
- otpRequestId
- attemptsLeft
- retryableAfter
- maxAttempt
POST /v1/auth/otp/first-login/dispatch HTTP/1.1 Content-Type: application/json { "username": "081234567890" }{ "otpRequestId": "otp-7c21ab", "attemptsLeft": 4, "retryableAfter": 60, "maxAttempt": 5 }校验登录 OTP
POST
/v1/auth/otp/{purpose}/checkosint用 otpRequestId 核销 OTP,返回 authToken(以及可选 resetPasswordToken),后续贷款与资料调用以 Bearer 携带。
认证方式: 登录前调用;请求体 otpRequestId 与 otp(可选 transactionId)。返回的 authToken 作为 Authorization: Bearer。
- otpRequestId
- otp
- transactionId
- authToken
- resetPasswordToken
POST /v1/auth/otp/first-login/check HTTP/1.1 Content-Type: application/json { "otpRequestId": "otp-7c21ab", "otp": "483920", "transactionId": "txn-pre-11" }{ "authToken": "eyJhbGciOiJSUzI1NiJ9.auth", "resetPasswordToken": null }借款人资料
GET
/v1/borrower/profileosint加载已登录借款人卡片:KTP pin、custHash / custId、mlpLevel、paymentNumber、资格标志、放款 Account(bankName、accountNumber)与 Income(jobType、monthlyIncome)。
认证方式: Authorization: Bearer {authToken},由会话授权或 OTP 校验签发。
- pin
- custHash
- custId
- mlpLevel
- currency
- firstName
- name
- phone
- paymentNumber
- hasActiveLoan
- eligibleToApply
- eligibleForTopup
- dateOfBirth
- bankName
- accountNumber
- monthlyIncome
GET /v1/borrower/profile HTTP/1.1 Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.auth{ "pin": "3174010101900001", "custHash": "ch_8f21", "custId": 440192, "mlpLevel": "GOLD", "currency": "IDR", "email": "[email protected]", "firstName": "Siti", "name": "Siti Nurhaliza", "phone": "081234567890", "paymentNumber": "880012345678", "hasActiveLoan": "true", "eligibleToApply": false, "eligibleForTopup": true, "otpEligible": true, "hasAcceptedHistory": true, "newLoanInfo": { "dateOfBirth": "1990-01-01", "gender": "F", "mobilePhoneNumber": "081234567890", "account": { "bankName": "BCA", "accountNumber": "1234567890", "accountType": "SAVINGS", "displayName": "SITI NURHALIZA", "swiftCode": "CENAIDJA" }, "income": { "jobType": "EMPLOYEE", "monthlyIncome": "8000000", "employerName": "PT Contoh", "taxId": "10.20.30.4-567.000" } } }在贷详情
GET
/v1/loans/currentopenfinance返回在贷 KTA:id、amount、period、剩余 saldo / totalUnpaid、currentInstallmentValue,以及分期表(date、sum、partNum、unpaid)。loanProgress 为还款卡片补充 dueDate、totalBill 与 currentAmountDue。
认证方式: Authorization: Bearer {authToken},由会话授权或 OTP 校验签发。
- id
- status
- amount
- period
- saldo
- partnerType
- productType
- currentInstallmentValue
- totalUnpaid
- unpaidMonths
- toBankAmount
- dueDate
- currentUnpaidInstallment
- totalBill
- partNum
- sum
GET /v1/loans/current HTTP/1.1 Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.auth{ "priorityLoan": { "id": "LN-440192-01", "status": "ACTIVE", "amount": "5000000", "period": "6", "saldo": "3225000", "partnerType": "TUNAIKU", "productType": "PL", "applicationStatus": "ACCEPTED", "currentInstallmentValue": "1075000", "firstInstallmentValue": "1075000", "totalUnpaid": "3225000", "unpaidMonths": "3", "toBankAmount": "4750000", "loanProcessingFeeAmount": "250000", "installments": [ { "date": "2026-11-14", "sum": "1075000", "partNum": "4", "unpaid": "1075000", "rowType": "INSTALLMENT", "onTime": true, "status": "UNPAID", "mlpPoint": 10 } ] }, "loanProgress": { "dueDate": "2026-11-14", "totalUnpaid": 3225000.0, "status": "IN_DEBT", "totalPrepayment": 0.0, "currentUnpaidInstallment": 1075000.0, "totalBill": 1075000.0, "currentAmountDue": 1075000.0 } }贷款历史
GET
/v1/loans/historyopenfinance为历史页分页返回已结清与既往贷款:page / pageCount / totalData 包裹 id、status、amount、period、saldo 与 paidOutDate 行。
认证方式: Authorization: Bearer {authToken},由会话授权或 OTP 校验签发。
- page
- pageCount
- limit
- totalData
- id
- status
- amount
- period
- saldo
- productType
- paidOutDate
GET /v1/loans/history?page=1&limit=10 HTTP/1.1 Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.auth{ "page": 1, "pageCount": 2, "limit": 10, "totalData": 12, "data": [ { "id": "LN-440192-00", "status": "PAID", "amount": "3000000", "period": "6", "saldo": "0", "productType": "PL", "paidOutDate": "2026-03-01" } ] }产品贷款摘要
GET
/v1/offers/{productType}/quoteopenfinance按 productType(PL 个人贷、SL 小额贷、LMT 额度)报价:loanAmount、period、monthlyInstallmentAmount、processingFeeAmount / processingFeePercentage 以及净放款 toBankAmount。
认证方式: Authorization: Bearer {authToken},由会话授权或 OTP 校验签发。
- loanAmount
- period
- monthlyInstallmentAmount
- processingFeeAmount
- processingFeePercentage
- provisionFeePercentage
- toBankAmount
- totalFeeAmount
- admissionFee
- interestRate
GET /v1/offers/PL/quote HTTP/1.1 Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.auth{ "loanAmount": "5000000", "period": "6", "monthlyInstallmentAmount": "1075000", "processingFeeAmount": "250000", "processingFeePercentage": 0.05, "provisionFeePercentage": 0.0, "admissionFee": "0", "toBankAmount": "4750000", "totalFeeAmount": "250000", "totalFeePercentage": "5", "interestRate": "0.03" }贷款提交状态
GET
/v1/applications/statusopenfinance轮询刚提交的申请仍是 IN_PROCESS、ACCEPTED 还是 REJECTED,以 transactionID 与 product 标识。
认证方式: Authorization: Bearer {authToken},由会话授权或 OTP 校验签发。
- status
- transactionID
- product
GET /v1/applications/status HTTP/1.1 Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.auth{ "status": "IN_PROCESS", "transactionID": "txn-loan-8821", "product": "PL" }已批贷款放款
POST
/v1/disbursementsopenfinance在 passwordVerified 之后把已批贷款打到借款人银行。拆分列出 type、loanAmount、processingFeeAmount / processingFeeRate 与净放款 toBankAmount。
认证方式: Authorization: Bearer {authToken},由会话授权或 OTP 校验签发;请求体在密码挑战后带 passwordVerified
- loanID
- loanAmount
- loanPeriod
- passwordVerified
- type
- monthlyInstallmentAmount
- processingFeeAmount
- processingFeeRate
- toBankAmount
- interestRate
POST /v1/disbursements HTTP/1.1 Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.auth Content-Type: application/json { "loanID": "LN-440192-01", "loanAmount": 5000000, "loanPeriod": 6, "passwordVerified": { "verified": true } }{ "disbursement": [ { "type": "bank", "loanAmount": "5000000", "period": "6", "monthlyInstallmentAmount": "1075000", "processingFeeAmount": 250000, "processingFeeRate": 0.05, "provisionFeeAmount": 0, "provisionFeeRate": 0.0, "toBankAmount": "4750000", "interestRate": "0.03", "admissionFee": "0" } ] }还款虚拟账户
GET
/v1/repayments/virtual-account/{productType}openbanking签发 How to Pay 页按 productType 划分的还款虚拟账户:accountName 与 virtualAccount。按客户维度的伴随调用为客户记录返回同一对字段。
认证方式: Authorization: Bearer {authToken},由会话授权或 OTP 校验签发。
- accountName
- virtualAccount
GET /v1/repayments/virtual-account/PL HTTP/1.1 Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.auth{ "accountName": "TUNAIKU SITI NURHALIZA", "virtualAccount": "8800123456789012" }提前结清报价
GET
/v1/settlements/quoteopenfinance按贷款给出提前结清报价(earlyPaymentAmount、refundAmount、paymentStatus),以及专用虚拟账户 virtualAccountName / virtualAccountNumber 与 subTotalEarlyPayment / totalEarlyPayment。
认证方式: Authorization: Bearer {authToken},由会话授权或 OTP 校验签发。
- loanId
- loanType
- earlyPaymentAmount
- paymentStatus
- refundAmount
- virtualAccountName
- virtualAccountNumber
- subTotalEarlyPayment
- totalEarlyPayment
GET /v1/settlements/quote HTTP/1.1 Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.auth{ "loans": [ { "loanId": "LN-440192-01", "loanType": "PL", "earlyPaymentAmount": 3100000.0, "paymentStatus": "QUOTED", "refundAmount": 0.0 } ], "virtualAccountName": "TUNAIKU EARLY PAIDBACK", "virtualAccountNumber": "880099988877", "subTotalEarlyPayment": 3100000, "totalEarlyPayment": 3100000, "formattedTotalEarlyPayment": "Rp3.100.000" }提交提前结清
POST
/v1/settlementsopenfinance锁定提前结清篮子,返回借款人需转入 totalEarlyPayment 的虚拟账户,资金到账前 paymentStatus 为 PENDING_VA。
认证方式: Authorization: Bearer {authToken},由会话授权或 OTP 校验签发。
- loanId
- loanType
- earlyPaymentAmount
- paymentStatus
- virtualAccountName
- virtualAccountNumber
- totalEarlyPayment
- refundAmount
POST /v1/settlements HTTP/1.1 Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.auth Content-Type: application/json { "loans": [ { "loanId": "LN-440192-01", "loanType": "PL", "earlyPaymentAmount": 3100000.0 } ] }{ "paymentStatus": "PENDING_VA", "virtualAccountName": "TUNAIKU EARLY PAIDBACK", "virtualAccountNumber": "880099988877", "totalEarlyPayment": 3100000, "refundAmount": 0.0 }Senyumku 日均余额
GET
/v1/savings/summaryopenbanking读取 Amar Bank Senyumku 储蓄:averageBalance(及 formattedAverageBalance)、nextMonthLevel、isNewUser,以及可选快照 balance。伴随余额调用返回原始余额。
认证方式: Authorization: Bearer {authToken},由会话授权或 OTP 校验签发。
- averageBalance
- formattedAverageBalance
- isNewUser
- nextMonthLevel
- balance
GET /v1/savings/summary HTTP/1.1 Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.auth{ "averageBalance": 1250000, "formattedAverageBalance": "Rp1.250.000", "isNewUser": false, "nextMonthLevel": "SILVER", "balance": 1800000 }KYC 人脸比对
POST
/v1/identity/face-matchosint按 KYC purpose 做人脸比对/活体,返回 kycToken 与 status。伴随调用上传证件并返回 documentId,再轮询校验结果。
认证方式: Authorization: Bearer {authToken},由会话授权或 OTP 校验签发。
- kycToken
- status
- documentId
- firstName
- lastName
POST /v1/identity/face-match HTTP/1.1 Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.auth Content-Type: application/json { "imageId": "img-selfie-01", "documentId": "doc-ktp-01" }{ "kycToken": "kyc_4e19ab", "status": "MATCHED", "documentId": "doc-ktp-01", "values": { "firstName": "Siti", "lastName": "Nurhaliza" }, "limit": { "remaining": 2 } }
数据类别
- 借款人资料
- 贷款报价
- 在贷余额
- 分期计划
- 还款虚拟账户
- 提前结清
- Senyumku 余额
- KYC 人脸比对
数据使用场景与案例
未还分期监控
催收台夜间拉取 totalUnpaid、currentUnpaidInstallment 与 dueDate,再把银行入账对到 virtualAccount / paymentNumber,逾期印尼盾账单当天即可标出。
报价与放款对账
财务把产品摘要上的 loanAmount、processingFeeAmount、toBankAmount 对到 passwordVerified 之后的放款拆分,确认打入 accountNumber 的净额等于已批报价。
提前结清虚拟账户匹配
运营从提前结清报价取出 earlyPaymentAmount 与 virtualAccountNumber,按 totalEarlyPayment 入账,直到 paymentStatus 离开 PENDING_VA。
Senyumku 备付金检查
信贷栈机器人在把放款路由到 Senyumku 通道前读取 averageBalance 与 nextMonthLevel,balance 低于 toBankAmount 时拦住提款。
常见问题
Tunaiku 暴露了哪些贷款余额字段?
在贷调用返回 id、amount、period、剩余 saldo 与 totalUnpaid、currentInstallmentValue,以及分期行 date、sum、partNum、unpaid。内嵌 loanProgress 补充 dueDate、totalBill、currentUnpaidInstallment 与 currentAmountDue。
分期怎么还?
还款调用按产品为 How-to-Pay 页签发 accountName 与 virtualAccount。提前结清是另一条报价(earlyPaymentAmount、refundAmount),提交后为 totalEarlyPayment 锁定专用 virtualAccountNumber。
这些调用如何鉴权?
登录支持 username 与 password(grantType=password)或 refreshToken 授权。OTP 登录先经短信或 WhatsApp 请求验证码,再用 otpRequestId 与 otp 校验换取 authToken;后续调用发送 Authorization: Bearer {authToken}。
放款打到哪里?
资料里 newLoanInfo.account 带有 bankName 与 accountNumber。密码校验之后,放款调用返回 toBankAmount 与 processingFeeAmount。Amar Bank Senyumku 储蓄也可承接同一笔放款;储蓄摘要返回 averageBalance 与 nextMonthLevel。
与 Tunaiku - Pinjaman Dana Online 相似的应用
- Kredivo - Paylater & Pinjaman — Kredivo 是 PT Kredivo Finance Indonesia 的先买后付与现金贷额度,最高 5,000 万印尼盾,可 30 天一次结清,或按 3–24 期在合作商户分期。
- Easycash - Pinjaman Daring — Easycash 是持 OJK 牌照的印尼无抵押现金贷应用,额度 10 万至 1 亿印尼盾、期限 3–12 个月,无需信用卡。
- Singa Fintech-Digital Loans — Singa Fintech 是 PT Abadi Sejahtera Finansindo 持 OJK 牌照的印尼现金贷应用,公布额度为 110 万至 4,800 万印尼盾。
- AdaKami — AdaKami 是持 OJK 牌照的印尼在线现金贷平台,按公布的 30 天一期还款、期限 1–12 个月,并写明放款时不预先扣费。
- Akulaku — Akulaku 把购物分期、现金贷和数字银行放在同一款印尼应用里,先买后付由 PT Akulaku Silvrr Indonesia 运营。
- JULO — JULO 是受 OJK 监管的印尼数字信贷应用,同一额度可提现、充电子钱包,或在 Tokopedia、Shopee、Lazada、Blibli、TikTok Shop 先买后付。
- Indodana PayLater — Indodana PayLater 是受 OJK 监管的印尼先买后付额度,最高 5,000 万印尼盾,可 30 天一次结清,或按 3、6、12、18、24 期在合作商户分期。
- Home Credit Indonesia — 印尼 Home Credit(PT Home Credit Indonesia)为手机、电视、笔记本、家具等商品提供门店分期,并另有现金融资(Pembiayaan Tunai)。
相关主题
- Tunaiku API
- Tunaiku 现金贷数据
- custHash
- totalUnpaid
- virtualAccount
- PT Bank Amar Indonesia Tbk
- 印尼 KTA 贷款接口
需要集成这个 App 的数据 API?
我们可为任意指定 App 交付定制集成——源码交付 USD 500 起,或托管 API 按调用计费。告诉我们您需要的数据即可。
- 每个项目均签 NDA 与 SOW
- 3–7 天交付
- 验收通过后才付款
- 仅在授权范围内作业