@assinafy/sdk

中文文档
3.0.2发布于 2026/11/13MITTypeScriptESM + CJS构建来源已验证近 30 天下载 2296

TypeScript SDK for Assinafy API - Digital signature platform

原始使用文档
文档目录10 节
  1. Requisitos
  2. Instalação
  3. Início rápido
  4. Autenticação
  5. Configuração
  6. Fluxo de integração
  7. Recursos da API
  8. Documentação
  9. Desenvolvimento
  10. Licença

@assinafy/sdk

Português · Read in English

SDK oficial em TypeScript para a API Assinafy, com suporte a Node.js e Bun, tipos completos e builds ESM/CJS.

O SDK mapeia as 147 operações do OpenAPI publicado (146 com métodos; a troca da sessão incorporada é reservada à página de embed da Assinafy), além das extensões de compatibilidade mantidas pela API. A referência completa, com payloads, respostas, erros e exemplos de cada recurso, está no manual em português.

Requisitos

  • Node.js 22+ ou Bun 1.4.4
  • HTTPS com TLS 1.2 ou superior

Instalação

npm install @assinafy/sdk
# ou
bun add @assinafy/sdk

Início rápido

import { AssinafyClient } from '@assinafy/sdk';

const client = new AssinafyClient({
  apiKey: process.env.ASSINAFY_API_KEY!,
  accountId: process.env.ASSINAFY_ACCOUNT_ID!,
});

const resultado = await client.uploadAndRequestSignatures({
  source: { filePath: './contrato.pdf' },
  signers: [
    {
      name: 'Signatário Exemplo',
      email: '[email protected]',
    },
  ],
  message: 'Por favor, assine este contrato',
});

console.log(resultado.document.id, resultado.assignment.id);

O helper envia o PDF, cria ou reaproveita os signatários e solicita as assinaturas. Para controlar cada etapa separadamente, siga o fluxo completo do documento.

Autenticação

CredencialUso
apiKeyAutomação servidor a servidor no seu próprio workspace
tokenSessão autenticada ou token de acesso OAuth
Sem credencialLogin, recuperação de senha, leituras públicas, código do signatário e endpoints OAuth
const comChave = new AssinafyClient({
  apiKey: process.env.ASSINAFY_API_KEY!,
  accountId: process.env.ASSINAFY_ACCOUNT_ID!,
});

const comOAuth = new AssinafyClient({
  token: process.env.ASSINAFY_ACCESS_TOKEN!,
  accountId: process.env.ASSINAFY_ACCOUNT_ID!,
});

Aplicações conectadas a workspaces de terceiros devem usar OAuth 2.1 com PKCE S256. Veja o guia de OAuth para descoberta, autorização, callback, rotação de refresh token e revogação.

Configuração

OpçãoPadrãoFinalidade
apiKey—Credencial X-Api-Key
token—Credencial Authorization: Bearer
accountId—Workspace padrão
baseUrlhttps://api.assinafy.com.br/v1Ambiente da API
webhookSecret—Verificação de assinatura Standard Webhooks
timeout30000Timeout em milissegundos
maxRetries2Retentativas seguras para HTTP 429
loggerno-opLogger opcional

O manual de configuração explica retentativas, limites e fábricas.

Fluxo de integração

  1. Configure o cliente com uma chave de API ou conclua o fluxo OAuth no mesmo ambiente do workspace.
  2. Crie ou localize os signatários.
  3. Envie o PDF e aguarde o processamento dos metadados.
  4. Estime o custo e crie o assignment com a verificação e a notificação desejadas, ou envie vários documentos aos mesmos signatários de uma vez com client.envelopes.
  5. Entregue a URL de assinatura, ou exiba a tela de assinatura dentro do seu app com client.embed, e valide os webhooks antes de processar eventos.
  6. Acompanhe a conclusão e baixe o documento assinado ou o certificado.

WhatsApp, biometria com documento e face, certificado digital ICP-Brasil e a verificação Bypass (habilitada por conta) têm pré-requisitos específicos; workspaces.get(id, { expand: 'signing_features' }) informa quais o plano habilita. O SDK representa A1 e A3 como DigitalCertificate; a mídia é escolhida pelo signatário no navegador. Consulte os ramos de assinatura.

Recursos da API

RecursoÁrea
client.documentsUpload, consulta, artefatos, tags e criação por template
client.signersCadastro, busca e atualização de signatários
client.assignmentsSolicitações, custos, notificações e revisão de identidade
client.envelopesVários documentos aos mesmos signatários, um convite e uma cobrança
client.embedOrigens e sessões de uso único para assinar dentro do seu app
client.contractsTermos, famílias, renovação e encerramento de contratos
client.templates, client.tags, client.fieldsConteúdo reutilizável e campos
client.workspaces, client.usersWorkspace, tema, uso do plano, política de notificações, preferências e MFA/TOTP
client.auth, client.oauthLogin, chaves de API e OAuth 2.1
client.webhooks, client.webhookVerifierEndpoints, entregas e autenticação de eventos
client.signerDocumentsFluxo público e autenticado do signatário

Veja a referência por recurso e o mapa operação a operação. As declarações TypeScript e o JSDoc distribuídos com o pacote documentam os payloads completos.

Documentação

Desenvolvimento

bun install --frozen-lockfile
bun run verify
bun run audit
bun run audit:api

bun run verify executa a checagem de tipos, lint, testes, cobertura, build e validações do pacote.

Licença

Distribuído sob a licença MIT.

版本与发布记录

@assinafy/sdk 共发布 25 个版本,首次发布于 2026/05/29;过去 12 个月发布了 25 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
3.0.2latest2026/11/13今天
3.0.12026/11/121 天前
3.0.02026/11/121 天前
2.11.02026/11/0310 天前
2.10.02026/10/3014 天前
2.9.12026/10/2915 天前

关于 @assinafy/sdk 的常见问题

@assinafy/sdk 是什么?

TypeScript SDK for Assinafy API - Digital signature platform

如何安装 @assinafy/sdk?

在项目目录运行 npm install @assinafy/sdk,或使用 pnpm add / yarn add / bun add。

@assinafy/sdk 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@assinafy/sdk 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@assinafy/sdk 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@assinafy/sdk 可以商用吗?

@assinafy/sdk 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@assinafy/sdk 的下载量有多少?

根据 npm 官方下载统计,@assinafy/sdk 在 2026/10/07 – 2026/11/05 这 30 天内被下载 2,296 次,日均约 77 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@assinafy/sdk 还在维护吗?

最新版本 3.0.2 发布于 2026/11/13(今天);至今共发布 25 个版本,其中过去 12 个月发布了 25 个;首次发布于 2026/05/29。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。