X-API-Key: nk_xxxxxxxxxxxxxxxx?api_key=nk_xxx
http://tes.sannxyz.my.id/api/v1/balance
Mendapatkan informasi saldo dan profil akun.
{
"success": true,
"message": "OK",
"data": {
"balance": 50000,
"balance_idr": "Rp 50.000",
"name": "John Doe",
"email": "john@example.com"
}
}
http://tes.sannxyz.my.id/api/v1/services
Mendapatkan semua layanan OTP aktif beserta harga. Gunakan ?search= untuk filter nama layanan.
{
"success": true,
"message": "OK",
"data": [
{
"service_id": "whatsapp",
"name": "WhatsApp",
"country": "id",
"operator": "any",
"price": 600,
"price_idr": "Rp 600"
}
]
}
http://tes.sannxyz.my.id/api/v1/order/create
Membuat order OTP baru via query string. Saldo dipotong otomatis sesuai harga layanan.
{
"success": true,
"message": "Order berhasil dibuat.",
"data": {
"order_code": "OTP-1234567890-ABCDE",
"rumahotp_order_id": "ro_xxxxxxxxxxxx",
"service_id": "whatsapp",
"service_name": "WhatsApp",
"phone_number": "+62878xxxxxxxx",
"country": "id",
"status": "pending",
"amount": 600,
"expires_at": "2026-06-05T10:30:00+07:00"
}
}
http://tes.sannxyz.my.id/api/v1/order/status
Mengecek status order langsung ke RumahOTP. Cocok untuk polling OTP secara realtime.
{
"success": true,
"message": "OK",
"data": {
"order_code": "OTP-1234567890-ABCDE",
"rumahotp_order_id": "ro_xxxxxxxxxxxx",
"local_status": "pending",
"otp_code": null,
"sms_code": null,
"rumahotp_response": {}
}
}
http://tes.sannxyz.my.id/api/v1/order/{code}
Mendapatkan detail lengkap satu order berdasarkan order_code atau ID.
{
"success": true,
"message": "OK",
"data": {
"id": 1,
"order_code": "OTP-1234567890-ABCDE",
"rumahotp_order_id": "ro_xxxxxxxxxxxx",
"service_id": "whatsapp",
"service_name": "WhatsApp",
"phone_number": "+62878xxxxxxxx",
"country": "id",
"status": "success",
"otp_code": "123456",
"sms_code": null,
"sms_text": "Your WhatsApp code is 123456",
"amount": 600,
"expires_at": "2026-06-05T10:30:00+07:00",
"created_at": "2026-06-05T10:00:00+07:00",
"updated_at": "2026-06-05T10:05:00+07:00"
}
}
http://tes.sannxyz.my.id/api/v1/order/cancel
Membatalkan order OTP yang masih berstatus pending. Saldo akan dikembalikan otomatis.
{
"success": true,
"message": "Order berhasil dibatalkan. Saldo dikembalikan.",
"data": {
"order_code": "OTP-1234567890-ABCDE",
"status": "cancelled",
"refund": 600,
"refund_idr": "Rp 600",
"new_balance": 50600,
"rumahotp_response": {}
}
}
http://tes.sannxyz.my.id/api/v1/orders
Mendapatkan daftar order milik akun, diurutkan dari yang terbaru. Mendukung filter status dan pagination.
{
"success": true,
"message": "OK",
"data": {
"total": 42,
"page": 1,
"limit": 10,
"orders": [
{
"id": 1,
"order_code": "OTP-1234567890-ABCDE",
"service_id": "whatsapp",
"service_name": "WhatsApp",
"phone_number": "+62878xxxxxxxx",
"country": "id",
"status": "success",
"otp_code": "123456",
"sms_code": null,
"amount": 600,
"expires_at": "2026-06-05T10:30:00+07:00",
"created_at": "2026-06-05T10:00:00+07:00"
}
]
}
}
Daftar HTTP status code yang mungkin dikembalikan oleh API.