Carbonio menyediakan beberapa mekanisme API yang dapat digunakan oleh administrator maupun aplikasi eksternal.
Salah satu API yang paling sering digunakan untuk kebutuhan administrasi adalah SOAP API.
Pada artikel ini, kita akan membahas alur pembuatan domain di Carbonio menggunakan SOAP Admin API, mulai dari proses autentikasi hingga domain berhasil dibuat.
Artikel ini cocok buat kalian yang baru pertama kali mencoba API di Carbonio dan ingin memahami alurnya secara bertahap.
Sekilas Tentang API di Carbonio
Jika kalian membuka dokumentasi resmi Carbonio, akan terlihat bahwa Carbonio menyediakan beberapa jenis API, antara lain:
- SOAP API
- REST API
- GraphQL API
Masing-masing API tersebut memiliki tujuan dan use case yang berbeda.
Pada artikel ini, kita secara khusus menggunakan SOAP API, karena:
- SOAP API adalah API paling lengkap untuk kebutuhan administrasi
- Seluruh perintah admin seperti CreateDomain, CreateAccount, dan pengaturan COS tersedia di SOAP
- Carbonio Admin Panel (GUI) sendiri di belakang layar juga menggunakan SOAP API
Sementara itu:
- REST API lebih sering digunakan untuk akses data user dan integrasi ringan
- GraphQL API difokuskan untuk kebutuhan aplikasi dan frontend (misalnya Web Client)
Karena tujuan kita adalah administrasi sistem, maka SOAP Admin API merupakan pilihan yang paling tepat.
Mengenal SOAP API di Carbonio
SOAP API adalah mekanisme komunikasi yang digunakan Carbonio untuk mengakses fungsi-fungsi internal sistem, baik untuk user maupun admin.
Carbonio membedakan endpoint SOAP menjadi dua jenis:
User SOAP
https://<server-carbonio>/service/soap
Admin SOAP
https://<server-carbonio>:7071/service/admin/soap
Karena kita akan membuat domain, maka endpoint yang digunakan adalah Admin SOAP.
Step 1 Autentikasi Admin (Get Auth Token)
Sebelum bisa melakukan perintah admin seperti membuat domain, kalian harus mendapatkan Admin Auth Token terlebih dahulu.
Token ini berfungsi sebagai bukti bahwa request yang dikirim memang berasal dari administrator yang sah.
Konfigurasi Request di Postman
- Buka Postman
- Buat request baru
- Ubah method menjadi POST
- Masukkan URL berikut:
https://carbonio.afatyo.web.id:7071/service/admin/soap - Tambahkan header:
Content-Type: application/json - Masuk ke tab Body → raw → JSON
- Masukkan request berikut:
{
"Header": {
"ctxt": {
"_jsns": "urn:zimbraAdmin"
}
},
"Body": {
"AuthRequest": {
"_jsns": "urn:zimbraAdmin",
"account": {
"by": "name",
"_content": "admin@afatyo.web.id"
},
"password": "password_admin"
}
},
"_jsns": "urn:zimbraSoap"
}
Perlu diperhatikan bahwa untuk Admin SOAP, header yang digunakan adalah ctxt, bukan
context.
Hasil Autentikasi
Jika autentikasi berhasil, Carbonio akan mengembalikan response yang berisi authToken, contohnya:
"AuthResponse": {
"authToken": [
{ "_content": "0_xxxxxxxxxxxxx" }
],
"lifetime": 43199998
}
Auth token inilah yang nantinya digunakan untuk request admin berikutnya.
Step 2 Membuat Domain Baru
Setelah admin auth token berhasil didapatkan, langkah selanjutnya adalah membuat domain baru menggunakan perintah CreateDomain.
Konfigurasi Request Create Domain
- Buat request baru (atau duplikat request sebelumnya)
- Pastikan method masih POST
- Gunakan URL yang sama:
https://carbonio.afatyo.web.id:7071/service/admin/soap - Header tetap:
Content-Type: application/json - Pada tab Body → raw → JSON, masukkan request berikut:
{
"Header": {
"ctxt": {
"_jsns": "urn:zimbraAdmin",
"authToken": "PASTE_ADMIN_AUTH_TOKEN"
}
},
"Body": {
"CreateDomainRequest": {
"_jsns": "urn:zimbraAdmin",
"name": "nugi.biz.id"
}
},
"_jsns": "urn:zimbraSoap"
}
Ganti nilai authToken dengan token yang sudah kalian dapatkan pada langkah sebelumnya, serta sesuaikan nama domain dengan kebutuhan.
Response Create Domain
Jika proses berhasil, Carbonio akan mengembalikan response seperti berikut:
"CreateDomainResponse": {
"domain": [
{
"name": "nugi.biz.id",
"id": "daaf286a-09bd-4e6a-9e52-cc8fc134385e"
}
]
}
Response ini juga biasanya disertai dengan daftar atribut domain bawaan (quota, status, GAL, dan lain-lain), yang menandakan domain telah berhasil dibuat dan aktif.
Catatan Penting
Beberapa hal yang perlu diingat oleh kalian saat menggunakan SOAP API Carbonio:
- Semua request SOAP harus menggunakan method POST
- Admin API selalu menggunakan port 7071
- Header Admin menggunakan ctxt, bukan
context - Auth token dapat digunakan berulang sampai masa berlakunya habis
Kesimpulan
Dengan menggunakan Carbonio SOAP Admin API, kalian dapat membuat domain baru tanpa melalui Admin Panel. Metode ini sangat berguna untuk kebutuhan automasi, provisioning massal, maupun integrasi dengan sistem lain.
Pada artikel ini, kalian telah berhasil:
- Melakukan autentikasi admin
- Mendapatkan Admin Auth Token
- Membuat domain baru menggunakan API