POST/api/public/contact
Formulir kontak publik dari situs web Zentor. Membuat permintaan di sistem lead internal.
`POST /api/public/contact` memproses formulir kontak publik pada situs web Zentor dan menyimpan permintaan tersebut ke dalam sistem lead internal. Titik akhir ini tidak memerlukan autentikasi dashboard dan tidak bersifat idempoten. Setiap pengiriman yang berhasil dapat menghasilkan lead baru. Oleh karena itu, antarmuka depan harus menonaktifkan tombol kirim setelah klik pertama dan tidak memicu pengulangan otomatis. Bidang wajib yang telah dikonfirmasi meliputi `name`, `email`, dan `message`. Nama harus memiliki panjang antara 2 hingga 120 karakter, alamat email harus memiliki format yang valid, dan pesan harus memenuhi aturan validasi sisi server. Bidang tambahan hanya boleh dikirimkan jika memang tercantum dalam skema yang sebenarnya. Nilai yang tidak dikenal tidak boleh digunakan untuk mengendalikan properti internal lead. Formulir yang benar memvalidasi bidang wajib di browser, tetapi tidak sepenuhnya mengandalkan validasi tersebut. Server tetap menjadi otoritas utama. Jika terjadi kesalahan validasi, antarmuka harus menandai bidang yang bermasalah dan mempertahankan konten yang telah dimasukkan. Pesan sukses generik hanya boleh muncul setelah respons positif dari server. Formulir kontak bukan saluran yang aman untuk kata sandi, kunci API, token widget, data pembayaran, atau rekaman data pelanggan lengkap. Pengguna harus menyebutkan kasus penggunaan, produk yang terkait, serta alamat email bisnis yang dapat dihubungi. Dalam kasus masalah teknis, nama penyewa (tenant), waktu kejadian, fungsi yang terdampak, dan langkah-langkah reproduksi yang dapat diulang membantu tanpa mentransfer konten pribadi yang tidak perlu. Alur kerja yang realistis: Pengunjung mengisi nama, email, dan pesan, mengonfirmasi petunjuk privasi data situs jika diperlukan, lalu mengirimkan formulir. Server memvalidasi data, membuat lead, dan memberikan respons sukses. Jika email tidak valid atau nama terlalu pendek, lead lengkap tidak akan dibuat. Titik akhir ini tidak membuat tenant, tidak memesan paket, dan tidak menggantikan konfigurasi produk terstruktur atau proses konsultasi. Untuk melindungi dari spam dan permintaan otomatis beruntun, klien harus menghormati kesalahan sisi server dan tidak memulai loop tak terbatas secara langsung. Respons sukses hanya harus mengosongkan bidang input setelah server mengonfirmasi penerimaan. Jika respons tidak datang, pengguna dapat menyimpan konten dan mengirimkannya kembali secara terkontrol di kemudian hari. Untuk penugasan internal, pesan harus mencantumkan alasan sebenarnya, tanpa jargon pemasaran atau lampiran rahasia. Subjek yang jelas dan deskripsi masalah yang presisi mengurangi pertanyaan balik. Namun, API itu sendiri tidak memberikan prioritas yang dijamin dan tidak mengonfirmasi tenggat waktu pemrosesan yang tetap.
Auth & Absicherung
Keine Authentifizierung erforderlich
Idempotent: Nein
Parameter
name(body, string, erforderlich)— 2–120 karakteremail(body, string, erforderlich)— Alamat email yang validmessage(body, string, erforderlich)— 10–3000 karaktercompany(body, string)phone(body, string)topic(body, string)consentGiven(body, boolean, erforderlich)— Harus benar (persetujuan perlindungan data)Beispiel-Request
{"name":"Max Mustermann","email":"max@example.com","message":"Pesan Anda (minimal 10 karakter).","consentGiven":true}Beispiel-Response
{"ok":true,"message":"Permintaan Anda telah dikirim."}Fehlercodes
400 VALIDATION_ERROR — Kolom wajib hilang/tidak valid, atau persetujuan privasi data tidak ada (array detail dengan pesan kesalahan individual).Live-Test-Nachweis
Keberhasilan (200) dan kasus negatif (400, bidang yang hilang termasuk persetujuan yang hilang) telah diverifikasi secara langsung.