Printless for developers

Go Printless button

Add Printless to your site in one line.

Drop a button on any page. Your customer taps it, enters their phone, and instantly gets your print — a receipt, token, ticket or invoice — in the Printless app or over WhatsApp. No printer, no paper.

↑ Live demo — try it. (No real print is sent.)

One line of HTML

Load the script once, then place a button anywhere with your publishable key and a template reference. That's it — the button renders itself and handles the phone prompt, delivery and status.

<script src="https://js.printless.app/button.js" async></script>

<div class="printless-button"
     data-printless-key="pk_live_your_publishable_key"
     data-printless-template="tmpl_your_template"></div>

How it works

1

Create a publishable key

In the Portal Developers page, generate a pk_live_ key locked to your website's domain. It's safe to put in public HTML.

2

Register a template

Define the print once (type, title, content) with your secret key. You get a tmpl_ reference to point the button at.

3

Drop the button

Paste the snippet. On tap, Printless collects the phone and delivers the print — in-app, or WhatsApp for new customers.

Button attributes

Set these on the button element. Only the key and template are required.

AttributeDescription
data-printless-key requiredYour publishable key (pk_live_…). Origin-locked, create-only.
data-printless-template requiredThe template reference (tmpl_…) to issue.
data-printless-labelButton text. Default Go Printless.
data-printless-mobilePre-fill the customer's phone (skips typing).
data-printless-variablesJSON object filling {{placeholders}} in the template, e.g. {"order":"A-91"}.
data-printless-themelight for a white button on dark backgrounds. Default is brand purple.
data-printless-sizecompact for a smaller pill.

You can also render programmatically: Printless.render('#el', { key, template }), or open the flow directly with Printless.open({ key, template }).

Richer documents (server-to-server)

The button issues a template print in one tap — perfect for receipts, tokens, tickets and invoices. When you need a full multi-page document, issue it from your backend with an API key instead of the button:

FormatUse it for
Print — native .printless documentA structured, multi-page document rendered natively and end-to-end encrypted on the customer's phone. POST /ent/v1/print (Professional plan and above). Since v1.2 a document can carry its own lang and dir — an Arabic document reads right-to-left whatever the reader's phone language — and a meter block shows a value against its range.
Legacy — PDFA finished PDF delivered as-is and opened in the phone's native PDF viewer. POST /ent/v1/print/document, deprecated — Business plan only, the same rule as the PDF upload in the vendor apps and portal. Don't build anything new on it.

Full request shapes and the block vocabulary are in the API reference.