Fitur
Fitur & arsitektur
Email transaksional dan campaign dalam satu platform dengan REST API, SMTP relay, dan dashboard untuk developer.
01
REST API & SDK
Kirim email dari kode dengan SDK TypeScript dan Python, atau REST langsung dengan Bearer API key.
- HTML, plain text, atau template dari dashboard dengan variables.
- cc, bcc, replyTo, custom headers, dan hingga 10 lampiran per email.
- Batch hingga 100 email per request lewat /emails/batch.
- Jadwalkan dengan scheduledAt — ubah jadwal atau batalkan sebelum terkirim.
- Header Idempotency-Key mencegah pengiriman ganda saat request di-retry.
src/services/mail.tsTypeScript
import { F14 } from 'f14';
const f14 = new F14(process.env.F14_API_KEY);
export async function sendOtp(to: string, code: string) {
return f14.emails.send(
{
from: 'keamanan@auth.perusahaan.id',
to,
subject: 'Kode verifikasi kamu',
html: `<p>Kode OTP: <strong>${code}</strong></p>`,
},
{ idempotencyKey: `otp-${to}-${code}` },
);
}02
SMTP relay siap pakai
Punya backend atau tools yang hanya mendukung SMTP? Sambungkan langsung — email yang dikirim lewat SMTP tetap tercatat di log dan webhook.
- Port 465 dan 2465 (TLS implisit), 587 dan 2587 (STARTTLS).
- Password SMTP adalah API key kamu.
- Kompatibel dengan Supabase Auth, Laravel, Django, NextAuth, dan WordPress.
.env.productionSMTP relay
SMTP_HOST="smtp.f14.email"
SMTP_PORT=587
SMTP_USER="f14"
SMTP_PASS="<API key kamu>"
SMTP_ENCRYPTION="starttls"
DEFAULT_FROM="halo@brandkamu.id"03
Verifikasi domain
Kirim dari domain milikmu. Dashboard menampilkan record DNS yang perlu dipasang, lalu memverifikasinya secara otomatis.
- DKIM untuk tanda tangan kriptografis setiap email.
- SPF dan MX pada subdomain mail. untuk alignment dan feedback bounce.
- DMARC untuk kebijakan autentikasi domain.
- Mendukung subdomain, misalnya notif.domainkamu.id.
DNS records · app.domainkamu.id
f14._domainkey
p=MIGfMA0GCSqGSIb3DQEBAQUAA…
mail
v=spf1 include:spf.f14.email ~all
mail
feedback-smtp.f14.email
_dmarc
v=DMARC1; p=none;
04
Webhook dengan signature HMAC
Sinkronkan status pengiriman ke database aplikasimu. Tangani bounce, complaint, atau klik secara otomatis.
- Event email: queued, sent, delivered, opened, clicked, bounced, complained, delivery_delayed, failed, rejected, suppressed, cancelled.
- Event contact.* dan domain.* untuk sinkronisasi data lainnya.
- Signature HMAC SHA-256 dengan timestamp untuk verifikasi.
- Dikirim ulang otomatis hingga 6 kali dengan exponential backoff, atau retry manual dari dashboard.
POST /webhooks/f14Payload
{
"id": "call_abc123",
"type": "email.delivered",
"createdAt": "2026-10-13T10:30:00.000Z",
"data": {
"id": "email_123",
"status": "DELIVERED",
"from": "billing@acme.id",
"to": ["klien@perusahaan.co.id"],
"subject": "Invoice #0812 lunas"
},
"attempt": 1
}05
Campaign & contact book
Kirim newsletter, pengumuman produk, atau promo ke daftar kontak — dari dashboard atau API.
- Contact book dengan import massal, upsert, dan properti per kontak.
- Editor visual dan template yang bisa dipakai ulang.
- Jadwalkan, pause, dan resume campaign.
- Unsubscribe one-click otomatis di setiap campaign.
Campaign
Newsletter Oktober
Pelanggan aktif · 4.812 kontak
Peluncuran fitur baru
Semua pengguna · 15 Okt 09.00
Promo akhir bulan
Leads · 1.204 kontak
06
Log & analitik
Temukan email apa pun saat debugging laporan pengguna, lalu lihat timeline event-nya.
- Filter berdasarkan status: delivered, opened, clicked, bounced, complained, dan lainnya.
- Timeline event per email, termasuk detail bounce.
- Grafik volume pengiriman dan metrik reputasi (bounce rate dan complaint rate).
Email
budi@tokoonline.id
Kode OTP login #8812
andi@kledo.com
Invoice pembelian INV-092
salah@invalid.id
Reset password
07
Akses & tim
Atur siapa yang bisa mengirim dan dari domain mana.
- API key dengan izin Full access atau Sending only.
- Batasi API key ke satu domain.
- API key disimpan dalam bentuk hash, bukan teks asli.
- Undang anggota tim sebagai Admin atau Member.
API keys
production-backend
Domain: notif.acme.id
ci-staging
Domain: staging.acme.id
admin-scripts
Semua domain