JMO (Jamsostek Mobile) 图标

JMO 数据 API:JHT 余额、KPJ 卡与索赔

BPJS Ketenagakerjaan · 银行

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 把这些字段做成可调用的开放数据。

应用截图

  • JMO (Jamsostek Mobile) 应用截图 1
  • JMO (Jamsostek Mobile) 应用截图 2
  • JMO (Jamsostek Mobile) 应用截图 3
  • JMO (Jamsostek Mobile) 应用截图 4
  • JMO (Jamsostek Mobile) 应用截图 5

API 端点一览

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

  • 登录 v2

    POST /user/login-v2 osint

    用 email 与 password 登录会员,签发后续调用以 Bearer 携带的 accessToken 与 refreshToken。

    认证方式: 请求体提交 email 与 password;响应签发 accessToken 与 refreshToken。

    • email
    • 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/profile osint

    加载以 profile 包裹的已登录会员卡片:namaLengkap、nik、noKk、msisdn、地址字段以及账户页使用的 kpj 参保列表。

    认证方式: 来自 POST /user/login-v2 的 Bearer accessToken。客户端方法的第一个 String 参数是会话令牌。

    • profile
    • namaLengkap
    • nik
    • noKk
    • email
    • 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/kpj openfinance

    返回职工 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/balance openbanking

    以 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-detail openbanking

    按 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-claim openfinance

    追踪 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/cards opendata

    列出会员可展示的数字 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-information openfinance

    返回 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-branch opendata

    返回最近的 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/antrian opendata

    读取已预约的网点 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
    • email
    • 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-history openbanking

    列出 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/eligible opendata

    核验职工奖学金资格: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 天交付
  • 验收通过后才付款
  • 仅在授权范围内作业

获取报价