# Carrd

> Faites pointer un formulaire personnalisé Carrd vers Ikiform avec Send to URL sur Pro Plus, ou collez un formulaire HTML dans un élément Embed sur Pro Standard.

Les formulaires de contact et d'inscription de Carrd envoient les soumissions vers les destinations propres à Carrd. Les formulaires personnalisés sur Pro Plus peuvent envoyer vers n'importe quelle URL, ce qui suffit à Ikiform, et Pro Standard peut intégrer votre propre HTML.

| Plan Carrd | Comment connecter Ikiform |
| --- | --- |
| Pro Plus ou supérieur | Un élément **Form** de type **Custom** > **Send to URL**. Sans code. |
| Pro Standard | Un élément **Embed** avec votre propre formulaire HTML |
| Pro Lite et gratuit | Aucun des deux. Ces plans n'ont ni intégrations ni formulaires personnalisés. |

## Formulaire personnalisé avec Send to URL

### Étape 1 : Créez le formulaire

Cliquez sur **Add Element** > **Form** et réglez **Type** sur **Custom**, puis **Send to URL**.

### Étape 2 : Définissez l'URL, la méthode et le format

`URL`:

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

| Réglage | Valeur | Pourquoi |
| --- | --- | --- |
| **Method** | AJAX | Garde les visiteurs sur la page. Carrd considère tout `2xx` comme un succès, et Ikiform répond `201` quand il stocke la soumission. |
| **Format** | Default | Envoie un formulaire standard. Le JSON fonctionne aussi. |
| **Headers** | Aucun | Ikiform n'a besoin d'aucun en-tête de la part d'un navigateur. |

Avec **POST** au lieu d'AJAX, le navigateur quitte votre site Carrd pour la page de remerciement d'Ikiform ou votre URL **Redirect after submit**, et le réglage On Success de Carrd ne s'applique pas. Ne choisissez pas **XML** : Ikiform le refuse avec `415 unsupported_media_type`.

### Étape 3 : Définissez les IDs des champs

Le **Submitted ID** de chaque champ, ou son **ID** s'il est vide, devient le nom du champ dans Ikiform. Carrd génère les IDs à partir des libellés, alors définissez-les vous-même : `email`, `name`, `message`. Avec **Format** sur JSON, un Submitted ID comme `fields.firstname` est envoyé comme objet imbriqué, qu'Ikiform stocke tel quel.

- N'ajoutez pas de champ **File**. Ikiform n'accepte pas encore les fichiers et refuse l'envoi avec `422 files_not_supported`.
- **Collect UTM parameters** ajoute `utm_source`, `utm_medium`, `utm_campaign`, `utm_term` et `utm_content`. Si vous définissez des [champs](https://ikiform.com/fr/docs/fields.md) dans Ikiform, ajoutez-les aussi, sinon l'envoi échoue avec une erreur de champ inconnu.
- Un champ **Hidden** a toujours sa valeur prédéfinie, il ne peut donc pas servir de honeypot. Le score de spam reste actif sur chaque envoi.

### Étape 4 : Choisissez On Success et On Failure

Choisissez ce que Carrd affiche après la requête. On Failure couvre toutes les erreurs d'Ikiform, comme `422 validation_failed` ou `429 rate_limited` ; Carrd n'affiche pas le message d'Ikiform, alors gardez un texte d'échec général.

> Laissez le contrôle anti-spam du formulaire désactivé. Les envois AJAX ne peuvent pas afficher la page de vérification d'Ikiform, donc un formulaire avec la vérification active répond `403 challenge_required` et Carrd affiche On Failure à chaque fois.

## Élément Embed sur Pro Standard

Cliquez sur **Add Element** > **Embed**, réglez **Type** sur **Code** et **Style** sur **Inline**, puis collez un formulaire. Les intégrations ne s'affichent pas dans l'éditeur : publiez pour le voir.

`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>
```

Il envoie comme un formulaire classique, donc la [vérification humaine](https://ikiform.com/fr/docs/spam.md#human-check) fonctionne si vous l'activez. Stylez-le avec un bloc `<style>`, ou partez de l'[intégration pour créateurs de sites](https://ikiform.com/fr/docs/guides/site-builders.md#embed), plus complète.

## Domaines autorisés

Dans les deux cas, le navigateur envoie depuis votre page Carrd, donc les domaines autorisés fonctionnent normalement.

| Où tourne le formulaire | À ajouter aux domaines autorisés |
| --- | --- |
| URL gratuite ou par défaut | `your-site.carrd.co` |
| URL Pro sans marque | `your-site.crd.co` |
| Domaine personnalisé | `example.com`, qui couvre aussi `www.example.com` |

- N'ajoutez jamais `carrd.co` ou `crd.co` seul. Tous les sites de cet hébergeur correspondraient, y compris ceux des autres.

## Checklist de test

1. Publiez le site. Les formulaires et les intégrations ne fonctionnent que sur le site publié.
2. Envoyez le formulaire et vérifiez que Carrd affiche votre message On Success, ou que l'intégration mène à la page de remerciement.
3. Ouvrez la soumission dans Ikiform et vérifiez que les noms de champs sont les IDs que vous avez définis, et non des IDs générés.
4. Envoyez avec un e-mail invalide alors que le formulaire a des champs définis, et vérifiez que Carrd affiche On Failure.

## Dépannage

| Ce que vous voyez | Pourquoi | Solution |
| --- | --- | --- |
| Carrd affiche On Failure à chaque envoi | Ikiform a refusé l'envoi : `415` pour du XML, `422` pour un champ inconnu ou un fichier, `403 challenge_required` avec la vérification active, ou `403 origin_not_allowed` avec **Reject** | Utilisez le format Default, faites correspondre les IDs de vos champs, retirez les champs File, désactivez la vérification et ajoutez votre domaine. |
| Les noms de champs dans Ikiform ressemblent aux libellés, pas à vos IDs | **Submitted ID** et **ID** ont été laissés vides | Définissez les IDs et publiez à nouveau. |
| Les soumissions arrivent dans le filtre spam avec `origin_mismatch` | La page qui a envoyé ne fait pas partie des domaines autorisés du formulaire | Ajoutez l'hôte du tableau ci-dessus. Avec **Reject**, les mêmes envois reçoivent plutôt `403 origin_not_allowed`. |
| L'intégration est vide dans l'éditeur | Carrd n'exécute pas le code intégré dans l'éditeur | Publiez et vérifiez le site en ligne. |

## Voir aussi

- [Créateurs de sites](https://ikiform.com/fr/docs/guides/site-builders.md): L'intégration qui fonctionne dans n'importe quel créateur de sites.
- [Formulaires HTML](https://ikiform.com/fr/docs/html.md): Redirections, champs réservés et honeypot.
- [Erreurs](https://ikiform.com/fr/docs/errors.md): Chaque code d'erreur, avec sa cause et sa solution.
- [Domaines autorisés](https://ikiform.com/fr/docs/spam.md#allowed-domains): Comment les origines sont comparées, et ce qui se passe en cas de non-correspondance.
