Disimpan sejak Oktober 2019

API publik, dan mengapa butuh tujuh tahun

Revisi platform 5.4 mengirimkan API dengan autentikasi token pada bulan Juni. Berikut yang dilakukannya, apa yang dengan sengaja ditolaknya, dan mengapa kami menunggu selama ini.

API meninggalkan beta pada tanggal dua Juli. Ia tiba di dalam revisi platform 5.4 pada bulan Juni, berjalan sebagai beta undangan sejak Februari dengan lebih dari empat ratus akun yang aktif, dan tidak berubah bentuk sejak April. Berversi, terdokumentasi, dan dicakup oleh komitmen ketersediaan yang sama seperti panel.

Menyebutnya terlambat adalah pernyataan yang terlalu lunak. Alasannya tidak misterius: antarmuka yang duduk di atas sistem provisioning yang membutuhkan tiga setengah menit untuk membangun server akan menjadi antarmuka untuk memilih pemintal. Kami menulis ulang antrean terlebih dahulu, pada tahun 2025, dan pengurutannya disengaja, bukan kebetulan.

Apa yang dilakukannya

GrupApa yang dapat Anda lakukanCatatan
InstansBuat, ubah ukuran, bangun ulang, snapshot, pulihkan, hancurkanUbah ukuran naik adalah langsung, ubah ukuran turun membutuhkan satu reboot
CitraDaftar katalog OS, daftarkan ISO kustom dengan URLInstal iso kustom masih manual dan masih lambat
JaringanTambahkan IPv4, edit DNS terbalik, minta IPv6 /48Didelegasikan, tidak pernah diproksi
PemfilteranBaca peristiwa serangan, dorong aturan layer-7 pada DDoS ProPemfilteran dasar tidak memiliki apa pun untuk dikonfigurasi
PenagihanBaca saldo, daftar faktur, buka faktur isi ulangTidak ada kolom kartu, karena tidak ada kartu
PeristiwaPolling log peristiwa atau daftarkan webhookDitandatangani dengan rahasia per-akun

Semuanya adalah JSON melalui HTTPS, dan setiap objek yang dapat ditampilkan panel adalah objek yang dapat dikembalikan API. Tidak ada tingkatan fungsionalitas yang dicadangkan untuk antarmuka web, yang merupakan janji yang membuat kami menanggung biaya: panel sekarang menggunakan titik akhir publik yang sama seperti yang Anda gunakan, sehingga API yang rusak adalah panel yang rusak dan kami mengetahuinya segera.

Otentikasi

Token dibuat di panel, diberi cakupan, dan ditampilkan hanya sekali. Tidak ada otentikasi kata sandi, tidak ada cookie sesi, tidak ada pengalihan ke penyedia identitas yang harus kami percayai dengan sesuatu yang telah kami berusaha keras untuk tidak kumpulkan.

Token membawa cakupan baca, tulis, atau penagihan, pembatasan opsional ke satu situs, pembatasan opsional ke daftar instans, dan kedaluwarsa yang Anda tetapkan. Enam puluh hari adalah default. Token dapat dicabut satu per satu dan pencabutan berlaku di tepi dalam waktu dua detik, yang lebih penting dari yang terdengar ketika server build dipasang ulang oleh seseorang yang tidak tahu apa yang ada di dalamnya.

Karena akun di sini adalah alamat email dan hash kata sandi, tidak ada objek pelanggan untuk diambil. API tidak memiliki bidang nama, tidak ada bidang alamat, tidak ada bidang perusahaan, dan tidak ada bidang pajak, persis seperti alasan formulir pendaftaran juga tidak.

Batas laju, idempotensi, kesalahan

Enam ratus pembacaan per menit dan enam puluh penulisan, dihitung per token dan bukan per akun, sehingga satu skrip yang berisik tidak dapat membuat otomatisasi Anda yang lain kelaparan. Batas dikembalikan dalam header pada setiap respons, termasuk yang berhasil.

Setiap penulisan menerima kunci idempotensi. Ulangi pembuatan dengan kunci yang sama dan Anda mendapatkan instans asli kembali daripada yang kedua ditagihkan di sampingnya. Ini adalah fitur tunggal yang paling disyukuri oleh penguji beta, yang memberi tahu Anda sesuatu tentang bagaimana industri lainnya menangani tiket yang larut dalam waktu penyediaan.

Kesalahan adalah kode mesin yang terdokumentasi, satu kalimat yang dapat dibaca manusia, dan pengenal permintaan. Tempel pengenal ke tiket dan dukungan dapat melihat permintaan yang sama yang Anda lihat, tanpa meminta Anda untuk mereproduksinya.

Apa yang secara sengaja tidak dilakukannya

  • Tidak ada fiat, selamanya. Titik akhir penagihan membaca saldo Anda dan membuka faktur isi ulang. Penyelesaian tetap dengan OxaPay dan rantai yang Anda pilih, persis seperti yang dijelaskan di halaman pembayaran.
  • Tidak ada sub-akun atau peran. Diminta terus-menerus. Tidak dibangun, karena implementasi yang jelas berarti menyimpan struktur siapa-bekerja-untuk-siapa, dan kami lebih suka mengirim token bertingkah yang kedaluwarsa dan membiarkan Anda menyimpan bagan organisasi Anda sendiri.
  • Tidak ada autoscaling. Instans adalah inti khusus pada silikon nyata, bukan kolam yang dapat kami panggil. Anda dapat membuat dan menghancurkan sesuai jadwal Anda sendiri; kami tidak akan berpura-pura abstraksi elastis terletak di bawah.
  • Tidak ada matriks SDK. Satu klien referensi, dan HTTP polos sebagai kontrak. Enam pengikatan bahasa yang setengah terpelihara akan menua lebih buruk daripada dokumentasi.

Apa yang ingin kami rusak

Beta menemukan sembilan bug yang layak diperbaiki, tiga di antaranya milik kami dengan cara yang menarik dan enam di antaranya adalah dokumentasi yang berbohong. Jika Anda menemukan yang kesepuluh, penyalahgunaan batas laju baik-baik saja dan diharapkan selama pengujian, dan dukungan lebih suka memiliki pengenal permintaan daripada tangkapan layar.

Referensi ada di dokumen. Changelog untuk revisi 5.4 mencantumkan tujuh titik akhir yang berubah bentuk antara Februari dan April, dan itu adalah satu-satunya perubahan yang melanggar yang akan ada di dalam versi satu.

Siap saat Anda siap

Pilih kota. Pilih ukuran. Bayar dengan koin.

Tanpa formulir tentang siapa Anda, tanpa menunggu manusia untuk menyetujui, tanpa panggilan telepon untuk memverifikasi apa pun. Invoice dibersihkan dan kredensial masuk ke kotak masuk Anda.