# Mulai cepat

> Arahkan formulir HTML apa pun ke Ikiform dan terima kiriman pertama Anda dalam dua menit.

Ikiform adalah backend untuk setiap formulir. Markup, framework, dan gaya tetap milik Anda. Arahkan formulir ke endpoint Ikiform, lalu Ikiform memvalidasi setiap kiriman, menyaring spam, menyimpannya di workspace Anda, mengirimi Anda email, dan meneruskannya ke sistem Anda lewat webhook bertanda tangan.

Contoh kode di dokumentasi ini memakai ID formulir contoh `frm_xxxxxxxxxxxxxxxx`. Ganti dengan ID formulir Anda sendiri, yang bisa Anda temukan di ringkasan formulir di dashboard.

## Pilih cara mengirim

Setiap formulir mendapat satu endpoint publik, `https://ikiform.com/f/<formId>`. Apa pun yang bisa mengirim HTTP POST bisa memakainya.

| Anda mengirim dari | Gunakan | Panduan |
| --- | --- | --- |
| Halaman HTML biasa atau pembuat situs | `<form action>` | [Formulir HTML](https://ikiform.com/id/docs/html.md) |
| React, Next.js, Vue, Svelte, Astro | `fetch` atau `submit` dari SDK | [Panduan](https://ikiform.com/id/docs/guides/nextjs.md) |
| Backend, skrip, atau integrasi | JSON lewat HTTPS dengan secret key | [Dari server](https://ikiform.com/id/docs/guides/server.md) |
| Proyek shadcn/ui | Komponen dari registry | [Komponen shadcn/ui](https://ikiform.com/id/docs/shadcn.md) |

## Mulai cepat

### Langkah 1: Buat formulir

Masuk ke [dashboard](https://ikiform.com/dashboard), buat workspace, lalu tambahkan formulir. Ringkasannya menampilkan URL endpoint dan snippet siap pakai untuk HTML, JavaScript, dan React.

### Langkah 2: Arahkan formulir ke endpoint

Atur `action` formulir ke endpoint dan `method` ke `post`. Setiap input yang punya `name` menjadi field di kiriman.

`contact.html`:

```html
<form action="https://ikiform.com/f/frm_xxxxxxxxxxxxxxxx" method="post">
  <input name="name" required />
  <input name="email" type="email" required />
  <textarea name="message"></textarea>
  <input name="_gotcha" type="text" tabindex="-1" autocomplete="off" hidden />
  <button>Send</button>
</form>
```

Input tersembunyi `_gotcha` adalah honeypot. Orang tidak pernah melihatnya; bot yang mengisinya disimpan sebagai spam. Lihat [Perlindungan spam](https://ikiform.com/id/docs/spam.md#honeypot).

### Langkah 3: Kirim formulir

Buka halamannya dan kirim formulir. Browser akan mendarat di halaman terima kasih Ikiform, atau di halaman Anda sendiri jika Anda mengatur redirect. Anda juga bisa mengirim JSON dari terminal:

`Terminal`:

```bash
curl https://ikiform.com/f/frm_xxxxxxxxxxxxxxxx \
  -H "Content-Type: application/json" \
  -d '{"name":"Ada","email":"ada@example.com","message":"Hello"}'
```

Request JSON mendapat jawaban JSON dengan status `201`:

`201 Created`:

```json
{ "ok": true, "id": "sub_01k7v2c9t3e8m5q4x6z0a1b2c3" }
```

### Langkah 4: Lihat kiriman masuk

Kiriman langsung muncul di dashboard. Dari sana, tambahkan [webhook](https://ikiform.com/id/docs/webhooks.md) untuk meneruskan setiap kiriman ke aplikasi Anda, atau baca dengan [REST API](https://ikiform.com/id/docs/api.md).

## Coba sekarang

Pembuat request interaktif di halaman ini menyusun kiriman dari baris-baris field dan menampilkan kode curl, fetch, dan SDK yang sesuai. Dengan ID formulir contoh, ia hanya menampilkan kode; dengan ID formulir Anda sendiri, ia bisa mengirim satu POST sungguhan ke `https://ikiform.com/f/<formId>` dan menampilkan status serta respons JSON-nya. Request yang dibuatnya terlihat seperti ini:

```bash
curl https://ikiform.com/f/frm_xxxxxxxxxxxxxxxx \
  -H "Content-Type: application/json" \
  -d '{"name":"Ada","email":"ada@example.com","message":"Hello"}'
```

## Langkah berikutnya

- [Cara kerja](https://ikiform.com/id/docs/how-it-works.md) menjelaskan setiap pemeriksaan yang dilalui sebuah kiriman.
- [Definisikan field](https://ikiform.com/id/docs/fields.md) agar Ikiform menolak data yang salah dengan pesan error per field yang jelas.
- [Aktifkan pemeriksaan manusia](https://ikiform.com/id/docs/spam.md#human-check) dan batasi formulir ke domain Anda.
- [Verifikasi tanda tangan webhook](https://ikiform.com/id/docs/webhooks.md#verify) di backend Anda.
