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
| Header | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
| Authorization | string | Sim | Bearer token de autenticacao |
| Content-Type | string | Sim | application/json |
Parametros de URL
| Parametro | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
modelId | string | Sim | Identificador unico do modelo |
Body (JSON)
| Campo | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
variables | object | Sim | Objeto com as variaveis do modelo e seus valores |
signers | array | Sim | Lista de signatarios para o envelope |
Objeto signers[]
| Campo | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
name | string | Sim | Nome completo do signatario |
email | string | Sim | Email do signatario |
role | string | Nao | Papel do signatario (SIGNER, WITNESS, APPROVER). Padrao: SIGNER |
phoneNumber | string | Nao | Telefone 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
| Campo | Tipo | Descricao |
|---|---|---|
id | string | Identificador unico do envelope |
name | string | Nome do envelope (gerado a partir do modelo) |
status | string | Status do envelope (DRAFT) |
document.id | string | Identificador do documento gerado |
document.name | string | Nome do documento |
document.contentType | string | Tipo MIME do documento |
document.fileSize | number | Tamanho do arquivo em bytes |
document.createdAt | string | Data de criacao do documento (ISO 8601) |
signers[].id | string | Identificador unico do signatario |
signers[].name | string | Nome do signatario |
signers[].email | string | Email do signatario |
signers[].role | string | Papel do signatario |
signers[].phoneNumber | string | Telefone para WhatsApp (pode ser null) |
signers[].status | string | Status da assinatura (PENDING) |
createdAt | string | Data 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.