> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# API de assinatura eletrónica: assinar documentos após KYC

> Permita assinar documentos PDF e Word no fluxo de verificação da Didit, ao nível Simples ou Avançado (AES), para pessoas e empresas.

A Assinatura eletrónica permite que uma pessoa assine os seus documentos no mesmo fluxo. O signatário percorre cada documento, adiciona a sua assinatura, rubricas e quaisquer dados que solicitar e, no nível Avançado (AES), confirma através de um código de utilização única enviado para o e-mail ou telefone verificado anteriormente. A Didit devolve cada documento assinado, juntamente com um PDF de evidências que regista quem assinou e de que forma.A Assinatura eletrónica tem três níveis. **Simples** é a predefinição e não requer verificação de identidade, e-mail nem telefone. **Avançada (AES)** requer uma verificação de identidade aprovada e um e-mail ou telefone verificado, associando a assinatura à identidade verificada. **Qualificada (QES)** é um extra que ainda não está disponível. Consulte [Níveis de assinatura](#níveis-de-assinatura).Funciona para a Verificação de utilizadores (KYC), onde a pessoa verificada assina, e para a Verificação de empresas (KYB), onde os representantes legais ou pessoas-chave da empresa assinam em seu nome.

Prompt de integração da assinatura eletrónica
        Copiar o prompt para a área de transferência



      
      

\<pre>

\`Goal:
Add Didit E-signature to a verification workflow: the verified person (KYC) or a company's representatives (KYB) sign PDF or Word documents inside the Didit flow, and your backend receives the signed PDFs and the evidence.

Delivery mode:
E-signature is a workflow step (feature SIGNATURE). There is no standalone signing API: the signer signs inside the hosted Didit flow, the Web SDK or a native SDK.

Prerequisites in the workflow (Advanced (AES) level only; the default Simple level needs no earlier step and no code):
\- KYC: an ID Verification step before the signature step (the signer's identity must be Approved), plus Email Verification (email codes, the default) or Phone Verification (SMS codes) so the code goes to a verified contact. If the workflow has Liveness, it must be Approved too.
\- KYB: a Key People step whose people complete their own KYC with the same prerequisites. signature_signer "legal_representative" picks the key people with the role representative or authorized_signatory; "key_people" picks every eligible key person (1 to 20 signers). For these KYB signers always set signature_level to "aes": "simple" is refused with signature_simple_requires_verified_person, so the workflow cannot be saved.

Steps:
1\. Add the E-signature step to the workflow in the Business Console (or POST /v3/workflows/ with {"feature": "SIGNATURE", "config": {...}}). Upload the documents in the console, or set signature_documents_source to "session" (or "both") to send them per session.
2\. Optional: place fields on each document: signature, initials, full_name, date_signed, text, checkbox, email and read-only data. Workflow documents get their fields in the console's template editor. Session documents carry them in sign.documents[].fields, placed by page and position or by anchor text. Every field has a key; a field with prefill "api.<key>" takes its value from sign.field_values.
3\. Create a session. For per-session documents, send sign.documents with base64 content:

curl -X POST 'https://verification.didit.me/v3/session/' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"workflow_id": "YOUR_WORKFLOW_ID",
"vendor_data": "user-1234",
"sign": {
  "documents": [
    \{
      "title": "Account agreement",
      "file_name": "agreement.pdf",
      "content_base64": "<base64 of the PDF>",
      "fields": [
        \{ "key": "signature", "type": "signature", "page": 3, "x": 0.09, "y": 0.62, "width": 0.36, "height": 0.085 },
        \{ "key": "credit_limit", "type": "data", "page": 1, "x": 0.34, "y": 0.31, "width": 0.3, "height": 0.03, "prefill": "api.credit_limit" }
      ]
    }
  ],
  "field_values": { "credit_limit": "3,000 EUR" }
}
}'

4\. Send the user to session.url (or open it with the Web or native SDK). Documents with fields need a native SDK release that supports fields; the hosted page and the Web SDK always do.
5\. Wait for the status.updated webhook, then GET /v3/session/{session_id}/decision/.

Decision surface:
signatures[] (one item per signer and signature step). Read:
\- status: the signing stage (intro, review, code, signing, signed, declined).
\- verdict: Not Finished | Approved | In Review | Declined.
\- level ("simple" or "aes"), format ("pdf" for simple, "pades" for aes), profile ("PAdES-B-LT" once an aes step is signed, otherwise null).
\- signer, identity_used, confirmation, certificate, timestamp, adopted_signature, electronic_signature_consent_at.
\- documents[]: mode ("fields" or "read_and_agree"), sha256_original, sha256_signed, status, signed_file (download path), source_format, conversion, fields[] (key, type, value, display_value, value_source, filled_at, image_url).
\- evidence_file (download path), warnings[] ({code, node_id}).

Downloads (x-api-key works):
\- GET /v3/session/{session_id}/signatures/{node_id}/documents/{document_id}/file/ -> signed PDF
\- GET /v3/session/{session_id}/signatures/{node_id}/evidence/?signature_id={id} -> evidence PDF
\- GET /v3/session/{session_id}/signatures/{node_id}/fields/{field_id}/image/ -> applied signature or initials (PNG); use the image_url of the field
\- POST /v3/session/{session_id}/signatures/{node_id}/validate/ -> re-checks the stored signatures

Warnings:
SIGNATURE_DECLINED (default REVIEW), SIGNATURE_OTP_FAILED, SIGNATURE_NAME_MISMATCH, SIGNATURE_IDENTITY_NOT_VERIFIED, SIGNATURE_DOCUMENT_CHANGED (default DECLINE). Each maps to a signature_*_action setting.

Rules:
\- Level: "simple" (default) or "aes". "qes" is an add-on that is not available yet and saving it returns 400 qes_not_available. While signature_availability.aes is false on the workflow, saving a new "aes" step returns 400 aes_not_available.
\- PDF: up to 20 MB and 100 pages each, no password, scripts or attachments. Up to 20 documents and 50 MB per signer.
\- Word: .docx only (.doc, .docm, .odt and .rtf are refused with unsupported_type), up to 20 MB, converted to PDF while the upload or create-session request runs. Fields refer to the converted pages. Macros, tracked changes, external links and embedded objects are refused with signature_document_not_supported; a file that can't be converted returns signature_document_conversion_failed. Both carry a reason.
\- Fields: key matches ^[a-z][a-z0-9_]{0,63}$ and is unique in its document; role defaults to the step's signer; up to 200 fields per document and 500 per signer. Every role with fields on a document needs a signature or initials field. There is no date picker type: use text.
\- Never show success until status is "signed". That is the check at every level. For an aes signature a null certificate, timestamp or signed_file also means "not signed"; a signed simple signature has a signed_file but a null certificate and timestamp.

See also:
\- /core-technology/electronic-signature/report-electronic-signature
\- /core-technology/electronic-signature/warnings-electronic-signature
\- /management-api/workflows/feature-configs#e-signature`

\</pre>



      
      

Colar em

## Níveis de assinatura| Nível | Requisitos | O que é |
| - | - | - |
| **Simples** | Predefinição. Sem verificação de identidade, e-mail nem telefone | A pessoa assina através da ligação da sessão sem verificação de identidade, e-mail, telefone nem código. Se a sessão já tiver um nome verificado, este é utilizado; caso contrário, a pessoa introduz o seu nome, e a assinatura e o relatório indicam que o nome foi introduzido e não verificado. Qualquer pessoa que tenha a ligação da sessão pode assinar; por isso, escolha Simples para acordos de baixo risco; contratos regulados ou de elevado valor devem utilizar Avançada (AES). O ficheiro assinado é um PDF com uma página de evidências e não tem assinatura digital, selo nem carimbo de data/hora. A Didit guarda o SHA-256 do registo e de cada ficheiro assinado, pelo que qualquer alteração posterior é detetável. |
| **Avançada (AES)**, assinatura eletrónica avançada | Uma verificação de identidade aprovada e um e-mail ou telefone verificado na mesma sessão | Cada documento é assinado em PAdES, o formato de assinatura em PDF, com um perfil de validação a longo prazo (`PAdES-B-LT`): a assinatura inclui um carimbo de data/hora RFC 3161 emitido pela Didit e os dados de revogação necessários para a validar posteriormente. Fica ligada de forma unívoca ao signatário através da sua identidade verificada e do código de utilização única que confirmou, e qualquer alteração ao documento após a assinatura invalida-a. |
| **Qualificada (QES)**, assinatura eletrónica qualificada | Extra, ainda não disponível | Seria assinada com um certificado qualificado emitido para o signatário. A consola apresenta a opção como **Em breve**, e guardar `signature_level: "qes"` através da API devolve `400` com `qes_not_available`. Nunca é substituída silenciosamente por AES. |A opção Avançada (AES) assina apenas em PAdES. Os valores `xades` e `cades` de `signature_format` são recusados para AES com `signature_format_not_supported`. Verifique `signature_availability` no fluxo antes de guardar um passo de AES: enquanto `aes` for `false`, guardar um novo passo devolve `400` com `aes_not_available`.## Como funciona**1. Para o nível Avançado (AES), o fluxo verifica primeiro o signatário**No nível Avançado (AES), o passo de assinatura é executado após os passos que estabelecem quem está a assinar: Verificação de identidade e Verificação de e-mail ou Verificação de telefone para o contacto ao qual o código é enviado. Consulte [Antes de começar](#antes-de-começar). O nível Simples não necessita de nenhum passo anterior.**2. A Didit prepara os documentos**Quando o signatário chega ao passo, a Didit copia os documentos e os respetivos campos para a sessão e regista o SHA-256 de cada documento. Alterações posteriores ao fluxo não podem modificar o que este signatário visualiza.**3. O signatário analisa cada documento**Para um documento com campos, o signatário é orientado de campo em campo. Adota uma assinatura uma vez, que é aplicada a todos os campos de assinatura e rubrica, e preenche também os campos de texto e as caixas de seleção. Os valores que a Didit obtém da identidade verificada, da sessão ou do seu sistema já se encontram na página. Para um documento sem campos, o signatário lê-o e aceita-o.**4. Para o nível Avançado (AES), o signatário confirma com um código**Quando algum documento tiver campos, o signatário aceita primeiro assinar os documentos eletronicamente. No nível Avançado (AES), a Didit envia então um código de seis dígitos para o e-mail ou telefone verificado anteriormente na sessão, e a sua introdução autoriza a assinatura em todos os documentos do passo. No nível Simples não existe qualquer código: a aceitação é o que autoriza a assinatura.**5. A Didit assina e sela**A Didit preenche a data de assinatura, estampa o valor de cada campo em cada PDF e anexa a página de evidências. No nível Avançado (AES), aplica de seguida a assinatura PAdES e o carimbo de data/hora, para que a assinatura cubra tudo o que consta na página. No nível Simples, o ficheiro é um PDF com a página de evidências e sem assinatura digital, selo nem carimbo de data/hora.**6. Recebe os resultados**A decisão e os webhooks da sessão contêm `signatures[]` com o signatário, a confirmação, o certificado, o carimbo de data/hora, os hashes de cada documento e o valor de cada campo. Descarrega os ficheiros PDF assinados e o PDF de evidências, e a Didit pode enviar uma cópia por e-mail ao signatário.## Antes de começarNo nível Avançado (AES), o signatário tem de ser verificado antes de poder assinar. A Didit obtém o seu nome e contacto a partir dos registos verificados da própria sessão, nunca a partir do que você ou o signatário introduzem. O nível Simples não necessita de nada disto: não tem verificação de identidade, e-mail, telefone nem código, e é recusado para signatários de KYB.**Para a Verificação de utilizadores (KYC)**, coloque estes passos antes da Assinatura eletrónica no fluxo:- **Verificação de identidade**, aprovada, com um nome legível. Sem isso, o passo regista `SIGNATURE_IDENTITY_NOT_VERIFIED`.
- **Verificação de e-mail** quando o código é enviado por e-mail (a predefinição) ou **Verificação de telefone** quando é enviado por SMS. O código só é enviado para um contacto verificado na mesma sessão.
- Se o fluxo também tiver **Prova de vida**, esta tem de ser aprovada.Para enviar por e-mail uma cópia dos documentos assinados ao signatário, a sessão também precisa de um e-mail verificado, mesmo quando o código é enviado por SMS.**Para a Verificação de empresas (KYB)**, os signatários são as pessoas-chave da empresa, cada uma com o seu próprio KYC aprovado:| `signature_signer` | Quem assina |
| - | - |
| `legal_representative` | Cada pessoa-chave com a função `representative` ou `authorized_signatory` |
| `key_people` | Cada pessoa-chave que seja uma pessoa singular com uma sessão de KYC |Um passo de KYB tem entre 1 e 20 signatários, e cada um precisa de um KYC aprovado no momento em que assina. Cada um assina a sua própria cópia dos documentos e confirma com um código enviado para o contacto verificado na sua própria sessão de KYC. O nome declarado para a pessoa-chave tem de corresponder ao seu nome verificado, ignorando maiúsculas/minúsculas e espaçamento, caso contrário o passo regista `SIGNATURE_NAME_MISMATCH`. O passo termina assim que todos os signatários tiverem assinado ou recusado.## Documentos### Origem dos documentos`signature_documents_source` define onde um passo obtém os seus documentos:| Valor | Documentos |
| - | - |
| `workflow` (predefinição) | Os documentos que carregou para o fluxo na consola. Todas as sessões assinam os mesmos. |
| `session` | Os documentos que envia em `sign.documents` quando [cria a sessão](https://docs.didit.me/pt/sessions-api/create-session.md#documentos-de-assinatura-eletrónica). Cada sessão assina os seus próprios documentos. |
| `both` | Primeiro os documentos do fluxo e, em seguida, os documentos da sessão. |Os documentos por sessão são a forma de fazer com que uma pessoa assine um contrato com o seu próprio nome, montante ou termos já preenchidos pelo seu sistema.### Ficheiros suportados| | Limite |
| - | - |
| PDF | Até 20 MB e 100 páginas cada. Sem palavra-passe, scripts ou ficheiros anexados. |
| Word (`.docx`) | Até 20 MB. Convertido para PDF quando o carrega ou cria a sessão, e o PDF convertido tem os mesmos limites de um PDF. Ficheiros `.doc`, `.docm`, `.odt` e `.rtf` são recusados com `unsupported_type`. |
| Por signatário | Até 20 documentos e 50 MB no total. |Quando carrega um documento Word, a Didit converte-o para PDF durante o carregamento, em no máximo 60 segundos. As páginas convertidas são o que o signatário vê e assina, pelo que deve verificá-las antes de posicionar os campos: as quebras de linha podem diferir ligeiramente do Word. O ficheiro Word e o respetivo PDF pertencem ao mesmo documento e são eliminados com ele. O PDF de prova regista a conversão e o SHA-256 de ambos os ficheiros.A Didit recusa um ficheiro Word com `signature_document_not_supported` e um `reason` quando o que seria assinado é ambíguo: contém macros (`macros`), alterações registadas não aceites (`tracked_changes`), ligações para conteúdo externo (`external_links`) ou objetos incorporados (`embedded_objects`). Aceite ou rejeite as alterações registadas antes de carregar o ficheiro, para que o PDF mostre o texto acordado.Um ficheiro que não possa ser convertido é recusado com `signature_document_conversion_failed` e um destes motivos:| `reason` | O que correu mal |
| - | - |
| `docx_password_protected` | O ficheiro tem palavra-passe. Remova-a e carregue novamente. |
| `docx_unreadable` | O ficheiro não é um documento Word legível. |
| `docx_too_many_pages` | O PDF convertido tem mais de 100 páginas. |
| `docx_too_large` | O ficheiro é demasiado grande para converter. |
| `conversion_timeout` | A conversão demorou demasiado tempo. Tente novamente ou carregue o documento como PDF. |### Campos no documentoOs campos transformam um documento num modelo que o signatário preenche, da mesma forma que prepararia um envelope numa ferramenta de assinatura para computador. Um documento sem campos mantém o fluxo mais simples: o signatário lê-o e aceita-o.| Tipo | O que o signatário faz | Valor |
| - | - | - |
| `signature` | Toca nele para aplicar a sua assinatura adotada. O primeiro campo de assinatura ou rubrica abre o passo onde a adota. | `true` após aplicação |
| `initials` | Toca nele para aplicar as suas rubricas adotadas. | `true` após aplicação |
| `text` | Introduz um valor, validado em função da [validação](#validação) do campo. Pode ser pré-preenchido. | String |
| `checkbox` | Marca ou desmarca a caixa. Uma caixa de verificação obrigatória deve ser marcada. | Booleano |
| `email` | Nada quando a sessão tem um e-mail verificado, o qual o preenche como só de leitura. Caso contrário, introduz o e-mail. | String |
| `full_name` | Nada: a Didit preenche o nome verificado, apenas de leitura. | String |
| `date_signed` | Nada: a Didit preenche a data em que os documentos são assinados. | String |
| `data` | Nada: a Didit preenche um valor a partir da identidade verificada, da sessão ou do seu sistema, apenas de leitura. Defina a origem em `prefill`. | String |Não existe seletor de data nesta versão. Utilize um campo `text` para uma data introduzida pelo signatário.Um campo tem as seguintes propriedades:| Propriedade | Regras |
| - | - |
| `id` | Definido pela Didit. |
| `key` | Identifica o campo nos resultados e em `sign.field_values`. Letras minúsculas, dígitos e sublinhados, a começar por uma letra, até 64 carateres (`^[a-z][a-z0-9_]{0,63}$`), e único dentro do documento. |
| `type` | Um dos tipos acima. |
| `role` | Quem o preenche, com os valores de `signature_signer`: `verified_person`, `legal_representative` ou `key_people`. Num documento de sessão, assume por predefinição o signatário do passo. |
| `page` | De 1 até ao número de páginas do documento. Para um documento Word, uma página do PDF convertido. |
| `x`, `y`, `width`, `height` | Frações da página conforme é apresentada (de `0` a `1`), medidas a partir do canto superior esquerdo e arredondadas a 4 casas decimais. O campo deve caber dentro da página. Tem pelo menos `0.02` de largura e `0.012` de altura, e uma assinatura pelo menos `0.12` por `0.035`. |
| `required` | `signature` e `initials` são obrigatórios, a menos que defina `false`. `full_name`, `date_signed` e `data` são sempre obrigatórios. |
| `label` | 1 a 80 carateres, apresentado ao signatário e nos resultados. |
| `placeholder` | Apenas `text` e `email`. Até 80 carateres. |
| `position` | A ordem pela qual o signatário é guiado, a começar em `0`. A Didit define-a a partir da posição do campo: por página, depois de cima para baixo e, em seguida, da esquerda para a direita. |
| `validation` | Apenas `text`. Consulte [Validação](#validação). |
| `prefill` | A origem do valor. Consulte [Valores pré-preenchidos](#valores-pré-preenchidos). |
| `editable_when_prefilled` | Apenas `text` e `email`: o signatário pode alterar um valor pré-preenchido. O valor predefinido é `false`. |
| `checked_by_default` | Apenas `checkbox`: a caixa começa marcada. |
| `date_format` | Apenas `date_signed`: `DD/MM/YYYY` (predefinição), `MM/DD/YYYY`, `YYYY-MM-DD` ou `D MMMM YYYY`. |```json theme={null}
{
  "id": "6a2f1c0e-4d8b-4f5e-9a51-0c7b2e9d3f10",
  "key": "occupation",
  "type": "text",
  "role": "verified_person",
  "page": 1,
  "x": 0.34,
  "y": 0.4618,
  "width": 0.57,
  "height": 0.0325,
  "required": true,
  "label": "Occupation",
  "placeholder": "For example, nurse",
  "position": 5,
  "validation": { "kind": "any", "min_length": 0, "max_length": 80, "pattern": null, "message": null },
  "prefill": null,
  "editable_when_prefilled": false,
  "checked_by_default": false,
  "date_format": null
}
```Um documento suporta até 200 campos, e um signatário até 500 no conjunto dos seus documentos.Um passo preenche e carimba apenas os campos do seu próprio signatário. Um documento só pode conter campos para várias funções quando vários passos de Assinatura do fluxo o utilizam: cada passo preenche os campos da sua própria função e deixa os restantes vazios na sua cópia. Um campo para uma função que nenhum passo de Assinatura do fluxo utilize é recusado com `role_not_used`. Todas as funções que tenham campos num documento precisam de pelo menos um campo de `signature` ou `initials` nesse documento, caso contrário a versão do fluxo não pode ser publicada (`signature_field_missing`).#### Validação`validation` aplica-se a campos `text`:```json theme={null}
{ "kind": "any", "min_length": 0, "max_length": 80, "pattern": null, "message": null }
```- `kind`: `any`; `letters` (letras em qualquer sistema de escrita, espaços, hífenes e apóstrofos); `number` (dígitos com um separador decimal opcional); `email`; ou `pattern`.
- `min_length`: de `0` até `max_length`.
- `max_length`: de `1` a `500`. Predefinição `120`.
- `pattern`: obrigatório com `kind: "pattern"`. Uma expressão regular de até 200 carateres com a qual o valor completo deve coincidir. Asserções lookaround e referências retroativas não são suportadas.
- `message`: até 120 carateres, apresentado em vez do erro predefinido.A pré-visualização da consola, o fluxo de assinatura e a API aplicam as mesmas regras.#### Valores pré-preenchidos`prefill` indica a origem do valor de um campo:| `prefill` | Valor |
| - | - |
| `identity.full_name`, `identity.first_name`, `identity.last_name` | O nome tal como consta no documento de identificação verificado do signatário. |
| `identity.date_of_birth` | Do documento de identificação verificado, no formato `DD/MM/YYYY`. |
| `identity.nationality`, `identity.document_number`, `identity.document_type`, `identity.issuing_country` | Do documento de identificação verificado. |
| `identity.address` | A morada formatada do documento de identificação verificado ou de um comprovativo de morada na mesma sessão. |
| `contact.email`, `contact.phone` | O e-mail ou telefone verificado do signatário. |
| `company.name`, `company.registration_number`, `company.address`, `company.country` | A empresa verificada, para KYB. |
| `session.vendor_data` | O `vendor_data` da sessão. |
| `metadata.<key>` | O valor de `<key>` no `metadata` da sessão, como string. |
| `api.<key>` | O valor de `<key>` em `sign.field_values`, enviado quando [cria a sessão](https://docs.didit.me/pt/sessions-api/create-session.md#valores-dos-campos). |Um campo `data` tem de ter um `prefill`. Um campo `full_name` utiliza sempre `identity.full_name` e um campo `email` utiliza `contact.email`, e um campo `text` também pode ter um. Os valores dos campos `data`, `full_name` e `email` verificado ficam fixados quando o signatário inicia a assinatura: alterações posteriores à sessão não os modificam. Um campo `text` ou `email` pré-preenchido é apenas de leitura, a menos que defina `editable_when_prefilled`.Quando a origem de um campo obrigatório não tiver qualquer valor nesse momento, por exemplo numa sessão sem morada, o campo permanece vazio e o signatário pode ainda assinar. Não é gerado nenhum aviso e `value_unavailable_reason` no [relatório](https://docs.didit.me/pt/core-technology/electronic-signature/report-electronic-signature.md) explica o motivo.## Configure-o na consola1) Aceda a **Fluxos**, abra um fluxo e adicione o passo de **Assinatura eletrónica** após os passos que verificam o signatário.
2) Em **Documentos**, selecione **Carregar** para adicionar ficheiros PDF ou Word e arraste-os para a ordem em que o signatário os visualiza. Os ficheiros Word são convertidos para PDF: verifique as páginas convertidas antes de colocar os campos. **Substituir** troca o ficheiro de um documento e mantém os seus campos, exceto os que se encontravam em páginas que o novo ficheiro já não possui.
3) Em **Coloque campos nos documentos**, selecione **Abrir o editor**. Arraste um campo da paleta para a página ou selecione-o e clique no local pretendido, depois mova-o e redimensione-o. Para cada campo, defina **Quem o preenche**, a respetiva etiqueta, se é **Obrigatório**, o que aceita, de onde provém o seu valor e a sua **Chave de API** (a `key` do campo). **Pré-visualizar como signatário** mostra o documento tal como o signatário o vê num telemóvel ou computador. O editor guarda as alterações à medida que trabalha (**Guardado no rascunho**) e lista o que corrigir antes de selecionar **Concluído**.
4) Ainda em **Documentos**, escolha de onde provêm os documentos: **Este fluxo**, **Cada sessão** ou **Ambos**. Para documentos sem campos, escolha se o signatário deve **Ler até ao final antes de assinar** e se deve dar **Um consentimento por documento**.
5) Em **Assinatura**, escolha o **Signatário**, o **Nível** (**Simples**, a predefinição, ou **Avançado (AES)**; **Qualificado (QES)** é apresentado como **Em breve**), o **Formato** e por onde é enviado o código (**Código de utilização única por**).
6) Em **Regras**, defina o efeito de cada [aviso](https://docs.didit.me/pt/core-technology/electronic-signature/warnings-electronic-signature.md) no veredito.
7) Em **Avançado**, escolha se pretende **Enviar a cópia assinada por e-mail** e **Adicionar uma página de evidências**, bem como o número de dias durante os quais a ligação de assinatura permanece válida. Também pode adicionar regras de estado personalizadas.
8) Guarde o fluxo.Para configurar o mesmo passo através da API, consulte [Configurações de funcionalidades do fluxo](https://docs.didit.me/pt/management-api/workflows/feature-configs.md#assinatura-eletrónica). Os documentos do fluxo e os respetivos campos são geridos na consola; através da API, envie documentos e campos por sessão.## A experiência de assinaturaO passo de assinatura é executado na página de verificação alojada, no [Web SDK](https://docs.didit.me/pt/integration/web-sdks/overview.md) e nos [SDKs nativos](https://docs.didit.me/pt/integration/native-sdks/overview.md), no computador e em telemóveis. Não precisa de construir nenhuma interface de utilizador de assinatura.1) **Introdução.** O signatário visualiza os documentos que está prestes a assinar.
2) **Cada documento, por ordem.** Para um documento com campos, o signatário é orientado através dos seus campos pela ordem de `position`. O primeiro campo de assinatura ou rubrica abre um painel onde [adota uma assinatura](#adotar-uma-assinatura). Os campos opcionais estão marcados como **Opcional**. Os valores preenchidos pela Didit são apresentados na página com um cadeado e não constituem passos. Tocar num campo na página salta para ele. Num telemóvel, é apresentado um campo de cada vez num painel que permanece por cima do teclado. Num ecrã com pelo menos 1200 px de largura, a página fica ao lado da lista de campos. Terminar um documento com um campo obrigatório ainda vazio mostra quantos faltam e salta para o primeiro. Um documento sem campos é lido e aceite, conforme configurou.
3) **Revisão.** O signatário visualiza os documentos novamente e, quando algum deles tiver campos, aceita assiná-los eletronicamente.
4) **Código (apenas Avançada (AES)).** O signatário solicita o seu código. É válido por 5 minutos, um novo código pode ser enviado após 60 segundos, e o signatário tem direito a até 5 códigos e 3 tentativas incorretas. Ao esgotar um destes limites, é registado `SIGNATURE_OTP_FAILED`. No nível Simples não há código: o signatário avança diretamente da revisão para a assinatura.
5) **Assinado.** Após a assinatura, o signatário pode descarregar os seus documentos assinados. Se ativou essa opção, a Didit também lhe envia uma cópia por e-mail.
6) **Recusar.** O signatário pode recusar em vez de assinar. Isto regista `SIGNATURE_DECLINED`. Uma recusa pode ser reaberta enquanto a ligação de assinatura for válida, para que o signatário ainda possa assinar se mudar de ideias.O fluxo informa o signatário quando o seu código expirou, um documento foi alterado, a assinatura falhou ou a ligação de assinatura expirou.A ligação de assinatura permanece válida durante `signature_link_validity_days` (1 a 30, predefinição 7), contados a partir do momento em que a sessão foi criada. A sessão permanece aberta pelo menos durante esse período.> [!NOTE]
>
> Os SDKs nativos mostram o passo de assinatura a partir da versão que o adiciona, listada na [visão geral dos SDKs nativos](https://docs.didit.me/pt/integration/native-sdks/overview.md) quando for lançada. Os documentos com campos requerem uma versão que suporte campos: uma versão mais antiga não consegue apresentá-los, e o passo mostra um erro em alternativa. Documentos sem campos funcionam em todas as versões com o passo de assinatura. Até que a sua aplicação utilize uma versão que suporte o que o seu fluxo utiliza, encaminhe os utilizadores para a página alojada ou para o Web SDK.### Adotar uma assinaturaO signatário adota a sua assinatura e rubrica uma única vez, num só painel, na primeira vez que um documento solicitar qualquer uma delas:- **Digitada**: o seu nome verificado num estilo de caligrafia que escolher, marcado como **Do seu documento de identificação**. Não é possível digitar um nome diferente. As rubricas digitadas correspondem às primeiras letras desse nome.
- **Desenhada**: desenhada com o dedo ou com o rato, tanto a assinatura como as rubricas.Cada campo posterior de assinatura ou rubrica é aplicado com um simples toque, e tocar num campo aplicado remove-o novamente.## ResultadosO resultado de cada signatário é um item de `signatures[]` na [decisão da sessão](https://docs.didit.me/pt/sessions-api/retrieve-session.md) e na `decision` dos [webhooks da sessão](https://docs.didit.me/pt/integration/webhooks.md). Não existe um webhook de assinatura separado: o evento `status.updated` da sessão indica quando deve obter a decisão.Recebe o PDF assinado de cada documento, um PDF de prova para cada signatário e o SHA-256 de cada ficheiro original e assinado, para que possa provar mais tarde que nada foi alterado. Para documentos com campos, também obtém o valor de cada campo, a sua origem e quando foi preenchido, além da assinatura adotada e de quando o signatário aceitou assinar eletronicamente. Consulte o [relatório de Assinatura eletrónica](https://docs.didit.me/pt/core-technology/electronic-signature/report-electronic-signature.md) para todos os campos, as transferências e como validar novamente uma assinatura.Na consola, o separador **Signature** da sessão apresenta os documentos e, em seguida, um bloco **Fields** com uma pré-visualização de cada página, a assinatura e rubrica adotadas, e o valor, data/hora e origem de cada campo. O [relatório em PDF](https://docs.didit.me/pt/sessions-api/generate-pdf.md) inclui uma secção de assinatura e uma página **E-signature · fields** quando os documentos contêm campos.## PreçosA Assinatura eletrónica custa \$0.10 por sessão assinada, incluída no seu crédito gratuito, qualquer que seja o número de documentos numa assinatura e quer o nível seja Simples ou Avançada (AES). Uma assinatura que seja recusada, falhe ou expire não é cobrada. Qualificada (QES) é um suplemento que ainda não está disponível e não tem preço.## Eliminar dados de assinaturaQuando [elimina uma sessão](https://docs.didit.me/pt/sessions-api/delete-session.md), os seus dados de assinatura são eliminados juntamente com ela: os documentos enviados com a sessão e os seus ficheiros Word originais, as cópias preparadas para cada signatário, os PDFs assinados, os PDFs de prova, as imagens da assinatura e rubrica adotadas e o valor de cada campo. As respetivas ligações de transferência deixam de funcionar. O mesmo acontece quando uma sessão é eliminada no final do seu período de conservação de dados. A eliminação não pode ser anulada, pelo que deve descarregar primeiro tudo o que precisar de manter.- Os documentos assinados de uma Verificação de empresas (KYB) pertencem à sessão da empresa. Eliminar essa sessão elimina-os.
- Remover um documento de um fluxo elimina-o, juntamente com os seus campos e o seu ficheiro Word original. Um signatário que já tenha iniciado a assinatura mantém a cópia que lhe foi apresentada, como parte da sua sessão, até que elimine essa sessão. Remova documentos apenas de fluxos que não tenham sessões a aguardar assinatura.
- Uma cópia que a Didit já tenha enviado por e-mail ao signatário encontra-se na caixa de correio deste e não é afetada.## Relacionado- [Relatório de Assinatura eletrónica](https://docs.didit.me/pt/core-technology/electronic-signature/report-electronic-signature.md): `signatures[]`, o PDF assinado, o PDF de prova e transferências.
- [Avisos de Assinatura eletrónica](https://docs.didit.me/pt/core-technology/electronic-signature/warnings-electronic-signature.md): todos os avisos e a regra que os controla.
- [Criar sessão](https://docs.didit.me/pt/sessions-api/create-session.md#documentos-de-assinatura-eletrónica): enviar documentos, campos e valores de campos por sessão.
- [Configurações de funcionalidades do fluxo](https://docs.didit.me/pt/management-api/workflows/feature-configs.md#assinatura-eletrónica): todas as definições do passo.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.