Developer · API
Dokumentasi developer
Pahami kontrak API, bangun antarmuka, dan kembangkan ping! tanpa menebak perilaku transaksi. Referensi ini mengikuti endpoint yang benar-benar ada di source code.
Unduh OpenAPI 3.1Ruang ini ditujukan untuk developer yang mengembangkan instalasi ping!: frontend, route handler, dan modul domain. Petunjuk penyiapan instalasi tetap ada di README proyek.
API aplikasi tetap memakai sesi Better Auth. Integrator eksternal memakai Bearer API key pada /api/v1 untuk profil, saldo, katalog gabungan, pembelian, dan OTP akun sendiri. Tidak termasuk top-up, akses admin, SDK, atau webhook pelanggan. Panduan Public API v1 memiliki unduhan OpenAPI Bearer tersendiri; spesifikasi /developers/openapi.json tetap untuk API internal.
| Kontrak | Implementasi saat ini |
|---|---|
| Base URL | Origin instalasi ping! + /api. Bukan domain API terpisah. |
| Autentikasi | Cookie sesi Better Auth; email + password. Akses resource mengikuti pengguna bersesi. |
| Format | JSON. Endpoint aplikasi memakai envelope ok/data atau ok/error. |
| Nominal | Integer IDR. Harga quote = price_idr; harga Order = price. |
| Versi | API internal belum memiliki versi URL. Cocokkan docs/OpenAPI dengan rilis source yang dipakai. |
| Cakupan OpenAPI | 26 operasi HTTP untuk akun, katalog, order, dompet, dan pembayaran. |
- QuickstartDari sesi aktif ke katalog, quote, dan request pertama yang aman.
- Referensi APIParameter wajib, schema, contoh request, respons, dan error per endpoint.
- Public API v1 · IntegratorAPI key untuk katalog gabungan, pembelian nomor, saldo, dan OTP dari backend sendiri.
- Lifecycle transaksiPahami waiting, SMS masuk, hold, capture, dan pembatalan.
- Error, idempotensi & retryPulihkan request yang gagal atau ambigu tanpa menggandakan transaksi.
- Langkah 1
Masuk dan baca akun
Gunakan alur login aplikasi, lalu GET /api/me untuk identitas dan saldo dari sesi yang sama.
- Langkah 2
Baca katalog dan quote
Ambil ID layanan/negara dari katalog. Minta quote, pilih options[].id, lalu tampilkan price_idr sebelum konfirmasi.
- Langkah 3
Buat satu order
Kirim satu clientRequestId untuk satu niat pembelian, berikut pilihan harga dan harga yang disetujui. Jangan retry otomatis saat hasil ambigu.
- Langkah 4
Pantau dan selesaikan
Baca detail order. Gunakan code, canComplete, dan canCancel; setelah aksi, revalidasi order, akun, dan ledger.
Halaman referensi dan unduhan OpenAPI 3.1 memakai definisi endpoint serta schema dokumentasi yang sama. Tes memeriksa route, contoh respons, batas input, dan kode error. Source code route serta service tetap menjadi acuan perilaku sebenarnya.