---
title: "POST Send request with document"
method: POST
path: "/api/requests/documents"
---

# POST Send request with document

`POST /api/requests/documents`

**Solicitações de Assinatura de Documentos**
--------------------------------------------

Este endpoint permite enviar solicitações de assinatura em documentos para múltiplos destinatários (e-mails ou telefones). Todos os signatários assinarão o mesmo documento. Abaixo, explicamos o processo e fornecemos detalhes sobre como configurar campos e dados necessários.

### **Enviar solicitações sem local definido**

Para configurar uma solicitação sem local definido é necessário atribuir os valores `-999` aos campos `xPos` e `yPos`. Veja o exemplo abaixo:

`{ "page": 1, "type": "signature", "width": 200, "height": 75, "xPos": -999, "yPos": -999 }`

#### **Resultado Final**

Quando você solicita uma assinatura sem especificar o local, a assinatura será inserida em uma página extra gerada após o documento. Nessa página, serão exibidos todos os dados do usuário e a assinatura gerada.

![Logo do R](https://content.pstmn.io/2a875214-0a66-445b-a54f-545445de280d/MlNlbSBUw610dWxvLTEucG5n)

**Importante**: Quando se solicita assinaturas de convidados, o sistema não armazena os dados ou a assinatura do signatário. Portanto, será necessária uma página extra para cada signatário. Se houver 4 signatários, o documento terá 4 páginas extras, cada uma com a assinatura de um signatário.

### **Enviar documento com rubrica**

Para adicionar uma rubrica, defina o campo `type` como **rubric** dentro de `fields`. Essa configuração irá adicionar uma posição de assinatura em todas as páginas, conforme as posições definidas. Lembre-se de que cada signatário pode usar a rubrica apenas uma vez.

O tipo `rubric` funciona de maneira semelhante ao **image**, com a diferença de que não é necessário fornecer o campo "page".

### **Enviar documento com texto**

Ao enviar um documento com o tipo **text** dentro de `fields`, é possível utilizar os campos **validateData** e **default**:

*   **default**: Define um valor padrão que será automaticamente preenchido no campo, desde que o **validateData** seja diferente de 1.
*   **validateData**: Não preenche automaticamente o campo com o valor do **default**, mas valida se o usuário inseriu o valor correspondente.

Ambos os campos são opcionais. Se não forem definidos, o comportamento do sistema permanecerá o mesmo.

## Request body

- object
  - `document_key` string, required — A document_key do documento que será enviado, necessário ser um documento, não um template.
  - `width_page` string, required — Largura da página em pixels, este número será utilizado na hora de calcular as posições e campos de solicitação e/ou assinatura.
  - `observer` string[] — Os observadores irão receber comunicados referentes à situação da solicitação. Para isso, inclua uma lista de emails.
  - `chain` boolean — Se a solicitação é em cadeia, ou seja, deve respeitar a ordem dos e-mails para envio ou se será enviada para todos ao mesmo tempo.
  - `sender` string — Identifica o colaborador que aparecerá como remetente deste documento. Pode ser o ID do usuário ou o e-mail dele. Se omitido, o documento será enviado pela conta do admin da empresa.
  - `due_months` integer — A validade do documento em meses, por exemplo, um contrato com 12 meses de validade. Nós iremos monitorar a data e avisaremos antes do vencimento, para que possam refazer a solicitação e reenviar para assinatura.
  - `silent_mode` boolean — Quando ativado (True), o request não gera um e-mail para o cliente. Apenas o URL de assinatura e o e-mail serão retornados.
  - `recipients` object[], required — Destinatários.
    - `send_to` string, required — E-mail/Telefone para o qual será enviado o documento.
    - `message` string — Mensagem enviada para o destinatário.
    - `subject` string — Definir o assunto do e-mail enviado ao destinatário.
    - `fullname` string — Preenche automaticamente o campo de nome completo do signatário.
    - `cpf` string — Preenche automaticamente o CPF. (Somente Numeros)
    - `birthdate` string — Preenche automaticamente a data de nascimento (formato esperado: DD/MM/AAAA).
    - `doubleauth` boolean — Este campo especifica se será realizada uma autenticação adicional para confirmar a assinatura. Quando ativado, o sistema enviará um token de validação para o e-mail e/ou WhatsApp do usuário. O usuário deverá inserir o token recebido para concluir a assinatura. Este campo é válido apenas quando o valor de 'chain' for 0 (false) e se aplica a todos os assinantes da requisição.
    - `allow_selfie` boolean — Solicitar selfie.
    - `allow_document` boolean — Solicitar frente do documento.
    - `allow_document_back` boolean — Solicitar parte de trás do documento.
    - `allow_cpf` boolean — Controla se o CPF deve ser solicitado ao assinante durante o processo de assinatura. Quando true, o sistema exige que o usuário informe o CPF antes de concluir a assinatura.
    - `allow_birth_date` boolean — Define se a data de nascimento será solicitada no momento da assinatura. Com true, a data de nascimento se torna obrigatória para finalizar a assinatura.
    - `signature_type` string — Define o tipo de papel que o assinante terá no processo de assinatura. Ex: Cliente, Testemunha, Advogado, Responsável técnico.
    - `reminder` string — E-mail ou celular para envio de lembrete. Deve ser uma string contendo apenas um e-mail ou número de celular. Quando chain é true, apenas o reminder do primeiro recipient é enviado imediatamente. Os demais recipients em cadeia não possuem suporte a reminder. Para garantir o envio de reminder a todos os recipients, utilize chain como false.
    - `send_finished` boolean — Opção para indicar se o usuário deve receber o documento após todas as assinaturas serem concluídas.
    - `expire_date` string, date — Data de expiração para este destinatário. Deve ser uma data válida no formato Y-m-d e posterior à data atual.
    - `signature_mode` 'all' | 'draw' | 'text' | 'upload' — Tipo da assinatura.
    - `certificate` 0 | 1 | 2 — <p>Exigir assinatura com certificado digital.</p> <ul> <li><code>0</code> — Não exige certificado</li> <li><code>1</code> — Exige certificado <strong>A1</strong> (upload do arquivo na hora da assinatura)</li> <li><code>2</code> — Exige certificado <strong>A1 ou A3</strong> (instalado na máquina do usuário)</li> </ul> <strong>Atenção:</strong> Se qualquer destinatário utilizar <code>certificate: 2</code>, todos os demais destinatários também devem utilizar <code>certificate: 2</code>.
    - `fields` object[] — Campos de assinaturas.
      - `type` string, required — Tipo do campo (text, signature, rubric).
      - `page` integer, required — Página na qual a assinatura será inserida.
      - `width` number, float, required — Largura do campo de assinatura.
      - `height` number, float, required — Altura do campo de assinatura.
      - `xPos` number, float, required — Posição no eixo X no documento onde a assinatura será inserida.
      - `yPos` number, float, required — Posição no eixo Y no documento onde a assinatura será inserida.
      - `align` string — Alinhamento da assinatura (right, center, left).
      - `bold` string — Texto em negrito (bold).
      - `italic` string — Texto em itálico (italic).
      - `underline` string — Texto sublinhado (underline).
      - `strikethrough` string — Linha no meio do texto (strikethrough).
      - `text` string — Texto do campo.
      - `default` string — Valor default do campo para fields do type text
      - `color` string — Cor do texto.
      - `fontsize` string — Tamanho da fonte.
      - `validateData` boolean — Campo já aparece preenchido com o valor default no momento da assinatura.

## Response `200`

200

- object
  - `data` object — Objeto principal contendo os dados da solicitação de assinatura criada.
    - `id` integer — Identificador único da solicitação de assinatura.
    - `signing_key` string — Chave única de assinatura utilizada para autenticar e identificar a requisição.
    - `document` string — Identificador do documento a ser assinado.
    - `email` string — E-mail do signatário que receberá a solicitação de assinatura.
    - `message` string — Mensagem personalizada enviada ao signatário junto com a solicitação.
    - `positions` string[] — Array contendo as posições do campo de assinatura no documento.
    - `chain_positions` string — Posições encadeadas de assinatura para fluxos sequenciais.
    - `chain_emails` string — E-mails dos signatários em cadeia (fluxo sequencial).
    - `signature_type` string — Tipo de assinatura exigida.
    - `image_selfie` boolean — Indica se a selfie do signatário é requerida para validação de identidade.
    - `image_doc_front` boolean — Indica se a frente do documento do signatário é requerida para validação de identidade.
    - `image_doc_back` boolean — Indica se o verso do documento do signatário é requerida para validação de identidade.
    - `doubleauth` string — Configuração de autenticação em dois fatores.
    - `sender` object — Remetente da solicitação.
      - `id` integer — Identificador único do remetente da solicitação.
      - `name` string — Primeiro nome do remetente.
      - `last_name` string — Sobrenome do remetente.
      - `email` string — E-mail do remetente.
      - `phone` string — Telefone do remetente.
      - `cpf` string — CPF do remetente.
      - `birth` string — Data de nascimento do remetente.
      - `permissions` string[] — Lista de permissões do remetente na plataforma.
      - `recive_email` integer — Indica se o remetente recebe notificações por e-mail. 1 = sim, 0 = não.
      - `recive_whatsapp` integer — Indica se o remetente recebe notificações por WhatsApp. 1 = sim, 0 = não.
      - `role` string — Papel/função do remetente na plataforma.
      - `status` string — Status da conta do remetente.
      - `certificate` object — Certificado do remetente.
        - `certificate_name` string — Nome associado ao certificado digital do remetente.
        - `issuer` string — Entidade emissora do certificado.
        - `model` string — Modelo/tipo do certificado.
        - `validity` string — Data e hora de validade do certificado digital.
    - `expire_date` string — Data de expiração da solicitação.
    - `send_time` string — Data e hora em que a solicitação foi enviada.
    - `update_time` string — Data e hora da última atualização da solicitação.
    - `due_months` integer — Número de meses de validade da solicitação.
    - `creted_at` string — Data e hora de criação da solicitação.
    - `status` string — Status atual da solicitação.
    - `observer` string[] — E-mail(s) de um observador da solicitação.
  - `message` string — Mensagem de confirmação retornada pela API após o envio da solicitação.

---

[API](https://skmtc.net/plugsign/apis/endpoints-manuais.md) · [All operations](https://skmtc.net/plugsign/apis/endpoints-manuais/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/plugsign/endpoints-manuais/revisions/41e10c7c691b/schema)
