Print Webhook
The Printer Webhook provides developers with a JSON data payload to a customizable URL whenever a Kidddo print action is performed (checking-in, test print, reprint).
What can it be used for?
- Supporting existing hardware such as unsupported printers and label sizes.
- Run printers on unsupported platforms and operating systems such as Raspberry Pi, Arduino, etc.
- Build an IFTTT bridge to throw a 5-second lightshow and audio dance party every time someone checks-in.
- Make a TV/monitor burst into welcome fireworks with the child's photo and name.
- Basically whatever you want! :)
Test Print example JSON Payload:
{
"job_type": "test", // Test Print
"printer": "DYMO1", // Printer Name to print to
"timestamp": "2022-08-29 23:28:26"
}
Check-In Print example JSON Payload:
{
"job_type": "checkin", // Check-In Print
"printer": "DYMO1", // Printer Name to print to
"household": { // Household being checked-in
"name": "Appleseed",
"id": "72363"
},
"children": [ // Array of all children being checked-in
{
"id": "210667",
"first_name": "Bobby",
"last_name": "Appleseed",
"birthdate": "2020-10-12",
"gender": "Male",
"allergies_notes": "Gluten", // Displays only if child has notes
"grade": { // Displays only if child is assigned a grade
"name": "P1",
"description": "Walkers",
"label_quantity": 1
},
"room": { // Displays only if child is assigned a room
"name": "Tinker Town",
"description": "Grades P1 + P2",
"label_quantity": 2
},
"photo": "https://kidddo.com/img/icon-play.jpg" // Displays only if child has a photo
},
{
"id": "210666",
"first_name": "Jill",
"last_name": "Appleseed",
"birthdate": "2018-12-14",
"gender": "Female",
"room": { // Displays only if child is assigned a room
"name": "Foundation Forrest",
"description": "Pre-K",
"label_quantity": 1
}
}
],
"code": "777", // Check-in code (unique for each check-in session)
"timestamp": "2022-08-29 23:28:26"
}
Getting Started
From your Settings - make sure "Use Label Printers" is enabled. Then click the Printer Name to bring up the Printer Dialog:

Select the "Webhook" option, enter/paste your webhook URL, and optionally enter a Remote Printer Name for this device to print to.
Example
A basic Node.js Express app to test your POST with endpoint "/webhook":
const port = 3000;
const express = require('express');
const app = express();
app.use(express.json({ extended: true }));
app.post('/webhook', function (req, res) {
console.log(req.body);
res.send(req.body);
});
app.listen(port, function (req, res) {
console.log('Server listening on port ' + port);
});
See Examples on Github