Pengenalan Dokumentasi

Menyediakan cara yang lancar untuk mengakses nomor telepon virtual untuk verifikasi OTP di berbagai platform online. API ini memungkinkan pengembang dan bisnis untuk mengotomatisasi proses mendapatkan nomor virtual, menerima pesan SMS, dan mengelola sesi nomor secara real-time.

Batas kecepatan API adalah 5 permintaan setiap 10 detik. Jika Anda melakukan spam, Cloudflare kami akan secara otomatis mengaktifkan sistem blokir sementara terhadap alamat IP Anda.

Dengan sistem API ini, kebutuhan untuk membeli OTP virtual akan mudah digunakan untuk berbagai layanan, contohnya:

  • Bot WhatsApp: Dapat digunakan untuk penggunaan bot WhatsApp OTP di mana Anda dapat menjual nomor melalui API dan bot Baileys
  • Bot Telegram: Mudah digunakan untuk integrasi bot telegram, respons yang jelas dan lengkap
  • Penjual Website: Buat halaman web nomor virtual Anda sendiri dengan integrasi ke RumahOTP, layanan lengkap mulai dari nomor virtual dan deposit H2
  • Aplikasi lain: Gunakan untuk integrasi ke layanan lain, dapatkan harga khusus jika Anda membeli menggunakan API karena sistem menggunakan gateway H2H.

API Basic

API kami tersedia sebagai layanan HTTP/1 dan HTTP/2 melalui SSL. Semua endpoint berada di bawah URL https://www.rumahotp.com/api/ dan umumnya mengikuti arsitektur REST.


Content Type

Hasil respons API dibungkus dalam format json dengan header content-type: application/json, respons dari REST API dalam format json termasuk kesalahan, parameter yang diperlukan, dan lainnya.


Authorized

Gunakan apikey yang valid, sebagai identifikasi login rest api, contoh penggunaan:

| endpoint.js
const options = {
    method: 'GET',
    url: 'https://www.rumahotp.com/api/[endpoint]',
    headers: {
        'x-apikey': 'YOUR_API_KEY_HERE',
        'Accept': 'application/json'
    }
};

const response = await axios(options)

Create apikey access

Anda dapat membuat, mengelola, menghapus, dan mengaktifkan akses apikey di pengaturan akun.

Screenshot
  1. Masuk ke akun Anda dan buka halaman profil
  2. Setelah itu klik pada bagian pengaturan apikey
  3. Klik tombol "Generate Key" dan konfirmasi kata sandi Anda ketika diminta
  4. Salin API key yang dihasilkan dan simpan di lokasi yang aman
  5. Anda dapat mengaktifkan, menonaktifkan, atau menghapus API key sesuai kebutuhan dari halaman manajemen

JSON Server Response

Beberapa respons server jika terjadi error atau kesalahan parameter permintaan.

Response gagal

| error.json
{
    "success": false,
    "error": {
        "message": "Pesan error akan muncul disini!"
    }
}

Response berhasil

| success.json
{
    "success": false,
    "data": {...result...}
}

Countries Available V2

Daftar negara lengkap dengan pricelist dibawahnya, semua negara tanpa duplikat karena harga telah di sematkan dalam pricelist disetiap negara.

Parameter Tipe Lokasi Diperlukan Deskripsi
x-apikey string headers Ya Kunci API untuk autentikasi
service_id string query Ya ID layanan target (contoh: "14")

Contoh kode untuk meminta endpoint:

| country-v2.js
const options = {
    method: 'GET',
    url: 'https://www.rumahotp.com/api/v2/countries?service_id=SERVICE_ID',
    headers: {
        'x-apikey': 'YOUR_API_KEY_HERE',
        'Accept': 'application/json'
    }
};

const response = await axios(options)

Success response

| country-v2.json
{
    "success": true,
    "data": [
        {
            "number_id": 340437,
            "name": "Indonesia",
            "img": "https://assets.rumahotp.com/flags/id.png",
            "prefix": "+62",
            "iso_code": "id",
            "rate": 81,
            "stock_total": 103,
            "pricelist": [
                {
                    "provider_id": "3837",
                    "server_id": 3,
                    "stock": 103,
                    "rate": 81,
                    "price": 1100,
                    "price_format": "Rp1.100",
                    "available": true
                }
            ]
        }
    ]
}

Services Available V2

Daftar lengkap aplikasi yang kami sediakan untuk keperluan verifikasi SMS OTP Anda.

Parameter Tipe Lokasi Diperlukan Deskripsi
x-apikey string headers Ya Kunci API untuk autentikasi

Contoh kode untuk meminta endpoint:

| service-v2.js
const options = {
    method: 'GET',
    url: 'https://www.rumahotp.com/api/v2/services',
    headers: {
        'x-apikey': 'YOUR_API_KEY_HERE',
        'Accept': 'application/json'
    }
};

const response = await axios(options)

Success response

| service-v2.json
{
    "success": true,
    "data": [
        {
            "service_code": 1,
            "service_name": "KakaoTalk",
            "service_img": "https://assets.rumahotp.com/apps/kt.png"
        },
        {
            "service_code": 2,
            "service_name": "Naver",
            "service_img": "https://assets.rumahotp.com/apps/nv.png"
        },
        {
            "service_code": 3,
            "service_name": "Tinder",
            "service_img": "https://assets.rumahotp.com/apps/oi.png"
        }
    ]
}

List operator V2

Daftar lengkap operator seluler yang disediakan berdasarkan nama negara yang dipilih.

Parameter Tipe Lokasi Diperlukan Deskripsi
x-apikey string headers Ya Kunci API untuk autentikasi
country string query Ya Nama negara (contoh: "China")
provider_id string query Ya Provider id yang berada di price list.

Contoh kode untuk meminta endpoint:

| operator-v2.js
const options = {
    method: 'GET',
    url: 'https://www.rumahotp.com/api/v2/operators?country=COUNTRY_NAME&provider_id=PROVIDER_ID',
    headers: {
        'x-apikey': 'YOUR_API_KEY_HERE',
        'Accept': 'application/json'
    }
};

const response = await axios(options)

Success response

| operators-v2.json
{
    "status": true,
    "data": [
        {
            "id": 1,
            "name": "any",
            "image": "https://cdn-static-rumahotp.vercel.app/assets/img/favicon/favicon.ico"
        },
        {
            "id": 2,
            "name": "3 (Three)",
            "image": "https://www.imei.info/media/op/Three_FeSJLe5.png"
        },
        {
            "id": 3,
            "name": "AXIS",
            "image": "https://www.imei.info/media/op/Axis.png"
        }
    ]
}

Orders number v2

Endpoint untuk membeli nomor virtual guna mendapatkan kode SMS, semua parameter wajib diisi, lengkap dengan info operator.

Parameter Tipe Lokasi Diperlukan Deskripsi
x-apikey string headers Ya Kunci API untuk autentikasi
number_id number query Ya ID nomor (contoh: "475")
provider_id number query Ya ID price penyedia (contoh: "2300")
operator_id number query Ya ID Operator seluler (contoh: "1")

Contoh kode untuk meminta endpoint:

| orders-v2.js
const options = {
    method: 'GET',
    url: 'https://www.rumahotp.com/api/v2/orders?number_id=NUMBER_ID&provider_id=PROVIDER_ID&operator_id=OPERATOR_ID',
    headers: {
        'x-apikey': 'YOUR_API_KEY_HERE',
        'Accept': 'application/json'
    }
};

const response = await axios(options)

Success response

| orders-v2.json
{
    "success": true,
    "data": {
        "order_id": "RO137229787",
        "phone_number": "+62 856 4441 4442",
        "service": "WhatsApp",
        "country": "Indonesia",
        "operator": "any",
        "expires_in_minute": 15,
        "price": 2150,
        "price_formated": "Rp2.150"
    }
}

Orders status - get

Endpoint untuk memeriksa status pesanan nomor yang Anda pesan.

Parameter Tipe Lokasi Diperlukan Deskripsi
x-apikey string headers Ya Kunci API untuk autentikasi
order_id string query Ya ID pesanan target (contoh: "RO137229787")

Contoh kode untuk meminta endpoint:

| get-status.js
const options = {
    method: 'GET',
    url: 'https://www.rumahotp.com/api/v1/orders/get_status?order_id=ORDER_ID',
    headers: {
        'x-apikey': 'YOUR_API_KEY_HERE',
        'Accept': 'application/json'
    }
};

const response = await axios(options)

Respons pemeriksaan status pesanan:

| get-status.json
{
    "success": true,
    "data": {
        "order_id": "RO137229787",
        "status": "waiting", // available: received, completed, canceled, expiring
        "phone_number": "+62 856 4441 4442",
        "service": "WhatsApp",
        "country": "Indonesia",
        "created_at": 1762661992178,
        "expires_at": 1762662892178,
        "otp_code": "-"
    }
}

Orders status - set

Endpoint untuk mengatur status pesanan nomor yang Anda pesan.

Parameter Tipe Lokasi Diperlukan Deskripsi
x-apikey string headers Ya Kunci API untuk autentikasi
order_id string query Ya ID pesanan target (contoh: "RO137229787")
status value query Ya cancel done resend

Contoh kode untuk meminta endpoint:

| set-status.js
const options = {
    method: 'GET',
    url: 'https://www.rumahotp.com/api/v1/orders/set_status?order_id=ORDER_ID&status=STATUS_NAME',
    headers: {
        'x-apikey': 'YOUR_API_KEY_HERE',
        'Accept': 'application/json'
    }
};

const response = await axios(options)

Respons pengaturan status pesanan:

| set-status.json
{
    "success": true,
    "data": {
        "order_id": "RO137229787",
        "status": "waiting"
    }
}

Users balance

Digunakan untuk menampilkan informasi tentang saldo profil yang dimiliki.

Parameter Tipe Lokasi Diperlukan Deskripsi
x-apikey string headers Ya Kunci API untuk autentikasi

Contoh kode untuk meminta endpoint:

| balance.js
const options = {
    method: 'GET',
    url: 'https://www.rumahotp.com/api/v1/user/balance',
    headers: {
        'x-apikey': 'YOUR_API_KEY_HERE',
        'Accept': 'application/json'
    }
};

const response = await axios(options)

Success response

| balance.json
{
    "success": true,
    "data": {
        "balance": 1000000,
        "formated": "Rp1.000.000",
        "apikey": "otp_zyUwvkagNwjgaeiq",
        "username": "admin",
        "first_name": "Admin",
        "last_name": "Cloud",
        "email": "admin@rumahotp.com",
        "whatsapp": "~",
        "telegram": 81783617727
    }
}

Deposit create

Buat kode QRIS untuk pembayaran sesuai nominal yang diinginkan menggunakan payment gateway kami, tanpa kartu kredit dan tanpa verifikasi.

Jumlah maksimal status pembayaran yang tertunda adalah 3 pembayaran. Jika melebihi jumlah ini, permintaan pembuatan payment akan ditolak sampai deposit lainnya selesai/dibatalkan.

Daftar parameter yang diperlukan untuk request:

Parameter Tipe Lokasi Wajib Deskripsi
x-apikey string headers Ya Kunci autentikasi API
amount number query Ya Jumlah pembayaran (contoh: "5000")
payment_id string query Ya ID Pembayaran (contoh: "qris")

Contoh kode untuk request endpoint:

| deposit-create-v1.js
const options = {
    method: 'GET',
    url: 'https://www.rumahotp.com/api/v1/deposit/create?amount=NOMINAL&payment_id=qris',
    headers: {
        'x-apikey': 'YOUR_API_KEY_HERE',
        'Accept': 'application/json'
    }
};

const response = await axios(options)

Contoh respons sukses untuk request endpoint:

| deposit-create-v1.json
{
    "success": true,
    "data": {
        "id": "RO202511091637506040",
        "method": "qris",
        "amount": 2112,
        "currency": {
            "type": "IDR",
            "total": 2112,
            "fee": 112,
            "diterima": 2000
        },
        "qr": "data:image/png;base64,iVBORw...",
        "expired": 1762703871947,
        "createdAt": 1762702671947,
        "merchant": "RumahOTP Payment"
    }
}

Deposit create v2

Buat kode QRIS untuk pembayaran sesuai nominal yang diinginkan menggunakan payment gateway kami, tanpa kartu kredit dan tanpa verifikasi, response lengkap layaknya payment gateway nasional.

Jumlah maksimal status pembayaran yang tertunda adalah 3 pembayaran. Jika melebihi jumlah ini, permintaan pembuatan payment akan ditolak sampai deposit lainnya selesai/dibatalkan.

Daftar parameter yang diperlukan untuk request:

Parameter Tipe Lokasi Wajib Deskripsi
x-apikey string headers Ya Kunci autentikasi API
amount number query Ya Jumlah pembayaran (contoh: "5000")
payment_id string query Ya ID Pembayaran (contoh: "qris")

Contoh kode untuk request endpoint:

| deposit-create-v2.js
const options = {
    method: 'GET',
    url: 'https://www.rumahotp.com/api/v2/deposit/create?amount=NOMINAL&payment_id=qris',
    headers: {
        'x-apikey': 'YOUR_API_KEY_HERE',
        'Accept': 'application/json'
    }
};

const response = await axios(options)

Contoh respons sukses untuk request endpoint:

| deposit-create-v2.json
{
    "success": true,
    "data": {
        "id": "RO202511091836226047",
        "status": "pending",
        "method": "usdt-polygon",
        "currency": {
            "type": "USD",
            "total": "3.01000000",
            "fee": "0.02000000",
            "diterima": "2.99000000"
        },
        "total": 50376,
        "fee": 376,
        "diterima": 50000,
        "qr_string": "0x657DfFE6Cd343dC21645b221f8cC2AAc6A8fc20A",
        "qr_image": "https://www.rumahotp.com/image/qr/RO202511091836226047.png",
        "created_at": "2025-11-10 00:36:22",
        "created_at_ts": 1762709782834,
        "expired_at": "2025-11-10 00:56:22",
        "expired_at_ts": 1762710982834
    }
}

Deposit check status

Periksa status pembayaran yang dilakukan oleh pengguna.

Parameter Tipe Lokasi Wajib Deskripsi
x-apikey string headers Ya Kunci autentikasi API
deposit_id string query Ya ID Deposit (contoh: "RO202511091637506040")

Contoh kode untuk request endpoint:

| deposit-status-v1.js
const options = {
    method: 'GET',
    url: 'https://www.rumahotp.com/api/v1/deposit/get_status?deposit_id=DEPOSIT_ID',
    headers: {
        'x-apikey': 'YOUR_API_KEY_HERE',
        'Accept': 'application/json'
    }
};

const response = await axios(options)

Contoh respons sukses untuk request endpoint:

| deposit-status-v1.json
{
    "success": true,
    "data": {
        "id": "RO202511091637506040",
        "status": "pending", // available: success, pending, cancel
        "created": 1762702671947,
        "expired": 1762703871947,
        "amount": 2112
    }
}

Deposit check status v2

Periksa status pembayaran yang dilakukan oleh pengguna, lengkap dengan info tambahan untuk metadata payment.

Parameter Tipe Lokasi Wajib Deskripsi
x-apikey string headers Ya Kunci autentikasi API
deposit_id string query Ya ID Deposit (contoh: "RO202511091637506040")

Contoh kode untuk request endpoint:

| deposit-status-v2.js
const options = {
    method: 'GET',
    url: 'https://www.rumahotp.com/api/v2/deposit/get_status?deposit_id=DEPOSIT_ID',
    headers: {
        'x-apikey': 'YOUR_API_KEY_HERE',
        'Accept': 'application/json'
    }
};

const response = await axios(options)

Contoh respons sukses untuk request endpoint:

| deposit-status-v2.json
{
    "success": true,
    "data": {
        "id": "RO202511091637506040",
        "status": "success", // available: success, pending, cancel
        "created_at": "2025-11-09 22:37:51",
        "created_at_ts": 1762702671947,
        "expired_at": "2025-11-09 22:57:51",
        "expired_at_ts": 1762703871947,
        "total": 2112,
        "fee": 112,
        "diterima": 2000,
        "brand_name": "DANA",
        "buyer_reff": "NOBU / MU************"
    }
}

Deposit cancel

Batalkan status pembayaran deposit jika status masih tertunda.

Parameter Tipe Lokasi Wajib Deskripsi
x-apikey string headers Ya Kunci autentikasi API
deposit_id string query Ya ID Deposit (contoh: "RO202511091637506040")

Contoh kode untuk request endpoint:

| deposit-cancel.js
const options = {
    method: 'GET',
    url: 'https://www.rumahotp.com/api/v1/deposit/cancel?deposit_id=DEPOSIT_ID',
    headers: {
        'x-apikey': 'YOUR_API_KEY_HERE',
        'Accept': 'application/json'
    }
};

const response = await axios(options)

Contoh respons sukses untuk request endpoint:

| deposit-cancel.json
{
    "success": true,
    "data": {
        "id": "RO202511091637506040",
        "status": "cancel",
        "created": 1762702671947,
        "expired": 1762703871947,
        "amount": 2000,
        "message": "Success canceled!"
    }
}

List Product H2H

Daftar lengkap produk PPOB yang tersedia untuk transaksi.

Parameter Tipe Lokasi Diperlukan Deskripsi
Tidak memerlukan parameter

Contoh kode untuk meminta endpoint:

| ppob-product-list.js
const options = {
    method: 'GET',
    url: 'https://www.rumahotp.com/api/v1/h2h/product'
};

const response = await axios(options)
| ppob-product-list.sh
curl -X GET "https://www.rumahotp.com/api/v1/h2h/product"

Success response

| ppob-product-list.json
{
    "success": true,
    "data": [
        {
            "code": "FF50",
            "name": "50 Diamond",
            "note": "50 Diamond Free Fire",
            "type": "diamond",
            "brand": "freefire",
            "category": "game",
            "img_url": "https://assets.rumahotp.com/h2h/game/freefire/diamond.webp",
            "price": 5694,
            "price_info": {
                "price_original": 7403,
                "price_discount": 5694,
                "price_discount_percent": 30
            }
        }
    ]
}

Deskripsi Response

Field Tipe Deskripsi
success boolean Status keberhasilan request
data array Array berisi daftar produk
data[].code string Kode unik produk
data[].name string Nama produk
data[].note string Keterangan produk
data[].type string Tipe produk (diamond, voucher, dll)
data[].brand string Brand produk
data[].category string Kategori produk (game, pulsa, dll)
data[].img_url string URL gambar produk
data[].price number Harga produk
data[].price_info object Informasi harga detail
data[].price_info.price_original number Harga asli
data[].price_info.price_discount number Harga setelah diskon
data[].price_info.price_discount_percent number Persentase diskon

PPOB Rekening Check

Endpoint untuk mengecek informasi rekening sebelum melakukan transaksi.

Parameter Tipe Lokasi Diperlukan Deskripsi
bank_code string query Ya Kode bank (contoh: "dana")
account_number string query Ya Nomor rekening/akun

Contoh kode untuk meminta endpoint:

| ppob-rekening-check.js
const options = {
    method: 'GET',
    url: 'https://www.rumahotp.com/api/v1/h2h/check/rekening?bank_code=dana&account_number=08XXXXX'
};

const response = await axios(options)
| ppob-rekening-check.sh
curl -X GET "https://www.rumahotp.com/api/v1/h2h/check/rekening?bank_code=dana&account_number=08XXXXX"

Success response

| ppob-rekening-check.json
{
    "success": true,
    "data": {
        "status": "valid",
        "account_number": "628XXXXX",
        "account_name": "DNID JAXX HAXX"
    }
}

Deskripsi Response

Field Tipe Deskripsi
success boolean Status keberhasilan request
data object Data informasi rekening
data.status string Status validasi (valid/invalid)
data.account_number string Nomor rekening/akun
data.account_name string Nama pemilik rekening

PPOB Rekening List

Endpoint untuk mendapatkan daftar bank yang tersedia untuk pengecekan rekening.

Parameter Tipe Lokasi Diperlukan Deskripsi
Tidak memerlukan parameter

Contoh kode untuk meminta endpoint:

| ppob-rekening-list.js
const options = {
    method: 'GET',
    url: 'https://www.rumahotp.com/api/v1/h2h/list/rekening'
};

const response = await axios(options)
| ppob-rekening-list.sh
curl -X GET "https://www.rumahotp.com/api/v1/h2h/list/rekening"

Success response

| ppob-rekening-list.json
{
    "success": true,
    "data": [
        {
            "id": "1",
            "bank_code": "mandiri",
            "bank_name": "Bank Mandiri",
            "type": "bank"
        },
        {
            "id": "2",
            "bank_code": "permata",
            "bank_name": "Bank Permata & Permata Syariah",
            "type": "bank"
        },
        {
            "id": "3",
            "bank_code": "dana",
            "bank_name": "DANA Ewallet",
            "type": "ewallet"
        }
    ]
}

Deskripsi Response

Field Tipe Deskripsi
success boolean Status keberhasilan request
data array Array daftar bank tersedia
data[].id string ID unik bank
data[].bank_code string Kode bank
data[].bank_name string Nama bank
data[].type string Tipe (bank)

PPOB Account Info Check

Endpoint untuk mengecek informasi akun seperti akun game atau akun general lainnya sebelum melakukan transaksi.

Parameter Tipe Lokasi Diperlukan Deskripsi
account_code string query Ya Kode game (contoh: "freefire")
account_number string query Ya User ID game/akun

Contoh kode untuk meminta endpoint:

| ppob-userinfo-check.js
const options = {
    method: 'GET',
    url: 'https://www.rumahotp.com/api/v1/h2h/check/username?account_code=freefire&account_number=12345678'
};

const response = await axios(options)
| ppob-userinfo-check.sh
curl -X GET "https://www.rumahotp.com/api/v1/h2h/check/username?account_code=freefire&account_number=12345678"

Success response

| ppob-userinfo-check.json
{
    "success": true,
    "data": {
        "status": "valid",
        "account_number": "12345678",
        "account_name": "YantoBSK√"
    }
}

Deskripsi Response

Field Tipe Deskripsi
success boolean Status keberhasilan request
data object Data informasi akun game/akun
data.status string Status validasi (valid/invalid)
data.account_number string User ID game/akun
data.account_name string Nama pengguna

PPOB Account Info List

Endpoint untuk mendapatkan daftar game/layanan yang tersedia untuk pengecekan.

Parameter Tipe Lokasi Diperlukan Deskripsi
Tidak memerlukan parameter

Contoh kode untuk meminta endpoint:

| ppob-userinfo-list.js
const options = {
    method: 'GET',
    url: 'https://www.rumahotp.com/api/v1/h2h/list/username'
};

const response = await axios(options)
| ppob-userinfo-list.sh
curl -X GET "https://www.rumahotp.com/api/v1/h2h/list/username"

Success response

| ppob-userinfo-list.json
{
    "success": true,
    "data": [
        {
            "id": "1",
            "account_code": "freefire",
            "account_name": "Free Fire",
            "type": "game"
        }
    ]
}

Deskripsi Response

Field Tipe Deskripsi
success boolean Status keberhasilan request
data array Array daftar game tersedia
data[].id string ID unik game
data[].account_code string Kode game
data[].account_name string Nama game
data[].type string Tipe (game)

PPOB Transaksi Order

Endpoint untuk melakukan transaksi pembelian product h2h yang di butuhkan.

Parameter Tipe Lokasi Diperlukan Deskripsi
x-apikey string headers Ya Kunci API untuk autentikasi
id string query Ya ID layanan product (contoh: "FF5")
target string query Ya ID atau nomor tujuan (contoh: "12345678")

Contoh kode untuk meminta endpoint:

| ppob-transaksi-create.js
const options = {
    method: 'GET',
    url: 'https://www.rumahotp.com/api/v1/h2h/transaksi/create?target=TARGET&id=ID_CODE',
    headers: {
        'x-apikey': 'YOUR_API_KEY_HERE',
        'Accept': 'application/json'
    }
};

const response = await axios(options)
| ppob-transaksi-create.sh
curl -X GET \
    'https://www.rumahotp.com/api/v1/h2h/transaksi/create?target=TARGET&id=ID_CODE' \
    -H 'x-apikey: YOUR_API_KEY_HERE' \
    -H 'Accept: application/json'

Success response

| ppob-transaksi-create.json
{
    "success": true,
    "data": {
        "id": "H2H2025111418128372",
        "status": "processing",
        "created_at": 1762661992178,
        "product": "5 Diamond Free Fire",
        "tujuan": "12345678",
        "sisa_balance": 990000,
        "message": "Proses..."
    }
}

Deskripsi Response

Field Tipe Deskripsi
success boolean Status keberhasilan request
data object Object yang berisi detail transaksi
data.id string ID unik transaksi
data.status string Status transaksi (processing)
data.created_at number Timestamp pembuatan transaksi (Unix timestamp)
data.product string Nama produk yang ditransaksikan
data.tujuan string Nomor tujuan/ID tujuan transaksi
data.sisa_balance number Sisa saldo setelah transaksi
data.message string Pesan status transaksi

PPOB Transaksi Status

Endpoint untuk mengecek info status transaksi H2H.

Parameter Tipe Lokasi Diperlukan Deskripsi
x-apikey string headers Ya Kunci API untuk autentikasi
transaksi_id string query Ya ID transaksi H2H (contoh: "H2H2025111421381737")

Contoh kode untuk meminta endpoint:

| ppob-transaksi-status.js
const options = {
    method: 'GET',
    url: 'https://www.rumahotp.com/api/v1/h2h/transaksi/status?transaksi_id=ID_ORDER',
    headers: {
        'x-apikey': 'YOUR_API_KEY_HERE',
        'Accept': 'application/json'
    }
};

const response = await axios(options)
| ppob-transaksi-status.sh
curl -X GET \
    'https://www.rumahotp.com/api/v1/h2h/transaksi/status?transaksi_id=ID_ORDER' \
    -H 'x-apikey: YOUR_API_KEY_HERE' \
    -H 'Accept: application/json'

Success response

| ppob-transaksi-status.json
{
    "success": true,
    "data": {
        "id": "H2H2025111422038272",
        "status": "success",
        "created_at": 1762661992178,
        "finish_at": 1762671992178,
        "tujuan": "085612345678",
        "refund": false,
        "price": 10500,
        "product": {
            "code": "DN10",
            "name": "Rp10.000",
            "note": "DANA TopUp Rp10.000",
            "type": "topup_saldo",
            "brand": "dana",
            "category": "ewallet"
        },
        "tujuan_info": {
            "name": "DNID JAXX HAXX",
            "nominal": "10000"
        },
        "response": {
            "available": true,
            "id": "H2H2025111422038272",
            "product": "DANA TopUp Rp10.000",
            "code": "DN10",
            "tujuan": "085612345678",
            "time": "17:54",
            "status": "sukses",
            "sn": "2786282728238HSIWJAWA821"
        }
    }
}

Deskripsi Response

Field Tipe Deskripsi
success boolean Status keberhasilan request
data object Object yang berisi detail status transaksi
data.id string ID unik transaksi
data.status string Status transaksi (success/processing/failed/canceled)
data.created_at number Timestamp pembuatan transaksi
data.finish_at number Timestamp penyelesaian transaksi
data.tujuan string Nomor tujuan transaksi
data.refund boolean Status refund transaksi
data.price number Harga transaksi
data.product object Detail produk transaksi
data.product.code string Kode produk
data.product.name string Nama produk
data.product.note string Keterangan produk
data.product.type string Tipe produk
data.product.brand string Brand produk
data.product.category string Kategori produk
data.tujuan_info object Response detail tujuan destinasi
data.tujuan_info.available boolean Status info tujuan penerima (hanya muncul jika status success)
data.tujuan_info.name string Nama pengguna penerima/tujuan
data.tujuan_info.nominal string Nominal atau nilai didapatkan transaksi
data.response object Response detail dari provider
data.response.available boolean Status response produk (hanya muncul jika status success)
data.response.id string ID transaksi dari provider
data.response.product string Nama produk dari provider
data.response.code string Kode produk dari provider
data.response.tujuan string Nomor tujuan dari provider
data.response.time string Waktu transaksi
data.response.status string Status dari provider
data.response.sn string Serial number/Referensi transaksi