/v2/envelopes/
POST
bearerAuth
)POST /v2/envelopes/
com os metadados dos documentos, signatários e campos de assinatura.envelopeId
e os uploadUrls
para envio dos arquivos binários.uploadUrls
retornados.Nome | Tipo | Obrigatório | Descrição |
---|---|---|---|
x-account-id | string | ✅ | ID da conta que está criando o envelope. |
Authorization | string | ✅ | Token Bearer JWT. Exemplo: Bearer <token> . |
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)"
}
}
]
}
deadline
documents
(mínimo 1)signatories
(mínimo 1)Campo | Tipo | Obrigatório | Descrição |
---|---|---|---|
id | string | ✅ | Identificador único temporário do documento utilizado para identificar o documento quando houver fields . |
fileName | string | ✅ | Nome do arquivo (ex: contrato.pdf ). |
contentType | string | ✅ | Tipo MIME do documento (application/pdf ). |
Campo | Tipo | Obrigatório | Descrição |
---|---|---|---|
id | string | ✅ | Identificador único temporário do signatário utilizado para identificar o signatário quando houver fields . |
name | string | ✅ | Nome completo do signatário. |
email | string | ✅ | Endereço de e-mail válido. |
qualification | string | ✅ | Qualificação (ex: “Representante Legal”). |
authMethod | string | ✅ | Método de autenticação (EMAIL , SMS ou WHATSAPP ). |
phoneNumber | string | ❌ | Necessário se o método for SMS ou WHATSAPP . |
signingOrder | number | ❌ | Ordem de assinatura (usado se o fluxo for sequencial). |
Campo | Tipo | Obrigatório | Descrição |
---|---|---|---|
email | string | ✅ | Endereço de e-mail do observador. |
notifyOnSent | boolean | ❌ | Notifica quando o envelope é enviado (padrão: false ). |
notifyOnCompletion | boolean | ❌ | Notifica quando o envelope é concluído (padrão: true ). |
Campo | Tipo | Obrigatório | Descrição |
---|---|---|---|
type | string | ✅ | Tipo de campo (SIGNATURE , INITIALS ou TEXT ). |
documentId | string | ✅ | ID do documento onde o campo será inserido. |
signatoryId | string | ✅ | ID do signatário vinculado ao campo. |
pageNumber | integer | ✅ | Número da página (≥ 1). |
position | object | ✅ | Define as coordenadas e dimensões do campo no documento. |
properties | object | ❌ | Campos adicionais, como label (usado apenas em campos TEXT ). |
{
"type": "SIGNATURE",
"documentId": "doc-123",
"signatoryId": "sig-456",
"pageNumber": 1,
"position": { "x": 100, "y": 600, "width": 180, "height": 50 }
}
{
"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" }
}
{
"envelopeId": "env_12345",
"uploadDetails": [
{
"documentId": "doc_abc",
"fileName": "contrato.pdf",
"uploadUrl": "https://storage-provider/upload/doc_abc"
}
]
}
{
"error": {
"code": "INVALID_FIELD_LINKING",
"message": "Invalid field linking"
}
}
{
"error": {
"code": "INVALID_FIELD_TYPE",
"message": "Invalid field type"
}
}
{
"error": {
"code": "ENVELOPES_QUOTA_EXCEEDED",
"message": "Envelopes limit reached for this account"
}
}
{
"error": {
"code": "RESOURCE_NOT_FOUND",
"message": "Subscription not found"
}
}
Authorization: Bearer <seu_token_jwt>
uploadUrls
retornados devem ser usados para enviar os arquivos binários correspondentes aos documentos informados.uploadDetails
.x-goog-meta-documentid
com o ID do documento correspondente no array uploadDetails
ao enviar o arquivo binário com a url assinada.SMS
ou WHATSAPP
, o campo phoneNumber
do signatário torna-se obrigatório.TEXT
permitem adicionar rótulos (label
) para exibição no documento.{
"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
}
}
]
}