# Carrd

> Arahkan formulir kustom Carrd ke Ikiform dengan Send to URL di Pro Plus, atau tempel formulir HTML ke elemen Embed di Pro Standard.

Formulir kontak dan pendaftaran Carrd meneruskan kiriman ke tujuan milik Carrd sendiri. Formulir kustom di Pro Plus bisa mengirim ke URL mana pun, dan itu saja yang dibutuhkan Ikiform, sementara Pro Standard bisa menyematkan HTML Anda sendiri.

| Paket Carrd | Cara menghubungkan Ikiform |
| --- | --- |
| Pro Plus atau lebih tinggi | Elemen **Form** bertipe **Custom** > **Send to URL**. Tanpa kode. |
| Pro Standard | Elemen **Embed** dengan formulir HTML Anda sendiri |
| Pro Lite dan gratis | Tidak keduanya. Paket ini tidak punya embed atau formulir kustom. |

## Formulir kustom dengan Send to URL

### Langkah 1: Buat formulir

Klik **Add Element** > **Form** dan atur **Type** ke **Custom**, lalu **Send to URL**.

### Langkah 2: Atur URL, metode, dan format

`URL`:

```text
https://ikiform.com/f/frm_xxxxxxxxxxxxxxxx
```

| Pengaturan | Nilai | Alasan |
| --- | --- | --- |
| **Method** | AJAX | Membuat pengunjung tetap di halaman. Carrd membaca `2xx` apa pun sebagai sukses, dan Ikiform menjawab `201` saat menyimpan kiriman. |
| **Format** | Default | Mengirim POST formulir standar. JSON juga berfungsi. |
| **Headers** | Tidak ada | Ikiform tidak butuh header apa pun dari browser. |

Dengan **POST** alih-alih AJAX, browser meninggalkan situs Carrd Anda menuju halaman terima kasih Ikiform atau URL **Redirect after submit** Anda, dan pengaturan On Success Carrd tidak berlaku. Jangan pilih **XML**: Ikiform menolaknya dengan `415 unsupported_media_type`.

### Langkah 3: Atur ID field

**Submitted ID** setiap field, atau **ID**-nya jika kosong, menjadi nama field di Ikiform. Carrd membuat ID dari label, jadi atur sendiri: `email`, `name`, `message`. Dengan **Format** diatur ke JSON, Submitted ID seperti `fields.firstname` dikirim sebagai objek bertingkat, yang disimpan Ikiform apa adanya.

- Jangan tambahkan field **File**. Ikiform belum menerima file dan menolak kiriman dengan `422 files_not_supported`.
- **Collect UTM parameters** menambahkan `utm_source`, `utm_medium`, `utm_campaign`, `utm_term`, dan `utm_content`. Jika Anda mendefinisikan [field](https://ikiform.com/id/docs/fields.md) di Ikiform, tambahkan juga field ini, atau kiriman gagal dengan error Unknown field.
- Field **Hidden** selalu punya nilai preset-nya, jadi tidak bisa berfungsi sebagai honeypot. Penilaian spam tetap berjalan di setiap kiriman.

### Langkah 4: Pilih On Success dan On Failure

Pilih apa yang ditampilkan Carrd setelah request. On Failure mencakup setiap error Ikiform, seperti `422 validation_failed` atau `429 rate_limited`; Carrd tidak menampilkan pesan Ikiform, jadi buat teks kegagalan Anda tetap umum.

> Biarkan pemeriksaan spam formulir mati. Kiriman AJAX tidak bisa menampilkan halaman pemeriksaan Ikiform, jadi formulir dengan pemeriksaan aktif menjawab `403 challenge_required` dan Carrd selalu menampilkan On Failure.

## Elemen Embed di Pro Standard

Klik **Add Element** > **Embed**, atur **Type** ke **Code** dan **Style** ke **Inline**, lalu tempel formulir. Embed tidak dirender di builder, jadi publikasikan untuk melihatnya.

`Embed`:

```html
<form action="https://ikiform.com/f/frm_xxxxxxxxxxxxxxxx" method="post" target="_top">
  <input name="email" type="email" placeholder="Email" autocomplete="email" required>
  <input name="_gotcha" type="text" tabindex="-1" autocomplete="off" hidden>
  <button type="submit">Join the waitlist</button>
</form>
```

Ini mengirim sebagai formulir biasa, jadi [pemeriksaan manusia](https://ikiform.com/id/docs/spam.md#human-check) berfungsi jika Anda mengaktifkannya. Beri gaya dengan blok `<style>`, atau mulai dari [embed pembuat situs](https://ikiform.com/id/docs/guides/site-builders.md#embed) yang lebih lengkap.

## Domain yang diizinkan

Dengan pilihan mana pun, browser mengirim dari halaman Carrd Anda, jadi domain yang diizinkan berfungsi seperti biasa.

| Tempat formulir berjalan | Tambahkan ke Domain yang diizinkan |
| --- | --- |
| URL gratis atau default | `your-site.carrd.co` |
| URL Pro tanpa branding | `your-site.crd.co` |
| Domain kustom | `example.com`, yang juga mencakup `www.example.com` |

- Jangan pernah menambahkan `carrd.co` atau `crd.co` saja. Setiap situs di host itu akan cocok, termasuk milik orang lain.

## Daftar periksa pengujian

1. Publikasikan situs. Formulir dan embed hanya berfungsi di situs yang sudah dipublikasikan.
2. Kirim formulir dan pastikan Carrd menampilkan pesan On Success Anda, atau embed mendarat di halaman terima kasih.
3. Buka kiriman di Ikiform dan pastikan nama field adalah ID yang Anda atur, bukan yang dibuat otomatis.
4. Kirim dengan email yang tidak valid saat formulir punya field yang didefinisikan, dan pastikan Carrd menampilkan On Failure.

## Pemecahan masalah

| Yang Anda lihat | Alasan | Solusi |
| --- | --- | --- |
| Carrd menampilkan On Failure setiap kali dikirim | Ikiform menolak kirimannya: `415` untuk XML, `422` untuk Unknown field atau file, `403 challenge_required` saat pemeriksaan aktif, atau `403 origin_not_allowed` dengan **Reject** | Gunakan format Default, samakan ID field Anda, hapus field File, matikan pemeriksaan, dan tambahkan domain Anda. |
| Nama field di Ikiform terlihat seperti label, bukan ID Anda | **Submitted ID** dan **ID** dibiarkan kosong | Atur ID-nya dan publikasikan lagi. |
| Kiriman masuk ke filter spam dengan `origin_mismatch` | Halaman yang mengirim tidak ada di domain yang diizinkan formulir | Tambahkan host dari tabel di atas. Jika **Reject** dipilih, kiriman yang sama mendapat `403 origin_not_allowed`. |
| Embed kosong di builder | Carrd tidak menjalankan kode embed di builder | Publikasikan dan periksa situs live. |

## Terkait

- [Pembuat situs](https://ikiform.com/id/docs/guides/site-builders.md): Embed yang berfungsi di pembuat situs mana pun.
- [Formulir HTML](https://ikiform.com/id/docs/html.md): Redirect, field reserved, dan honeypot.
- [Error](https://ikiform.com/id/docs/errors.md): Setiap kode error, beserta penyebab dan solusinya.
- [Domain yang diizinkan](https://ikiform.com/id/docs/spam.md#allowed-domains): Cara origin dicocokkan, dan apa akibat ketidakcocokan.
