DocuHook
Webhook JSON to PDF.
Merge webhook JSON into an HTML template and get a PDF back. Built for WooCommerce invoices, Next.js routes, Zapier/n8n, and any HTTP client — preview live, no account.
Live sandbox
Edit either pane. Tokens like {{customer.name}} pull from your JSON.
WordPress & WooCommerce
Turn a WooCommerce order.completed webhook into a PDF invoice without running Puppeteer on your server. Install the plugin, add your API key under Settings → DocuHook, call docuhook_render().
HTML to PDF API
Register for an API key. POST data (JSON) + html (template). Sync returns a PDF immediately; async accepts webhook bursts with a 202 job — no connection held open.
POST /api/v1/render
Authorization: Bearer dh_...
Content-Type: application/json
{
"mode": "sync",
"data": { "invoice": { "number": "INV-1" } },
"html": "<h1>{{invoice.number}}</h1>"
}
# Returns application/pdf by default. Use "format": "html" for merge-only.
# Bursts / webhooks (returns 202 job):
POST /api/v1/hooks/render
Authorization: Bearer dh_...
Guides
Copy-paste recipes for webhook→PDF vs Zapier/n8n, Next.js, WooCommerce, and serverless Puppeteer.
- Webhook to PDF: Why Not Just Zapier or n8n? What Zapier and n8n webhook→PDF recipes actually do, when they win, and when a single data + html API call is the simpler path.
- How to Generate PDF from HTML in Next.js Copy-pasteable guide: merge JSON into an HTML invoice in a Next.js route, then download a PDF — without Puppeteer on your server.
- WooCommerce Webhook to PDF Invoice Step-by-step: turn a WooCommerce order.completed webhook into a PDF invoice with HTML templates — WordPress plugin + DocuHook API, no Puppeteer.
- Puppeteer Serverless HTML to PDF Timeout Fix Why Chrome-on-Lambda times out, and how to replace the merge step with a ~200ms API call so your serverless function stays under the limit.