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

  1. Daftar di hubina.net dan verifikasi email.
  2. 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.
  3. 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
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:

response
{
  "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:

Node.js (nodemailer)
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-Key yang sama agar tidak ada kiriman ganda.
  • Error handling menangani 403 (saldo), 429 (rate limit), dan 503 (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

Di halaman ini