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:

Webhook

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

How to Print Remotely from Kiosk Back to Help Email Support

  • Company
  • Terms & Privacy
  • hello@kidddo.com

    Kidddo, LLC
    Copyright 2018