Documentação da API para geração de assinaturas

Crie assinaturas manuscritas diretamente do seu código. Uma API REST simples, autenticação por chave, formatos PNG · SVG · JPG · PDF e limites claros por plano.

REST · JSON Token Bearer Quatro formatos Limites por plano

⚡ Início rápido

Três passos do registo à sua primeira assinatura.

1

Obtenha uma chave

Crie a sua chave de API na página de API da sua conta. A chave completa é mostrada apenas uma vez.

2

Envie um pedido

Faça um POST para /api/v1/signatures com nome e sobrenome.

3

Obtenha a sua assinatura

A resposta contém a assinatura no formato escolhido (PNG, SVG, JPG ou PDF) e o seu hash para gerar novamente.

🔗 URL base

Todas as respostas são JSON. Em caso de sucesso: { "success": true, "data": {…}, "meta": {…} }; em caso de erro: { "success": false, "error": { "code", "message" } }.

URL base
https://onlinesignatures.net/api/v1

🔑 Autenticação

Cada pedido precisa de um token Bearer no cabeçalho Authorization. Crie e faça a gestão das chaves na página de API da sua conta — a chave completa é mostrada apenas uma vez.

cURL
curl https://onlinesignatures.net/api/v1/usage \
  -H "Authorization: Bearer sk_live_your_token"

🎨 Formatos de saída

Por defeito, a assinatura é devolvida como PNG transparente. Adicione o parâmetro format para obter outro formato — não consome quota adicional.

PNG

png

padrão

Fundo transparente. Ideal para sobrepor em documentos.

SVG

svg

para a web

Assinatura embrulhada em SVG — fácil de escalar e incorporar em HTML.

JPG

jpg

leve

Fundo branco, menor tamanho de ficheiro.

PDF

pdf

documento

Um PDF pronto a usar com a assinatura.

ℹ️Os formatos disponíveis dependem do seu plano — consulte a página Planos de API. Pedir um formato que não tem devolve um erro format_not_allowed (403).
Plano Chaves Pedidos / mês Pedidos / minuto PNG SVG JPG PDF
API Start 4 5 000 50 ✓ — — —
API Pro 5 60 000 300 ✓ ✓ ✓ —
API Business 15 250 000 5 000 ✓ ✓ ✓ ✓
API Scale 50 1 000 000 3 000 ✓ ✓ ✓ ✓

Chaves = quantas chaves de API pode criar neste plano. Pedidos / mês é a quota principal; pedidos / minuto é o limite contra picos.

🔍 Qualidade da imagem

Por padrão, a assinatura é devolvida em qualidade padrão (1×). Adicione o parâmetro quality para obter uma imagem maior e mais nítida: 2× tem o dobro de pixels e 4× o quádruplo. Não consome cota adicional.

1×

quality: 1

padrão

Tamanho padrão. Ótimo para telas e páginas web.

2×

quality: 2

mais nítida

O dobro de pixels. Mais nítida em documentos e em telas de alta densidade.

4×

quality: 4

máxima

Quatro vezes os pixels. Ideal para impressão e grandes formatos.

PNG · 4×
curl -X POST https://onlinesignatures.net/api/v1/signatures \
 -H "Authorization: Bearer sk_live_..." \
 -H "Content-Type: application/json" \
 -d '{"first_name":"Signature",
      "last_name":"Generator",
      "format":"png",
      "quality":4}'
ℹ️O Start inclui 1×; Pro, Business e Scale incluem 1×, 2× e 4×. Pedir uma qualidade acima do seu plano retorna o erro quality_not_allowed (403) e a requisição não é contada.
ℹ️O SVG é vetorial e permanece nítido em qualquer tamanho, por isso o parâmetro quality não o altera: ele vale para PNG, JPG e PDF. Uma assinatura muito larga pode ser renderizada um pouco abaixo de 4× para respeitar os limites de tamanho.

A mesma assinatura em outra qualidade

Para obter exatamente a mesma assinatura em outra qualidade, guarde o hash da resposta e solicite-a novamente com POST /api/v1/signatures/replay. Cada chamada conta como uma requisição.

PNG · 1× → 4×
curl -X POST https://onlinesignatures.net/api/v1/signatures/replay \
 -H "Authorization: Bearer sk_live_..." \
 -H "Content-Type: application/json" \
 -d '{"hash":"eyJpdiI6...",
      "format":"png",
      "quality":4}'
POST/api/v1/signatures

Gere uma assinatura nova a partir de um nome e sobrenome.

PNG (padrão)
curl -X POST https://onlinesignatures.net/api/v1/signatures \
 -H "Authorization: Bearer sk_live_..." \
 -H "Content-Type: application/json" \
 -d '{"first_name":"Signature",
      "last_name":"Generator"}'
PDF
curl -X POST https://onlinesignatures.net/api/v1/signatures \
 -H "Authorization: Bearer sk_live_..." \
 -H "Content-Type: application/json" \
 -d '{"first_name":"Signature",
      "last_name":"Generator",
      "format":"pdf"}'

Parâmetros

first_nameopcional cadeia, até 60 caracteres
last_nameopcional cadeia, até 60 caracteres
middle_nameopcional cadeia, até 60 caracteres
formatopcional png (padrão), svg, jpg, pdf — dentro do seu plano
qualityopcional 1 (padrão), 2, 4 — dentro do seu plano
ℹ️Indique pelo menos um campo — nome ou sobrenome (uma única palavra, uma inicial, ou nome e sobrenome).
Sucesso 201
{
  "success": true,
  "data": {
    "id": 1842,
    "hash": "eyJpdiI6...",
    "format": "pdf",
    "mime": "application/pdf",
    "signature": "data:application/pdf;
       base64,JVBER..."
  },
  "meta": { "quota": { "remaining":179 } }
}
Erros 403
{
  "success": false,
  "error": {
    "code": "format_not_allowed",
    "message": "The pdf format is
      not available on
      your plan."
  }
}
GET/api/v1/signatures/{hash}

Gere novamente uma assinatura criada anteriormente pelo seu hash. Também pode definir o formato através de ?format=.

cURL
curl "https://onlinesignatures.net/api/v1/signatures/{hash}?format=svg" \
  -H "Authorization: Bearer sk_live_your_token"
GET/api/v1/usage

Devolve o seu plano, os formatos disponíveis, o limite mensal, o que já usou e quando é reiniciado.

Sucesso 200
{
  "success": true,
  "data": {
    "plan": "Business",
    "formats": ["png", "svg", "jpg"],
    "rate_per_minute": 1000,
    "key": { "name": "Production", "masked": "sk_live_a1b2…8f9c" },
    "quota": { "limit": 500, "used": 321, "remaining": 179 }
  }
}

⏱️ Limites e quota

A quota mensal é o limite principal e depende do seu plano (ver Planos de API). Além disso, um limite por minuto (também por plano) protege contra picos. As respostas incluem os cabeçalhos X-Quota-Limit, X-Quota-Remaining e X-Quota-Reset para se autorregular. Mudar de formato não consome quota adicional: uma geração = um pedido.

⚠️ Códigos de erro

401 · invalid_api_keyChave em falta ou inválida
403 · key_disabled / plan_requiredChave desativada ou plano sem API
403 · format_not_allowedFormato indisponível no seu plano
403 · quality_not_allowedQualidade não disponível no seu plano
422 · validation_errorCampos do pedido inválidos (incluindo um formato desconhecido)
429 · rate_limitedLimite por minuto excedido — faça uma pausa e tente novamente
429 · quota_exceededQuota mensal do plano esgotada
503 · render_unavailableGeração temporariamente indisponível, tente novamente mais tarde

💬 Perguntas e respostas

Mudar de formato consome quota adicional?

Não. Uma geração é um pedido, independentemente do formato de saída.

Que formatos estão disponíveis?

PNG, SVG, JPG e PDF. O conjunto de formatos disponíveis depende do seu plano.

O que acontece se eu pedir um formato que não está no meu plano?

A API devolve um erro format_not_allowed (403) e não conta o pedido.

Para que serve o parâmetro quality?

Adicione "quality": 1, 2 ou 4 à requisição para obter uma assinatura mais nítida e detalhada. 1× é a qualidade padrão; 2× e 4× são mais nítidas. O Start inclui 1×; o Pro e os planos superiores incluem 1×, 2× e 4×. Não consome cota adicional.

Como obtenho a mesma assinatura em 1× e 4×?

Crie a assinatura uma vez e guarde o hash da resposta. Depois envie POST /api/v1/signatures/replay com esse hash e quality 1 e depois 4: o nome e o floreio permanecem idênticos, só muda a nitidez.