SignatureKit
APIs de provedores

Clicksign

Crie requests de documento Clicksign v1 com credenciais Redacted e erros tipados do SignatureKit.

Clicksign cria o documento e o signatário no upstream, opcionalmente notifica o destinatário e devolve um registro ClicksignSignatureRequestAttributes próprio da Clicksign. Não é backend local de Signatures e não muta bytes de PDF no processo.

Instalação

npm install @signature-kit/http @signature-kit/clicksign

Quando usar

Use Clicksign quando a cerimônia, lembretes e trilha de auditoria vivem na Clicksign. Use assinatura A1/PDF local quando o app precisa produzir os bytes assinados diretamente.

Mantenha credenciais Redacted

Tokens de provider entram como Redacted.make(...) e são abertos apenas dentro da fronteira HTTP do pacote. Nunca passe tokens remotos para componentes React ou logs.

Request mínimo

clicksign.ts
import * as Alchemy from "alchemy"
import { ClicksignSignatureRequest, providers as clicksignProviders } from "@signature-kit/clicksign"
import { signatureHttpClientLive } from "@signature-kit/http"
import { Effect, Layer, Redacted } from "effect"

export default class Contracts extends Alchemy.Stack<Contracts>()(
  "Contracts",
  {
    providers: Layer.merge(
      clicksignProviders({
        accessToken: Redacted.make(process.env.CLICKSIGN_TOKEN ?? ""),
        environment: "sandbox",
        locale: "pt-BR",
        autoClose: true,
      }),
      signatureHttpClientLive,
    ),
    state: Alchemy.inMemoryState(),
  },
  Effect.gen(function* () {
    return yield* ClicksignSignatureRequest("contrato-de-servico", {
      title: "Contrato de serviço",
      message: "Revise e assine este documento.",
      documents: [{ fileName: "contract.pdf", mimeType: "application/pdf", contentBase64: pdfBase64 }],
      recipients: [{ name: "Ana Silva", email: "ada@example.com", role: "signer" }],
      send: true,
    })
  }),
) {}

Fatos do provider

  • Fluxo v1 cria documento, signatário e notificação opcional.
  • Um documento por request; o schema de props é uma tupla de documento único, então passar mais de um documento falha na decodificação do schema como signature-kit.INVALID_INPUT.
  • O token é aberto apenas na fronteira HTTP do pacote.

Erros

Input inválido, falhas HTTP remotas e shapes de resposta inválidos falham como SignatureKitError. Os campos provider, operation e status HTTP são preservados quando a resposta upstream expõe esses dados.

Relacionados

Como está este guia?

Nesta página