Docs

Documentação da API ForSign

Do zero ao primeiro documento assinado em poucas chamadas — assinatura eletrônica para integradores.

Em 2 chamadas você assina um documento

# 1. Sobe o PDF
DOC_ID=$(curl -s -X POST https://api.forsign.digital/api/v2/document/upload \
  -H "X-Api-Key: $FORSIGN_API_KEY" \
  -F "[email protected]" | jq -r .data.id)

# 2. Cria a operação
curl -X POST https://api.forsign.digital/api/v1/operation \
  -H "X-Api-Key: $FORSIGN_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{
    \"name\": \"Contrato\",
    \"files\": [{\"id\": \"$DOC_ID\", \"description\": \"contrato.pdf\"}],
    \"members\": [{
      \"name\": \"Fulano\",
      \"email\": \"[email protected]\",
      \"notificationChannel\": \"Email\"
    }]
  }"
import axios from 'axios';
import { createReadStream } from 'node:fs';
import FormData from 'form-data';

const api = axios.create({
  baseURL: 'https://api.forsign.digital',
  headers: { 'X-Api-Key': process.env.FORSIGN_API_KEY! },
});

// 1. Sobe o PDF
const form = new FormData();
form.append('file', createReadStream('./contrato.pdf'));
const { data: upload } = await api.post('/api/v2/document/upload', form, {
  headers: form.getHeaders(),
});

// 2. Cria a operação
const { data: operation } = await api.post('/api/v1/operation', {
  name: 'Contrato',
  files: [{ id: upload.data.id, description: 'contrato.pdf' }],
  members: [{
    name: 'Fulano',
    email: '[email protected]',
    notificationChannel: 'Email',
  }],
});
import os, requests

API = "https://api.forsign.digital"
HEADERS = {"X-Api-Key": os.environ["FORSIGN_API_KEY"]}

# 1. Sobe o PDF
with open("contrato.pdf", "rb") as f:
    upload = requests.post(
        f"{API}/api/v2/document/upload",
        headers=HEADERS,
        files={"file": f},
    ).json()

# 2. Cria a operação
operation = requests.post(
    f"{API}/api/v1/operation",
    headers={**HEADERS, "Content-Type": "application/json"},
    json={
        "name": "Contrato",
        "files": [{"id": upload["data"]["id"], "description": "contrato.pdf"}],
        "members": [{
            "name": "Fulano",
            "email": "[email protected]",
            "notificationChannel": "Email",
        }],
    },
).json()

A partir daí o assinante recebe o email, assina, e você recebe um webhook quando termina. Veja o fluxo completo em 8 passos →

O que você pode fazer com a ForSign

Múltiplos documentos em uma única operação
Múltiplos assinantes com papéis (Comprador, Vendedor, Testemunha…)
Ordem de assinatura sequencial ou paralela
Formulários preenchidos pelos assinantes antes de assinar
Anexos solicitados com fluxo de aprovação/rejeição (RG, selfie, comprovante…)
Dupla autenticação via Email, SMS ou WhatsApp
Posicionamento visual das assinaturas (coordenadas X/Y em % ou tags textuais)
Multi-idioma (pt-br, en, es)
Finalização automática ou manual + prazos de expiração
Webhooks pra eventos em tempo real
URL Redirect customizado pós-assinatura

Como funciona

Você gera uma chave, sobe o PDF, cria a operação combinando documentos + assinantes + regras, e a ForSign cuida do resto: notifica, coleta assinaturas, emite webhooks, e disponibiliza o ZIP final. Clique em qualquer passo acima pra pular direto pra documentação do endpoint correspondente.

Por onde começar

Use nossos SDKs para acelerar a integração

Os SDKs encapsulam autenticação, retries e serialização. Se sua linguagem não está na lista, integre direto via HTTP — todos os endpoints têm exemplos em cURL, JavaScript, Python, Go, Java e C#.

LinguagemPacoteInstalação
.NET (5.0+, Core 3.0+, Standard 2.0+, Framework 4.5+)ForSign.SdkInstall-Package ForSign.Sdk
PHP (8.1+)forsign/api-phpcomposer require forsign/api-php
Node.js@forsigndigital/sdknpm install @forsigndigital/sdk

Versões da API

A API possui endpoints em duas versões coexistentes. Endpoints mais recentes estão em /api/v2/, alguns legados ainda estão em /api/v1/. Sempre verifique a versão correta antes de integrar — está documentada em cada página.

Encontrou algo confuso ou falta exemplo na sua linguagem?

Responda à pesquisa rápida →

On this page