A API Assertiva Assinaturas permite criar, acompanhar e gerenciar processos de assinatura eletrônica de documentos. Por meio da API, é possível:
Enviar documentos para assinatura;
Cadastrar signatários;
Definir a ordem de assinatura;
Enviar links por e-mail ou SMS;
Consultar o status de envelopes;
Reenviar links de assinatura;
Cancelar envelopes;
Baixar documentos assinados;
Consultar e editar signatários;
Gerar relatórios de solicitações.
A integração deve ser realizada por uma equipe técnica. A documentação completa está disponível na https://integracao.assertivasolucoes.com.br/v3/portal
1. URL base
As requisições da API Assinaturas devem utilizar a seguinte URL base:
https://api.assertivasolucoes.com.br/autentica-assinaturas
Os endpoints são disponibilizados sob o caminho /v1.
Exemplo:
https://api.assertivasolucoes.com.br/autentica-assinaturas/v1/envelopes
2. Autenticação
Todos os endpoints da API Assinaturas exigem autenticação por meio de um token enviado no cabeçalho Authorization.
O token deve ser enviado no seguinte formato:
Authorization: Bearer SEU_TOKEN_DE_ACESSO
2.1 Obtenção do token
O token é gerado utilizando as credenciais da API:
Client ID
Secret
A geração deve utilizar o fluxo OAuth 2.0 client_credentials.
O procedimento detalhado está disponível no artigo Como gerar credenciais e token de acesso para as APIs da Assertiva.
2.2 Cabeçalhos recomendados
Para requisições JSON:
Cabeçalho | Valor |
|
|
|
|
|
|
O token deve ser armazenado de forma segura. Nunca o exponha no código do front-end, em repositórios públicos ou em logs.
3. Fluxo de uma assinatura
O processo de assinatura normalmente segue estas etapas:
Solicitar um link temporário para upload do documento.
Fazer o upload do arquivo PDF utilizando o link recebido.
Criar um envelope com o documento e os signatários.
Enviar o link de assinatura aos signatários.
Consultar o status do envelope.
Aguardar a finalização das assinaturas.
Obter os links temporários dos documentos assinados.
Fazer o download dos documentos e, se necessário, do documento de auditoria.
4. Upload de documentos
Antes de criar o envelope, é necessário obter um link temporário para enviar o arquivo PDF.
4.1 Obter link temporário para upload
Método: GET
Endpoint:
/v1/documentos/obter-link-upload-temporario
URL completa:
https://api.assertivasolucoes.com.br/autentica-assinaturas/v1/documentos/obter-link-upload-temporario
Parâmetro
Parâmetro | Obrigatório | Descrição |
| Não | Quantidade de links temporários desejada. Caso não seja informado, será gerado um link. |
Exemplo
GET /v1/documentos/obter-link-upload-temporario?quantidadeLinks=1
Resposta esperada
A API retorna uma lista de links temporários. Cada link possui:
url: URL utilizada para upload;chave: identificador do arquivo que será utilizado posteriormente na criação do envelope.
Exemplo:
{ "status": 200, "success": true, "data": { "links": [ { "url": "https://url-temporaria-de-upload", "chave": "00000000-0000-0000-0000-000000000000" } ] } }
4.2 Enviar o PDF
Após obter a URL temporária, faça o upload do arquivo utilizando:
Método:
PUTContent-Type:
application/application-pdf
O arquivo deve ser enviado diretamente para a URL retornada pela API.
A URL de upload é temporária. Realize o envio imediatamente após sua obtenção.
A chave retornada deverá ser informada no campo chave ao criar o envelope.
5. Criar um envelope
Um envelope representa uma solicitação de assinatura. Ele pode conter um ou mais documentos e signatários.
5.1 Endpoint
Método: POST
Endpoint:
/v1/envelopes
URL completa:
https://api.assertivasolucoes.com.br/autentica-assinaturas/v1/envelopes
5.2 Estrutura da requisição
Campo | Obrigatório | Descrição |
| Sim | Nome do envelope. Não é permitido criar mais de um envelope com o mesmo nome. |
| Sim | Lista de pessoas que deverão assinar os documentos. |
| Sim | Lista de documentos que farão parte do envelope. |
Limite de documentos
O tamanho total dos documentos enviados para o envelope deve ser de até 30 MB.
5.3 Estrutura do documento
Cada documento deve conter:
Campo | Obrigatório | Descrição |
| Sim | Nome do arquivo, normalmente com a extensão |
| Sim | Chave retornada no upload temporário do documento. |
5.4 Estrutura do signatário
Cada signatário deve conter:
Campo | Obrigatório | Descrição |
| Sim | Nome completo do signatário. |
| Sim | CPF ou CNPJ do signatário. |
| Sim | E-mail do signatário. |
| Condicional | Número do celular com DDD. Obrigatório quando a forma de envio for SMS. |
| Sim | Papel do signatário no processo. |
| Sim | Forma de envio do link: |
| Sim | Ordem de envio e assinatura. |
Regras dos documentos
CPF deve ser informado com 11 dígitos numéricos.
CNPJ pode conter até 14 caracteres alfanuméricos, conforme a documentação.
O celular deve ser informado somente com números.
Não é permitido mais de um signatário com o mesmo documento.
A prioridade define a ordem de envio dos links.
O celular é obrigatório quando
formaEnvioforsms.
5.5 Perfis de assinatura
Os perfis disponíveis são:
contratada;contratante;testemunha;exequente;exequido;locador;locatario;fiador.
5.6 Formas de envio
A API aceita duas formas de envio:
Valor | Descrição |
| O link de assinatura será enviado por e-mail. |
| O link de assinatura será enviado por SMS. |
5.7 Exemplo de criação de envelope
{ "nome": "Contrato de prestação de serviços", "signatarios": [ { "nome": "João da Silva", "documento": "12345678901", "celular": "11999999999", "email": "joao@exemplo.com.br", "perfilAssinatura": "contratante", "formaEnvio": "email", "prioridade": 1 }, { "nome": "Maria de Souza", "documento": "98765432100", "celular": "11988888888", "email": "maria@exemplo.com.br", "perfilAssinatura": "contratada", "formaEnvio": "email", "prioridade": 2 } ], "documentos": [ { "nome": "contrato.pdf", "chave": "00000000-0000-0000-0000-000000000000" } ] }
Resposta
Em caso de sucesso, a API retorna o identificador do envelope:
{ "status": 201, "success": true, "data": { "id": "00000000-0000-0000-0000-000000000000" } }
Armazene esse identificador, pois ele será utilizado nas consultas e operações posteriores.
6. Consultar um envelope
Permite consultar os dados detalhados de um envelope específico.
Método: GET
Endpoint:
/v1/envelopes/{envelope}
URL completa:
https://api.assertivasolucoes.com.br/autentica-assinaturas/v1/envelopes/{envelope}
Parâmetro
Parâmetro | Localização | Obrigatório | Descrição |
| Path | Sim | Identificador do envelope. |
Informações retornadas
A resposta pode conter:
Nome do envelope;
Data de criação;
Status atual;
Mensagem do status;
Total de signatários;
Total de assinaturas realizadas;
Indicador de permissão para reenviar links;
Indicador de permissão para cancelar;
Lista de signatários;
Lista de documentos.
Status do envelope
Os status podem incluir:
emProcesso;finalizado;expirado;cancelado.
7. Filtrar envelopes
Permite localizar envelopes de forma paginada utilizando diferentes filtros.
Método: GET
Endpoint:
/v1/envelopes/filtrar
Parâmetros
Parâmetro | Obrigatório | Descrição |
| Não | ID ou nome do envelope. |
| Não | CPF ou CNPJ do signatário. |
| Não | ID do usuário ativo da empresa. |
| Não | E-mail do signatário. |
| Não | Data inicial de criação do envelope. |
| Não | Data final de criação do envelope. |
| Não | Data inicial da assinatura. |
| Não | Data final da assinatura. |
| Não | Status do envelope. |
| Sim | Índice da página. |
| Sim | Quantidade de registros por página. |
Exemplo
GET /v1/envelopes/filtrar?status=finalizado&index=0&size=10
Estrutura da resposta
A resposta pode conter:
envelopes: lista de envelopes;pages: quantidade total de páginas;total: quantidade total de registros.
8. Contar envelopes por status
Retorna a quantidade total de envelopes agrupada por status.
Método: GET
Endpoint:
/v1/envelopes/contador-status
A resposta contém uma lista com:
Nome do status;
Identificador do status;
Quantidade de envelopes.
9. Reenviar link de assinatura
Permite reenviar o link de assinatura para os signatários autorizados por e-mail.
Método: PUT
Endpoint:
/v1/envelopes/{envelope}/reenviar-link
Parâmetro
Parâmetro | Localização | Obrigatório | Descrição |
| Path | Sim | Identificador do envelope. |
Essa operação deve ser realizada somente quando o envelope permitir o reenvio de links.
10. Cancelar um envelope
Cancela um envelope e seus signatários.
Método: PUT
Endpoint:
/v1/envelopes/{envelope}/cancelar
Parâmetro
Parâmetro | Localização | Obrigatório | Descrição |
| Path | Sim | Identificador do envelope. |
O cancelamento depende do status atual do envelope e das permissões disponíveis.
11. Links de assinatura dos signatários
11.1 Obter link de assinatura
Permite obter o link de assinatura de um signatário.
Método: GET
Endpoint:
/v1/signatarios/{signatario}/obter-link
Parâmetro
Parâmetro | Localização | Obrigatório | Descrição |
| Path | Sim | Identificador do signatário. |
Resposta
{ "status": 200, "success": true, "data": { "url": "https://link-de-assinatura" } }
11.2 Reenviar link do signatário
Permite reenviar o link individual de assinatura conforme a forma de envio cadastrada.
Método: PUT
Endpoint:
/v1/signatarios/{signatario}/reenviar-link
12. Consultar perfis de assinatura
Retorna os perfis de assinatura disponíveis para utilização no cadastro de signatários.
Método: GET
Endpoint:
/v1/signatarios/perfis-acesso
A resposta contém:
chave: identificador do perfil;valor: descrição do perfil.
13. Consultar signatários
Permite localizar signatários já cadastrados pelo nome.
Método: GET
Endpoint:
/v1/signatarios
Parâmetro
Parâmetro | Obrigatório | Descrição |
| Sim | Nome utilizado na busca. Deve conter pelo menos três caracteres. |
14. Editar um signatário
Permite atualizar os dados de um signatário que ainda não tenha finalizado o processo de assinatura.
Não é permitido editar um signatário cujo status seja finalizado.
Método: PUT
Endpoint:
/v1/signatarios/{signatarioId}
Campos obrigatórios
nome;documento;email;perfilAssinatura;formaEnvio.
Exemplo
{ "nome": "João da Silva", "documento": "12345678901", "celular": "11999999999", "email": "novoemail@exemplo.com.br", "perfilAssinatura": "contratante", "formaEnvio": "email" }
15. Documentos assinados
15.1 Obter links dos documentos assinados
Retorna links temporários para download dos documentos relacionados ao envelope.
Método: GET
Endpoint:
/v1/envelopes/{envelope}/links-documentos-assinados
Parâmetros
Parâmetro | Localização | Obrigatório | Descrição |
| Path | Sim | Identificador do envelope. |
| Query | Não | Define se o documento de auditoria deverá ser incluído. |
A resposta retorna uma lista de links temporários para os documentos assinados e, quando solicitado, para o documento de auditoria.
Os links devem ser utilizados dentro do período de validade informado pela API.
15.2 Obter link de um documento específico
Permite obter o link de um documento individual.
Método: GET
Endpoint:
/v1/envelopes/{envelope}/documentos/{documento}/link-download
Parâmetros
Parâmetro | Localização | Obrigatório | Descrição |
| Path | Sim | Identificador do envelope. |
| Path | Sim | Identificador do documento. |
Quando o envelope estiver finalizado, o link retornará o documento assinado. Caso o processo ainda esteja em andamento, poderá ser retornado o documento original.
16. Relatórios
A API permite gerar relatórios de solicitações e consultar o status de processamento.
16.1 Listar tipos de relatório
Método: GET
Endpoint:
/v1/relatorios/tipos
Atualmente, a documentação disponibiliza o tipo de relatório:
solicitacoes: relatório de solicitações.
16.2 Listar status de relatório
Método: GET
Endpoint:
/v1/relatorios/status
A resposta retorna os status disponíveis, como:
Identificador;
Tag;
Nome do status.
16.3 Criar uma solicitação de relatório
A geração do relatório ocorre em segundo plano.
Método: POST
Endpoint:
/v1/relatorios
Campos obrigatórios
Campo | Descrição |
| Tipo do relatório, como |
| Data inicial no formato |
| Data final no formato |
Exemplo
{ "tipo": "solicitacoes", "dataInicial": "2023-01-01", "dataFinal": "2023-03-31" }
Resposta
A API retorna o identificador do relatório:
{ "status": 201, "success": true, "data": { "id": "00000000-0000-0000-0000-000000000000" } }
16.4 Filtrar relatórios
Método: GET
Endpoint:
/v1/relatorios/filtrar
Parâmetros
Parâmetro | Obrigatório | Descrição |
| Sim | Índice da página. |
| Sim | Quantidade de registros por página. |
A resposta pode conter:
ID do relatório;
Data de extração;
Filtros utilizados;
Status;
Tipo do relatório;
Total de páginas;
Total de registros.
16.5 Gerar link para download do relatório
Método: GET
Endpoint:
/v1/relatorios/{id}/gerar-link
Parâmetro
Parâmetro | Localização | Obrigatório | Descrição |
| Path | Sim | Identificador do relatório. |
O endpoint retorna uma URL temporária para download do arquivo. De acordo com a documentação, essa URL permanece válida por 60 segundos.
17. Formato das respostas
As respostas de sucesso seguem uma estrutura semelhante a:
{ "status": 200, "success": true, "data": {} }
Campos
Campo | Descrição |
| Código HTTP da operação. |
| Indica se a operação foi realizada com sucesso. |
| Dados retornados pela API. |
Em respostas de erro, podem ser retornados:
status;success;messages: lista de mensagens de erro.
18. Códigos de resposta
A API pode retornar os seguintes códigos:
Código | Significado | Tratamento recomendado |
| Operação realizada com sucesso. | Processar os dados retornados. |
| Recurso criado com sucesso. | Armazenar o ID retornado. |
| Dados ou campos inválidos. | Validar o corpo e os parâmetros da requisição. |
| Usuário não autenticado. | Verificar o token e as credenciais utilizadas. |
| Acesso não autorizado. | Confirmar as permissões da aplicação. |
| Tempo limite de resposta excedido. | Repetir a operação após validar a disponibilidade do serviço. |
| Erro interno do servidor. | Tentar novamente e acionar o suporte se persistir. |
| Serviço indisponível. | Aguardar e realizar nova tentativa. |
| Gateway sem resposta dentro do prazo. | Repetir a requisição posteriormente. |
19. Boas práticas de integração
Armazene o token de acesso em local seguro.
Nunca exponha o Secret ou o token no front-end.
Utilize HTTPS em todas as comunicações.
Armazene os IDs de envelopes, documentos, signatários e relatórios.
Controle a duplicidade de envelopes e signatários.
Não crie envelopes com nomes repetidos.
Valide CPF, CNPJ, e-mail e celular antes do envio.
Envie o celular quando a forma de envio for
sms.Controle a prioridade dos signatários.
Consulte o status do envelope antes de tentar cancelá-lo ou reenviar links.
Não tente editar signatários que já finalizaram a assinatura.
Faça o download dos arquivos utilizando imediatamente as URLs temporárias.
Não registre documentos, tokens ou dados pessoais completos nos logs.
Implemente tratamento específico para erros de autenticação, permissão, indisponibilidade e timeout.
Proteja os documentos assinados conforme as políticas internas de segurança e privacidade.
20. Resumo dos principais endpoints
Funcionalidade | Método | Endpoint |
Obter link temporário de upload |
|
|
Criar envelope |
|
|
Filtrar envelopes |
|
|
Contar envelopes por status |
|
|
Consultar envelope |
|
|
Cancelar envelope |
|
|
Reenviar links do envelope |
|
|
Obter documentos assinados |
|
|
Obter link de documento |
|
|
Listar perfis de assinatura |
|
|
Filtrar signatários |
|
|
Obter link do signatário |
|
|
Reenviar link do signatário |
|
|
Editar signatário |
|
|
Listar tipos de relatório |
|
|
Listar status de relatório |
|
|
Criar relatório |
|
|
Filtrar relatórios |
|
|
Gerar link de download do relatório |
|
|
21. Suporte
Para consultar os exemplos completos de requisição, os modelos de resposta e as regras de cada endpoint, acesse a https://integracao.assertivasolucoes.com.br/v3/portal
Em caso de dúvidas sobre a integração, entre em contato com o suporte da Assertiva pelo e-mail:
