Guias de Integração

Integração com Make.com (Integromat)

Conecte qualquer cenário Make.com ao SignDocs Brasil. Assinatura eletrônica com biometria facial, OTP, clickwrap e ICP-Brasil A1 — validade jurídica plena no Brasil (MP 2.200-2). 10 ações, 1 search e 1 trigger instantâneo, sem escrever código.

⚡ Por que Make.com?

Plataforma low-code maior que o Zapier na América Latina, com módulos nativos para Google Workspace, Slack, WhatsApp Business, Telegram, HubSpot, Pipedrive, RD Station, ClickUp, Notion, e mais 1500 apps. Você desenha o fluxo arrastando blocos.

Instalação

O app SignDocs Brasil está em estágio de app privado enquanto aguarda aprovação no Marketplace público (~2-4 semanas). Para receber o link de instalação privado, preencha o formulário no fim desta página ou escreva para suporte@signdocs.com.br com o assunto "Make.com early access".

Plano Make.com necessário: qualquer plano pago (Core ou superior). O Free não permite Custom Apps com trigger instantâneo.

Configurar a conexão OAuth2

O app usa o fluxo OAuth2 client_credentials (servidor-a-servidor). Make.com troca seu client_secret por um access_token e renova automaticamente.

CampoValor
AmbienteProdução ou Homologação (HML)
Client IDGerado no API Dashboard (self-service, ~3 min)
Client SecretGerado junto com o Client ID (mostrado uma única vez)
Escopostransactions:read transactions:write evidence:read webhooks:write — ou deixe em branco para receber tudo que a credencial tem provisionado
⚠️ Exporte cenários sem credenciais

Make.com inclui valores de conexão em blueprints exportados se você não escolher "exportar sem secrets". Compartilhar blueprints com client_secret embutido viola o AUP §7-A.

Módulos disponíveis

Ações (10)

MóduloEndpoint
Criar Sessão de AssinaturaPOST /v1/signing-sessions
Obter Status da SessãoGET /v1/signing-sessions/{id}/status
Cancelar Sessão de AssinaturaPOST /v1/signing-sessions/{id}/cancel
Criar EnvelopePOST /v1/envelopes
Adicionar Sessão ao EnvelopePOST /v1/envelopes/{id}/sessions
Obter EnvelopeGET /v1/envelopes/{id}
Gerar Carimbo CombinadoPOST /v1/envelopes/{id}/combined-stamp
Enviar Documento para a TransaçãoPOST /v1/transactions/{id}/document
Obter URLs de DownloadGET /v1/transactions/{id}/download
Obter Evidence PackGET /v1/transactions/{id}/evidence
📌 Não existe um recurso “documento” isolado

O documento é enviado inline (base64) na criação da sessão ou do envelope, ou anexado depois à transação que a sessão criou. Download e evidência são sempre buscados por transactionId — nunca por um ID de documento. Os módulos de download devolvem URLs pré-assinadas em JSON, válidas por 1 hora; encadeie um HTTP → Get a file para trazer os bytes.

📌 As etapas vêm do perfil de política

Você escolhe policy.profileCLICK_ONLY, CLICK_PLUS_OTP, BIOMETRIC, BIOMETRIC_PLUS_OTP, DIGITAL_CERTIFICATE ou CUSTOM — e a API expande em etapas. DIGITAL_SIGN_A1 é um tipo de etapa, alcançável só via CUSTOM: não é um perfil.

Search

Listar Transações — paginação por cursor (nextToken) sobre GET /v1/transactions, com filtros de status, userExternalId, grupo de documentos e intervalo de datas. Não há endpoint de listagem de envelopes na API: guarde o envelopeId no seu sistema ou acompanhe pelos eventos ENVELOPE.*.

Trigger instantâneo

Receber Eventos do SignDocs Brasil — registra um webhook ao ativar o cenário, remove ao desativar. Verifica HMAC-SHA256 com tolerância de 300s. Inscrição em qualquer um dos 20 tipos de evento: TRANSACTION.*, STEP.*, SIGNING_SESSION.*, ENVELOPE.*, QUOTA.WARNING, API.DEPRECATION_NOTICE.

Cenários prontos para copiar

1. Google Sheets → Sessão de Assinatura → Gmail

Cada nova linha em uma planilha gera uma sessão de assinatura e dispara um e-mail com o link pronto.

Watch Rows (Sheets) → Get a File (Drive) → Criar Sessão de Assinatura [SignDocs] // o PDF vai inline → Send Email (Gmail) — body usa {{signingUrl}}

2. Webhook → CRM atualizado quando contrato é assinado

Reaja a TRANSACTION.COMPLETED baixando o Evidence Pack e marcando o contato no CRM.

Receber Eventos (TRANSACTION.COMPLETED) [SignDocs] → Obter Evidence Pack [SignDocs] → Update Record (HubSpot/Pipedrive/RD) → Upload File (Drive) — arquiva o PDF assinado

3. Envelope multi-signatário → Slack quando todos assinam

Envelopes coordenam múltiplos signatários sobre o mesmo doc. Notifique o canal #contratos quando o evento ENVELOPE.ALL_SIGNED chegar.

Receber Eventos (ENVELOPE.ALL_SIGNED) [SignDocs] → Baixar Carimbo Combinado [SignDocs] → Send a Message (Slack) — anexa o PDF

A mágica do signingUrl

O módulo Criar Sessão de Assinatura retorna um campo computado signingUrl já montado como {url}?cs={clientSecret}. Cole-o direto em corpos de e-mail, mensagens de Slack ou WhatsApp — é a única URL que o signatário precisa abrir.

Sem o app oficial, você precisaria concatenar os dois campos manualmente em todo cenário.

Webhooks: como o Make.com lida

  1. Make.com gera uma URL pública (https://hook.make.com/...) ao ativar o cenário.
  2. O app chama POST /v1/webhooks com essa URL e os eventos selecionados.
  3. SignDocs retorna webhookId e secret.
  4. Eventos chegam com headers X-SignDocs-Signature (HMAC-SHA256) e X-SignDocs-Timestamp (Unix).
  5. Make valida a assinatura. Eventos com timestamp acima de 300s ou assinatura inválida retornam 401 e não disparam o cenário.
  6. Ao desativar/excluir o cenário, o app chama DELETE /v1/webhooks/{id} automaticamente.

Idempotência

Toda ação mutadora expõe um campo avançado Idempotency Key, default {{uuid}}. Cada execução do cenário gera um UUID novo — o que normalmente é desejado. Para replay-safe, pin manualmente: signing-session-{{1.row_id}} reutiliza a mesma chave em re-runs do mesmo bundle.

Tratamento de erros

StatusSignificadoO que verificar
401Token inválido/expiradoReconecte; refresh automático já foi tentado.
403 (CloudFront)Bloqueado na bordaURL pública? Ambiente da conexão = ambiente da credencial?
409Estado incompatívelEx.: cancelar uma sessão já concluída. O campo detail explica.
422Payload inválidoA API responde em RFC 7807 (application/problem+json); o campo detail diz o que falhou.
429Rate limitMake respeita Retry-After; se persistir, suba seu plano.

Conformidade e AUP

O uso deste app está sujeito ao AUP §7-A. Resumo:


Solicitar acesso antecipado

Enquanto o app não está no Marketplace público, distribuímos por convite. Preencha abaixo para receber o link de instalação privado em até 1 dia útil.


Suporte

Solicitar link de instalação privado