SuperSign API
    SuperSign API
    • Criar Envelope
    • Webhooks
    • Reference
      • Envelopes
        • Create envelope
          POST
        • Void envelope
          POST
        • Edit envelope title
          PATCH
        • Edit envelope deadline
          PATCH
        • Move envelope to folder
          PATCH
        • List envelopes
          GET
        • Get envelope details
          GET
      • Signatários
        • Send signature request reminder
          POST
        • Edit signatory
          PATCH
      • Documentos
        • Get document download url
          GET
      • Pastas
        • Create folder
          POST
      • Webhooks
        • Create webhook endpoint
          POST
        • List webhook endpoints
          GET
        • Delete webhook endpoint
          DELETE
        • Edit webhook endpoint
          PATCH

    Criar Envelope

    URL: /v2/envelopes/
    Método: POST
    Autenticação: Bearer JWT (bearerAuth)

    Descrição#

    Este endpoint permite criar um envelope de assinatura, que representa um conjunto de documentos e signatários dentro de um fluxo de assinatura eletrônica.
    O envelope é a estrutura principal para gerenciar o processo de assinatura, incluindo:
    Documentos que serão assinados;
    Signatários e métodos de autenticação (e-mail, SMS ou WhatsApp);
    Ordem de assinatura, se necessária;
    Observadores, que acompanham o andamento do processo;
    Campos de assinatura, rubrica e texto mapeados nos documentos.

    Fluxo de utilização#

    1.
    Envie uma requisição POST /v2/envelopes/ com os metadados dos documentos, signatários e campos de assinatura.
    2.
    Receba como resposta o envelopeId e os uploadUrls para envio dos arquivos binários.
    3.
    Faça o upload dos arquivos de documento usando os uploadUrls retornados.
    4.
    Após o upload, o envelope estará pronto para o fluxo de assinatura.

    Cabeçalhos#

    NomeTipoObrigatórioDescrição
    x-account-idstring✅ID da conta que está criando o envelope.
    Authorizationstring✅Token Bearer JWT. Exemplo: Bearer <token>.

    Corpo da Requisição (application/json)#

    {
      "title": "string",  
      "folderId": "string",
      "deadline": "2025-12-31T23:59:59Z",
      "message": "string (máx. 500 caracteres)",
      "documents": [
        {
          "id": "string",
          "fileName": "string",
          "contentType": "application/pdf"
        }
      ],
      "signatories": [
        {
          "id": "string",
          "name": "string",
          "email": "user@example.com",
          "qualification": "string",
          "authMethod": "EMAIL|SMS|WHATSAPP",
          "phoneNumber": "string (opcional)",
          "signingOrder": 1
        }
      ],
      "observers": [
        {
          "email": "observer@example.com",
          "notifyOnSent": false,
          "notifyOnCompletion": true
        }
      ],
      "fields": [
        {
          "type": "SIGNATURE|INITIALS|TEXT",
          "documentId": "string",
          "signatoryId": "string",
          "pageNumber": 1,
          "position": {
            "x": 100,
            "y": 200,
            "width": 150,
            "height": 50
          },
          "properties": {
            "label": "Texto opcional (para campos TEXT)"
          }
        }
      ]
    }

    Campos obrigatórios#

    documents (mínimo 1)
    signatories (mínimo 1)

    Estrutura dos campos#

    🗂️ documents#

    CampoTipoObrigatórioDescrição
    idstring✅Identificador único temporário do documento utilizado para identificar o documento quando houver fields.
    fileNamestring✅Nome do arquivo (ex: contrato.pdf).
    contentTypestring✅Tipo MIME do documento (application/pdf).

    ✍️ signatories#

    CampoTipoObrigatórioDescrição
    idstring✅Identificador único temporário do signatário utilizado para identificar o signatário quando houver fields.
    namestring✅Nome completo do signatário.
    emailstring✅Endereço de e-mail válido.
    qualificationstring✅Qualificação (ex: “Representante Legal”).
    authMethodstring✅Método de autenticação (EMAIL, SMS ou WHATSAPP).
    phoneNumberstring❌Necessário se o método for SMS ou WHATSAPP no formato E.164 (+55119XXXXYYYY).
    signingOrdernumber❌Ordem de assinatura (usado se o fluxo for sequencial).

    📅 deadline (opcional)#

    CampoTipoObrigatórioDescrição
    deadlinestring (datetime)❌Data limite para assinaturas.

    👀 observers (opcional)#

    CampoTipoObrigatórioDescrição
    emailstring✅Endereço de e-mail do observador.
    notifyOnSentboolean❌Notifica quando o envelope é enviado (padrão: false).
    notifyOnCompletionboolean❌Notifica quando o envelope é concluído (padrão: true).

    🧾 fields (opcional)#

    Define os campos que serão renderizados nos documentos (assinatura, rubrica ou texto).
    CampoTipoObrigatórioDescrição
    typestring✅Tipo de campo (SIGNATURE, INITIALS ou TEXT).
    documentIdstring✅ID do documento onde o campo será inserido.
    signatoryIdstring✅ID do signatário vinculado ao campo.
    pageNumberinteger✅Número da página (≥ 1).
    positionobject✅Define as coordenadas e dimensões do campo no documento.
    propertiesobject❌Campos adicionais, como label (usado apenas em campos TEXT).
    Exemplo de campo de assinatura:
    {
      "type": "SIGNATURE",
      "documentId": "doc-123",
      "signatoryId": "sig-456",
      "pageNumber": 1,
      "position": { "x": 100, "y": 600, "width": 180, "height": 50 }
    }
    Exemplo de campo de texto:
    {
      "type": "TEXT",
      "documentId": "doc-123",
      "signatoryId": "sig-456",
      "pageNumber": 1,
      "position": { "x": 200, "y": 400, "width": 300, "height": 30 },
      "properties": { "label": "CPF do signatário" }
    }

    Respostas#

    ✅ 201 Created#

    Envelope criado com sucesso.
    Retorna o ID do envelope e as URLs para upload dos documentos.
    {
      "envelopeId": "env_12345",
      "uploadDetails": [
        {
          "documentId": "doc_abc",
          "fileName": "contrato.pdf",
          "uploadUrl": "https://storage-provider/upload/doc_abc"
        }
      ]
    }

    ⚠️ 400 Bad Request#

    Erros de validação ou inconsistência nos dados enviados.
    Exemplos:
    {
      "error": {
        "code": "INVALID_FIELD_LINKING",
        "message": "Invalid field linking"
      }
    }
    {
      "error": {
        "code": "INVALID_FIELD_TYPE",
        "message": "Invalid field type"
      }
    }

    🚫 403 Forbidden#

    A conta não possui permissão ou atingiu o limite de envelopes.
    Exemplo:
    {
      "error": {
        "code": "ENVELOPES_QUOTA_EXCEEDED",
        "message": "Envelopes limit reached for this account"
      }
    }

    ❌ 404 Not Found#

    Recursos relacionados não foram encontrados (ex: conta, assinatura ou pasta inexistente).
    Exemplo:
    {
      "error": {
        "code": "RESOURCE_NOT_FOUND",
        "message": "Subscription not found"
      }
    }

    Segurança#

    Este endpoint requer autenticação com token JWT:
    Authorization: Bearer <seu_token_jwt>

    Observações Importantes#

    Se deadline não for definido, por padrão a data limite para assinaturas será de 7 dias a partir da data de criação do envelope.
    Os uploadUrls retornados devem ser usados para enviar os arquivos binários correspondentes aos documentos informados.
    Cada documento listado na requisição deve ter um campo correspondente no array uploadDetails.
    É necessário enviar o header x-goog-meta-documentid com o ID do documento correspondente no array uploadDetails ao enviar o arquivo binário com a url assinada.
    Se o método de autenticação for SMS ou WHATSAPP, o campo phoneNumber do signatário torna-se obrigatório.
    Campos do tipo TEXT permitem adicionar rótulos (label) para exibição no documento.
    É possível incluir múltiplos observadores para monitorar o andamento do envelope.

    Exemplo Completo de Requisição#

    {
      "title": "Contrato X",
      "folderId": "fld_123",
      "deadline": "2025-12-31T23:59:59Z",
      "message": "Por favor, revise e assine o contrato.",
      "documents": [
        {
          "id": "doc_001",
          "fileName": "contrato.pdf",
          "contentType": "application/pdf"
        }
      ],
      "signatories": [
        {
          "id": "sig_001",
          "name": "Maria Oliveira",
          "email": "maria@exemplo.com",
          "qualification": "Representante Legal",
          "authMethod": "EMAIL",
          "signingOrder": 1
        }
      ],
      "observers": [
        {
          "email": "juridico@empresa.com",
          "notifyOnSent": true,
          "notifyOnCompletion": true
        }
      ],
      "fields": [
        {
          "type": "SIGNATURE",
          "documentId": "doc_001",
          "signatoryId": "sig_001",
          "pageNumber": 1,
          "position": {
            "x": 100,
            "y": 600,
            "width": 150,
            "height": 50
          }
        }
      ]
    }
    Modificado em 2025-12-01 11:52:37
    Próxima página
    Webhooks
    Built with