Aller au contenu
Docs

Créez des formulaires d’inscription, publiez-les et effectuez une rotation de leur jeton public.

URL de basehttps://api.emailit.com/v2AuthentificationErreursLimites de débit

Créer un formulaire

Crée un formulaire d’inscription au statut draft avec un token public. Nécessite une clé API avec la portée full. Les formulaires sont en accès anticipé.

Si vous omettez definition, Emailit génère un formulaire de départ : une étape avec un titre, un champ e-mail obligatoire et un bouton Subscribe, plus une étape de confirmation. Créez et mettez en forme les formulaires dans le tableau de bord, sous Email MarketingForms, puis publiez-les.

POST/forms

Paramètres du corps

namestringobligatoire
Nom du formulaire. Les visiteurs ne le voient pas.
typestringpar défaut : popup
Mode d’affichage du formulaire : popup, full_page, flyout, embed ou banner.
definitionobject

Le contenu du formulaire, enregistré tel quel. Emailit ne le vérifie qu’à la publication. Champs de premier niveau :

  • version (entier) : 1.
  • type (chaîne) : le type de formulaire.
  • steps (tableau) : chaque étape contient id, name, kind (form ou success) et blocks. Les blocs ont un id et un type : text, button (action : submit, next, close ou go_to_url), image, ou un champ de saisie (email, text_input, phone, date, radio, checkbox, dropdown) avec un name de champ, un label et required.
  • styles, targeting, experiments (objets) : règles d’apparence et d’affichage définies par l’éditeur de formulaires.
settingsobject
Paramètres libres enregistrés avec le formulaire. Par défaut : {}.

Réponse

Renvoie 201 Created avec l’objet formulaire, y compris definition et settings.

tokenstring
Jeton public utilisé par le script d’intégration pour charger le formulaire. Consultez Installer un formulaire.
statusstring
draft jusqu’à la publication du formulaire, puis live.
published_atstring | null
Date de la dernière publication du formulaire.

Renvoie 400 si name est absent ou vide, ou si type ne fait pas partie des valeurs autorisées.

POST/forms
Terminal
curl -X POST https://api.emailit.com/v2/forms \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "name": "Newsletter popup", "type": "popup" }'
JSON
{
  "object": "form",
  "id": "frm_3Bzpif9xswMlVbFvGZSPNixm5j5",
  "name": "Newsletter popup",
  "type": "popup",
  "status": "draft",
  "token": "9636697db6c8f136d6742cee9c86eb3ed53b89f0a44e3ce6",
  "created_at": "2026-10-01T11:20:31.000000+00:00",
  "updated_at": "2026-10-01T11:20:31.000000+00:00",
  "published_at": null,
  "definition": {
    "version": 1,
    "type": "popup",
    "steps": [
      {
        "id": "3Rb7Lq2NcX9vZt4Wm8Kd1Hs6PyE",
        "name": "Step 1",
        "kind": "form",
        "blocks": [
          { "id": "3Rb7Lq5TgB2kVw7Nn1Ps4Fd9QzA", "type": "text", "content": "<p>Join our list</p>" },
          {
            "id": "3Rb7Lq3JfM6xYc0Rr5Hh8Gk2SeU",
            "type": "email",
            "label": "<p>Email</p>",
            "placeholder": "you@example.com",
            "required": true,
            "name": "email"
          },
          { "id": "3Rb7Lq4WdP1zQa6Ee9Jj3Lm7TfV", "type": "button", "label": "<p>Subscribe</p>", "action": "submit" }
        ]
      },
      {
        "id": "3Rb7Lq2XkS8wUe3Tt6Mn0Bv5RgC",
        "name": "Success",
        "kind": "success",
        "blocks": [
          { "id": "3Rb7Lq6YhD4cFi9Uu2Oo7Cx1WhB", "type": "text", "content": "<p>Thanks for subscribing!</p>" }
        ]
      }
    ],
    "styles": {
      "backgroundColor": "#ffffff",
      "textColor": "#0f172a",
      "primaryColor": "#03a071",
      "borderRadius": 12,
      "fontFamily": "Inter, system-ui, sans-serif",
      "buttonStyle": "solid"
    },
    "targeting": {},
    "experiments": {}
  },
  "settings": {}
}

Récupérer un formulaire

Récupère un formulaire avec sa définition complète. Nécessite une clé API avec la portée full.

GET/forms/{id}

Paramètres de chemin

idstringobligatoire
L’ID du formulaire (frm_…).

Réponse

Renvoie l’objet formulaire.

objectstring
Toujours form.
idstring
ID du formulaire, préfixé par frm_.
namestring
Nom du formulaire.
typestring
popup, full_page, flyout, embed ou banner.
statusstring
draft ou live. Seuls les formulaires en ligne se chargent sur votre site.
tokenstring
Jeton public utilisé par le script d’intégration.
definitionobject
Étapes, blocs, styles et ciblage. Consultez Créer un formulaire.
settingsobject
Paramètres libres.
created_at, updated_at, published_atstring | null
Horodatages en UTC. published_at vaut null jusqu’à la première publication.

Renvoie 404 si le formulaire n’existe pas.

GET/forms/{id}
Terminal
curl https://api.emailit.com/v2/forms/frm_3Bzpif9xswMlVbFvGZSPNixm5j5 \
  -H "Authorization: Bearer $EMAILIT_API_KEY"
JSON
{
  "object": "form",
  "id": "frm_3Bzpif9xswMlVbFvGZSPNixm5j5",
  "name": "Newsletter popup",
  "type": "popup",
  "status": "live",
  "token": "9636697db6c8f136d6742cee9c86eb3ed53b89f0a44e3ce6",
  "created_at": "2026-10-01T11:20:31.000000+00:00",
  "updated_at": "2026-10-01T11:48:02.000000+00:00",
  "published_at": "2026-10-01T11:48:02.000000+00:00",
  "definition": {
    "version": 1,
    "type": "popup",
    "steps": [
      {
        "id": "3Rb7Lq2NcX9vZt4Wm8Kd1Hs6PyE",
        "name": "Step 1",
        "kind": "form",
        "blocks": [
          { "id": "3Rb7Lq5TgB2kVw7Nn1Ps4Fd9QzA", "type": "text", "content": "<p>Get our monthly product notes</p>" },
          {
            "id": "3Rb7Lq3JfM6xYc0Rr5Hh8Gk2SeU",
            "type": "email",
            "label": "<p>Email</p>",
            "placeholder": "you@example.com",
            "required": true,
            "name": "email"
          },
          { "id": "3Rb7Lq4WdP1zQa6Ee9Jj3Lm7TfV", "type": "button", "label": "<p>Subscribe</p>", "action": "submit" }
        ]
      },
      {
        "id": "3Rb7Lq2XkS8wUe3Tt6Mn0Bv5RgC",
        "name": "Success",
        "kind": "success",
        "blocks": [
          { "id": "3Rb7Lq6YhD4cFi9Uu2Oo7Cx1WhB", "type": "text", "content": "<p>Thanks for subscribing!</p>" }
        ]
      }
    ],
    "styles": {
      "backgroundColor": "#ffffff",
      "textColor": "#0f172a",
      "primaryColor": "#03a071",
      "borderRadius": 12,
      "fontFamily": "Inter, system-ui, sans-serif",
      "buttonStyle": "solid"
    },
    "targeting": {},
    "experiments": {}
  },
  "settings": {}
}

Mettre à jour un formulaire

Met à jour les champs transmis et laisse les autres inchangés. Nécessite une clé API avec la portée full.

Les modifications d’un formulaire live sont immédiatement visibles par les visiteurs ; inutile de le publier de nouveau. Pour le modifier sans affecter les visiteurs, dépubliez-le d’abord.

POST/forms/{id}

Paramètres de chemin

idstringobligatoire
L’ID du formulaire (frm_…).

Paramètres du corps

namestring
Nouveau nom. Ne peut pas être vide.
typestring
popup, full_page, flyout, embed ou banner. Mettez à jour definition.type en conséquence.
definitionobject
Remplace toute la définition. Pour sa structure, consultez Créer un formulaire.
settingsobject
Remplace l’objet des paramètres.

Réponse

Renvoie l’objet formulaire mis à jour. Renvoie 400 si un champ n’a pas le bon type ou si name est vide, et 404 si le formulaire n’existe pas.

POST/forms/{id}
Terminal
curl -X POST https://api.emailit.com/v2/forms/frm_3Bzpif9xswMlVbFvGZSPNixm5j5 \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "name": "Newsletter popup (October)" }'
JSON
{
  "object": "form",
  "id": "frm_3Bzpif9xswMlVbFvGZSPNixm5j5",
  "name": "Newsletter popup (October)",
  "type": "popup",
  "status": "live",
  "token": "9636697db6c8f136d6742cee9c86eb3ed53b89f0a44e3ce6",
  "created_at": "2026-10-01T11:20:31.000000+00:00",
  "updated_at": "2026-10-02T08:05:14.000000+00:00",
  "published_at": "2026-10-01T11:48:02.000000+00:00",
  "definition": {
    "version": 1,
    "type": "popup",
    "steps": [
      {
        "id": "3Rb7Lq2NcX9vZt4Wm8Kd1Hs6PyE",
        "name": "Step 1",
        "kind": "form",
        "blocks": [
          { "id": "3Rb7Lq3JfM6xYc0Rr5Hh8Gk2SeU", "type": "email", "label": "<p>Email</p>", "required": true, "name": "email" },
          { "id": "3Rb7Lq4WdP1zQa6Ee9Jj3Lm7TfV", "type": "button", "label": "<p>Subscribe</p>", "action": "submit" }
        ]
      },
      {
        "id": "3Rb7Lq2XkS8wUe3Tt6Mn0Bv5RgC",
        "name": "Success",
        "kind": "success",
        "blocks": [{ "id": "3Rb7Lq6YhD4cFi9Uu2Oo7Cx1WhB", "type": "text", "content": "<p>Thanks for subscribing!</p>" }]
      }
    ],
    "styles": { "primaryColor": "#03a071", "borderRadius": 12, "buttonStyle": "solid" },
    "targeting": {},
    "experiments": {}
  },
  "settings": {}
}

Lister les formulaires

Renvoie les formulaires de l’espace de travail, du plus récent au plus ancien, sans definition ni settings. Nécessite une clé API avec la portée full.

GET/forms

Paramètres de requête

pageintegerpar défaut : 1
Numéro de page, à partir de 1.
limitintegerpar défaut : 10
Formulaires par page, de 1 à 100.
matchstring

all (par défaut) exige que tous les filtres correspondent. Avec or, il suffit qu’un filtre corresponde. Consultez Filtrage et tri.

orderstring

Clé de tri de cette liste. Consultez les clés de tri ci-dessous.

directionstring

asc ou desc.

Clés de filtre

Les filtres utilisent des paramètres de requête key.condition=value, par exemple status.exact=live. Consultez Filtrage et tri.

Clé Type Remarques
name chaîne
type énumération popup, full_page, flyout, embed, banner
status énumération draft, live
created_at date

Clés de tri pour order : name, type, status, created_at.

Réponse

dataobject[]
Formulaires de cette page : object, id, name, type, status, token, created_at, updated_at, published_at.
total_recordsinteger
Nombre de formulaires correspondant à la requête.
next_page_urlstring | null
Chemin de la page suivante, ou null sur la dernière page. Il ne contient que page et limit ; ajoutez de nouveau votre recherche et vos filtres quand vous le suivez.
previous_page_urlstring | null
Chemin de la page précédente, ou null sur la première page.
GET/forms
Terminal
curl -G https://api.emailit.com/v2/forms \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  -d status.exact=live
JSON
{
  "data": [
    {
      "object": "form",
      "id": "frm_3Bzpif9xswMlVbFvGZSPNixm5j5",
      "name": "Newsletter popup",
      "type": "popup",
      "status": "live",
      "token": "9636697db6c8f136d6742cee9c86eb3ed53b89f0a44e3ce6",
      "created_at": "2026-10-01T11:20:31.000000+00:00",
      "updated_at": "2026-10-01T11:48:02.000000+00:00",
      "published_at": "2026-10-01T11:48:02.000000+00:00"
    }
  ],
  "total_records": 1,
  "next_page_url": null,
  "previous_page_url": null
}

Publier un formulaire

Passe le statut du formulaire à live et met à jour published_at. Les formulaires en ligne se chargent sur tout site où le script Emailit est installé et peuvent recevoir des réponses. Nécessite une clé API avec la portée full.

La définition doit contenir au moins une étape avec kind: "form" et une avec kind: "success" ; sinon, la requête renvoie 422. Les réponses sont enregistrées avec le formulaire et ne créent pas encore de contacts.

POST/forms/{id}/publish

Paramètres de chemin

idstringobligatoire
L’ID du formulaire (frm_…).

Réponse

Renvoie l’objet formulaire avec status défini sur live. Renvoie 422 si la définition est incomplète et 404 si le formulaire n’existe pas.

POST/forms/{id}/publish
Terminal
curl -X POST https://api.emailit.com/v2/forms/frm_3Bzpif9xswMlVbFvGZSPNixm5j5/publish \
  -H "Authorization: Bearer $EMAILIT_API_KEY"
JSON
{
  "object": "form",
  "id": "frm_3Bzpif9xswMlVbFvGZSPNixm5j5",
  "name": "Newsletter popup",
  "type": "popup",
  "status": "live",
  "token": "9636697db6c8f136d6742cee9c86eb3ed53b89f0a44e3ce6",
  "created_at": "2026-10-01T11:20:31.000000+00:00",
  "updated_at": "2026-10-01T11:48:02.000000+00:00",
  "published_at": "2026-10-01T11:48:02.000000+00:00",
  "definition": {
    "version": 1,
    "type": "popup",
    "steps": [
      {
        "id": "3Rb7Lq2NcX9vZt4Wm8Kd1Hs6PyE",
        "name": "Step 1",
        "kind": "form",
        "blocks": [
          { "id": "3Rb7Lq3JfM6xYc0Rr5Hh8Gk2SeU", "type": "email", "label": "<p>Email</p>", "required": true, "name": "email" },
          { "id": "3Rb7Lq4WdP1zQa6Ee9Jj3Lm7TfV", "type": "button", "label": "<p>Subscribe</p>", "action": "submit" }
        ]
      },
      {
        "id": "3Rb7Lq2XkS8wUe3Tt6Mn0Bv5RgC",
        "name": "Success",
        "kind": "success",
        "blocks": [{ "id": "3Rb7Lq6YhD4cFi9Uu2Oo7Cx1WhB", "type": "text", "content": "<p>Thanks for subscribing!</p>" }]
      }
    ],
    "styles": { "primaryColor": "#03a071", "borderRadius": 12, "buttonStyle": "solid" },
    "targeting": {},
    "experiments": {}
  },
  "settings": {}
}

Dépublier un formulaire

Repasse le statut du formulaire à draft. Le script d’intégration cesse de le charger et les nouvelles réponses sont rejetées. Le jeton, la définition et published_at restent inchangés : vous pouvez donc le publier de nouveau plus tard. Nécessite une clé API avec la portée full.

POST/forms/{id}/unpublish

Paramètres de chemin

idstringobligatoire
L’ID du formulaire (frm_…).

Réponse

Renvoie l’objet formulaire avec status défini sur draft. Renvoie 404 si le formulaire n’existe pas.

POST/forms/{id}/unpublish
Terminal
curl -X POST https://api.emailit.com/v2/forms/frm_3Bzpif9xswMlVbFvGZSPNixm5j5/unpublish \
  -H "Authorization: Bearer $EMAILIT_API_KEY"
JSON
{
  "object": "form",
  "id": "frm_3Bzpif9xswMlVbFvGZSPNixm5j5",
  "name": "Newsletter popup",
  "type": "popup",
  "status": "draft",
  "token": "9636697db6c8f136d6742cee9c86eb3ed53b89f0a44e3ce6",
  "created_at": "2026-10-01T11:20:31.000000+00:00",
  "updated_at": "2026-10-06T07:30:00.000000+00:00",
  "published_at": "2026-10-01T11:48:02.000000+00:00",
  "definition": {
    "version": 1,
    "type": "popup",
    "steps": [
      {
        "id": "3Rb7Lq2NcX9vZt4Wm8Kd1Hs6PyE",
        "name": "Step 1",
        "kind": "form",
        "blocks": [
          { "id": "3Rb7Lq3JfM6xYc0Rr5Hh8Gk2SeU", "type": "email", "label": "<p>Email</p>", "required": true, "name": "email" },
          { "id": "3Rb7Lq4WdP1zQa6Ee9Jj3Lm7TfV", "type": "button", "label": "<p>Subscribe</p>", "action": "submit" }
        ]
      },
      {
        "id": "3Rb7Lq2XkS8wUe3Tt6Mn0Bv5RgC",
        "name": "Success",
        "kind": "success",
        "blocks": [{ "id": "3Rb7Lq6YhD4cFi9Uu2Oo7Cx1WhB", "type": "text", "content": "<p>Thanks for subscribing!</p>" }]
      }
    ],
    "styles": { "primaryColor": "#03a071", "borderRadius": 12, "buttonStyle": "solid" },
    "targeting": {},
    "experiments": {}
  },
  "settings": {}
}

Réinitialiser le jeton public

Génère un nouveau token public pour le formulaire. L’ancien jeton cesse immédiatement de fonctionner : les sites qui chargent le formulaire avec ce jeton ne l’affichent plus et ne peuvent plus lui envoyer de réponses. Mettez à jour votre code d’intégration avec le nouveau jeton. Nécessite une clé API avec la portée full.

POST/forms/{id}/reset-token

Paramètres de chemin

idstringobligatoire
L’ID du formulaire (frm_…).

Réponse

Renvoie l’objet formulaire avec le nouveau token. Le statut ne change pas. Renvoie 404 si le formulaire n’existe pas.

POST/forms/{id}/reset-token
Terminal
curl -X POST https://api.emailit.com/v2/forms/frm_3Bzpif9xswMlVbFvGZSPNixm5j5/reset-token \
  -H "Authorization: Bearer $EMAILIT_API_KEY"
JSON
{
  "object": "form",
  "id": "frm_3Bzpif9xswMlVbFvGZSPNixm5j5",
  "name": "Newsletter popup",
  "type": "popup",
  "status": "live",
  "token": "e5ed3f9ec299ae1c5dc043c45f2a616c352e47a13b6b763b",
  "created_at": "2026-10-01T11:20:31.000000+00:00",
  "updated_at": "2026-10-06T09:12:44.000000+00:00",
  "published_at": "2026-10-01T11:48:02.000000+00:00",
  "definition": {
    "version": 1,
    "type": "popup",
    "steps": [
      {
        "id": "3Rb7Lq2NcX9vZt4Wm8Kd1Hs6PyE",
        "name": "Step 1",
        "kind": "form",
        "blocks": [
          { "id": "3Rb7Lq3JfM6xYc0Rr5Hh8Gk2SeU", "type": "email", "label": "<p>Email</p>", "required": true, "name": "email" },
          { "id": "3Rb7Lq4WdP1zQa6Ee9Jj3Lm7TfV", "type": "button", "label": "<p>Subscribe</p>", "action": "submit" }
        ]
      },
      {
        "id": "3Rb7Lq2XkS8wUe3Tt6Mn0Bv5RgC",
        "name": "Success",
        "kind": "success",
        "blocks": [{ "id": "3Rb7Lq6YhD4cFi9Uu2Oo7Cx1WhB", "type": "text", "content": "<p>Thanks for subscribing!</p>" }]
      }
    ],
    "styles": { "primaryColor": "#03a071", "borderRadius": 12, "buttonStyle": "solid" },
    "targeting": {},
    "experiments": {}
  },
  "settings": {}
}

Supprimer un formulaire

Supprime définitivement un formulaire et toutes ses réponses enregistrées. Les sites qui l’intègrent cessent de l’afficher. Nécessite une clé API avec la portée full.

DELETE/forms/{id}

Paramètres de chemin

idstringobligatoire
L’ID du formulaire (frm_…).

Réponse

Renvoie 204 No Content avec un corps vide. Renvoie 404 si le formulaire n’existe pas.

DELETE/forms/{id}
Terminal
curl -X DELETE https://api.emailit.com/v2/forms/frm_3Bzpif9xswMlVbFvGZSPNixm5j5 \
  -H "Authorization: Bearer $EMAILIT_API_KEY"
Text
(empty body)

Cette page vous a-t-elle été utile ?

Merci pour votre retour.

Merci, nous lisons chaque message.