Cara Create Domain di Carbonio Menggunakan SOAP API

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

  1. Buka Postman
  2. Buat request baru
  3. Ubah method menjadi POST
  4. Masukkan URL berikut: https://carbonio.afatyo.web.id:7071/service/admin/soap
  5. Tambahkan header: Content-Type: application/json
  6. Masuk ke tab Body → raw → JSON
  7. 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

  1. Buat request baru (atau duplikat request sebelumnya)
  2. Pastikan method masih POST
  3. Gunakan URL yang sama: https://carbonio.afatyo.web.id:7071/service/admin/soap
  4. Header tetap: Content-Type: application/json
  5. 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

Leave a Reply

Your email address will not be published. Required fields are marked *