Materiais de Apoio

Dados dos Campos

Consulte a estrutura de dados de cada tipo de campo do ENSPACE para uso em expressões, relatórios, condicionais e templates.
atualizado

Consulte a estrutura de dados dos campos do ENSPACE

Esta página documenta a estrutura de dados interna de cada tipo de campo do ENSPACE. Use esta referência sempre que precisar acessar dados específicos de um campo — seja em expressões, relatórios, condicionais, templates de documento ou eventos em campo.

Cada campo do ENSPACE armazena seus dados em um formato específico. Campos simples (como texto ou número) guardam um único valor direto. Campos complexos (como endereço ou pessoa) guardam um objeto com múltiplas propriedades que podem ser acessadas individualmente.

Para aprender mais sobre como usar esses dados em expressões, relatórios e templates, consulte os materiais de apoio da seção Lógica e Expressões.

Como ler os exemplos

Os exemplos desta página usam referências de campo — os nomes técnicos que você define ao criar um campo no tipo. Por exemplo, se você criou um campo de texto curto com a referência nome, acessa seu valor com {{data.nome}}.

Ao longo da página você verá dois padrões de acesso aos dados:

  • Notação de ponto — para acessar propriedades dentro de objetos: {{data.valor.currency}}
  • Notação de colchete — para acessar itens dentro de listas por posição: {{data.anexos[0].name}}

Se esses padrões não são familiares, consulte a página Notação de Acesso antes de continuar.

As propriedades marcadas como obrigatórias (required) estão sempre presentes no objeto. Propriedades sem essa marcação são opcionais e podem não estar presentes dependendo do contexto ou da configuração do campo. Ao referenciar propriedades opcionais, considere que o valor pode estar vazio.

Referência rápida

A tabela abaixo resume o tipo de dado retornado por cada campo. Para ver a estrutura completa e exemplos de acesso, consulte a seção correspondente.

Referência rápida

A tabela abaixo resume o tipo de dado retornado por cada campo. Para ver a estrutura completa e exemplos de acesso, consulte a seção correspondente.

Nome oficialCampoTipo de dadoCategoria
Texto curtoinputTextStringTexto
Texto longoEnTextAreaStringTexto
Editor de texto HTMLEnHtmlStringTexto
NúmeroEnlNumberNumberValor e Tempo
Valor monetárioEnCurrencyObjectValor e Tempo
DataEnlCalendarStringValor e Tempo
DuraçãoEnlTimeRangeObjectValor e Tempo
Lista de seleçãoEnlDropdownStringOpções
Botões de seleção únicaradioButtonStringOpções
Alternativa bináriainputSwitchBooleanOpções
Lista de seleção múltiplamultiSelectArray<String>Opções
Caixas de seleçãoEnlCheckboxArray<String>Opções
TagsEnlChipsArray<String>Especiais
Relacionamento simplesEnRelObject | nullRelacionamento
Relacionamento múltiploEnRelMultiArray<Object>Relacionamento
ArquivosuploadFileArray<Object>Mídia e Arquivos
ImagemuploadImageArray<Object>Mídia e Arquivos
PDFEnPDFArray<Object>Mídia e Arquivos
Documento OfficeEnOnlyofficeObjectDocumentos
AnotaçõesEnNotesArray<Object>Especiais
ChatEnChatsArray<Object>Especiais
GrupogroupObjectEstruturados
RepetidorEnRepeaterArray<Object>Estruturados
EndereçoEnAddressObjectCompostos
Pessoa/EmpresaEnPersonObjectCompostos

Texto

Campos desta categoria armazenam conteúdo textual em diferentes formatos — desde strings simples até HTML rich text. Todos retornam String.


Texto curto — inputText

Campo de entrada de texto simples, sem formatação. Armazena uma string direta.

  • Tipo de dadoString
Valor
"João Silva"

Nos exemplos abaixo, assumimos que a referência do campo configurada no tipo é nome.

ContextoExemploResultado
Valor do campo{{data.nome}}"João Silva"
Concatenação{{data.nome}} {{data.sobrenome}}"João Silva Santos"
Referência ao campodata.nomeCampo nome do item
Condição{{#if data.nome}}Verifica se o campo tem valor

Texto longo — EnTextArea

Campo de texto longo, sem formatação rica. Ideal para observações, descrições detalhadas ou qualquer conteúdo textual extenso.

  • Tipo de dadoString
Valor
"Observações gerais sobre o contrato de prestação de serviços firmado em janeiro."

Nos exemplos abaixo, assumimos que a referência do campo configurada no tipo é observacoes.

ContextoExemploResultado
Valor do campo{{data.observacoes}}"Observações gerais..."
Concatenação{{data.titulo}} - {{data.observacoes}}Junta título e observação
Referência ao campodata.observacoesCampo observacoes do item
Condição{{#if data.observacoes}}Verifica se há observação

Editor de texto HTML — EnHtml

Campo de texto com formatação HTML. O valor armazenado inclui tags HTML e deve ser tratado adequadamente ao ser renderizado em templates ou relatórios.

  • Tipo de dadoString
Valor
"<p>Contrato revisado com <strong>cláusula adicional</strong> sobre prazos.</p>"

Nos exemplos abaixo, assumimos que a referência do campo configurada no tipo é descricao.

ContextoExemploResultado
Valor do campo (renderiza HTML){{{data.descricao}}}Renderiza HTML formatado
Valor como texto puro{{data.descricao}}Exibe com tags HTML visíveis
Referência ao campodata.descricaoCampo descricao do item
Condição{{#if data.descricao}}Verifica se há conteúdo
Para renderizar o HTML formatado em templates de documento, use chaves triplas {{{data.campo}}}. Com chaves duplas {{data.campo}}, as tags HTML serão exibidas como texto.

Valor e Tempo

Campos desta categoria armazenam valores numéricos, datas e intervalos temporais. Utilizados para quantidades, prazos, valores monetários e qualquer informação que envolva medição ou marcação de tempo.


Número — EnlNumber

Campo numérico que armazena valores inteiros ou decimais.

  • Tipo de dadoNumber
Valor
1500.75

Nos exemplos abaixo, assumimos que a referência do campo configurada no tipo é quantidade.

ContextoExemploResultado
Valor do campo{{data.quantidade}}1500.75
Operação matemática{{data.quantidade}} * 23001.5
Referência ao campodata.quantidadeCampo quantidade do item
Condição{{#if data.quantidade}}Verifica se tem valor

Valor monetário — EnCurrency

Campo monetário que armazena um valor com informações de moeda e, opcionalmente, configurações de correção monetária. A propriedade value reflete o valor atual (já corrigido quando aplicável).

  • Tipo de dadoObject
Valor
{
  "currency": "BRL",
  "value": 1500.00,
  "originalValue": 1200.00,
  "config": {
    "correction": {
      "id": 1,
      "fieldRefId": "campo_referencia",
      "multiplePeriods": true,
      "periods": [
        {
          "id": 1,
          "indexCode": "IPCA",
          "startDate": "2024-01-01",
          "endDate": "2024-12-31",
          "isPercentage": false,
          "percentageValue": null,
          "validity": "FINISHED",
          "status": "SUCCESS",
          "incrementedValue": 300.00,
          "factorUsed": 1.25,
          "indexName": "IPCA",
          "lastIncrementedAt": "2024-12-31T23:59:59"
        }
      ]
    }
  }
}

Nos exemplos abaixo, assumimos que a referência do campo configurada no tipo é valor.

ContextoExemploResultado
Valor monetário{{data.valor.value}}1500.00
Moeda{{data.valor.currency}}"BRL"
Valor original{{data.valor.originalValue}}1200.00
Referência do campo de correção{{data.valor.config.correction.fieldRefId}}"campo_referencia"
Código do índice do 1º período{{data.valor.config.correction.periods[0].indexCode}}"IPCA"
Fator usado no 1º período{{data.valor.config.correction.periods[0].factorUsed}}1.25
Iterar períodos{{#each data.valor.config.correction.periods}} {{indexCode}}; {{/each}}"IPCA; "
Referência ao campodata.valorCampo valor do item

Propriedades do objeto:

PropriedadeTipoObrig.Descrição
currencyStringSimCódigo da moeda (ex: BRL, USD, EUR).
valueNumberSimValor monetário atual. Quando há correção monetária, este é o valor já corrigido.
originalValueNumberNãoValor original antes de qualquer correção monetária.
config.correctionObjectNãoConfiguração de correção monetária, quando habilitada.

Propriedades de config.correction:

PropriedadeTipoObrig.Descrição
fieldRefIdStringSimIdentificador do campo de referência utilizado para a correção.
multiplePeriodsBooleanNãoIndica se a correção utiliza múltiplos períodos.
periodsArray<Object>SimLista de períodos de correção aplicados ao valor.

Propriedades de cada item em periods[]:

PropriedadeTipoObrig.Descrição
indexCodeStringSimCódigo do índice de correção (ex: IPCA, IGPM).
startDateDateSimData de início do período de correção.
endDateDateNãoData de fim do período.
isPercentageBooleanNãoSe true, utiliza um percentual fixo em vez de índice.
percentageValueNumberNãoValor percentual aplicado (quando isPercentage é true).
validityStringNãoEstado do período: ACTIVE (em andamento) ou FINISHED (encerrado).
statusStringNãoStatus do cálculo: PENDING, SUCCESS, FAILED ou WAITING-INDEX.
incrementedValueNumberNãoValor do acréscimo calculado no período.
factorUsedNumberNãoFator multiplicador utilizado no cálculo.
indexNameStringNãoNome legível do índice de correção.
lastIncrementedAtStringNãoData/hora da última atualização do cálculo.
errorsArray<Object>NãoLista de erros ocorridos no cálculo (quando status é FAILED).

Data — EnlCalendar

Campo de data que armazena o valor em formato ISO 8601. A parte da hora geralmente é zerada (T00:00:00.000Z), mantendo apenas a informação da data.

  • Tipo de dadoString
Valor
"2024-06-15T00:00:00.000Z"

Nos exemplos abaixo, assumimos que a referência do campo configurada no tipo é data_vencimento.

ContextoExemploResultado
Valor do campo{{data.data_vencimento}}"2024-06-15T00:00:00.000Z"
Referência ao campodata.data_vencimentoCampo data_vencimento do item
Condição{{#if data.data_vencimento}}Verifica se há data preenchida

Duração — EnlTimeRange

Campo de intervalo de tempo que define uma duração relativa ou absoluta. Utilizado para prazos, períodos de vigência ou qualquer medida temporal em diferentes escalas.

  • Tipo de dadoObject
Valor
{
  "period": "current",
  "range": [0, 30],
  "scale": "days",
  "scaleValue": 30,
  "applyFrom": "start",
  "useRelativeTime": true
}

Nos exemplos abaixo, assumimos que a referência do campo configurada no tipo é prazo.

ContextoExemploResultado
Escala{{data.prazo.scale}}"days"
Valor da escala{{data.prazo.scaleValue}}30
Período{{data.prazo.period}}"current"
Ponto de referência{{data.prazo.applyFrom}}"start"
Tempo relativo{{data.prazo.useRelativeTime}}true
Intervalo{{data.prazo.range}}[0, 30]
Referência ao campodata.prazoCampo prazo do item

Propriedades do objeto:

PropriedadeTipoObrig.Descrição
periodStringSimReferência temporal: current (período atual) ou before (período anterior).
rangeArray<Number>SimPar de valores [início, fim] que define o intervalo numérico.
scaleStringSimUnidade de medida: seconds, minutes, hours, days, weeks, months ou years.
scaleValueNumberSimValor numérico correspondente à escala selecionada.
applyFromStringSimPonto de referência: start (a partir do início) ou end (a partir do fim).
useRelativeTimeBooleanSimQuando true, o intervalo é relativo à data atual. Quando false, utiliza datas absolutas.

Opções

Campos desta categoria capturam escolhas do usuário — uma única opção, múltiplas opções ou estados booleanos. Retornam String, Boolean ou Array<String> conforme o tipo de seleção.


Lista de seleção — EnlDropdown

Lista suspensa que armazena o valor da opção selecionada. Apenas uma opção pode ser selecionada por vez.

  • Tipo de dadoString
Valor
"Em andamento"

Nos exemplos abaixo, assumimos que a referência do campo configurada no tipo é status.

ContextoExemploResultado
Valor do campo{{data.status}}"Em andamento"
Referência ao campodata.statusCampo status do item
Condição{{#if (eq data.status "Aprovado")}}Verifica se status é "Aprovado"

Botões de seleção única — radioButton

Grupo de botões de rádio que armazena o valor da opção selecionada. Funciona de forma similar à lista de seleção, mas com apresentação visual diferente.

  • Tipo de dadoString
Valor
"Aprovado"

Nos exemplos abaixo, assumimos que a referência do campo configurada no tipo é aprovacao.

ContextoExemploResultado
Valor do campo{{data.aprovacao}}"Aprovado"
Referência ao campodata.aprovacaoCampo aprovacao do item
Condição{{#if (eq data.aprovacao "Aprovado")}}Verifica se aprovação é "Aprovado"

Alternativa binária — inputSwitch

Interruptor liga/desliga que armazena um valor booleano: ativado (true) ou desativado (false).

  • Tipo de dadoBoolean
Valor
false

Nos exemplos abaixo, assumimos que a referência do campo configurada no tipo é ativo.

ContextoExemploResultado
Valor do campo{{data.ativo}}false
Referência ao campodata.ativoCampo ativo do item
Condição{{#if data.ativo}}Verifica se está ativado

Lista de seleção múltipla — multiSelect

Campo de seleção múltipla que armazena uma lista das opções selecionadas.

  • Tipo de dadoArray<String>
Valor
["Financeiro", "Jurídico", "Compliance"]

Nos exemplos abaixo, assumimos que a referência do campo configurada no tipo é departamentos.

ContextoExemploResultado
Primeiro valor{{data.departamentos[0]}}"Financeiro"
Iterar valores{{#each data.departamentos}} {{this}}; {{/each}}"Financeiro; Jurídico; Compliance; "
Total de selecionados{{data.departamentos.length}}3
Referência ao campodata.departamentosCampo departamentos do item
Condição{{#if data.departamentos}}Verifica se há seleções
Mesmo que haja apenas uma opção selecionada, o valor estará dentro de uma lista. Use {{data.departamentos[0]}} para acessar o primeiro item.

Caixas de seleção — EnlCheckbox

Grupo de caixas de seleção que armazena uma lista das opções marcadas.

  • Tipo de dadoArray<String>
Valor
["Leitura", "Escrita", "Exclusão"]

Nos exemplos abaixo, assumimos que a referência do campo configurada no tipo é permissoes.

ContextoExemploResultado
Primeiro valor{{data.permissoes[0]}}"Leitura"
Iterar valores{{#each data.permissoes}} {{this}}; {{/each}}"Leitura; Escrita; Exclusão; "
Verificar se contém{{#if (contains data.permissoes "Escrita")}}Verifica se "Escrita" está marcada
Referência ao campodata.permissoesCampo permissoes do item
Mesmo que haja apenas uma opção marcada, o valor estará dentro de uma lista. Use {{data.permissoes[0]}} para acessar o primeiro item.

Relacionamento

Campos desta categoria criam vínculos entre itens de diferentes tipos. Retornam objetos com id, reference e display, permitindo acesso tanto ao identificador técnico quanto às informações legíveis do item vinculado.


Relacionamento simples — EnRel

Campo que armazena a referência a um único item de outro tipo. Retorna null quando nenhum item está vinculado.

  • Tipo de dadoObject | null
Valor
{
  "id": 1042,
  "reference": "CONT-2024-001",
  "display": "Contrato de Prestação de Serviços"
}

Nos exemplos abaixo, assumimos que a referência do campo configurada no tipo é contrato.

ContextoExemploResultado
Texto de exibição{{data.contrato.display}}"Contrato de Prestação de Serviços"
Código de referência{{data.contrato.reference}}"CONT-2024-001"
ID do item{{data.contrato.id}}1042
Referência ao campodata.contratoCampo contrato do item
Condição{{#if data.contrato}}Verifica se há item vinculado

Propriedades do objeto:

PropriedadeTipoObrig.Descrição
idNumberSimIdentificador único do item vinculado no sistema.
referenceStringSimCódigo de referência do item vinculado (ex: número do contrato, protocolo).
displayStringSimTexto de exibição do item vinculado, conforme configurado no tipo de origem.

Relacionamento múltiplo — EnRelMulti

Campo que armazena uma lista de referências a itens de outro tipo. Retorna uma lista vazia quando nenhum item está vinculado.

  • Tipo de dadoArray<Object>
Valor
[
  {
    "id": 1042,
    "reference": "CONT-2024-001",
    "display": "Contrato de Prestação de Serviços"
  },
  {
    "id": 1043,
    "reference": "CONT-2024-002",
    "display": "Contrato de Licenciamento"
  }
]

Nos exemplos abaixo, assumimos que a referência do campo configurada no tipo é contratos.

ContextoExemploResultado
Display do primeiro item{{data.contratos[0].display}}"Contrato de Prestação de Serviços"
Referência do segundo item{{data.contratos[1].reference}}"CONT-2024-002"
Iterar itens{{#each data.contratos}} {{display}} ({{reference}}); {{/each}}Lista todos os contratos
Total vinculados{{data.contratos.length}}2
Referência ao campodata.contratosCampo contratos do item
Condição{{#if data.contratos}}Verifica se há itens vinculados

Cada item da lista possui as mesmas propriedades do Relacionamento simples: id, reference e display.

Mesmo que haja apenas um item vinculado, o valor estará dentro de uma lista. Use {{data.contratos[0].display}} para acessar o primeiro item.

Mídia e Arquivos

Campos desta categoria armazenam arquivos anexados pelo usuário. Todos retornam Array<Object> onde cada objeto segue a estrutura EnFile com metadados do arquivo, URL de acesso e informações de armazenamento.


Arquivos — uploadFile

Campo de upload genérico que armazena uma lista de arquivos de qualquer tipo.

  • Tipo de dadoArray<EnFile>
Valor
[
  {
    "id": 287,
    "created_at": "2024-06-15T14:30:00.000Z",
    "updated_at": "2024-06-15T14:30:00.000Z",
    "size": 204800,
    "ext": ".pdf",
    "width": null,
    "height": null,
    "name": "contrato-assinado.pdf",
    "hash": "contrato_assinado_a1b2c3d4",
    "url": "https://storage.enspace.com/uploads/contrato-assinado.pdf",
    "mime": "application/pdf",
    "alternativeText": null,
    "caption": null,
    "previewUrl": null,
    "provider": "aws-s3"
  }
]

Nos exemplos abaixo, assumimos que a referência do campo configurada no tipo é anexos.

ContextoExemploResultado
Nome do primeiro arquivo{{data.anexos[0].name}}"contrato-assinado.pdf"
URL do primeiro arquivo{{data.anexos[0].url}}URL do arquivo
Extensão{{data.anexos[0].ext}}".pdf"
Tamanho{{data.anexos[0].size}}204800
Tipo MIME{{data.anexos[0].mime}}"application/pdf"
Iterar arquivos{{#each data.anexos}} {{name}} ({{size}} bytes); {{/each}}Lista todos os arquivos
Referência ao campodata.anexosCampo anexos do item

Propriedades de cada arquivo (EnFile):

PropriedadeTipoObrig.Descrição
idNumberSimIdentificador único do arquivo no sistema.
created_atStringSimData e hora de upload (formato ISO 8601).
updated_atStringSimData e hora da última atualização.
sizeNumberSimTamanho do arquivo em bytes.
extStringSimExtensão do arquivo (ex: .pdf, .jpg, .docx).
widthString | nullNãoLargura em pixels (apenas para imagens).
heightString | nullNãoAltura em pixels (apenas para imagens).
nameStringSimNome original do arquivo.
hashStringSimHash único do arquivo, utilizado internamente.
urlStringSimURL pública para acesso ao arquivo.
mimeStringSimTipo MIME (ex: application/pdf, image/jpeg).
alternativeTextString | nullNãoTexto alternativo descritivo.
captionString | nullNãoLegenda do arquivo.
previewUrlString | nullNãoURL de pré-visualização.
providerStringSimProvedor de armazenamento (ex: aws-s3).
Mesmo que haja apenas um arquivo, o valor estará dentro de uma lista. Use {{data.anexos[0].name}} para acessar o primeiro arquivo.

Imagem — uploadImage

Campo de upload de imagens. A estrutura é idêntica ao Arquivos, com a diferença de que os campos width e height estarão preenchidos com as dimensões da imagem.

  • Tipo de dadoArray<EnFile>
Valor
[
  {
    "id": 288,
    "created_at": "2024-06-15T14:35:00.000Z",
    "updated_at": "2024-06-15T14:35:00.000Z",
    "size": 102400,
    "ext": ".jpg",
    "width": 1920,
    "height": 1080,
    "name": "fachada-empresa.jpg",
    "hash": "fachada_empresa_e5f6g7h8",
    "url": "https://storage.enspace.com/uploads/fachada-empresa.jpg",
    "mime": "image/jpeg",
    "alternativeText": "Fachada da sede",
    "caption": null,
    "previewUrl": null,
    "provider": "aws-s3"
  }
]

Nos exemplos abaixo, assumimos que a referência do campo configurada no tipo é fotos.

ContextoExemploResultado
URL da primeira imagem{{data.fotos[0].url}}URL da imagem
Dimensões{{data.fotos[0].width}}x{{data.fotos[0].height}}"1920x1080"
Nome{{data.fotos[0].name}}"fachada-empresa.jpg"
Texto alternativo{{data.fotos[0].alternativeText}}"Fachada da sede"
Iterar imagens{{#each data.fotos}} {{name}} ({{width}}x{{height}}); {{/each}}Lista imagens com dimensões
Referência ao campodata.fotosCampo fotos do item
Mesmo que haja apenas uma imagem, o valor estará dentro de uma lista. Use {{data.fotos[0].url}} para acessar a primeira imagem.

PDF — EnPDF

Campo específico para arquivos PDF. A estrutura de dados é idêntica à do Arquivos, diferenciando-se apenas na validação de tipo de arquivo permitido na interface.

  • Tipo de dadoArray<EnFile>
Valor
[
  {
    "id": 289,
    "created_at": "2024-06-15T14:40:00.000Z",
    "updated_at": "2024-06-15T14:40:00.000Z",
    "size": 307200,
    "ext": ".pdf",
    "width": null,
    "height": null,
    "name": "relatorio-anual.pdf",
    "hash": "relatorio_anual_i9j0k1l2",
    "url": "https://storage.enspace.com/uploads/relatorio-anual.pdf",
    "mime": "application/pdf",
    "alternativeText": null,
    "caption": null,
    "previewUrl": null,
    "provider": "aws-s3"
  }
]

Nos exemplos abaixo, assumimos que a referência do campo configurada no tipo é documentos.

ContextoExemploResultado
Nome do primeiro PDF{{data.documentos[0].name}}"relatorio-anual.pdf"
URL do primeiro PDF{{data.documentos[0].url}}URL do PDF
Iterar PDFs{{#each data.documentos}} {{name}}; {{/each}}Lista PDFs
Referência ao campodata.documentosCampo documentos do item
Mesmo que haja apenas um PDF, o valor estará dentro de uma lista. Use {{data.documentos[0].name}} para acessar o primeiro PDF.

Documentos

Campos desta categoria gerenciam documentos editáveis e assináveis. Além do arquivo original, mantêm versões derivadas (PDF, assinado) e metadados do processo de assinatura.


Documento Office — EnOnlyoffice

Campo de editor de documentos integrado que armazena referências ao arquivo original, sua versão em PDF e o documento assinado digitalmente (quando aplicável).

  • Tipo de dadoObject
Valor
{
  "document": {
    "name": "contrato.docx",
    "url": "https://storage.enspace.com/uploads/contrato.docx",
    "ext": ".docx",
    "size": 102400,
    "mime": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
    "hash": "contrato_docx_a1b2",
    "created_at": "2024-06-10T10:00:00.000Z",
    "updated_at": "2024-06-10T10:00:00.000Z",
    "provider": "aws-s3"
  },
  "document_pdf": {
    "name": "contrato.pdf",
    "url": "https://storage.enspace.com/uploads/contrato.pdf",
    "ext": ".pdf",
    "size": 204800,
    "mime": "application/pdf",
    "hash": "contrato_pdf_e5f6",
    "created_at": "2024-06-10T10:05:00.000Z",
    "updated_at": "2024-06-10T10:05:00.000Z",
    "provider": "aws-s3"
  },
  "lastVersion": null,
  "signed": {
    "pdf": {
      "name": "contrato-assinado.pdf",
      "url": "https://storage.enspace.com/uploads/contrato-assinado.pdf",
      "ext": ".pdf",
      "size": 215000,
      "mime": "application/pdf",
      "hash": "contrato_signed_g7h8",
      "created_at": "2024-06-12T16:00:00.000Z",
      "updated_at": "2024-06-12T16:00:00.000Z",
      "provider": "aws-s3"
    },
    "fileZip": "https://storage.enspace.com/uploads/contrato-evidencias.zip",
    "created_at": "2024-06-12T16:00:00.000Z"
  }
}

Nos exemplos abaixo, assumimos que a referência do campo configurada no tipo é doc.

ContextoExemploResultado
Nome do documento original{{data.doc.document.name}}"contrato.docx"
URL do PDF gerado{{data.doc.document_pdf.url}}URL do PDF
Nome do PDF assinado{{data.doc.signed.pdf.name}}"contrato-assinado.pdf"
URL do ZIP de evidências{{data.doc.signed.fileZip}}URL do ZIP
Data da assinatura{{data.doc.signed.created_at}}"2024-06-12T16:00:00.000Z"
Verificar se há assinatura{{#if data.doc.signed}}Verifica se documento foi assinado
Referência ao campodata.docCampo doc do item

Propriedades do objeto:

PropriedadeTipoObrig.Descrição
documentEnFileSimArquivo original do documento editável.
document_pdfEnFileSimVersão em PDF gerada automaticamente.
lastVersionEnFileNãoÚltima versão salva do documento.
signedObjectNãoDados do documento assinado digitalmente.

Propriedades de signed (quando presente):

PropriedadeTipoObrig.Descrição
pdfEnFileSimArquivo PDF com as assinaturas aplicadas.
fileZipStringSimURL do arquivo ZIP contendo evidências da assinatura.
created_atStringSimData e hora em que a assinatura foi concluída.

Especiais

Campos desta categoria possuem comportamentos específicos — anotações, mensagens de chat e tags com estruturas de dados próprias.


Tags — EnlChips

Campo de tags que armazena uma lista de termos inseridos livremente pelo usuário. Útil para categorização dinâmica ou palavras-chave.

  • Tipo de dadoArray<String>
Valor
["urgente", "revisão", "contrato-2024"]

Nos exemplos abaixo, assumimos que a referência do campo configurada no tipo é tags.

ContextoExemploResultado
Primeira tag{{data.tags[0]}}"urgente"
Iterar tags{{#each data.tags}} #{{this}} {{/each}}"#urgente #revisão #contrato-2024 "
Total de tags{{data.tags.length}}3
Referência ao campodata.tagsCampo tags do item
Mesmo que haja apenas uma tag, o valor estará dentro de uma lista. Use {{data.tags[0]}} para acessar a primeira tag.

Anotações — EnNotes

Campo de anotações que armazena uma lista de comentários vinculados ao item. Cada anotação inclui conteúdo, autor, arquivos anexos e status de leitura.

  • Tipo de dadoArray<Object>
Valor
[
  {
    "id": "note-001",
    "created_at": "2024-06-15T14:30:00.000Z",
    "updated_at": "2024-06-15T14:30:00.000Z",
    "status": "open",
    "type": "comment",
    "content": "Revisar a cláusula 5 antes de enviar ao cliente.",
    "answer": null,
    "files": [],
    "sender": {
      "id": "user-123",
      "name": "Maria Silva",
      "email": "maria@empresa.com",
      "phone": "+5511999999999",
      "avatar": "https://storage.enspace.com/avatars/maria.jpg"
    },
    "seen_by": ["user-456", "user-789"]
  }
]

Nos exemplos abaixo, assumimos que a referência do campo configurada no tipo é notas.

ContextoExemploResultado
Conteúdo da primeira nota{{data.notas[0].content}}"Revisar a cláusula 5..."
Autor da primeira nota{{data.notas[0].sender.name}}"Maria Silva"
E-mail do autor{{data.notas[0].sender.email}}"maria@empresa.com"
Status da nota{{data.notas[0].status}}"open"
Iterar notas{{#each data.notas}} {{sender.name}}: {{content}}; {{/each}}Lista todas as notas
Total de notas{{data.notas.length}}1
Referência ao campodata.notasCampo notas do item

Propriedades de cada anotação:

PropriedadeTipoObrig.Descrição
idStringSimIdentificador único da anotação.
created_atStringSimData e hora de criação.
updated_atStringSimData e hora da última atualização.
statusStringSimStatus da anotação (ex: open, resolved).
typeStringSimTipo da anotação (ex: comment, note).
contentStringSimConteúdo textual da anotação.
answeranyNãoResposta vinculada à anotação, quando houver.
filesArray<EnFile>SimArquivos anexados. Cada item segue a estrutura EnFile documentada em Arquivos.
senderObjectSimDados do autor da anotação.
seen_byArray<String>SimLista de IDs dos usuários que visualizaram a anotação.

Propriedades de sender:

PropriedadeTipoObrig.Descrição
idStringSimIdentificador do autor.
nameStringSimNome do autor.
emailStringSimE-mail do autor.
phoneStringNãoTelefone de contato.
avatarStringNãoURL do avatar.
Mesmo que haja apenas uma anotação, o valor estará dentro de uma lista. Use {{data.notas[0].content}} para acessar a primeira anotação.

Chat — EnChats

Campo de chat que armazena uma lista de mensagens. A estrutura de dados é idêntica à do Anotações — cada mensagem contém as mesmas propriedades: id, created_at, updated_at, status, type, content, answer, files, sender e seen_by.

  • Tipo de dadoArray<Object>
Valor
[
  {
    "id": "chat-001",
    "created_at": "2024-06-15T15:00:00.000Z",
    "updated_at": "2024-06-15T15:00:00.000Z",
    "status": "open",
    "type": "message",
    "content": "O documento foi revisado e está pronto para assinatura.",
    "answer": null,
    "files": [],
    "sender": {
      "id": "user-456",
      "name": "Pedro Santos",
      "email": "pedro@empresa.com",
      "phone": null,
      "avatar": null
    },
    "seen_by": ["user-123"]
  }
]

Nos exemplos abaixo, assumimos que a referência do campo configurada no tipo é mensagens.

ContextoExemploResultado
Conteúdo da primeira mensagem{{data.mensagens[0].content}}"O documento foi revisado..."
Autor da mensagem{{data.mensagens[0].sender.name}}"Pedro Santos"
E-mail do autor{{data.mensagens[0].sender.email}}"pedro@empresa.com"
Iterar mensagens{{#each data.mensagens}} {{sender.name}}: {{content}}; {{/each}}Lista todas as mensagens
Total de mensagens{{data.mensagens.length}}1
Referência ao campodata.mensagensCampo mensagens do item
Mesmo que haja apenas uma mensagem, o valor estará dentro de uma lista. Use {{data.mensagens[0].content}} para acessar a primeira mensagem.

Estruturados

Campos desta categoria definem a organização hierárquica dos dados. Agrupam campos relacionados ou permitem múltiplas repetições de um mesmo conjunto de campos.


Grupo — group

Campo de agrupamento que armazena seus campos internos como propriedades de um objeto. As chaves do objeto são as referências dos campos configurados dentro do grupo, e os valores seguem a estrutura de dados de cada tipo.

  • Tipo de dadoObject (chaves dinâmicas)
Valor
{
  "nome_completo": "João Silva",
  "data_nascimento": "1990-05-20T00:00:00.000Z",
  "ativo": true
}

Nos exemplos abaixo, assumimos que a referência do campo configurada no tipo é dados_pessoais.

ContextoExemploResultado
Campo interno{{data.dados_pessoais.nome_completo}}"João Silva"
Data interna{{data.dados_pessoais.data_nascimento}}"1990-05-20T00:00:00.000Z"
Boolean interno{{data.dados_pessoais.ativo}}true
Referência ao grupodata.dados_pessoaisCampo dados_pessoais do item
Condição{{#if data.dados_pessoais.ativo}}Verifica se campo interno está ativo
As propriedades do objeto dependem dos campos configurados dentro do grupo. Cada propriedade segue a estrutura de dados do seu respectivo tipo de campo — consulte a seção correspondente nesta página.

Repetidor — EnRepeater

Campo repetidor que armazena uma lista de registros. Cada registro é um objeto com campos dinâmicos configurados no repetidor.

  • Tipo de dadoArray<Object>
Valor
[
  {
    "descricao": "Parcela 1",
    "valor": { "currency": "BRL", "value": 500.00 },
    "vencimento": "2024-07-01T00:00:00.000Z"
  },
  {
    "descricao": "Parcela 2",
    "valor": { "currency": "BRL", "value": 500.00 },
    "vencimento": "2024-08-01T00:00:00.000Z"
  }
]

Nos exemplos abaixo, assumimos que a referência do campo configurada no tipo é parcelas.

ContextoExemploResultado
Descrição da primeira parcela{{data.parcelas[0].descricao}}"Parcela 1"
Valor da primeira parcela{{data.parcelas[0].valor.value}}500.00
Moeda da primeira parcela{{data.parcelas[0].valor.currency}}"BRL"
Vencimento da primeira parcela{{data.parcelas[0].vencimento}}"2024-07-01T00:00:00.000Z"
Iterar parcelas{{#each data.parcelas}} {{descricao}}: R${{valor.value}}; {{/each}}Lista todas as parcelas
Total de parcelas{{data.parcelas.length}}2
Referência ao campodata.parcelasCampo parcelas do item
Cada objeto da lista contém os campos configurados no repetidor. A estrutura de cada propriedade segue o tipo de campo correspondente — no exemplo acima, descricao é um texto curto (String), valor é um valor monetário (Object) e vencimento é uma data (String). Mesmo que haja apenas um registro, o valor estará dentro de uma lista.

Compostos

Campos desta categoria agrupam múltiplas informações relacionadas em um único objeto — como endereços completos ou dados de pessoa física/jurídica. A estrutura interna varia conforme o contexto.


Endereço — EnAddress

Campo de endereço completo que suporta formatos brasileiro e internacional. As propriedades preenchidas dependem da configuração do campo e do país selecionado.

  • Tipo de dadoObject

Formato brasileiro:

Valor — Brasil
{
  "cep": "01310-100",
  "street": "Avenida Paulista",
  "number": "1000",
  "complement": "Sala 501",
  "neighborhood": "Bela Vista",
  "city": "São Paulo",
  "state": "SP",
  "country": "Brasil"
}

Formato internacional:

Valor — Internacional
{
  "addressLine1": "350 Fifth Avenue",
  "addressLine2": "Suite 3300",
  "postalCode": "10118",
  "city": "New York",
  "state": "NY",
  "country": "United States"
}

Nos exemplos abaixo, assumimos que a referência do campo configurada no tipo é endereco.

ContextoExemploResultado
CEP{{data.endereco.cep}}"01310-100"
Logradouro{{data.endereco.street}}"Avenida Paulista"
Número{{data.endereco.number}}"1000"
Complemento{{data.endereco.complement}}"Sala 501"
Bairro{{data.endereco.neighborhood}}"Bela Vista"
Cidade{{data.endereco.city}}"São Paulo"
Estado{{data.endereco.state}}"SP"
País{{data.endereco.country}}"Brasil"
Linha 1 (internacional){{data.endereco.addressLine1}}"350 Fifth Avenue"
Código postal (internacional){{data.endereco.postalCode}}"10118"
Referência ao campodata.enderecoCampo endereco do item
Condição{{#if data.endereco.cep}}Verifica se CEP está preenchido

Propriedades do objeto:

PropriedadeTipoObrig.Descrição
cityStringSimCidade.
stateStringSimEstado ou região.
countryStringSimPaís.
streetStringNãoLogradouro (formato brasileiro).
numberStringNãoNúmero do endereço.
complementStringNãoComplemento (ex: sala, andar, bloco).
neighborhoodStringNãoBairro (formato brasileiro).
cepStringNãoCEP — código de endereçamento postal brasileiro.
zip4StringNãoExtensão de 4 dígitos do ZIP code (formato norte-americano).
addressLine1StringNãoPrimeira linha do endereço (formato internacional).
addressLine2StringNãoSegunda linha do endereço (formato internacional).
postalCodeStringNãoCódigo postal (formato internacional).

Pessoa/Empresa — EnPerson

Campo de pessoa que armazena dados de pessoa física ou jurídica. A propriedade type define qual subobjeto está preenchido.

  • Tipo de dadoObject

Pessoa física:

Valor — Pessoa Física
{
  "type": "natural_person",
  "natural_person": {
    "name": "João Silva",
    "cpf": "123.456.789-00",
    "rg": "12.345.678-9",
    "marital_status": "Casado",
    "profession": "Engenheiro",
    "contact_name": "João Silva",
    "contact_phone": "+5511999999999",
    "contact_email": "joao@email.com"
  }
}

Pessoa jurídica:

Valor — Pessoa Jurídica
{
  "type": "legal_person",
  "legal_person": {
    "cnpj": "12.345.678/0001-00",
    "razao_social": "Empresa Exemplo LTDA",
    "nome_fantasia": "Exemplo Corp",
    "descricao_situacao_cadastral": "Ativa",
    "data_inicio_atividade": "2015-03-10",
    "cnae_fiscal": "6201-5/01",
    "cnae_fiscal_descricao": "Desenvolvimento de programas de computador sob encomenda",
    "contact_name": "Maria Souza",
    "contact_phone": "+5511988888888",
    "contact_email": "contato@exemplo.com"
  }
}

Nos exemplos abaixo, assumimos que a referência do campo configurada no tipo é cliente.

ContextoExemploResultado
Tipo de pessoa{{data.cliente.type}}"natural_person" ou "legal_person"
Nome (PF){{data.cliente.natural_person.name}}"João Silva"
CPF (PF){{data.cliente.natural_person.cpf}}"123.456.789-00"
RG (PF){{data.cliente.natural_person.rg}}"12.345.678-9"
Estado civil (PF){{data.cliente.natural_person.marital_status}}"Casado"
Profissão (PF){{data.cliente.natural_person.profession}}"Engenheiro"
Telefone (PF){{data.cliente.natural_person.contact_phone}}"+5511999999999"
E-mail (PF){{data.cliente.natural_person.contact_email}}"joao@email.com"
CNPJ (PJ){{data.cliente.legal_person.cnpj}}"12.345.678/0001-00"
Razão social (PJ){{data.cliente.legal_person.razao_social}}"Empresa Exemplo LTDA"
Nome fantasia (PJ){{data.cliente.legal_person.nome_fantasia}}"Exemplo Corp"
Situação cadastral (PJ){{data.cliente.legal_person.descricao_situacao_cadastral}}"Ativa"
CNAE (PJ){{data.cliente.legal_person.cnae_fiscal}}"6201-5/01"
Descrição CNAE (PJ){{data.cliente.legal_person.cnae_fiscal_descricao}}"Desenvolvimento de programas..."
Telefone (PJ){{data.cliente.legal_person.contact_phone}}"+5511988888888"
E-mail (PJ){{data.cliente.legal_person.contact_email}}"contato@exemplo.com"
Referência ao campodata.clienteCampo cliente do item
Condição por tipo{{#if (eq data.cliente.type "natural_person")}}Verifica se é pessoa física

Propriedade raiz:

PropriedadeTipoObrig.Descrição
typeStringSimTipo de pessoa: natural_person (pessoa física) ou legal_person (pessoa jurídica).

Propriedades de natural_person (pessoa física):

PropriedadeTipoObrig.Descrição
nameStringSimNome completo.
cpfStringSimNúmero do CPF.
rgStringNãoNúmero do RG.
marital_statusStringNãoEstado civil.
professionStringNãoProfissão.
contact_nameStringNãoNome do contato.
contact_phoneStringNãoTelefone de contato.
contact_emailStringNãoE-mail de contato.

Propriedades de legal_person (pessoa jurídica):

PropriedadeTipoObrig.Descrição
cnpjStringSimNúmero do CNPJ.
razao_socialStringSimRazão social da empresa.
nome_fantasiaStringNãoNome fantasia.
descricao_situacao_cadastralStringNãoDescrição da situação cadastral na Receita Federal.
data_inicio_atividadeStringNãoData de início das atividades.
cnae_fiscalStringNãoCódigo CNAE fiscal principal.
cnae_fiscal_descricaoStringNãoDescrição do CNAE fiscal.
contact_nameStringNãoNome do contato.
contact_phoneStringNãoTelefone de contato.
contact_emailStringNãoE-mail de contato.