Dokumentasi REST API WDP Link Post: Endpoint Cek Slug, Cek Domain, dan DNS Probe
REST API WDP Link Post (
/wp-json/wdplp/v1/*) menyediakan antarmuka pemrograman aplikasi standar industri bagi developer agensi untuk mengintegrasikan mesin perutean domain dengan aplikasi eksternal, form builder kustom, bot WhatsApp, maupun sistem ERP agensi. Seluruh endpoint dirancang ringan, aman, dan mengembalikan respon berformat JSON terstruktur.
Kebutuhan Integrasi API bagi Agensi Skala Besar
Bagi agensi modern yang mengoperasikan sistem pemesanan kustom di luar WordPress standar (seperti aplikasi mobile Flutter, frontend Next.js, atau automasi n8n / Make.com):
- Membutuhkan cara instan untuk memvalidasi apakah nama subdomain yang diinginkan calon pengantin masih tersedia.
- Membutuhkan endpoint aman untuk mendaftarkan custom domain baru dari aplikasi luar.
- Membutuhkan alat probe otomatis untuk memeriksa status propagasi DNS klien tanpa harus membuka browser secara manual.
1. Endpoint: Cek Ketersediaan Slug Subdomain
Memeriksa apakah sebuah nama subdomain (prefix) masih tersedia atau sudah digunakan oleh postingan lain.
- Metode HTTP:
GET - Endpoint URL:
/wp-json/wdplp/v1/check-slug - Otentikasi: Terbuka untuk Publik (No Auth Required)
Parameter Kueri (Query Parameters):
| Parameter | Tipe | Wajib? | Deskripsi |
|---|---|---|---|
slug | string | Ya | Nama slug yang ingin dicek (contoh: andy-zhea) |
Contoh Request (cURL):
curl -X GET "https://websiteundangan.com/wp-json/wdplp/v1/check-slug?slug=andy-zhea"
Contoh Respon Sukses (HTTP 200 OK):
{
"success": true,
"available": true,
"slug": "andy-zhea",
"sanitized_slug": "andy-zhea",
"preview_url": "https://andy-zhea.websiteundangan.com",
"message": "Subdomain tersedia untuk digunakan."
}
2. Endpoint: Pemetaan Custom Domain (Tier 3)
Menghubungkan domain pribadi pengantin ke ID postingan undangan tertentu.
- Metode HTTP:
POST - Endpoint URL:
/wp-json/wdplp/v1/map-domain - Otentikasi: Wajib (
X-WP-NonceatauAuthorization: Basic/Bearer)
Header Permintaan:
Content-Type: application/json
X-WP-Nonce: [token_nonce_wordpress]
Struktur Payload (JSON Body):
{
"post_id": 418,
"custom_domain": "andy-zhea.com",
"tier": "tier3"
}
Contoh Respon Sukses (HTTP 200 OK):
{
"success": true,
"post_id": 418,
"mapped_domain": "andy-zhea.com",
"status": "connected",
"message": "Custom domain berhasil dihubungkan ke postingan undangan."
}
3. Endpoint: Diagnostik Live DNS Probe
Memeriksa status keterarahan DNS domain secara realtime langsung dari server hosting.
- Metode HTTP:
GET - Endpoint URL:
/wp-json/wdplp/v1/dns-probe - Otentikasi: Terbuka untuk Publik / Pengguna Terdaftar
Parameter Kueri:
?domain=andy-zhea.com
Contoh Respon Sukses (HTTP 200 OK):
{
"success": true,
"domain": "andy-zhea.com",
"dns_matched": true,
"server_ip": "103.145.22.45",
"resolved_ip": "103.145.22.45",
"ssl_active": true,
"status_code": 200,
"latency_ms": 42
}
Studi Kasus Operasional: Validasi Form AJAX Andy & Zhea
Pada saat Andy mengetikkan andy-zhea di formulir registrasi agensi:
- Script JavaScript frontend mengirimkan permintaan
fetch()ke/wp-json/wdplp/v1/check-slug?slug=andy-zhea. - Dalam waktu 85 milidetik, API mengembalikan respon
available: true. - Di samping kolom input Andy, muncul ikon centang hijau bertuliskan "Subdomain andy-zhea.websiteundangan.com tersedia!".
- Proses registrasi berlanjut dengan mulus tanpa hambatan konflik slug kembar.
Kode Status HTTP yang Digunakan
| Kode Status | Keterangan | Penyebab |
|---|---|---|
| 200 OK | Sukses | Permintaan berhasil diproses dan data valid |
| 400 Bad Request | Kesalahan Input | Format slug salah atau parameter wajib kosong |
| 401 Unauthorized | Tidak Terotentikasi | Token nonce atau API key tidak disertakan |
| 403 Forbidden | Hak Akses Ditolak | Pengguna login mencoba memetakan post milik orang lain |
| 409 Conflict | Bentrok Data | Slug atau custom domain sudah digunakan oleh klien lain |
Tips & Praktik Terbaik
https://) dan trailing slash (/) sebelum mengirimkan nama domain ke endpoint /map-domain.