SignatureKit
APIs de provedores

DocuSeal

Create DocuSeal PDF submissions with X-Auth-Token credentials and typed SignatureKit errors.

DocuSeal cria uma submissão PDF e devolve links de submitter. É uma API de request de provider, não uma layer local de signer.

Instalação

npm install @signature-kit/core @signature-kit/docuseal

Quando usar

Use DocuSeal quando um signer remoto open-source deve hospedar a submissão e coletar assinaturas. Use assinatura local quando SignatureKit precisa produzir os bytes finais.

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

docuseal.ts
import * as Alchemy from "alchemy"
import { DocuSealSignatureRequest, providers as docuSealProviders } from "@signature-kit/docuseal"
import { signatureHttpClientLive } from "@signature-kit/core/http"
import { Effect, Layer, Redacted } from "effect"

export default Alchemy.Stack(
  "Contracts",
  {
    providers: docuSealProviders({
      apiKey: Redacted.make(process.env.DOCUSEAL_API_KEY ?? ""),
      baseUrl: "https://api.docuseal.com",
      sendSms: false,
      submittersOrder: "preserved",
    }).pipe(Layer.provide(signatureHttpClientLive)),
  },
  Effect.gen(function* () {
    return yield* DocuSealSignatureRequest("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

  • Cria uma submissão PDF pela API do DocuSeal.
  • send: false cria draft sem enviar email aos submitters.
  • A ordem dos submitters pode ser preservada quando o upstream suporta.

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

Nesta página