Apa itu API Spanel?
Fungsionalitas inti Spanel ditaruh dalam modul dan fungsi Perl yang membentuk API (Application Programmer Interface) Spanel.
API ini dapat diakses lewat program Perl, lewat command-line, lewat soket Unix, maupun secara remote lewat Web.
Cara mengakses API
lewat program Perl
Contoh skrip pendek:
#!/usr/bin/perl
use 5.010;
use strict;
use warnings;
use lib "/c/lib/perl/cpan";
use lib "/c/lib/perl";
use Spanel::API::DiskFree;
my $res = Spanel::API::DiskFree::get();
die "Gagal" unless $res->[0] == 200;
my $info = $res->[2];
for (keys %$info) { print "Partisi $_, free=$info->{free} blocks\n" }
lewat shell/command-line (sebagai root)
Melihat daftar modul yang ada
# spanel api --list
Melihat fungsi API yang ada di sebuah modul
# spanel api <NAMA_MODUL> --list
Contoh:
# spanel api DiskFree --list
Melihat cara penggunaan sebuah fungsi API
# spanel api <NAMA_MODUL> <NAMA_FUNGSI> --help
Contoh:
# spanel api File list_volumes --help
Memanggil sebuah fungsi API
# spanel api <NAMA_MODUL> <NAMA_FUNGSI> [--ARGUMEN1 ... --ARGUMEN2 ... ...]
Hasil akan ditampilkan dalam bentuk tabel teks atau YAML. Exit code adalah 0 jika fungsi berhasil, atau >0 jika terjadi kesalahan.
Contoh:
# spanel api File list_volumes --account budi
Lebih detil, silakan gunakan: spanel api --help
Lihat juga
/Resep API command-line
lewat Unix socket
Cara ini dipakai oleh antarmuka web Spanel dan program command-line "spanel" saat ini.
Saat ini admin dianjurkan untuk menggunakan antarmuka program command-line "spanel" ketimbang mengakses langsung Unix socket. Sementara programer dianjurkan menggunakan antarmuka Web atau librari Perl langsung.
lewat Web/HTTP
Dengan cara ini, API Spanel dapat diakses secara remote.
Saat ini tersedia 2 cara:
Cara ini saat ini dipakai untuk konektor ke WHMCS. Membutuhkan username/password user Unix admin/support-staff. Dokumentasi lengkap belum ada, dan cara ini akan di kemudian hari kemungkinan akan diganti.
Cara ini mengakses spanel-jobd, saat ini dipakai untuk transfer zona DNS antarserver Spanel. Membutuhkan sertifikat SSL. Dokumentasi lengkap belum ada dan cara ini di kemudian hari kemungkinan akan diganti.
cara ketiga
Pengganti kedua cara di atas sedang dikembangkan.