Pular para o conteúdo principal

getFormsDataByMarker

Buscando dados de formulário por identificador de texto (marcador).

Descrição​

Este método recupera um objeto de dados de formulário específico pelo seu marcador da API. Ele aceita um parâmetro de marcador como o marcador dos dados do formulário. Retorna uma Promise que resolve para um array de objetos do tipo FormDataEntity.

FormData.getFormsDataByMarker(

marker*, formModuleConfigId*, body, isExtended, langCode, offset, limit

);

Esquema de parâmetros​

Esquema

marker(obrigatório): string
Marcador do formulário
exemplo: "contact_form"

formModuleConfigId(obrigatório): number
ID de configuração do módulo de formulário
exemplo: 4

body: IFormsDataFilter
Filtro para os registros a serem retornados. Cada campo é opcional; um campo omitido ou vazio não é aplicado
exemplo:

{
"entityIdentifier": "blog",
"parentId": 10,
"userIdentifier": "",
"status": [
"moderation",
"approved"
],
"dateFrom": "2025-01-01",
"dateTo": ""
}

body.entityIdentifier: string | number
Identificador da entidade a que os registros pertencem; uma string vazia significa "sem filtro". Marcador de texto para entidades de conteúdo ("blog"), o id numérico para produtos (2954), o login para usuários e admins.
exemplo: "blog"

body.parentId: number
Identificador do registro pai — a forma de buscar respostas a um comentário.
exemplo: 10

body.userIdentifier: string
Identificador de texto do remetente; uma string vazia significa "sem filtro".
exemplo: "admin"

body.status: FormDataStatus[]
Status de moderação a serem mantidos. Deve ser um array — uma string simples é rejeitada com 400. Um array vazio significa "sem filtro".
exemplo: ["approved"]

body.dateFrom: string
Limite inferior da data de envio, YYYY-MM-DD; uma string vazia significa "sem limite" — getFormsDataByMarker a remove do corpo, já que o endpoint rejeita uma data vazia com um 400. Um valor não vazio que a API não consegue analisar ainda falha na solicitação.
exemplo: "2025-01-01"

body.dateTo: string
Limite superior da data de envio, YYYY-MM-DD; uma string vazia significa "sem limite", tratado como dateFrom.
exemplo: "2025-12-31"

isExtended: number
Flag para obter campos adicionais
exemplo: 1

langCode: string
Código do idioma. Padrão: "en_US"
exemplo: "en_US"

offset: number
Parâmetro para paginação. Padrão: 0
exemplo: 0

limit: number
Parâmetro para paginação. Padrão: 30
exemplo: 30

Por padrão, você pode recuperar 10 objetos. Isso se deve ao limite de registros nas configurações de permissões do módulo.
Para que a paginação funcione corretamente, você precisa configurar as Permissões do módulo de acordo com suas necessidades na seção correspondente.

Exemplos​

Exemplo mínimo​

const response = await FormData.getFormsDataByMarker('my-marker', 2);

Exemplo com um filtro​

const response = await FormData.getFormsDataByMarker(
'my-marker',
2,
{ entityIdentifier: 'blog', status: ['approved'] },
0,
'en_US',
0,
30,
);
formData retorna sem o wrapper de localidade

A API retorna os campos de cada registro envoltos por idioma — "formData": { "en_US": [ … ] } — e o SDK os desembrulha para o langCode solicitado. Leia record.formData como um array; record.formData[langCode] é undefined e não retorna nada. Isso se aplica a ambos os valores de isExtended.

Exemplo de resposta​

{
"items": [
{
"id": 8938,
"formIdentifier": "test-form",
"time": "2026-09-25T17:03:14.498Z",
"formData": [
{
"marker": "name",
"type": "string",
"value": "Test"
}
],
"attributeSetIdentifier": "form",
"moduleIdentifier": "content",
"entityIdentifier": "blog",
"entityId": 8,
"formModuleConfigId": 2
},
{
"id": 8921,
"formIdentifier": "test-form",
"time": "2026-09-25T17:02:47.269Z",
"formData": [
{
"marker": "name",
"type": "string",
"value": "Test"
}
],
"attributeSetIdentifier": "form",
"moduleIdentifier": "content",
"entityIdentifier": "blog",
"entityId": 8,
"formModuleConfigId": 2
},
{
"id": 8904,
"formIdentifier": "test-form",
"time": "2026-09-25T17:01:47.534Z",
"formData": [
{
"marker": "name",
"type": "string",
"value": "Test"
}
],
"attributeSetIdentifier": "form",
"moduleIdentifier": "content",
"entityIdentifier": "blog",
"entityId": 8,
"formModuleConfigId": 2
},
"..."
],
"total": 885
}

Esquema de resposta​

Esquema: IFormsDataEntity

items: IFormByMarkerDataEntity[]
Array de objetos de dados de formulário.
exemplo:

[
{
"id": 42,
"parentId": null,
"formIdentifier": "test-form",
"depth": 0,
"ip": null,
"status": null,
"userIdentifier": null,
"formData": [
{
"marker": "name",
"type": "string",
"value": "Test"
}
],
"attributeSetIdentifier": "form",
"time": "2025-03-03T15:51:17.458Z",
"entityIdentifier": "blog",
"isUserAdmin": false,
"formModuleConfigId": 2
}
]

items.id: number
O identificador único da página do formulário.
exemplo: 12345

items.parentId: null | number
O identificador único da página do formulário pai.
exemplo: 123

items.formIdentifier: string
O identificador da página.
exemplo: "contact_form"

items.depth: number
**
exemplo: 1

items.ip: string | null
Ip.
exemplo: '127.0.0.1'

items.fingerprint: string | null
Fingerprint.
exemplo: 'fingerprint'

items.status: string | null
Status de moderação do registro: "enviado", "moderação", "aprovado", "banido" ou "deletado"; null quando o formulário não é moderado.
exemplo: 'approved'

items.userIdentifier: string | null
Identificador de texto (marcador) do usuário.
exemplo: "admin"

items.formData: FormDataType[]
Campos enviados, já desembrulhados da localidade: a API retorna { "en_US": [ … ] } e o SDK entrega o array para o langCode solicitado. Leia formData diretamente — formData[langCode] é undefined.
exemplo:

[
{
"marker": "name",
"type": "string",
"value": "Test"
}
]

items.attributeSetIdentifier: string | null
Identificador de texto (marcador) do conjunto de atributos utilizado.
exemplo: "product_attributes"

items.time: Date | string
O identificador do formulário.
exemplo: "2023-10-01T12:00:00Z"

items.entityIdentifier: string
Identificador de texto (marcador) da entidade.
exemplo: "test"

items.isUserAdmin: boolean
O usuário é admin.
exemplo: true

items.formModuleConfigId: number
ID de configuração do módulo de formulário.
exemplo: 2

items.moduleIdentifier: string
Identificador do módulo.
exemplo: "blog"

items.entityId: number
ID de configuração do módulo de formulário.
exemplo: 2

total: number
Total de registros encontrados.
exemplo: 100