Documentation v1.0
Selamat datang di dokumentasi resmi API Hidepulsa. API ini memungkinkan Anda untuk melakukan integrasi pembelian produk digital dan sistem Auto-Buy berdasarkan kuota secara otomatis.
Authorization: Bearer <access_token>
/auth/telegram/request-otpπ Request OTP Telegram
Meminta kode OTP via Bot Telegram. Akses bot: @apphidepulsa_bot. Menghasilkan challenge_token yang dibutuhkan untuk verifikasi.
Contoh Integrasi (Code Snippets)
Request Body (JSON)
{
"telegram_user_id": 123456789
}
Responses
{ "ok": true, "challenge_token": "eyJhbGciOiJIUzI...", "expires_in": 300 }
{ "ok": false, "code": "USERNAME_REQUIRED", "message": "tolong setting username telegram..." }
{ "ok": false, "code": "START_REQUIRED", "message": "tolong /start bot terlebih dahulu..." }
{ "ok": false, "message": "cooldown" }
/auth/otp/verifyπ Verify OTP (Dapatkan Access Token)
Verifikasi kode OTP yang dikirim ke Telegram untuk mendapatkan access_token (Bearer Token). Simpan refresh_token untuk memperbarui sesi jika access_token kedaluwarsa.
Contoh Integrasi (Code Snippets)
Request Body (JSON)
{
"challenge_token": "eyJhbGciOiJIUzI...",
"otp": "123456",
"device_id": "fcm_token_opsional"
}
Responses
{
"ok": true,
"access_token": "eyJhbG...",
"expires_in": 900,
"refresh_token": "random_string_32_chars",
"refresh_expires_in": 2592000
}
{ "ok": false, "message": "otp wrong" } // atau expired / used
{ "ok": false, "message": "invalid challenge" }
{ "ok": false, "message": "too many attempts" }
/produk-listποΈ Product List
Mengambil daftar produk digital yang tersedia beserta harga (sudah termasuk markup).
Contoh Integrasi (Code Snippets)
Query Parameters (Opsional)
category: Filter kategori (e.g. Data, Pulsa)brand: Filter brand (e.g. Telkomsel, XL)type: Filter tipe (e.g. Umum)
Responses
{
"status": "success",
"count": 1,
"data": [
{
"product_name": "Telkomsel Data 10GB",
"category": "Data",
"brand": "Telkomsel",
"type": "Umum",
"price": 50000,
"buyer_sku_code": "TELKOMSEL10",
"seller_product_status": true,
"buyer_product_status": true,
"stock": 100,
"unlimited_stock": true,
"description": "Kuota Utama 10GB",
"start_cut_off": "23:00",
"end_cut_off": "01:00"
}
]
}
{ "status": "error", "message": "Server Error" }
/topup_digiπΈ Topup Transaction (Smart Payment)
Melakukan pemesanan produk secara manual. Sistem dilengkapi validasi ketat pencocokan harga DB dan harga request.
Contoh Integrasi (Code Snippets)
Request Body (JSON)
{
"buyer_sku_code": "TELKOMSEL10",
"customer_no": "08123456789",
"ref_id": "trx-12345",
"selling_price": 50000,
"payment_method": "saldo"
}
Responses
{
"ok": true,
"data": {
"rc": "00",
"sn": "1234567890123456",
"status": "Sukses",
"message": "Transaksi Berhasil"
}
}
{ "ok": false, "message": "Saldo tidak cukup" } // atau System Error
{ "ok": false, "message": "Transaksi ditolak: Ketidakcocokan harga..." }
{ "ok": false, "message": "Produk tidak ditemukan!" }
{ "ok": false, "message": "Transaksi Gagal. Dana dikembalikan ke Saldo.", "rc": "06" }
{ "ok": false, "message": "Koneksi lambat atau gangguan sistem..." }
/check-status/:ref_idπ Check Status Transaction
Memeriksa status mutasi/transaksi berdasarkan ref_id pesanan.
Contoh Integrasi (Code Snippets)
Responses
{
"ok": true,
"data": {
"ref_id": "trx-12345",
"status": "success",
"product_name": "Telkomsel Data 10GB",
"customer_no": "08123456789",
"sn": "1234567890123456",
"price": 50000,
"balance_before": 100000,
"balance_after": 50000,
"message": "Transaksi Berhasil",
"rc": "00",
"last_update": "2026-02-20T10:05:00.000Z"
}
}
{ "ok": false, "message": "Transaksi tidak ditemukan" }
{ "ok": false, "message": "Server Error" }
/autobuy/register1. Registrasi Auto-Buy Baru
Mendaftarkan nomor dan paket yang ingin dipantau sistem.
Contoh Integrasi (Code Snippets)
Request Body (JSON)
{
"buyer_sku_code": "TELKOMSEL10",
"customer_no": "08123456789",
"nama_paket": "Telkomsel 10GB",
"selling_price": 50000,
"keyword_filter": "edukasi",
"threshold_mb": 100,
"max_buy_limit": 10,
"nama_label": "Paket Kerja"
}
Responses
{ "ok": true, "message": "Fitur Auto-Buy Berhasil Diaktifkan! Sistem akan memantau kuota Anda." }
{ "ok": false, "message": "Auto-Buy untuk produk ini sudah aktif di nomor tersebut!" }
{ "ok": false, "message": "User not found" }
{ "ok": false, "message": "Gagal menyimpan pengaturan Auto-Buy" }
/autobuy/update-name2. Edit Nama Label Auto-Buy
Mengubah nama identitas tugas auto-buy.
Contoh Integrasi (Code Snippets)
Request Body (JSON)
{ "task_id": 15, "nama_label": "Keluarga" }
Responses
{ "ok": true, "message": "Nama label berhasil diubah! π·οΈ" }
{ "ok": false, "message": "Data tidak ditemukan atau bukan milik Anda" }
{ "ok": false, "message": "Gagal mengubah nama label" }
/autobuy/list3. List Auto-Buy User
Mengambil semua daftar tugas auto-buy milik user.
Contoh Integrasi (Code Snippets)
Responses
{
"ok": true,
"data": [
{
"id": 15,
"nama_label": "hidepulsa",
"nomor_hp": "08123456789",
"nama_paket": "Telkomsel 10GB",
"buyer_sku_code": "TELKOMSEL10",
"threshold_mb": 100,
"status": "ACTIVE",
"total_success_count": 2,
"max_buy_limit": 10,
"last_quota_value": 150,
"selling_price": 50000,
"last_check_time": "2026-02-20T10:00:00.000Z",
"next_check_time": "2026-02-20T11:30:00.000Z",
"created_at": "2026-02-19T10:00:00.000Z"
}
],
"total": 1
}
{ "ok": false, "message": "User not found" }
{ "ok": false, "message": "Gagal memuat data" }
/autobuy/update-status4. Update Status (ON/OFF)
Mengubah status task auto-buy menjadi ACTIVE atau PAUSED.
Contoh Integrasi (Code Snippets)
Request Body (JSON)
{ "task_id": 15, "status": "PAUSED" }
Responses
{ "ok": true, "message": "Auto-Buy Dimatikan (Paused) βΈοΈ" }
{ "ok": false, "message": "Status harus ACTIVE atau PAUSED." }
{ "ok": false, "message": "Data tidak ditemukan atau bukan milik Anda." }
{ "ok": false, "message": "Gagal mengubah status" }
/autobuy/delete/:id5. Hapus Permanen
Menghapus konfigurasi auto-buy secara permanen dari database.
Contoh Integrasi (Code Snippets)
Path Parameter
id: ID tugas yang ingin dihapus (contoh: /autobuy/delete/15)
Responses
{ "ok": true, "message": "Data Auto-Buy berhasil dihapus ποΈ" }
{ "ok": false, "message": "Gagal menghapus. Data tidak ditemukan." }
{ "ok": false, "message": "Server Error" }
/autobuy/update-limit6. Edit Limit Pembelian (Max Buy)
Mengubah batas maksimal jumlah pembelian paket untuk suatu task.
Contoh Integrasi (Code Snippets)
Request Body (JSON)
{ "task_id": 15, "new_limit": 20 }
Responses
{ "ok": true, "message": "Limit pembelian berhasil diubah menjadi 20 kali! π" }
{ "ok": false, "message": "Limit harus berupa angka minimal 1." }
{ "ok": false, "message": "Data tidak ditemukan atau bukan milik Anda." }
{ "ok": false, "message": "Gagal mengubah limit pembelian" }
/autobuy/update-threshold7. Edit Ambang Batas Kuota (Threshold)
Mengubah batas MB sisa kuota yang memicu pembelian otomatis.
Contoh Integrasi (Code Snippets)
Request Body (JSON)
{ "task_id": 15, "new_threshold": 500 }
Responses
{ "ok": true, "message": "Batas kuota berhasil diubah menjadi 500 MB! π οΈ" }
{ "ok": false, "message": "ID Tugas dan Nilai Threshold baru wajib diisi dengan benar." }
{ "ok": false, "message": "Data tidak ditemukan atau bukan milik Anda." }
{ "ok": false, "message": "Gagal mengubah ambang batas kuota." }