Pular para o conteúdo principal

Criar Documento via Modelo

Cria um novo envelope com documento gerado a partir de um modelo (template) pre-configurado. As variaveis do modelo sao preenchidas com os valores fornecidos e os signatarios sao adicionados automaticamente.

Requisicao

POST /v1/models/{modelId}/documents

Headers

HeaderTipoObrigatorioDescricao
AuthorizationstringSimBearer token de autenticacao
Content-TypestringSimapplication/json

Parametros de URL

ParametroTipoObrigatorioDescricao
modelIdstringSimIdentificador unico do modelo

Body (JSON)

CampoTipoObrigatorioDescricao
variablesobjectSimObjeto com as variaveis do modelo e seus valores
signersarraySimLista de signatarios para o envelope

Objeto signers[]

CampoTipoObrigatorioDescricao
namestringSimNome completo do signatario
emailstringSimEmail do signatario
rolestringNaoPapel do signatario (SIGNER, WITNESS, APPROVER). Padrao: SIGNER
phoneNumberstringNaoTelefone com DDD para notificacao via WhatsApp (ex: +5511999998888)

Exemplo de requisicao

curl -X POST \
https://api.tapsign.com.br/v1/models/mod_abc123def456/documents \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"variables": {
"nome_cliente": "Carlos Eduardo Mendes",
"cpf": "123.456.789-00",
"valor": "R$ 5.000,00",
"data_inicio": "01/04/2026",
"data_fim": "01/04/2027",
"endereco": "Rua das Flores, 123 - Sao Paulo/SP",
"descricao_servico": "Consultoria em tecnologia da informacao"
},
"signers": [
{
"name": "Carlos Eduardo Mendes",
"email": "carlos@email.com",
"role": "SIGNER",
"phoneNumber": "+5511999998888"
},
{
"name": "Ana Paula Costa",
"email": "ana@empresa.com.br",
"role": "SIGNER"
},
{
"name": "Roberto Lima",
"email": "roberto@empresa.com.br",
"role": "WITNESS"
}
]
}'

Resposta

201 - Criado com sucesso

{
"id": "env_d4e5f6a7-8b9c-0d1e-2f3a-4b5c6d7e8f9a",
"name": "Contrato de Prestacao de Servicos - Carlos Eduardo Mendes",
"status": "DRAFT",
"document": {
"id": "doc_1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"name": "Contrato de Prestacao de Servicos",
"contentType": "application/pdf",
"fileSize": 189432,
"createdAt": "2026-03-29T14:20:00Z"
},
"signers": [
{
"id": "sgn_aaa111bbb",
"name": "Carlos Eduardo Mendes",
"email": "carlos@email.com",
"role": "SIGNER",
"phoneNumber": "+5511999998888",
"status": "PENDING"
},
{
"id": "sgn_ccc333ddd",
"name": "Ana Paula Costa",
"email": "ana@empresa.com.br",
"role": "SIGNER",
"phoneNumber": null,
"status": "PENDING"
},
{
"id": "sgn_eee555fff",
"name": "Roberto Lima",
"email": "roberto@empresa.com.br",
"role": "WITNESS",
"phoneNumber": null,
"status": "PENDING"
}
],
"createdAt": "2026-03-29T14:20:00Z"
}

Campos da resposta

CampoTipoDescricao
idstringIdentificador unico do envelope
namestringNome do envelope (gerado a partir do modelo)
statusstringStatus do envelope (DRAFT)
document.idstringIdentificador do documento gerado
document.namestringNome do documento
document.contentTypestringTipo MIME do documento
document.fileSizenumberTamanho do arquivo em bytes
document.createdAtstringData de criacao do documento (ISO 8601)
signers[].idstringIdentificador unico do signatario
signers[].namestringNome do signatario
signers[].emailstringEmail do signatario
signers[].rolestringPapel do signatario
signers[].phoneNumberstringTelefone para WhatsApp (pode ser null)
signers[].statusstringStatus da assinatura (PENDING)
createdAtstringData de criacao do envelope (ISO 8601)
Dica

As variaveis do modelo devem corresponder exatamente aos campos definidos no template. Use o endpoint de detalhar modelo para consultar quais variaveis sao necessarias.

400 - Requisicao invalida

{
"error": "BAD_REQUEST",
"message": "Variaveis obrigatorias nao preenchidas: cpf, valor."
}

404 - Modelo nao encontrado

{
"error": "NOT_FOUND",
"message": "Modelo nao encontrado ou nao pertence a sua organizacao."
}
Atencao

Todas as variaveis marcadas como obrigatorias no modelo devem ser preenchidas. Caso contrario, a requisicao sera rejeitada com erro 400.