Instnt Print

Printen als een API-aanroep.

Alles wat een printkoppeling je normaal kost — papiermaten, marges, ESC/POS-bytes, afsnijden, opnieuw proberen — gebeurt aan onze kant. Jij stuurt een templatenaam en de waarden die erin gaan.

Het model

Printers hebben namen

Geen poorten, geen serienummers, geen IP-adressen. Je richt je op "Kassa balie". Gaat dat apparaat stuk, dan neemt de vervanger de naam over en merkt je code er niets van.

Templates dragen de opmaak

Ontworpen in de browser, opgeslagen op de server, benoemd met een naam. Jouw verzoek is een plat object met waarden, plus arrays voor herhalende regels zoals de artikelen op een bon.

Opdrachten gaan in een wachtrij

Je krijgt een id en een status terug. De printer kan uit staan; daar hoort je afrekenproces niet op te wachten. Wil je het toch meteen weten, geef dan ?wait=true mee.

De sleutel bepaalt de klant

Niet iets uit het verzoek. Een testsleutel rendert en plant in zonder te printen.

Beginnen in vijf minuten

Maak een sleutel aan in het dashboard onder Sleutels. Gebruik een lbl_test_-sleutel tijdens het bouwen: die rendert en plant in, maar er beweegt geen papier.

Vraag daarna op wat er is, en print ernaartoe.

curl https://instntprint.com/v1/printers \
  -H "Authorization: Bearer $KEY"

curl -X POST https://instntprint.com/v1/jobs \
  -H "Authorization: Bearer $KEY" \
  -H "Idempotency-Key: order-2026-1042" \
  -H "Content-Type: application/json" \
  -d '{
    "printer": "Front counter",
    "template": "Kassabon",
    "data": { "bonnummer": "1042", "totaal": "17,45" }
  }'

Wat ermee gebouwd wordt

Kassa's

Bonnen met artikelregels, btw-regels en een kassalade-puls. Idempotentiesleutels voorkomen dat twee keer drukken twee bonnen oplevert.

Webshops en fulfilment

Pakbonnen aan de inpaktafel, adreslabels op de LabelWriter, en een hele CSV aan bestellingen in één aanroep.

Keukens en balies

Eén bestelling, meerdere printers: eten naar de keuken, drank naar de bar, een afhaalbon naar voren. Elk met een eigen idempotentiesleutel.

Backoffice en archief

Doorlopende nummering, QR-codes die terugwijzen naar je eigen systeem, en labels die de software overleven die ze maakte.

Een werkende koppeling om te lezen

Op de pagina's per branche tekent een printer wat jouw aanroep oplevert, live en zonder account. Log je in, dan krijg je de voorbeeldwinkel erbij: een kassa, een bestellingenscherm en een archief die via diezelfde API printen — geen framework, geen buildstap, de hele koppeling één bestand van zo'n tweehonderd regels.

De randen, vooraf

Twee printers per bridge, één tegelijk

Usb-hubs achter de bridge blijken in de praktijk onbetrouwbaar. Eén printer per bridge is de opstelling waar we vandaag achter staan.

Bonnen ontwerp je achter een bureau

Bonnen bestaan uit blokken en die maak je in de browser. De iOS-app kan ze gebruiken en invullen, niet ontwerpen.

Webhooks zijn er nog niet

De status van een opdracht vraag je nu op. Uitgaande webhooks, inkomende hooks met veldkoppeling, een Make-module en Home Assistant staan als volgende op de rol.

Kopbreedtes van zeldzame modellen

Bekende DYMO- en Epson-modellen zijn nagemeten. Een onbekend model valt terug op een verstandige aanname en zegt dat er ook bij, in plaats van stilletjes op de verkeerde breedte te printen.

Zelf draaien

De server is één Python-proces met SQLite erachter. Wijs een bridge naar je eigen host en er gaat niets buiten je netwerk. Handig als het beleid van een klant zegt dat printgegevens niet naar een derde partij mogen.