Choose between light and dark theme for your interface.
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:
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.
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.
Gunakan apikey yang valid, sebagai identifikasi login rest api, contoh penggunaan:
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)
Anda dapat membuat, mengelola, menghapus, dan mengaktifkan akses apikey di pengaturan akun.
Beberapa respons server jika terjadi error atau kesalahan parameter permintaan.
{
"success": false,
"error": {
"message": "Pesan error akan muncul disini!"
}
}
{
"success": false,
"data": {...result...}
}
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:
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": 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
}
]
}
]
}
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:
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": 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"
}
]
}
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:
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)
{
"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"
}
]
}
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:
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": 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"
}
}
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:
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:
{
"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": "-"
}
}
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:
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:
{
"success": true,
"data": {
"order_id": "RO137229787",
"status": "waiting"
}
}
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:
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": true,
"data": {
"balance": 1000000,
"formated": "Rp1.000.000",
"apikey": "otp_zyUwvkagNwjgaeiq",
"username": "admin",
"first_name": "Admin",
"last_name": "Cloud",
"email": "[email protected]",
"whatsapp": "~",
"telegram": 81783617727
}
}
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:
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:
{
"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"
}
}
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:
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:
{
"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
}
}
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:
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:
{
"success": true,
"data": {
"id": "RO202511091637506040",
"status": "pending", // available: success, pending, cancel
"created": 1762702671947,
"expired": 1762703871947,
"amount": 2112
}
}
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:
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:
{
"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************"
}
}
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:
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:
{
"success": true,
"data": {
"id": "RO202511091637506040",
"status": "cancel",
"created": 1762702671947,
"expired": 1762703871947,
"amount": 2000,
"message": "Success canceled!"
}
}