Enviar para Assinatura
Envia um envelope em rascunho para todos os signatários. Cada signatário com e-mail recebe o link de assinatura por e-mail, e quem tem telefone cadastrado também recebe pelo WhatsApp.
Requisição
POST /v1/envelopes/{id}/send
Headers
| Header | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| Authorization | string | Sim | Bearer {token} |
Parâmetros de URL
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
id | number | Sim | Identificador do envelope |
Body
Nenhum body necessário.
Pré-condições
- O envelope precisa estar com status
DRAFT. - O envelope precisa ter pelo menos um signatário (Adicionar Signatário).
- Se o plano tiver limite mensal de assinaturas, o que resta do mês precisa cobrir todos os signatários do envelope.
Exemplo de requisição
curl -X POST \
https://api.tapsign.com.br/v1/envelopes/512/send \
-H "Authorization: Bearer {token}"
Resposta
200 - Sucesso
{
"id": 512,
"ownerId": 57,
"documentId": 1024,
"organizationId": null,
"title": "Contrato de Prestação de Serviços",
"message": "Por favor, revise e assine.",
"status": "SENT",
"expiresAt": "2026-10-12T14:35:00Z",
"signOrder": "PARALLEL",
"createdAt": "2026-09-12T14:31:00Z",
"updatedAt": "2026-09-12T14:35:00Z",
"sentAt": "2026-09-12T14:35:00Z",
"completedAt": null,
"createdByEmail": "[email protected]",
"folderId": null
}
A resposta tem os mesmos campos da resposta de criar envelope, agora com status igual a SENT e sentAt preenchido. Para ver o status de cada signatário, use Detalhar Documento.
O que acontece no envio
- Se o envelope não tem
expiresAt, o prazo passa a ser 30 dias depois do envio. - O envelope muda para
SENTe o documento paraPENDING_SIGNATURES. - Cada signatário que ainda não assinou nem recusou é notificado com o link
https://tapsign.com.br/signing/{accessToken}:- por e-mail, se tiver e-mail;
- pelo WhatsApp, se tiver telefone.
- O status desses signatários muda para
NOTIFIED. - O evento
SENTentra no histórico de atividades.
Se o envelope veio de um modelo configurado para o dono também assinar, o dono é incluído como signatário no envio.
No envio, todos os signatários são notificados ao mesmo tempo, qualquer que seja o signOrder do envelope.
Depois de expiresAt, quem ainda não assinou nem recusou não consegue mais abrir o documento, e uma rotina que roda de hora em hora muda o envelope para EXPIRED e dispara o webhook doc_expired.
Para saber quando cada signatário assinou, configure webhooks em vez de consultar o envelope repetidamente.
Erros
| Código | Quando acontece |
|---|---|
400 | Envelope fora de DRAFT (já enviado, cancelado etc.), envelope sem signatários, ou cota de assinaturas do mês insuficiente |
401 | Token ausente ou inválido |
404 | O envelope não existe ou não é da sua conta |
Exemplo de erro 400 (com Accept-Language: pt-BR):
{
"title": "Violação de regra de negócio!",
"status": 400,
"details": "Envelope deve ter pelo menos um signatário para ser enviado.",
"timestamp": "2026-09-12T14:35:00Z",
"fields": {}
}
Envelope já enviado:
{
"title": "Violação de regra de negócio!",
"status": 400,
"details": "Envelope só pode ser enviado a partir de DRAFT. Status atual: SENT",
"timestamp": "2026-09-12T14:36:00Z",
"fields": {}
}
Depois do envio, o envelope sai de DRAFT. Campos do envelope só podem ser alterados em rascunho, e não há como voltar um envelope enviado para rascunho.
O telefone do signatário é cadastrado no formato internacional, por exemplo +5511999998888. Signatário sem telefone recebe apenas o e-mail.