Referensi API
Kirim email
Send transactional mail only from your verified custom domains over HTTPS — password resets, receipts, alerts, and similar event-driven messages. Not for newsletters or marketing bulk. One endpoint, domain-scoped API keys, delivery through AWS SES.
Ikhtisar
Hasilkan kunci di Akun → Domain → domain Anda → API setelah verifikasi DNS selesai. Rahasia lengkap ditampilkan sekali — simpan dengan aman. Kredensial SMTP opsional di panel Domain yang sama mengikuti aturan hanya transaksional yang sama.
Hanya email transaksional
Unbox HTTP API (POST /v1/email) and optional SMTP submission are for transactional mail only — messages tied to an account action, purchase, or operational event. They are not a newsletter or marketing broadcast service.
Penggunaan yang diizinkan
- Verifikasi akun, pengaturan ulang kata sandi, dan peringatan keamanan
- Konfirmasi pesanan, tanda terima, pembaruan pengiriman, dan pemberitahuan pembayaran
- Notifikasi yang dipicu oleh pengguna tertentu atau peristiwa sistem
- Pesan tim dan ruang kerja (undangan, penugasan, peringatan internal)
Penggunaan yang dilarang
- Buletin, kampanye promosi, atau pemasaran siaran
- Penjangkauan dingin atau surat ke daftar yang dibeli, dikerok, atau tanpa persetujuan
- Spam afiliasi, phishing, atau konten menipu
- Segala upaya untuk menghindari batas penerima, batas pengiriman, atau kuota paket
Batas pengiriman dan penerima
Untuk melindungi penerima dan keterkiriman, lalu lintas API dan SMTP keluhan tunduk pada batas di bawah ini (selain kuota keluar bulanan paket Anda). Penegakan berlaku langsung di komposer web, HTTP API, dan pengiriman SMTP. Komposer web memberikan peringatan setelah 25 penerima per pesan dan memblokir pengiriman di atas 50.
| Batas | Nilai |
|---|---|
| Penerima per pesan | Hingga 50 total (To + Cc + Bcc digabungkan) |
| Penerima unik per hari | Hingga 1.000 per ruang kerja |
| Laju permintaan kirim | Hingga 10 pengiriman API atau SMTP per menit per domain |
| Kuota keluar paket | Batas kirim bulanan pada langganan Anda tetap berlaku |
Aturan ini adalah bagian dari Kebijakan Penggunaan yang Dapat Diterima. Penegakan otomatis berlaku langsung di komposer web, HTTP API, dan pengiriman SMTP. Akun yang mengirim pemasaran atau surat massal, atau menyalahgunakan infrastruktur pengiriman, dapat dibatasi, ditangguhkan, atau dihentikan.
Kami memantau sinyal keterkiriman. Tingkat bouncing di atas 3% atau tingkat keluhan di atas 0,1% dapat memicu jeda kirim sementara atau peninjauan manual.
Lihat Ketentuan Layanan, Kebijakan Privasi, dan Pernyataan GDPR kami untuk detail kebijakan lengkap.
Autentikasi
Kirim kunci API domain Anda pada setiap permintaan:
Authorization: Bearer ubk_live_xxxxxxxxxxxxxxxxxxxxxxxxAlternatifnya, gunakan X-Api-Key: ubk_live_…. Kunci disimpan dalam bentuk hash; cabut atau rotasi dari dasbor Domain.
Badan permintaan
JSON dengan nama bidang PascalCase (From, To, …). Alias camelCase juga diterima.
| Bidang | Diperlukan | Deskripsi |
|---|---|---|
From | Ya | Pengirim — kotak surat pribadi Anda di domain kunci (utama atau alias). Antrian bersama bukan pengirim yang valid. |
To | Ya | Penerima — string, string yang dipisahkan koma, atau array |
Subject | Ya | Baris subjek |
TextBody | Salah satu dari TextBody / HtmlBody | Badan teks biasa |
HtmlBody | Salah satu dari TextBody / HtmlBody | Badan HTML |
Cc | Tidak | Penerima salinan |
Bcc | Tidak | Penerima salinan tersembunyi |
ReplyTo | Tidak | Alamat Balas ke |
Tag | Tidak | Tag metadata opsional (disimpan bersama pengiriman) |
Contoh
{
"From": "you@yourdomain.com",
"To": "user@example.com",
"Subject": "Welcome",
"TextBody": "Thanks for signing up.",
"HtmlBody": "<p>Thanks for signing up.</p>",
"ReplyTo": "you@yourdomain.com",
"Tag": "welcome"
}Respons sukses
HTTP 200 dengan JSON:
{
"ErrorCode": 0,
"Message": "OK",
"MessageID": "0100018…-000000-…",
"SubmittedAt": "2026-06-23T12:00:00.000Z",
"To": "user@example.com"
}Respons kesalahan
Kesalahan mengembalikan 4xx (atau 500 untuk kegagalan tak terduga) dengan JSON:
{
"ErrorCode": 300,
"Message": "TextBody or HtmlBody is required."
}| Kode Error | Arti |
|---|---|
0 | Sukses |
10 | Kunci API tidak ada |
11 | Kunci tidak valid atau dicabut, atau domain belum terverifikasi untuk pengiriman |
300 | Kesalahan validasi (bidang hilang, JSON tidak valid, dll.) |
403 | Alamat pengirim tidak diizinkan — harus kotak surat pribadi Anda di domain kunci tersebut |
406 | SES menolak pesan |
Contoh
Ganti you@yourdomain.com dengan kotak surat pribadi Anda di domain dan gunakan kunci API Anda sendiri.
curl "https://api.unbox.im/v1/email" \
-H "Authorization: Bearer ubk_live_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"From": "you@yourdomain.com",
"To": "user@example.com",
"Subject": "Welcome",
"TextBody": "Thanks for signing up.",
"HtmlBody": "<p>Thanks for signing up.</p>",
"ReplyTo": "you@yourdomain.com",
"Tag": "welcome"
}'Memulai
- Buat akun Unbox dan tambahkan domain kustom Anda.
- Selesaikan semua langkah verifikasi DNS di Domains.
- Buka Domains → domain Anda → API dan buat kunci domain.
- Kirim pesan pertama Anda dengan contoh di atas.