POST Send request with document

Changed on

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

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.

Regras do envio:

  • Cada destinatário precisa de fields com pelo menos um campo, exceto quando signatureTag é informado (a posição da assinatura é obtida pelas tags do PDF).
  • Tipos de campo: signature, rubric, text e os campos de escolha checkbox, radio e list. Para text, os campos text, color e fontsize são obrigatórios; para os campos de escolha, text (rótulo) e options são obrigatórios e default/validateData não são permitidos. Para rubric, use page: 0 para repetir em todas as páginas.
  • certificate e certificate_timestamp podem ser enviados no nível raiz (valem para todos) ou por destinatário. O carimbo de tempo só é aceito com certificado 2 ou 3, destinatários com certificado 0/1 precisam vir antes dos 2/3 na cadeia, e há limites mensais de assinaturas com certificado e de carimbos por empresa (422 ao exceder).
  • recipients[].doubleauth_cpf define o CPF que o signatário deve confirmar para acessar o documento; exige doubleauth: true.
  • recipients[].reminder dispara imediatamente um lembrete (e-mail ou WhatsApp) e só vale para o primeiro signatário da cadeia.
  • due_months é aceito, mas não é gravado neste formato (a resposta traz 0).
  • Um sender com id inexistente é ignorado e o usuário do token passa a ser o remetente.

Formatos da resposta: envio normal: data + message + deliveries; com silent_mode: data + message + silent_mode (lista de URLs de assinatura); com chain: false e mais de um destinatário, data é uma lista com uma solicitação por destinatário.

post/api/requests/documents

Request

  • Base URL
    https://app.plugsign.com.br
  • URL
    https://app.plugsign.com.br/api/requests/documents
  • Auth
    API key in header Authorization

Request body

document_keystring required

A document_key do documento que será enviado, necessário ser um documento, não um template.

width_pagenumber

Largura da página em pixels, usada para calcular as posições dos campos. Recomendado sempre que fields for informado.

observerstring[]

Os observadores irão receber comunicados referentes à situação da solicitação. Para isso, inclua uma lista de emails.

chainboolean

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.

senderstring

Colaborador que aparecerá como remetente: id do usuário ou e-mail. Id inexistente é ignorado (o usuário do token vira o remetente); e-mail inexistente responde 404.

due_monthsinteger

Validade do documento em meses. Aceito, mas não é gravado neste formato (a solicitação fica com 0).

silent_modeboolean

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.

signatureTagstring

Tag (ou lista de tags) presente no PDF onde a assinatura deve ser posicionada. Quando informado, recipients[].fields passa a ser opcional.

messagestring

Mensagem padrão do e-mail para os destinatários que não informarem a própria mensagem.

subjectstring

Assunto padrão do e-mail para os destinatários que não informarem o próprio assunto.

certificate0 | 1 | 2 | 3

Certificado digital padrão para todos os destinatários (mesmos valores de recipients[].certificate).

certificate_timestampboolean

Carimbo de tempo padrão para todos os destinatários; só com certificado 2 ou 3.

Response

200

messagestring

"Sua solicitação foi enviada com sucesso!" no envio normal ou "Sua solicitação foi criada com sucesso!" com silent_mode.

Example response

{
  "data": {
    "id": 1601469,
    "signing_key": "5BKLud7blQX2m3NFzhSBgca0S8KD7stu",
    "document": "LuJrWJ01duSEWxHsZoaZ1aU3rHf7QYOg",
    "email": "signatario@exemplo.com",
    "message": "Por favor, assine o contrato.",
    "signature_type": "Testemunha",
    "expire_date": "31/12/2026 23:59:59",
    "send_time": "13/10/2026 14:45:43",
    "update_time": "13/10/2026 14:45:43",
    "creted_at": "13/10/2026 14:45:43",
    "status": "Pending",
    "doubleauth": "1"
  },
  "message": "Sua solicitação foi enviada com sucesso!"
}

Changes

    • breaking

      request property //// was restricted to a list of enum values

    • breaking

      request property //// was restricted to a list of enum values

    • breaking

      the request property type changed from string to number

    • breaking

      the / response's property type changed from boolean to integer for status

    • breaking

      the / response's property type changed from boolean to integer for status

    • breaking

      the / response's property type changed from boolean to integer for status

    • warning

      the // request property's maxLength was set to 255

    • warning

      the // request property's maxLength was set to 500

    • warning

      the // request property's maxLength was set to 255

    • warning

      removed the request property ////

    • warning

      removed the request property ////

    • warning

      removed the request property ////

    • warning

      removed the request property ////

    • warning

      removed the optional property / from the response with the status

    • warning

      removed the optional property / from the response with the status

    • warning

      removed the optional property / from the response with the status

    • warning

      added the new Cancelled enum value to the / response property for the response status

    • warning

      added the new Declined enum value to the / response property for the response status

    • warning

      added the new Pending enum value to the / response property for the response status

    • warning

      added the new Signed enum value to the / response property for the response status

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property //

    • info

      added the new optional request property //

    • info

      added the new optional request property ////

    • info

      added the new optional request property //

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      the request property became optional

    • info

      the request property default value true was added

    • info

      the request property default value all was added

    • info

      added the new 3.00 enum value to the request property //

    • info

      added the new center enum value to the request property ////

    • info

      added the new checkbox enum value to the request property ////

    • info

      added the new left enum value to the request property ////

    • info

      added the new list enum value to the request property ////

    • info

      added the new radio enum value to the request property ////

    • info

      added the new right enum value to the request property ////

    • info

      added the new rubric enum value to the request property ////

    • info

      added the new signature enum value to the request property ////

    • info

      added the new text enum value to the request property ////

    • info

      added the non-success response with the status

    • info

      added the non-success response with the status

    • info

      added the non-success response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      the response's property default value 0 was removed for the status

    • info

      the response's property default value 0 was removed for the status

    • info

      the response's property default value 0 was removed for the status

    • info

      the response's property default value 0 was removed for the status

    • info

      the response's property default value 0 was removed for the status