Quickstart REST API & SMTP
Dari akun baru sampai email pertama terkirim, sekitar sepuluh menit. Semua contoh memakai placeholder — ganti hb_live_YOUR_API_KEY dan alamat email dengan milik Anda.
1. Persiapkan akun, domain, dan saldo
- Daftar di hubina.net dan verifikasi email.
- Top up saldo (minimal Rp15.000) lewat QRIS atau virtual account bank, lalu tambahkan domain pengirim di dashboard → Domain dan pasang record DNS yang ditampilkan. Tunggu status terverifikasi.
- Buat API key di dashboard → API Keys. Key hanya ditampilkan sekali — simpan di secret manager, jangan di kode.
2. Kirim lewat REST API
Semua endpoint REST berada di https://api.hubina.net/v1 dengan autentikasi Bearer API key:
curl -X POST https://api.hubina.net/v1/messages \
-H "Authorization: Bearer hb_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: order-10231-receipt" \
-d '{
"from": "[email protected]",
"to": ["[email protected]"],
"subject": "Halo dari Hubina",
"text": "Email pertama lewat REST API Hubina."
}'Respons 202 Accepted berisi ID pesan yang bisa dilacak di dashboard:
{
"id": "msg_1a2b3c4d5e6f77889900aabbccddeeff",
"status": "accepted"
}Balasan 202 berarti pesan sudah diterima untuk dikirim
Bukan berarti sudah sampai di inbox. Status akhirnya menyusul sebagai event delivered,
bounced, atau rejected — lihat Sending & Logs.
3. Kirim lewat SMTP
Pakai smtp.hubina.net port 587 dengan STARTTLS. Username api dan kata sandi adalah API key akun Anda:
import nodemailer from 'nodemailer';
const transport = nodemailer.createTransport({
host: 'smtp.hubina.net',
port: 587,
secure: false, // koneksi dinaikkan ke TLS oleh STARTTLS
requireTLS: true, // tolak server yang tidak mendukung STARTTLS
auth: { user: 'api', pass: 'hb_live_YOUR_API_KEY' },
});
await transport.sendMail({
from: '"Toko Anda" <[email protected]>',
to: '[email protected]',
subject: 'Halo dari Hubina via SMTP',
text: 'Email pertama lewat SMTP submission.',
});Konfigurasi lengkap untuk aplikasi lain (Laravel, Django, WordPress) ada di halaman SMTP.
4. Pantau pengiriman
Buka dashboard → Sending & Logs. Setiap pesan menampilkan status terbaru, alasan kegagalan bila ada, dan timeline event dari penyedia. Klik satu baris untuk melihat detailnya.
Checklist sebelum mengirim email production
- Domain pengirim berstatus terverifikasi dan record SPF/DKIM terpasang persis seperti yang ditampilkan dashboard.
- Alamat pengirim yang dipakai produksi memakai domain tersebut (bukan domain orang lain, bukan Gmail/Yahoo).
- Saldo cukup untuk volume harian Anda, dan peringatan saldo rendah sudah dipantau.
- Retry request memakai
Idempotency-Keyyang sama agar tidak ada kiriman ganda. - Error handling menangani
403(saldo),429(rate limit), dan503(penyedia sedang gangguan) dengan retry bertahap. - Uji kirim ke Gmail, Outlook, dan satu alamat korporat sebelum rilis — termasuk folder spam.
- API key disimpan server-side saja; rotasi key bila pernah terekspos.
Langkah selanjutnya
- Referensi REST API — parameter lengkap dan kode error.
- SMTP — retry, deduplication, dan kode respons.
- Troubleshooting — kalau ada yang tidak sesuai harapan.