Download the PHP package la-souris/document-signer-sdk without Composer
On this page you can find all versions of the php package la-souris/document-signer-sdk. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download la-souris/document-signer-sdk
More information about la-souris/document-signer-sdk
Files in la-souris/document-signer-sdk
Package document-signer-sdk
Short Description Provider-agnostic e-signature SDK for PHP: build envelopes from HTML templates with {[type:signer:name]} placeholders, render them to PDF, and send them through any SignatureProvider implementation (ValidSign, DocuSign, or your own).
License MIT
Informations about the package document-signer-sdk
Document Signer SDK
A provider-agnostic PHP SDK for sending HTML documents through e-signature providers.
You author contracts as HTML with {[type:signer:name]} placeholders; the SDK
translates them to the provider's native anchor format, renders the HTML to PDF,
and creates the envelope.
Contents
- Packages
- Framework integrations
- Fluent builder
- Page decoration
- End-to-end example
- Documentation
- Requirements
Packages
| Package | Path | Purpose |
|---|---|---|
la-souris/document-signer-sdk |
sdk/ |
Domain model, placeholder parser, anchor-replacer base, Browsershot PDF renderer, SignatureProvider contract. |
la-souris/document-signer-validsign |
validsign/ |
ValidSign implementation. |
la-souris/document-signer-docusign |
docusign/ |
DocuSign eSignature implementation. |
All three are installed together for local development through the root
composer.json, which exposes them as path repositories.
Framework integrations
Rather than wiring the SDK by hand, two packages integrate it into the popular
PHP frameworks. Each gives you a container-managed DocumentSignerManager that
resolves a SignatureProvider by name, verified webhook routes, and a signer-
email recipient override for dev/staging. They mirror each other — same
providers-list config, same webhook event — so the two stay conceptually
identical:
| Package | Repository | Purpose |
|---|---|---|
la-souris/document-signer-symfony |
document-signer-symfony | Bundle: configuration, driver manager, verified webhook routes, translated event labels. |
la-souris/document-signer-laravel |
document-signer-laravel | Config, service provider, driver manager, facade, Blade placeholder components, verified webhook routes. |
Install the one matching your framework:
Fluent builder
The positional new Envelope(...) constructor still works, but for
step-by-step assembly there's a builder:
addSigner() and addDocument() each accept either a pre-built value
object or the raw constructor arguments via named parameters, so you can
mix styles depending on what reads best at each call site:
build() delegates every domain invariant (duplicate signer keys, empty
document list, etc.) to Envelope's constructor — so a half-configured
builder never blows up mid-chain.
Page decoration
Document accepts optional header and footer HTML with per-document
placement:
Under the hood the SDK's PageDecoration is threaded through to the PDF
renderer. AllPages uses the underlying engine's native repeat-on-every-page
header/footer slot; FirstPage inlines the HTML at the top/bottom of the
body (since browsers have no native "first-page only" flag). See
PDF rendering for the details.
End-to-end example
Swapping providers is a one-line change: instantiate DocuSignProvider with a
DocuSignConfig instead — the Envelope is untouched.
Documentation
Start with Getting started, then dive into the relevant guide:
- Getting started
- Architecture
- Placeholder syntax
- PDF rendering
- ValidSign provider
- DocuSign provider
- Extending the SDK
- Writing a custom provider
- Error handling
- Webhook events
- Symfony integration
- Laravel integration
Requirements
- PHP 8.2
-
A PDF renderer. The SDK bundles a
BrowsershotPdfRendererthat wraps spatie/browsershot, but that package is an optional dependency you must install explicitly if you want to use the default:Constructing
BrowsershotPdfRendererwithout it throws a clear install-hint. To use a different engine, implementPdfRendereryourself (see PDF rendering). - Node.js + Puppeteer (only when using the Browsershot renderer — for headless Chromium)
- A ValidSign or DocuSign account with API credentials