Alamat tetap
Operasi pada paket alamat tetap (family: dedicated, produk ipv4). Setiap operasi berlaku untuk
seluruh paket: semua alamatnya sekaligus. Pada paket trafik, rute ini menjawab 422
unsupported_capability.
Operasi yang tersedia untuk paket tercantum dalam capabilities di kartunya: prolong,
credentials, replace, fingerprint, renewal.
Masa berlaku dan status
Section titled “Masa berlaku dan status”| Status | Yang terjadi | Yang bisa dilakukan |
|---|---|---|
provisioning | paket sedang diberikan, hingga 2 menit | menunggu |
active | alamat berfungsi hingga expires_at | semuanya |
expired | masa berlaku habis, alamat tidak merespons | perpanjang sebelum extendable_until - alamat yang sama kembali |
closed | extendable_until sudah lewat, alamat dilepaskan | hanya pembelian baru |
suspended | paket dinonaktifkan | hubungi dukungan |
Field kartu yang terkait masa berlaku:
| Field | Arti |
|---|---|
expires_at | akhir periode yang dibayar |
extendable_until | batas waktu perpanjangan masih mengembalikan alamat yang sama |
credentials_retired | true - kata sandi dinonaktifkan setelah masa berlaku habis; perpanjangan akan memberikan yang baru |
Saat masa berlaku habis, package.expired masuk ke log peristiwa.
GET /api/v1/packages/{id}/prolong-options
Section titled “GET /api/v1/packages/{id}/prolong-options”Untuk periode apa paket bisa diperpanjang dan berapa harganya bagi Anda. Izin packages:read.
{ "options": [ { "period": "week", "price": "1.98" }, { "period": "2_weeks", "price": "2.58" }, { "period": "month", "price": "2.98" }, { "period": "2_months", "price": "5.96" }, { "period": "3_months", "price": "8.94" } ], "currency": "USD"}price - harga untuk seluruh paket, untuk semua alamatnya.
POST /api/v1/packages/{id}/prolong
Section titled “POST /api/v1/packages/{id}/prolong”Memperpanjang paket. Izin packages:write, Idempotency-Key wajib: ini pemotongan saldo. Body:
{"period": "month"}, periode - dari prolong-options.
curl -X POST https://ipv.rent/api/v1/packages/57/prolong \ -H 'Authorization: Bearer YOUR_API_KEY' \ -H "Idempotency-Key: $(uuidgen)" \ -H 'Content-Type: application/json' \ -d '{"period":"month"}'{ "order_id": 140, "package_id": 57, "status": "completed", "price": "2.98", "expires_at": "2026-12-04T12:00:00+00:00", "credentials_reissued": false}- Periode ditambahkan ke
expires_atsaat ini, dan jika masa berlaku sudah habis - ke saat perpanjangan. - Alamat dan login tetap sama.
credentials_reissued: true- kata sandi lama dinonaktifkan dan yang baru diterbitkan; ambil dari kartu paket.- Perpanjangan membuat pesanan terpisah dengan
applied_to_package_id.
Penolakan:
- 400 -
invalid_body(tidak ada body atau bukan JSON),validation_failed - 404 -
not_found - 409 -
idempotency_in_progress - 422 -
unknown_period,insufficient_balance,prolong_window_closed(alamat tidak bisa dikembalikan lagi - paketclosed, perlu pembelian baru),unsupported_capability,purchase_refunded,idempotency_key_required,idempotency_key_invalid,idempotency_key_reused - 500 -
order_failed,order_needs_attention,operation_indeterminate- sama seperti pada pembelian
POST /api/v1/packages/{id}/renewal
Section titled “POST /api/v1/packages/{id}/renewal”Perpanjangan otomatis. Izin packages:write. Tidak memotong apa pun.
curl -X POST https://ipv.rent/api/v1/packages/57/renewal \ -H 'Authorization: Bearer YOUR_API_KEY' -H 'Content-Type: application/json' \ -d '{"enabled":true,"period":"month"}'| Field | Arti |
|---|---|
enabled | wajib: true atau false |
period | periode perpanjangan setiap kali; tanpa field ini - tetap seperti sebelumnya |
Respons - kartu paket. Cara kerja perpanjangan otomatis:
- aktif secara default, periodenya - periode yang dibeli;
- pemotongan dilakukan sehari sebelum
expires_at, dengan harga pada saat itu; tanggal dan jumlahnya - direnewal.next_charge_atdanrenewal.next_charge_amount; - jika saldo tidak cukup,
renewal.last_failuremenjadiinsufficient_balance, percobaan diulang setiap beberapa jam selama 3 hari lagi setelahexpires_at; - setelah itu perpanjangan otomatis mati dengan sendirinya,
renewal.disabled_atterisi.
Penolakan: 400 invalid_body (tidak ada enabled); 404 not_found; 422 unknown_period,
unsupported_capability.
POST /api/v1/packages/{id}/replace
Section titled “POST /api/v1/packages/{id}/replace”Mengganti semua alamat paket dengan alamat baru di lokasi yang sama. Izin packages:write. Body tidak
diperlukan. Gratis.
Penggantian berjalan di latar belakang. Respons - 202 dan kartu dengan replacement.state: pending.
Baca kartu sampai state berubah, biasanya kurang dari satu menit:
replacement.state | Arti |
|---|---|
pending | penggantian sedang berjalan |
done | addresses berisi alamat baru, alamat lama tidak berfungsi |
failed | tidak ada yang berubah, bisa diminta lagi |
Login, kata sandi, masa berlaku, dan sidik jari tidak berubah. Penggantian berikutnya dapat dilakukan
setelah 30 hari: replace_available_at di kartu menunjukkan kapan.
Penolakan:
- 404 -
not_found - 409 -
replace_in_progress(penggantian sudah berjalan) - 422 -
package_expired(masa berlaku habis - perpanjang dulu),unsupported_capability - 429 -
replace_cooldown(alamat baru saja diganti; tanggalnya - direplace_available_at)
POST /api/v1/packages/{id}/fingerprint
Section titled “POST /api/v1/packages/{id}/fingerprint”Sidik jari p0f: alamat tampil sebagai OS dan browser yang dipilih. Satu profil untuk seluruh paket.
Izin packages:write. Gratis.
curl -X POST https://ipv.rent/api/v1/packages/57/fingerprint \ -H 'Authorization: Bearer YOUR_API_KEY' -H 'Content-Type: application/json' \ -d '{"profile":"windows_chrome"}'profile - nilai dari fingerprint.profiles di kartu: windows_chrome, windows_edge,
windows_firefox, android_chrome, macos_chrome. null mematikan penyamaran.
Sidik jari baru berlaku setelah 2-3 menit. Koneksi yang dibuka sebelum perubahan tetap memakai yang lama - sambungkan ulang.
Penolakan: 400 validation_failed (profil tidak ada di daftar); 404 not_found; 422 package_expired,
unsupported_capability.
Kata sandi
Section titled “Kata sandi”Penerbitan ulang kata sandi - rute bersama
POST /api/v1/packages/{id}/password. Login tidak
berubah, kata sandi lama langsung berhenti berfungsi di semua alamat paket.