Email Account
Email Account adalah pengirim SMTP yang Anda daftarkan pada satu Space. Ini adalah resource yang menyimpan alamat server tujuan pengiriman email, informasi login, dan alamat pengirim sebagai satu kesatuan. Ketika statement EmailSend dari Script dijalankan, email yang sesungguhnya dikirim melalui Email Account ini. Misalnya, jika toko baju online ingin mengirim email konfirmasi setiap kali ada pesanan masuk, pertama daftarkan dulu Email Account yang dipakai untuk pengiriman, lalu buat Script mereferensikannya.
Email Account adalah resource di bawah Space yang dikelola di CMA, dengan path berbasis /spaces/{spaceId}/email-accounts. Tidak ada konsep publikasi (publish). Tanpa status atau tahap publikasi, begitu dibuat, ia langsung dapat dipakai untuk pengiriman. Sebagai gantinya, pembuatan bukanlah tindakan pembacaan yang tidak berdampak, melainkan tindakan yang benar-benar mengirim satu email untuk memverifikasi konfigurasi, dan informasi koneksi (endpoint·username·password) tidak dapat diubah setelah sekali dibuat. Kedua hal ini dibahas di bawah.
Struktur resource
Berikut adalah respons ketika sebuah Email Account dibuat. sys (properti sistem) memuat identifier dan versi, sedangkan body memuat konfigurasi pengirim (name·endpoint·username·fromAddress·fromName). Kata sandi (password) tidak muncul di mana pun dalam respons.
{
"sys": {
"id": "3trmXRMdKpLc7GfNbyVQeR2WsT9LnU",
"type": "EmailAccount",
"space": { "sys": { "id": "HnQ32YiH", "type": "Refer", "targetType": "Space" } },
"createdBy": { "sys": { "id": "9dLmQ2pVnRb8sTfWcXd3LhJ7gK", "type": "Refer", "targetType": "User" } },
"createdAt": "2026-08-04T05:12:44.108Z",
"updatedBy": { "sys": { "id": "9dLmQ2pVnRb8sTfWcXd3LhJ7gK", "type": "Refer", "targetType": "User" } },
"updatedAt": "2026-08-04T05:12:44.108Z",
"version": 1
},
"name": "Pengiriman Notifikasi Pesanan",
"endpoint": {
"host": "smtp.gmail.com",
"port": 587,
"security": "StartTls"
},
"username": "orders@example-shop.com",
"fromAddress": "orders@example-shop.com",
"fromName": "Pesanan Toko Baju"
}Kunci utama:
sys.id: identifier unik dari Email Account. Masuk ke{emailAccountId}pada path untuk pembacaan tunggal, pengubahan, dan penghapusan.sys.version: versi resource. Dimulai dari 1 dan naik setiap kali diubah. Nilai ini dikirimkan sebagai headerX-Weegloo-Versionpada permintaan pengubahan (lihat Status dan batasan di bawah).name: label yang tampil di konsol (mis.Pengiriman Notifikasi Pesanan). Tidak dipakai untuk pengiriman, dan bukan nama tampilan From. Ini hanya nama untuk membedakan beberapa pengirim.endpoint: server SMTP yang akan dihubungi. Terdiri dari tiga nilai:host·port·security.username: nama pengguna login SMTP. Berbeda-beda per penyedia. Bisa sama persis dengan alamat email, atau berupa string tetap yang ditentukan layanan pengiriman, atau login berbasis domain.fromAddress: alamat pengirim. Dipakai sekaligus sebagai alamat pengembalian amplop (MAIL FROM) dan alamat From yang terlihat oleh penerima.fromName: nama tampilan yang terlihat pada header From (opsional). Jika kosong, hanya alamat yang muncul.
Kata sandi (password) adalah nilai write-only yang hanya dikirim melalui body permintaan pembuatan, sehingga ia tidak dikembalikan pada respons di atas maupun pada pembacaan atau daftar mana pun setelahnya. username muncul pada respons pembacaan persis seperti nilai yang Anda masukkan.
Properti sistem (sys)
Setiap Email Account memuat properti sistem umum dalam objek sys. space, createdBy, dan updatedBy masuk dalam bentuk Refer ({ "sys": { "id", "type": "Refer", "targetType" } }).
| Properti | Tipe | Deskripsi |
|---|---|---|
id | string | Identifier unik resource. |
type | string | Jenis resource. Email Account selalu "EmailAccount". |
space | Refer<Space> | Space tempat pengirim ini berada. |
createdBy | Refer<User> | Pengguna yang mendaftarkan. |
createdAt | string (date-time) | Waktu pembuatan. |
updatedBy | Refer<User> | Pengguna yang terakhir mengubah. |
updatedAt | string (date-time) | Waktu pengubahan terakhir. |
version | integer (≥1) | Versi resource. Saat mengubah, kirim nilai saat ini melalui header X-Weegloo-Version. |
Properti body:
| Properti | Tipe | Deskripsi |
|---|---|---|
name | string (1~64) | Label yang tampil di konsol. Tidak dipakai untuk pengiriman dan bukan nama tampilan From. |
endpoint | SmtpEndpoint | Server SMTP yang akan dihubungi (host·port·security). |
endpoint.host | string | Host server SMTP (mis. smtp.gmail.com). |
endpoint.port | integer (1~65535) | Port SMTP. Secara konvensi, 587 berpasangan dengan StartTls dan 465 dengan Tls. |
endpoint.security | string | Keamanan pada jalur transport. Salah satu dari StartTls atau Tls. Karena kata sandi lewat di sini, koneksi plaintext tidak diizinkan. |
username | string | Nama pengguna login SMTP. Berbeda-beda per penyedia dan bisa jadi bukan alamat email. |
fromAddress | string (email, ≤254) | Alamat pengirim. Dipakai sebagai alamat pengembalian amplop (MAIL FROM) sekaligus header From. Server dapat menulis ulangnya (mis. Gmail memaksanya menjadi akun terautentikasi). |
fromName | string | Nama tampilan header From. Opsional. Jika kosong, hanya alamat yang muncul. |
Input khusus body permintaan pembuatan:
| Properti | Tipe | Deskripsi |
|---|---|---|
password | string | Kata sandi login SMTP. Bersifat write-only. Tidak muncul pada respons mana pun, nilainya tidak dapat dibaca kembali, dan hanya dapat diganti (dibuat ulang). Wajib. |
Informasi pengirim vs. informasi koneksi
Nilai Email Account terbagi menjadi dua jenis. Pembagian inilah yang menentukan apa yang dapat diubah.
- Informasi koneksi —
endpoint·username·password. Tidak dapat diubah setelah dibuat. Saat memindahkan server pengiriman atau merotasi informasi login, buat Email Account baru dan hapus yang lama. Kata sandi, seperti dijelaskan di atas, tidak dapat dibaca kembali, jadi jika hilang, tangani dengan pembuatan ulang, bukan penyetelan ulang. - Informasi pengirim —
name·fromAddress·fromName. Dapat diubah dengan pengubahan (PUT) meski sudah dibuat. Dipakai untuk merapikan label atau mengubah alamat pengirim dan nama tampilan, dan pada saat itu informasi koneksi tetap dipertahankan.
Email yang sesungguhnya dikirim saat pembuatan
Pembuatan Email Account bukanlah tindakan yang sekadar menyimpan konfigurasi. Sebelum menyimpan, server benar-benar terhubung menggunakan endpoint·username·password yang dimasukkan dan mengirim satu email uji. Tujuan pengiriman adalah fromAddress, dan jika username berupa alamat yang berbeda, alamat itu pun dapat ikut disertakan.
- Resource baru tersimpan hanya jika pengiriman berhasil.
- Jika server menolak pada tahap mana pun di antara koneksi, autentikasi, atau pengiriman, prosesnya gagal dan tidak ada yang dibuat, dan respons memuat alasan kegagalan yang dikembalikan server.
Karena itu, perhatikan bahwa mengulang pembuatan dengan nilai yang salah akan mencoba pengiriman yang sesungguhnya setiap kalinya.
Status dan batasan
Batasan nilai yang berlaku saat pembuatan dan pengubahan.
| Sasaran | Batasan |
|---|---|
name | 1~64 karakter, wajib. |
endpoint.host | Wajib. |
endpoint.port | 1~65535, wajib. |
endpoint.security | StartTls atau Tls, wajib. Plaintext tidak boleh. |
username | Wajib (saat pembuatan). Tidak dapat diubah setelah dibuat. |
password | Wajib (saat pembuatan), write-only. Tidak dapat diubah setelah dibuat (penggantian berarti pembuatan ulang). |
fromAddress | Format email, maksimum 254 karakter, wajib. |
fromName | Opsional. |
Aturan tentang perilaku dan izin:
- Informasi koneksi bersifat tetap. Yang dapat diubah dengan
Update(PUT) hanyalahname·fromAddress·fromName. Untuk mengubahendpoint·username·password, buat yang baru dan hapus yang lama. - Pengubahan memerlukan versi. Pada permintaan
Update, kirim nilaisys.versionsaat ini melalui headerX-Weegloo-Version. Jika nilainya bukan yang terbaru, permintaan ditolak karena konflik versi. Dalam hal ini, baca ulang resource lalu coba lagi dengansys.versionterbaru. - Kata sandi tidak dapat dibaca kembali. Karena tidak muncul pada pembacaan atau daftar mana pun, jika hilang, tangani dengan pembuatan ulang, bukan penyetelan ulang.
- Server SMTP yang dapat dipakai berbeda menurut paket. Host penyedia yang disediakan sebagai preset (Gmail·Naver·Resend·Brevo) dapat didaftarkan bahkan pada paket yang lebih rendah. Host arbitrer (swakelola) yang tidak ada dalam preset hanya dapat dipakai jika metode pembayaran telah terdaftar. Untuk kebijakan per paket, lihat Paket Harga.
API
URL basis untuk semua endpoint di bawah adalah https://cma.weegloo.com/v1, dan diperlukan Bearer token yang mengautentikasi CMA pada header Authorization. Pengubahan (PUT) juga memerlukan header X-Weegloo-Version tambahan.
Dokumen terkait
- Script: mengirim email melalui Email Account ini dengan statement
EmailSend. - SpaceRole: peran yang mendefinisikan izin akses resource pada Space ini.
- Paket Harga: kebijakan penggunaan host penyedia preset dan host SMTP arbitrer (swakelola).
