Documentação da API · Clicksign

Conecte as etapas da sua
jornada com uma única API

Assinatura e identificação digital, com validade jurídica garantida em cada endpoint.

Reconhecida por quem usa e por quem certifica:+7 milhõesde assinaturas por mês
Prêmio Reclame Aqui 2025 — Empresa Campeã Prêmio Reclame Aqui 2025 — Empresa Campeã Certificação ISO/IEC 27001 — gestão de segurança da informação Certificação ISO/IEC 27701 — gestão de privacidade da informação

Uma API para coletar dados, outra para autenticar e uma terceira para assinar. Cada nova integração adiciona complexidade, manutenção e tempo até o primeiro envelope sair. A Clicksign resolve tudo isso com uma única API.

Por que usar a API da Clicksign

Gere código com IA, direto na documentação

O que resolve: tempo perdido lendo referência e escrevendo boilerplate à mão.

Ver ferramentas de IA

Integração em duas semanas

O que resolve: backlog de engenharia represado esperando integração de assinatura.

Ver primeiros passos

Suporte e documentação em português

O que resolve: tickets em inglês e fuso incompatível travando o deploy.

Ver agora

Erros previsíveis, no padrão JSON:API

O que resolve: horas de debug tentando entender por que uma chamada falhou sem contexto.

Ver tratamento de erros

Como você quer começar?

Endpoint específico para o seu desafio de hoje ou integração completa da sua jornada de assinatura. Escolha o caminho que faz sentido para o seu momento e construa, passo a passo, uma integração mais eficiente.

Introdução em vídeo

Os conceitos principais da API, em 3 minutos. Depois, siga para o passo a passo.

Tutorial · 3 min
Integração completa: conta, token, envelope e webhook
Quer ver com mais detalhes?

Confira a explicação com todos os passos comentados em vídeo.

Ver tutorial completo

Clickflow

Automatize o fluxo dos seus documentos

Do formulário ao aceite, o cliente não precisa sair da conversa e a sua equipe não perde a venda no meio do caminho.

Click Intelligence

Leitura massiva de documentos

Extraia dados, identifique riscos e transforme cada arquivo assinado em informação pronta para uso, sem abrir um por um.

Quando algo falha

Tratamento de erros globais

Toda falha da API vem no mesmo formato, seguindo o padrão JSON:API. Você sabe exatamente o que quebrou e onde.

PropriedadeDescriçãoExemplo
statusO código de status HTTP, expresso como string."422"
codeCódigo de erro do ecossistema Clicksign para indexação rápida."UNSUPPORTED_MEDIA_FORMAT"
titleDescrição curta e legível do problema."Unprocessable Entity"
detailExplicação contextualizada da causa exata e de como corrigir."O arquivo possui formato inválido."

Exemplos prontos

Copie, cole e execute

Cada endpoint traz exemplos na linguagem que você usa. Comece com nossas coleções oficiais de Postman e Insomnia.

POST /api/v3/envelopesNode.js · POST /api/v3/envelopesPython · POST /api/v3/envelopesRuby · POST /api/v3/envelopesPHP · POST /api/v3/envelopes
# Criar envelope com 1 documento e 1 signatário
curl -X POST 'https://sandbox.clicksign.com/api/v3/envelopes' \
  -H 'Authorization: Bearer SEU_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "envelope": {
      "name": "Contrato de Prestação",
      "documents": [{ "id": "doc_abc123" }],
      "signers": [{
        "email": "[email protected]",
        "name": "Maria Silva",
        "documentation": "12345678900"
      }]
    }
  }'
// Criar envelope com 1 documento e 1 signatário
const res = await fetch(
  'https://sandbox.clicksign.com/api/v3/envelopes', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${TOKEN}`,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({ envelope: {
    name: 'Contrato de Prestação',
    documents: [{ id: 'doc_abc123' }],
    signers: [{ email: '[email protected]',
      name: 'Maria Silva',
      documentation: '12345678900' }]
  }})
});
# Criar envelope com 1 documento e 1 signatário
import requests
res = requests.post(
  "https://sandbox.clicksign.com/api/v3/envelopes",
  headers={"Authorization": f"Bearer {TOKEN}"},
  json={"envelope": {
    "name": "Contrato de Prestação",
    "documents": [{"id": "doc_abc123"}],
    "signers": [{
      "email": "[email protected]",
      "name": "Maria Silva",
      "documentation": "12345678900"}]
  }})
# Criar envelope com 1 documento e 1 signatário
require 'net/http'; require 'json'
uri = URI('https://sandbox.clicksign.com/api/v3/envelopes')
req = Net::HTTP::Post.new(uri)
req['Authorization'] = "Bearer #{TOKEN}"
req['Content-Type'] = 'application/json'
req.body = { envelope: {
  name: 'Contrato de Prestação',
  documents: [{ id: 'doc_abc123' }],
  signers: [{ email: '[email protected]',
    name: 'Maria Silva',
    documentation: '12345678900' }]
}}.to_json
// Criar envelope com 1 documento e 1 signatário
$ch = curl_init('https://sandbox.clicksign.com/api/v3/envelopes');
curl_setopt_array($ch, [
  CURLOPT_POST => true,
  CURLOPT_HTTPHEADER => [
    "Authorization: Bearer $TOKEN",
    "Content-Type: application/json"
  ],
  CURLOPT_POSTFIELDS => json_encode(["envelope" => [
    "name" => "Contrato de Prestação",
    "documents" => [["id" => "doc_abc123"]],
    "signers" => [[
      "email" => "[email protected]",
      "name" => "Maria Silva",
      "documentation" => "12345678900"
    ]]
  ]])
]);
Resposta: 201 Created · { "envelope": { "id": "...", "status": "draft" } }

Integre a sua operaçãocom os principais sistemas do mercado

Integração nativa
n8n
Pipefy
Agendor
SoftExpert
Pluga
HubSpot
RD Station
Salesforce
Groner

Perguntas frequentes

As dúvidas mais comuns de quem está integrando.

O que é um Envelope?
Um envelope é um agrupador que reúne vários documentos e vários signatários em uma única transação. Ele substitui o modelo da API 1.9, em que cada documento exigia uma requisição separada.
Como funciona o ambiente Sandbox?
O Sandbox é um ambiente isolado para testes. Os documentos criados nele não têm valor legal e não geram cobrança. Teste à vontade. Use sandbox.clicksign.com nas requisições. Tokens do Sandbox não funcionam em produção, e vice-versa.
O Clickflow tem Sandbox próprio?
Sim. O orquestrador responde em clickflow-sandbox.clicksign.com e o executor em clickflow-runner-sandbox.clicksign.com, cada um com a especificação em /api/v1/docs. Lembre que ali o header Authorization leva só o UUID do Access Token, sem Bearer.
Como valido a assinatura HMAC dos webhooks?
Cada aviso inclui o cabeçalho x-clicksign-signature. Recalcule o HMAC do corpo recebido com sua chave secreta e compare com o cabeçalho antes de processar. Trate cada evento como idempotente, porque os avisos podem ser reenviados.
Os tokens de acesso expiram?
Não. O access_token não expira. Trate-o como uma senha: não exponha no frontend nem versione no repositório. Caso ele seja comprometido, revogue e gere um novo imediatamente para evitar o erro AUTH-401.
Quais linguagens têm exemplos prontos?
Cada endpoint traz exemplos em cURL, Node.js, Python, PHP e Ruby. Também disponibilizamos coleções oficiais de Postman e Insomnia para você importar e executar direto.

Vamos olhar para a sua integração?

Traga um fluxo que hoje dá trabalho pro seu time. A gente mapeia os endpoints, os eventos e o resultado final para mostrar onde dá para simplificar.

Falar com um especialista técnico