Kembali ke Beranda
PanzzMail API v2.0
REST API terintegrasi untuk email sementara berkecepatan tinggi dengan dukungan Public Domain, Private Domain eksklusif, pengecekan status DNS live, dan Cloudflare Email Routing otomatis.
BASE URL: https://panzzmail.irfanff014.workers.dev HTTPS / TLS Ready
Autentikasi API Key & Token

Untuk menggunakan Private Domain milik Anda atau meningkatkan kuota request, Anda dapat menyertakan API Key dari Dashboard.

Gunakan salah satu dari 3 metode autentikasi berikut:

# Metode 1: Header X-API-Key (Direkomendasikan)
X-API-Key: pzm_xxxxxxxxxxxxxxxxxxxxxxxx

# Metode 2: Header Authorization Bearer
Authorization: Bearer <TOKEN_JWT_DASHBOARD>

# Metode 3: Query Parameter URL
GET /api/v1/messages?login=user&domain=private.com&apikey=pzm_xxxxxx
1. Dapatkan Daftar Domain (Public & Private)
GET /api/v1/domains

Mengembalikan daftar domain yang aktif dan siap digunakan. Jika mengirimkan API Key atau Header Bearer Token, domain Private yang Anda miliki juga akan otomatis disertakan lengkap dengan status verifikasi DNS & Nameserver Cloudflare resminya.

CONTOH REQUEST:
curl "https://panzzmail.irfanff014.workers.dev/api/v1/domains" \
  -H "X-API-Key: pzm_xxxxxxxxxxxxxxxxxxxxxxxx"
CONTOH RESPONSE (200 OK):
[ { "domain": "produk-panzz.indevs.in", "type": "public", "is_active_dns": true, "dns_status": "ready", "nameservers": [ "kehlani.ns.cloudflare.com", "sevki.ns.cloudflare.com" ] }, { "domain": "panzzprem.web.id", "type": "private", "is_mine": true, "is_active_dns": false, "dns_status": "unconfigured", "dns_status_label": "Nameserver Belum Diisi", "nameservers": [ "kehlani.ns.cloudflare.com", "sevki.ns.cloudflare.com" ], "live_nameservers": [] } ]
Keterangan Properti: is_active_dns: true menandakan domain sudah diarahkan ke Nameserver Cloudflare dan siap menerima email secara real-time. Jika bernilai false, Anda perlu mengganti Nameserver di panel registrar domain Anda sesuai yang tertera di array nameservers.
2. Cek Kotak Masuk (Inbox) Email
GET /api/v1/messages?login={user}&domain={host}
PARAMETERTIPEWAJIBDESKRIPSI
loginstringYaNama username email (sebelum tanda @)
domainstringYaNama domain (sesudah tanda @)
CONTOH REQUEST:
curl "https://panzzmail.irfanff014.workers.dev/api/v1/messages?login=panzz&domain=panzzprem.web.id" \
  -H "X-API-Key: pzm_xxxxxxxxxxxxxxxxxxxxxxxx"
CONTOH RESPONSE (200 OK):
[ { "id": "e6a4b123-7f89-4b92-80cf-f28a9b1c7890", "from": "noreply@github.com", "subject": "Your GitHub verification code", "date": "2026-09-14T14:30:00.000Z" } ]
3. Baca Isi Lengkap Email
GET /api/v1/readMessage?login={user}&domain={host}&id={id}
PARAMETERTIPEWAJIBDESKRIPSI
loginstringYaNama username email (sebelum tanda @)
domainstringYaNama domain (sesudah tanda @)
idstringYaUUID ID email dari endpoint daftar pesan
CONTOH REQUEST:
curl "https://panzzmail.irfanff014.workers.dev/api/v1/readMessage?login=panzz&domain=panzzprem.web.id&id=e6a4b123-7f89-4b92-80cf-f28a9b1c7890" \
  -H "X-API-Key: pzm_xxxxxxxxxxxxxxxxxxxxxxxx"
CONTOH RESPONSE (200 OK):
{ "id": "e6a4b123-7f89-4b92-80cf-f28a9b1c7890", "from": "noreply@github.com", "to": "panzz@panzzprem.web.id", "subject": "Your GitHub verification code", "date": "2026-09-14T14:30:00.000Z", "body": "Berikut kode verifikasi akun GitHub Anda: 739201. Kode ini berlaku selama 10 menit.", "textBody": "Berikut kode verifikasi akun GitHub Anda: 739201.", "htmlBody": "<p>Berikut kode verifikasi akun GitHub Anda: <strong>739201</strong>.</p>", "attachments": [] }
4. Cek Propagasi DNS & Nameserver Live
GET /api/dns/check?domain={domain}

Endpoint publik untuk memverifikasi secara langsung apakah domain sudah mengarahkan Nameserver-nya ke Cloudflare secara aktif di Internet (via Cloudflare 1.1.1.1 DNS over HTTPS).

CONTOH REQUEST:
curl "https://panzzmail.irfanff014.workers.dev/api/dns/check?domain=panzzprem.web.id"
CONTOH RESPONSE (200 OK):
{ "domain": "panzzprem.web.id", "status": "ready", "status_label": "Aktif & Siap", "nameservers": [ "kehlani.ns.cloudflare.com", "sevki.ns.cloudflare.com" ], "live_nameservers": [ "kehlani.ns.cloudflare.com", "sevki.ns.cloudflare.com" ] }
5. Kelola Custom Domain Mandiri (Otomatis Cloudflare)
GET POST /api/user/domains

Daftarkan domain pribadi Anda sendiri secara otomatis. Sistem akan langsung membuatkan Cloudflare Zone, record MX, SPF, dan aturan Email Routing Catch-all Worker tanpa perlu campur tangan admin manual.

A. LIHAT DAFTAR DOMAIN PRIBADI SAYA:
curl "https://panzzmail.irfanff014.workers.dev/api/user/domains" \
  -H "X-API-Key: pzm_xxxxxxxxxxxxxxxxxxxxxxxx"
B. TAMBAH DOMAIN PRIBADI BARU (OTOMATIS CLOUDFLARE):
curl -X POST "https://panzzmail.irfanff014.workers.dev/api/user/domains" \
  -H "X-API-Key: pzm_xxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"action": "add", "domain": "domainbisnis.com"}'
CONTOH RESPONSE (200 OK):
{ "success": true, "message": "Domain domainbisnis.com berhasil otomatis didaftarkan ke Cloudflare!", "domain": { "domain": "domainbisnis.com", "type": "private", "owner": "user@gmail.com", "status": "active", "cf_zone_id": "42d894abea0d837bafddeae1dde90dc7", "nameservers": [ "kehlani.ns.cloudflare.com", "sevki.ns.cloudflare.com" ] }, "nameservers": [ "kehlani.ns.cloudflare.com", "sevki.ns.cloudflare.com" ], "cloudflare_auto": true, "total": 3, "limit": 10 }
Tanpa Perlu Setup DNS Manual! Anda hanya perlu menyalin 2 Nameserver di atas (kehlani.ns.cloudflare.com & sevki.ns.cloudflare.com) lalu memasangnya di registrar tempat Anda membeli domain.
C. HAPUS DOMAIN PRIBADI:
curl -X POST "https://panzzmail.irfanff014.workers.dev/api/user/domains" \
  -H "X-API-Key: pzm_xxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"action": "delete", "domain": "domainbisnis.com"}'
6. Pesan / Beli Domain ke Admin
GET POST /api/user/domain_orders

Bagi pengguna yang tidak ingin repot membeli domain dan mengatur DNS sendiri, gunakan endpoint ini untuk mengajukan permohonan pembelian domain ke Admin.

A. LIHAT STATUS RIWAYAT PESANAN DOMAIN:
curl "https://panzzmail.irfanff014.workers.dev/api/user/domain_orders" \
  -H "X-API-Key: pzm_xxxxxxxxxxxxxxxxxxxxxxxx"
B. KIRIM PESANAN DOMAIN BARU:
curl -X POST "https://panzzmail.irfanff014.workers.dev/api/user/domain_orders" \
  -H "X-API-Key: pzm_xxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"domain": "toko-keren.com", "note": "Domain untuk toko online dan notifikasi pesanan"}'
CONTOH RESPONSE (200 OK):
{ "success": true, "message": "Pesanan domain 'toko-keren.com' berhasil dikirim ke Admin! Admin akan segera memproses pembelian domain Anda.", "order": { "id": "ORD-1789390000000", "user_email": "user@gmail.com", "user_plan": "standard", "domain": "toko-keren.com", "note": "Domain untuk toko online dan notifikasi pesanan", "status": "pending", "created_at": "2026-09-14T14:40:00.000Z", "admin_note": "" } }
7. Kode Status HTTP & Format Error
KODEARTIDESKRIPSI
200 OKBerhasilRequest sukses diproses
400 Bad RequestParameter Kurang / SalahParameter tidak lengkap atau format nama domain tidak valid
401 UnauthorizedAutentikasi DibutuhkanAPI Key atau Token tidak valid / tidak disertakan
403 ForbiddenAkses Ditolak / Kuota PenuhMencoba mengakses domain milik pengguna lain atau kuota domain paket telah tercapai
404 Not FoundTidak DitemukanEmail, domain, atau pesanan tidak ditemukan di database
409 ConflictSudah TerdaftarDomain sudah terdaftar di sistem PanzzMail
429 Too Many RequestsLimit Kuota TercapaiBatas kuota harian request API untuk paket Anda telah habis
FORMAT RESPONSE ERROR:
{ "error": "Pesan deskripsi error yang terjadi" }
Limit & Kuota Paket Pengguna
PAKETKUOTA API / HARIMAKS DOMAIN PRIBADIHARGA
Free500 req/hariHanya Public DomainGratis
Standard2.500 req/hariMaks 10 Domain PribadiRp 25.000 / bln
Premium25.000 req/hariMaks 50 Domain PribadiRp 50.000 / bln
Reseller / VIPTidak TerbatasTidak TerbatasRp 125.000 / bln