Pular para o conteúdo
Docs

Crie formulários de inscrição, publique-os e faça a rotação do token público.

URL basehttps://api.emailit.com/v2AutenticaçãoErrosLimites de requisições

Criar um formulário

Cria um formulário de inscrição com status draft e um token público. Requer uma chave de API com escopo full. Os formulários estão em acesso antecipado.

Se você omitir definition, o Emailit gera um formulário inicial: uma etapa com um título, um campo de e-mail obrigatório e um botão Subscribe, além de uma etapa de sucesso. Monte e estilize formulários no painel, em Email MarketingForms, e depois publique-os.

POST/forms

Parâmetros do corpo

namestringobrigatório
Nome do formulário. Os visitantes não o veem.
typestringpadrão: popup
Como o formulário aparece: popup, full_page, flyout, embed ou banner.
definitionobject

O conteúdo do formulário, armazenado como está. O Emailit só o verifica quando você publica. Campos de nível superior:

  • version (integer): 1.
  • type (string): o tipo do formulário.
  • steps (array): cada etapa tem id, name, kind (form ou success) e blocks. Os blocos têm um id e um type: text, button (action: submit, next, close ou go_to_url), image ou um campo de entrada (email, text_input, phone, date, radio, checkbox, dropdown) com name, label e required do campo.
  • styles, targeting, experiments (objects): regras de aparência e de exibição definidas pelo editor de formulários.
settingsobject
Configurações livres armazenadas com o formulário. O padrão é {}.

Retorno

Retorna 201 Created com o objeto do formulário, incluindo definition e settings.

tokenstring
Token público que o script de incorporação usa para carregar o formulário. Consulte Instalar um formulário.
statusstring
draft até você publicar o formulário; depois, live.
published_atstring | null
Quando o formulário foi publicado pela última vez.

Retorna 400 se name estiver ausente ou vazio, ou se type não for um dos valores permitidos.

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": {}
}

Obter um formulário

Obtém um formulário com a definição completa. Requer uma chave de API com escopo full.

GET/forms/{id}

Parâmetros de caminho

idstringobrigatório
O ID do formulário (frm_…).

Retorno

Retorna o objeto do formulário.

objectstring
Sempre form.
idstring
ID do formulário, com o prefixo frm_.
namestring
Nome do formulário.
typestring
popup, full_page, flyout, embed ou banner.
statusstring
draft ou live. Apenas os formulários publicados são carregados no seu site.
tokenstring
Token público usado pelo script de incorporação.
definitionobject
Etapas, blocos, estilos e segmentação. Consulte Criar um formulário.
settingsobject
Configurações livres.
created_at, updated_at, published_atstring | null
Timestamps em UTC. published_at é null até a primeira publicação.

Retorna 404 se o formulário não existir.

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": {}
}

Atualizar um formulário

Atualiza os campos que você passar e mantém os outros inalterados. Requer uma chave de API com escopo full.

As alterações em um formulário live ficam visíveis para os visitantes imediatamente; não é preciso publicar de novo. Para editar sem afetar os visitantes, despublique-o primeiro.

POST/forms/{id}

Parâmetros de caminho

idstringobrigatório
O ID do formulário (frm_…).

Parâmetros do corpo

namestring
Novo nome. Não pode ficar vazio.
typestring
popup, full_page, flyout, embed ou banner. Atualize definition.type para corresponder.
definitionobject
Substitui a definição inteira. Consulte Criar um formulário para ver a estrutura dela.
settingsobject
Substitui o objeto de configurações.

Retorno

Retorna o objeto do formulário atualizado. Retorna 400 se um campo tiver o tipo errado ou se name estiver vazio, e 404 se o formulário não existir.

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": {}
}

Listar formulários

Retorna os formulários do workspace, dos mais recentes para os mais antigos, sem definition e settings. Requer uma chave de API com escopo full.

GET/forms

Parâmetros de consulta

pageintegerpadrão: 1
Número da página, a partir de 1.
limitintegerpadrão: 10
Formulários por página, de 1 a 100.
matchstring

all (padrão) exige todos os filtros. or corresponde a qualquer filtro. Consulte Filtragem.

orderstring

Chave de ordenação desta lista. Consulte as chaves de ordenação abaixo.

directionstring

asc ou desc.

Chaves de filtro

Os filtros usam parâmetros de consulta key.condition=value, por exemplo, status.exact=live. Consulte Filtragem.

Chave Tipo Observações
name string
type enum popup, full_page, flyout, embed, banner
status enum draft, live
created_at date

Chaves de ordenação para order: name, type, status, created_at.

Retorno

dataobject[]
Os formulários desta página: object, id, name, type, status, token, created_at, updated_at, published_at.
total_recordsinteger
Número de formulários que correspondem à consulta.
next_page_urlstring | null
Caminho da próxima página, ou null na última página. Ele leva apenas page e limit; adicione de novo a sua busca e os seus filtros ao segui-lo.
previous_page_urlstring | null
Caminho da página anterior, ou null na primeira página.
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
}

Publicar um formulário

Define o status do formulário como live e atualiza published_at. Os formulários publicados são carregados em qualquer site em que o script do Emailit esteja instalado e podem receber respostas. Requer uma chave de API com escopo full.

A definição precisa de pelo menos uma etapa com kind: "form" e uma com kind: "success"; caso contrário, a requisição retorna 422. As respostas ficam armazenadas com o formulário e ainda não criam contatos.

POST/forms/{id}/publish

Parâmetros de caminho

idstringobrigatório
O ID do formulário (frm_…).

Retorno

Retorna o objeto do formulário com status definido como live. Retorna 422 se a definição estiver incompleta e 404 se o formulário não existir.

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": {}
}

Despublicar um formulário

Volta o status do formulário para draft. O script de incorporação deixa de carregá-lo e novas respostas são rejeitadas. O token, a definição e published_at continuam iguais, então você pode publicá-lo de novo mais tarde. Requer uma chave de API com escopo full.

POST/forms/{id}/unpublish

Parâmetros de caminho

idstringobrigatório
O ID do formulário (frm_…).

Retorno

Retorna o objeto do formulário com status definido como draft. Retorna 404 se o formulário não existir.

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": {}
}

Redefinir o token público

Gera um novo token público para o formulário. O token antigo deixa de funcionar imediatamente: os sites que carregam o formulário com ele não o exibem mais e não conseguem enviar respostas para ele. Atualize o seu código de incorporação com o novo token. Requer uma chave de API com escopo full.

POST/forms/{id}/reset-token

Parâmetros de caminho

idstringobrigatório
O ID do formulário (frm_…).

Retorno

Retorna o objeto do formulário com o novo token. O status não muda. Retorna 404 se o formulário não existir.

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": {}
}

Excluir um formulário

Exclui permanentemente um formulário e todas as respostas armazenadas dele. Os sites que o incorporam deixam de exibi-lo. Requer uma chave de API com escopo full.

DELETE/forms/{id}

Parâmetros de caminho

idstringobrigatório
O ID do formulário (frm_…).

Retorno

Retorna 204 No Content com o corpo vazio. Retorna 404 se o formulário não existir.

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

Esta página foi útil?

Obrigado pelo feedback.

Obrigado, lemos todas as mensagens.