Documenso
Crie envelopes Documenso v2 com upload de PDF multipart e erros tipados do SignatureKit.
Documenso cria um envelope v2, envia PDFs como multipart e pode distribuir o envelope quando send está ativo.
Instalação
npm install @signature-kit/http @signature-kit/documensoQuando usar
Use Documenso quando posse do envelope, roteamento e ações de destinatário ficam no Documenso. Use assinatura local para bytes PDF/PAdES no processo.
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
import * as Alchemy from "alchemy"
import { DocumensoSignatureRequest, providers as documensoProviders } from "@signature-kit/documenso"
import { signatureHttpClientLive } from "@signature-kit/http"
import { Effect, Layer, Redacted } from "effect"
export default class Contracts extends Alchemy.Stack<Contracts>()(
"Contracts",
{
providers: Layer.merge(
documensoProviders({
apiKey: Redacted.make(process.env.DOCUMENSO_API_KEY ?? ""),
baseUrl: "https://app.documenso.com/api/v2",
}),
signatureHttpClientLive,
),
state: Alchemy.inMemoryState(),
},
Effect.gen(function* () {
return yield* DocumensoSignatureRequest("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
- Usa a API v2 de envelope com upload multipart.
send: falsepara após a criação e retorna um request em draft.- Roles e ordem de assinatura mapeiam para campos do envelope Documenso.
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?