la-souris/document-signer-sdk
Laravel/PHP SDK for document signing workflows—create, send, and track signature requests directly from your app. Wraps the Document Signer API with a clean client, typed DTOs, and framework-ready configuration for quick integration into Laravel projects.
SignatureProvider abstraction plus concrete provider mentions (DocuSign globally, ValidSign in the Benelux/EU) makes it viable to support a second or third provider for regional, procurement, or customer-preference reasons without forking the contract flow. This is the primary product unlock.send() / downloadSignedDocument() / downloadAudit() surface means switching or adding a provider is an implementation task, not a re-architecture. Useful card to hold in renewal conversations, and a real mitigation for price-hike or deprecation risk.downloadAudit() returning the vendor's native completion certificate (Certificate of Completion, Evidence Summary Report) standardized to PDF lets you make "we retain a provider-issued audit certificate per executed contract" a consistent, auditable policy rather than a per-vendor manual step.{[type:signer:name]}) plus Browsershot PDF rendering is a bet that contracts are generated from templates/data rather than hand-assembled in a vendor UI. That supports self-serve generation, CRM/CPQ-driven contract creation, and versioned template ownership in your own repo.SignedDocumentUnavailableException is explicitly retryable, distinct from ProviderAuthenticationException, ProviderRateLimitException, and ProviderTransientException. This lets you make a deliberate product promise about when a signed document becomes retrievable, and design retry/notification behavior instead of a generic "something failed."Adopt when:
Look elsewhere when:
For executives — one paragraph: We're standardizing how our product talks to e-signature vendors. Today, integrating a vendor means writing bespoke code we can't reuse, which makes every vendor change a project and every renewal a one-sided negotiation. This library gives us a single internal interface for sending contracts, retrieving signed PDFs, and pulling the vendor's compliance certificate. The strategic value is optionality: we can add a regional provider for EU customers, or switch providers, without touching the contract flow. It is a v1.0.0 open-source dependency, not a platform — it reduces integration cost and vendor lock-in, but it does not give us a signing UI, identity verification, or a contract database. Those remain our build items.
For engineering — the honest summary:
send(), downloadSignedDocument(), downloadAudit(), plus webhook handling. Provider differences are absorbed by mapping a single Document::$id to vendor-internal ids — a good call, it keeps caller code uniform.SignedDocumentUnavailableException, ProviderTransientException, ProviderRateLimitException) is cleanly separated from terminal (ProviderAuthenticationException, ProviderValidationException, ProviderNotFoundException). Build your retry policy directly on this.How can I help you explore Laravel packages today?