JMO 数据 API:JHT 余额、KPJ 卡与索赔
JMO(Jamsostek Mobile)是印尼就业社会保障机构 BPJS Ketenagakerjaan(Jamsostek)的官方安卓应用。会员登录后,首页与账户页展示老年储蓄 Jaminan Hari Tua(JHT)、养老金 Jaminan Pensiun(JP)、面向 PU / BPU / PMI 参保段的数字 KPJ 卡、带活体与人脸比对的 JHT 索赔进度、JKK/JKM/JHT 缴费、网点排队预约以及职工奖学金申请。同一菜单还有 Dana Siaga / Xtradana、BSU 工资补贴核验、JKP 失业保障、syariah e-akad 与网点定位。应用服务持有 KPJ 号的印尼正式职工(PU)、非正规劳动者(BPU)和印尼海外劳工(PMI),健康保障一侧是 BPJS Kesehatan 的 JKN Mobile,其余则是政府社会保障体系中的其他渠道。
JHT 台账落在 saldoJht 数组里:每行带有已登录职工的 nomSaldo、kodePerusahaan、namaPerusahaan、npp、kpj、bulanIuranTerakhir 与 statusKepesertaan。缴费月以 blth 到来,含 jhtContribution 与 salary。profile 下的会员卡持有 namaLengkap、nik、noKk 与 msisdn;数字卡行再加 hash、kodeSegmen 与 kodeTk。JP 待遇行给出 nomManfaatNetto、nomRapel、kodeKlaim 与 statusLunas。缴费结算拆出 amountJht、amountJkk、amountJkm 与 amountTotal。网点预约返回 kodePengajuan、tanggalBooking、namaKantorCabang 与 layanan。
薪酬与人事栈用雇主 npp 对职工 nomSaldo。索赔台盯 tahapKlaim 与 isPaid。网点运营消费排队名额以及办公室 kode / nama 坐标。openData Studio 把这些字段做成可调用的开放数据。
应用截图
API 端点一览
请求/响应示例为依据应用界面重构的示意示例,并非实时抓包。
登录 v2
POST
/user/login-v2osint用 email 与 password 登录会员,签发后续调用以 Bearer 携带的 accessToken 与 refreshToken。
认证方式: 请求体提交 email 与 password;响应签发 accessToken 与 refreshToken。
- password
- deviceId
- lastInstalledVersion
- deviceBrand
- deviceModel
- latitude
- longitude
- locality
- publicKey
- signature
- accessToken
- refreshToken
- titleMessage
- jenisForm
- transactionId
- ret
POST /user/login-v2 HTTP/1.1 Content-Type: application/json { "email": "[email protected]", "password": "********", "deviceId": "a1b2c3d4e5", "lastInstalledVersion": "4.18.4", "deviceBrand": "samsung", "deviceModel": "SM-S911B", "latitude": "-6.2088", "longitude": "106.8456", "locality": "Jakarta", "publicKey": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A", "signature": "base64-signature" }{ "accessToken": "eyJhbGciOi...", "refreshToken": "rt_8f21c0", "titleMessage": "Login berhasil", "jenisForm": "HOME", "transactionId": "TRX-20261015-001", "ret": "0", "deviceId": "a1b2c3d4e5" }会员资料
POST
/user/profileosint加载以 profile 包裹的已登录会员卡片:namaLengkap、nik、noKk、msisdn、地址字段以及账户页使用的 kpj 参保列表。
认证方式: 来自 POST /user/login-v2 的 Bearer accessToken。客户端方法的第一个 String 参数是会话令牌。
- profile
- namaLengkap
- nik
- noKk
- msisdn
- jenisKelamin
- tempatLahir
- tglLahir
- alamat
- propinsi
- kabupaten
- kecamatan
- kodePos
- statusPeserta
- statusPelapor
- isEligibleRaya
- displayPict
- listFitur
- kpj
POST /user/profile HTTP/1.1 Authorization: Bearer eyJhbGciOi... Content-Type: application/json { "email": "[email protected]", "deviceId": "a1b2c3d4e5" }{ "profile": { "namaLengkap": "Siti Nurhaliza", "nik": "3174011204940001", "noKk": "3174010101010001", "email": "[email protected]", "msisdn": "081234567890", "jenisKelamin": "P", "tempatLahir": "Jakarta", "tglLahir": "1994-04-12", "alamat": "Jl. Sudirman No. 1", "propinsi": "DKI Jakarta", "kabupaten": "Jakarta Pusat", "kecamatan": "Tanah Abang", "kodePos": "10270", "statusPeserta": "AKTIF", "statusPelapor": "0", "isEligibleRaya": false, "displayPict": "https://example.invalid/pict.jpg", "listFitur": ["JHT", "JP", "JKP"], "kpj": [{ "kpj": "19011234567", "kodeTk": "TK001", "kodeSegmen": "PU", "namaTk": "Siti Nurhaliza", "nomorIdentitas": "3174011204940001", "program": "JHT,JP,JKK,JKM", "statusKepesertaan": "AKTIF", "tglKepesertaan": "2018-03-01" }] } }KPJ 参保卡
POST
/user/kpjopenfinance返回职工 KPJ 号,含 kodeSegmen(PU/BPU/PMI)、参保 program 代码与 statusKepesertaan。
认证方式: 来自 POST /user/login-v2 的 Bearer accessToken。客户端方法的第一个 String 参数是会话令牌。
- kpj
- kodeTk
- kodeSegmen
- namaTk
- nomorIdentitas
- program
- statusKepesertaan
- tglKepesertaan
POST /user/kpj HTTP/1.1 Authorization: Bearer eyJhbGciOi... Content-Type: application/json { "email": "[email protected]", "deviceId": "a1b2c3d4e5" }{ "kpj": [{ "kpj": "19011234567", "kodeTk": "TK001", "kodeSegmen": "PU", "namaTk": "Siti Nurhaliza", "nomorIdentitas": "3174011204940001", "program": "JHT,JP,JKK,JKM", "statusKepesertaan": "AKTIF", "tglKepesertaan": "2018-03-01" }] }JHT 余额
POST
/jht/balanceopenbanking以 saldoJht 行返回 JHT 老年储蓄:nomSaldo、雇主 kodePerusahaan / npp / namaPerusahaan、最近缴费月与参保状态。
认证方式: 来自 POST /user/login-v2 的 Bearer accessToken。客户端方法的第一个 String 参数是会话令牌。
- saldoJht
- kodePerusahaan
- kodeSegmen
- kodeTk
- kpj
- namaPerusahaan
- nomSaldo
- npp
- jumlahTk
- program
- bulanIuranTerakhir
- tanggalIuranTerakhir
- statusKepesertaan
- kodeDivisi
POST /jht/balance HTTP/1.1 Authorization: Bearer eyJhbGciOi... Content-Type: application/json { "email": "[email protected]", "isRecordPoin": false }{ "saldoJht": [{ "kodePerusahaan": "P1234567", "kodeSegmen": "PU", "kodeTk": "TK001", "kpj": "19011234567", "namaPerusahaan": "PT Contoh Sejahtera", "nomSaldo": "87543000", "npp": "123456789012", "jumlahTk": "1", "program": "JHT", "bulanIuranTerakhir": "202610", "tanggalIuranTerakhir": "2026-10-10", "statusKepesertaan": "AKTIF", "kodeDivisi": "01" }] }JHT 缴费明细
POST
/jht/contribution-detailopenbanking按 blth 分页返回 JHT 缴费月,含 jhtContribution、salary、rapel、paymentDate 以及雇主 companyCode。
认证方式: 来自 POST /user/login-v2 的 Bearer accessToken。客户端方法的第一个 String 参数是会话令牌。
- workerCode
- companyCode
- divisionCode
- membershipCode
- contributionCode
- segmenCode
- blth
- paymentDate
- jhtContribution
- salary
- rapel
- sort
POST /jht/contribution-detail HTTP/1.1 Authorization: Bearer eyJhbGciOi... Content-Type: application/json { "email": "[email protected]", "kpj": "19011234567" }{ "data": [{ "workerCode": "TK001", "companyCode": "P1234567", "divisionCode": "01", "membershipCode": "19011234567", "contributionCode": "IUR-202610", "segmenCode": "PU", "blth": "202610", "paymentDate": "2026-10-10", "jhtContribution": "450000", "salary": "8500000", "rapel": "0", "sort": "1" }] }追踪 JHT 索赔
POST
/jht/track-claimopenfinance追踪 JHT 索赔:isSuccessful、tahapKlaim 阶段与 isPaid,供索赔页显示待遇是否已结算。
认证方式: 来自 POST /user/login-v2 的 Bearer accessToken。客户端方法的第一个 String 参数是会话令牌。
- isSuccessful
- message
- isPaid
- titleKlaim
- tahapKlaim
POST /jht/track-claim HTTP/1.1 Authorization: Bearer eyJhbGciOi... Content-Type: application/json { "email": "[email protected]", "kpj": "19011234567" }{ "isSuccessful": true, "message": "Klaim diproses", "isPaid": "N", "titleKlaim": { "title": "Klaim JHT" }, "tahapKlaim": [{ "tahap": "VERIFIKASI", "status": "PROSES" }] }数字 KPJ 卡
POST
/digital-card/cardsopendata列出会员可展示的数字 KPJ 卡:hash、kodeSegmen、kodeTk 与 kpj。PU/BPU/PMI 参保信息在同一客户端的兄弟方法上。
认证方式: 来自 POST /user/login-v2 的 Bearer accessToken。客户端方法的第一个 String 参数是会话令牌。
- hash
- kodeSegmen
- kodeTk
- kpj
POST /digital-card/cards HTTP/1.1 Authorization: Bearer eyJhbGciOi... Content-Type: application/json { "email": "[email protected]", "deviceId": "a1b2c3d4e5" }{ "data": [{ "hash": "9f2c1a8b0e", "kodeSegmen": "PU", "kodeTk": "TK001", "kpj": "19011234567" }] }JP 待遇信息
POST
/jp/benefit-informationopenfinance返回 JP 养老金待遇金额:nomManfaatNetto、nomRapel、nomBerjalan、kodeKlaim、statusLunas 与 tglKonfirmasiBaru。
认证方式: 来自 POST /user/login-v2 的 Bearer accessToken。客户端方法的第一个 String 参数是会话令牌。
- dataFound
- kodeKlaim
- noProses
- nomRapel
- nomKompensasi
- nomBerjalan
- nomManfaatNetto
- blthProses
- countRapel
- countRapelAll
- statusLunas
- tglKonfirmasiBaru
POST /jp/benefit-information HTTP/1.1 Authorization: Bearer eyJhbGciOi... Content-Type: application/json { "email": "[email protected]", "kpj": "19011234567" }{ "dataFound": "Y", "kodeKlaim": "JP-2026-00421", "noProses": "PR-8891", "nomRapel": "1500000", "nomKompensasi": "0", "nomBerjalan": "2100000", "nomManfaatNetto": "3600000", "blthProses": "202610", "countRapel": "2", "countRapelAll": "2", "statusLunas": "BELUM", "tglKonfirmasiBaru": "2026-10-20" }最近网点
POST
/office/nearest-branchopendata返回最近的 BPJS Ketenagakerjaan 网点:nama、kode、alamat 与经纬度(线名别名 namaKantorCabang、kodeKantorCabang、alamatKantorCabang)。
认证方式: 来自 POST /user/login-v2 的 Bearer accessToken。客户端方法的第一个 String 参数是会话令牌。
- alamat
- kode
- latitude
- longitude
- nama
POST /office/nearest-branch HTTP/1.1 Authorization: Bearer eyJhbGciOi... Content-Type: application/json { "latitude": -6.2088, "longitude": 106.8456 }{ "alamat": "Jl. Gatot Subroto Kav. 79", "kode": "KCJKT01", "latitude": -6.2395, "longitude": 106.8321, "nama": "Kantor Cabang Jakarta Gatot Subroto" }网点排队预约
POST
/queueing/antrianopendata读取已预约的网点 antrian:kodePengajuan、tanggalBooking、namaKantorCabang、layanan、班次代码以及会员到柜出示的 qrCode。
认证方式: 来自 POST /user/login-v2 的 Bearer accessToken。客户端方法的第一个 String 参数是会话令牌。排队重载还会发送 x-transaction-id 请求头。
- isSuccessful
- message
- qrCode
- data
- kodePengajuan
- nama
- nomorIdentitas
- kpj
- handphone
- alamatKantor
- kantorCabang
- namaKantorCabang
- kodeProvinsi
- kodeShift
- namaShift
- layanan
- tanggalBooking
POST /queueing/antrian HTTP/1.1 Authorization: Bearer eyJhbGciOi... x-transaction-id: TRX-20261015-001 Content-Type: application/json { "email": "[email protected]", "kpj": "19011234567" }{ "isSuccessful": true, "message": "Antrian ditemukan", "qrCode": "JMO-QR-88421", "data": { "kodePengajuan": "ANTR-20261015-0042", "nama": "Siti Nurhaliza", "nomorIdentitas": "3174011204940001", "kpj": "19011234567", "handphone": "081234567890", "email": "[email protected]", "alamatKantor": "Jl. Gatot Subroto Kav. 79", "kantorCabang": "KCJKT01", "namaKantorCabang": "Kantor Cabang Jakarta Gatot Subroto", "kodeProvinsi": "31", "kodeShift": "PAGI", "namaShift": "Pagi", "layanan": "KLAIM JHT", "tanggalBooking": "2026-10-20" } }缴费历史
POST
/tuition/payment-historyopenbanking列出 JKK/JKM/JHT 缴费结算:分项金额、amountTotal、paymentMethod、transactionDate 与 settlementDate。
认证方式: 来自 POST /user/login-v2 的 Bearer accessToken。客户端方法的第一个 String 参数是会话令牌。
- transactionId
- amountJkk
- amountJkm
- amountJht
- amountTotal
- status
- quantity
- fullname
- transactionDate
- settlementDate
- customerIdentifier
- paymentMethod
- customField
POST /tuition/payment-history HTTP/1.1 Authorization: Bearer eyJhbGciOi... Content-Type: application/json { "email": "[email protected]" }{ "data": [{ "transactionId": "PAY-889120", "amountJkk": "12000", "amountJkm": "8000", "amountJht": "450000", "amountTotal": "470000", "status": "SETTLED", "quantity": "1", "fullname": "Siti Nurhaliza", "transactionDate": "2026-10-10T09:14:00+07:00", "settlementDate": "2026-10-10T09:16:22+07:00", "customerIdentifier": "19011234567", "paymentMethod": "MIDTRANS", "customField": "JHT+JKK+JKM" }] }奖学金资格
POST
/scholarship/eligibleopendata核验职工奖学金资格:statusDesc、eligibleData、signature,以及已选名单 dataPenerimaManfaatBeasiswa 与 dataDaftarPenerimaBeasiswa。
认证方式: 来自 POST /user/login-v2 的 Bearer accessToken。客户端方法的第一个 String 参数是会话令牌。
- statusDesc
- eligibleData
- signature
- dataPenerimaManfaatBeasiswa
- dataDaftarPenerimaBeasiswa
POST /scholarship/eligible HTTP/1.1 Authorization: Bearer eyJhbGciOi... Content-Type: application/json { "email": "[email protected]", "kpj": "19011234567" }{ "statusDesc": "ELIGIBLE", "eligibleData": [{ "kpj": "19011234567", "eligible": true }], "signature": "base64-signature", "dataPenerimaManfaatBeasiswa": [], "dataDaftarPenerimaBeasiswa": [] }
数据类别
- 余额
- 缴费
- 身份
- 索赔
- 网点
- 支付
数据使用场景与案例
雇主 JHT 对账
薪酬系统把 saldoJht 行上的 npp、kodePerusahaan 与职工 nomSaldo、bulanIuranTerakhir 以及 blth 缴费月对齐,方便人事在月结前发现漏缴的 JHT。
索赔台状态看板
待遇运营拉取 JHT 的 tahapKlaim 与 isPaid,以及 JP 的 nomManfaatNetto / statusLunas / tglKonfirmasiBaru,驱动未结算索赔的共享队列。
网点排队运营
网点软件消费 kodePengajuan、tanggalBooking、layanan 与 namaKantorCabang,柜面按预约班次核验会员 qrCode。
奖学金资格核验
人事福利工具在建档前读取 statusDesc 与 eligibleData,并以 dataPenerimaManfaatBeasiswa 作为已选受助人名册。
常见问题
JMO 暴露哪些会员标识?
profile 对象含 namaLengkap、nik、noKk、msisdn 以及 kpj 列表。数字卡行再加 hash、kodeSegmen 与 kodeTk,对应 PU、BPU、PMI 参保段。
JHT 储蓄如何表示?
JHT 余额以 saldoJht 数组到来,按 kpj、npp、kodePerusahaan 对齐 nomSaldo,并带 bulanIuranTerakhir 与 statusKepesertaan。缴费月使用 blth、jhtContribution 与 salary。
能否跟踪 JHT 或 JP 索赔?
JHT 追踪返回 tahapKlaim 阶段与 isPaid。JP 待遇信息返回 nomManfaatNetto、nomRapel、kodeKlaim、statusLunas 与 tglKonfirmasiBaru。
JMO 如何鉴权会员?
登录 v2 接受 email 与 password(外加设备和位置字段),返回 accessToken 与 refreshToken。后续调用带 Authorization: Bearer;排队重载还会发送 x-transaction-id。
与 JMO (Jamsostek Mobile) 相似的应用
- Mobile JKN — Mobile JKN 是 BPJS Kesehatan 面向印尼全民医保 Jaminan Kesehatan Nasional 的安卓应用:参保人可凭卡号、NIK 或家庭卡号查询参保、查找附近 faskes、查看 iuran 账单与虚拟账户号,并以非工资劳动者(BPU)身份登记。
- Andal by Taspen — Andal by Taspen 是印尼国家公务员储蓄保险公司 PT TASPEN 面向 ASN 的应用,提供线上理赔与非理赔办理、老年储蓄 THT 估算、月度养老金信息以及工伤 JKK 申报。
- MyJasfren — MyJasfren 是印尼交通意外强制保障机构 PT Jasa Raharja 的应用,可在线申请 santunan 抚恤、缴纳公共交通车辆保障并核验私家摩托车的 SWDKLLJ。
- SIAPkerja — SIAPkerja 是印尼人力部 Kemnaker 的就业服务应用,集成求职对接(Karirhub)、技能培训、职业资格认证,以及面向被裁员工的失业保障 JKP。
- MyASN BKN — MyASN BKN 是印尼国家公务员局 BKN 的人事应用,展示 ASN 档案,并关联 BPJS Ketenagakerjaan、BPJS Kesehatan、Taspen 与 KTP 记录。
- VssID — VssID 是越南社会保险的公民应用,用于查询社保、医保与失业保险记录,并以电子医保卡代替实体 BHYT 卡出示。
- GOSI — GOSI 是沙特社会保险总机构(General Organization for Social Insurance)的安卓客户端,该机构为私营部门工人、雇主与受益人办理缴费型社会保险。
相关主题
- JMO API
- Jamsostek Mobile
- BPJS Ketenagakerjaan
- JHT nomSaldo
- KPJ 卡
- JP nomManfaatNetto
- antrian 预约
- 印尼就业社保
需要集成这个 App 的数据 API?
我们可为任意指定 App 交付定制集成——源码交付 USD 500 起,或托管 API 按调用计费。告诉我们您需要的数据即可。
- 每个项目均签 NDA 与 SOW
- 3–7 天交付
- 验收通过后才付款
- 仅在授权范围内作业