Formstork

FRAMEWORK

SvelteKit için form backend'i

Formstork, SvelteKit formlarınızdan gelen gönderimleri alır, her birini size e-postayla iletir ve aranabilir bir panele kaydeder. Kuracak bir API route'u, çalıştıracak bir sunucu, bağlayacak bir veritabanı yok.

Nasıl çalışır

SvelteKit, bir formu yönetmek için iki doğal yer sunar: +page.svelte içinde client tarafında bir submit handler ya da +page.server.js içinde bir server form action. Her iki durumda da isteği gerçekten alacak bir backend gerekir ve bu Formstork'tur. Formunuz alanlarını, gizli bir access_key ile birlikte https://api.formstork.com/submit adresine gönderir; Formstork da her gönderimi size e-postayla iletir, ziyaretçinin e-postasını reply-to olarak ayarlar ve aranabilir, etiketlenebilir bir panelde saklar. İşin tamamen client tarafında kalmasını isterseniz bir +page.svelte handler'ından fetch() kullanın; isteği tarayıcıdan uzak tutmayı tercih ederseniz bir +page.server.js action'ından POST edin. Spam filtresini, otomatik yanıtları ya da Slack veya Google Sheets gibi bir entegrasyonu istediğinizde açarsınız.

svelte
<!-- src/routes/contact/+page.svelte -->
<script>
  let status = "";

  async function handleSubmit(event) {
    const data = new FormData(event.currentTarget);
    data.append("access_key", "YOUR_ACCESS_KEY");
    const res = await fetch("https://api.formstork.com/submit", {
      method: "POST",
      body: data,
      headers: { Accept: "application/json" },
    });
    status = res.ok ? "Thanks, your message was sent." : "Something went wrong.";
  }
</script>

<form on:submit|preventDefault={handleSubmit}>
  <input name="name" placeholder="Your name" required />
  <input type="email" name="email" placeholder="you@example.com" required />
  <textarea name="message" required></textarea>
  <button type="submit">Send</button>
</form>

{#if status}<p>{status}</p>{/if}

Kuracak API route'u ya da veritabanı yok

Bir +server.js uç noktasına, veritabanına bağlı bir form action'a ya da bunları barındıracak bir yere ihtiyacınız yok. SvelteKit formunuz doğrudan Formstork'a POST eder; Formstork her gönderimi sizin için alır, iletir ve saklar.

Client tarafı ya da server action, seçim sizin

Her şeyi client'ta tutmak için bir +page.svelte handler'ından fetch() ile, ya da isteği tarayıcıdan ve bundle'ınızdan uzak tutmak için bir +page.server.js action'ından POST edin. Aynı access key ve endpoint her ikisinde de çalışır.

Her gönderim saklanır ve aranabilir

E-postanın ötesinde Formstork her gönderimi aranabilir, etiketlenebilir bir panelde saklar; filtreleyebilir, CSV ya da JSON olarak dışa aktarabilirsiniz. Spam, size ulaşmadan önce bir honeypot, bir içerik filtresi ve isteğe bağlı Turnstile, hCaptcha ya da reCAPTCHA ile yakalanır.

Kurulum

  1. 1src/routes/contact/+page.svelte gibi bir route'ta formunuzu oluşturun ve her input'a bir name özniteliği verin (bunlar aldığınız alanlar olur).
  2. 2Bir submit handler içinde formdan bir FormData oluşturun, access_key'inizi ekleyin ve fetch() ile https://api.formstork.com/submit adresine POST edin (ya da bir +page.server.js action'ından POST edin).
  3. 3app.formstork.com'da kaydolun, access key'inizi panelden kopyalayın ve YOUR_ACCESS_KEY yerine yapıştırın.
  4. 4Bir kez test amaçlı gönderin. Gönderim, ziyaretçinin e-postası reply-to olarak ayarlanmış şekilde hem e-posta kutunuza hem de panelinize düşer. İsteğe bağlı: spam korumasını ya da bir entegrasyonu açın.

Sık sorulanlar

SvelteKit'te form gönderimlerini nasıl yönetirim?

Form alanlarınıza name özniteliği verin, sonra bir submit handler içinde bir FormData oluşturun, access_key'inizi ekleyin ve fetch() ile https://api.formstork.com/submit adresine POST edin. Formstork isteği alır, gönderimi size e-postayla iletir ve panelinizde saklar. İsterseniz bir +page.server.js form action'ından da POST edebilirsiniz.

Bir +server.js uç noktası ya da veritabanı gerekir mi?

Hayır. Formstork barındırılan backend'dir; bir +server.js route'u yazmaz, sunucu çalıştırmaz ya da veritabanı bağlamazsınız. Formunuz Formstork uç noktasına POST eder ve her gönderim hem e-posta kutunuza iletilir hem de panelinize kaydedilir.

SSR ve statik SvelteKit derlemeleriyle çalışır mı?

Evet. +page.svelte içinden yapılan client tarafı fetch() tarayıcıda çalışır; bu yüzden SvelteKit uygulamanız ister server-rendered, ister prerender edilmiş, ister tamamen statik bir adapter-static derlemesi olsun aynı şekilde çalışır. Server tarafında render edilen route'lar için bir +page.server.js action'ından da POST edebilirsiniz. Ücretsiz plan, kredi kartı gerekmeden ayda 250 gönderimi kapsar.

Formstork'u ücretsiz dene

Tam panelle ayda 250 gönderim. Kredi kartı gerekmez.

Access key'ini alDokümanları oku