Skip to main content

Integration guide · API v1

Asset tags

A 3 × 1 inch tag for fixed assets, fleet and yard equipment: the owning department, its location, and the asset number as a Code 128 barcode.

The request

Send this body to POST https://api.zeepler.com/v1/zeeplify with your API key in the x-api-key header. It is a working request, not an illustration: on every change, our tests run this same file through the API's code and compare the result with the ZPL below.

json
1{
2 "config": {
3 "size": "3x1"
4 },
5 "data": {
6 "asset": "AST-88213",
7 "dept": "PUBLIC WORKS",
8 "location": "YARD-3"
9 },
10 "templates": [
11 {
12 "type": "Text",
13 "dataPath": "dept",
14 "coords": [20, 15],
15 "font": "0,28",
16 "maxLength": 20
17 },
18 {
19 "type": "Text",
20 "dataPath": "location",
21 "coords": [20, 50],
22 "font": "0,24"
23 },
24 {
25 "type": "BarCode",
26 "dataPath": "asset",
27 "coords": [20, 85],
28 "style": "code128"
29 }
30 ]
31}

And the ZPL that comes back, ready to send to the printer:

zpl
^XA^MCY^XZ
    ^XA
    ^SZ2
    ^MMT
    ^MNY
    ^LL210
    ^PW615
    ^LH0,0
^CF0,28^FO20,15^FDPUBLIC WORKS^FS
^CF0,24^FO20,50^FDYARD-3^FS
^BY2,2,59^FO20,85^BCN,,N,N,N,A^FDAST-88213^FS
^XZ

What each part does

  • dept carries maxLength: 20. A 3 × 1 inch label is 615 dots wide, and a department name is the value most likely to be long.
  • location prints smaller, beneath it.
  • asset is a Code 128 barcode. For a purely numeric product code, the API also takes ean13, which needs 12 or 13 digits.

Sending it

  • Call the API from your own server or integration engine, not from a web page. An API key in a browser is a key anyone can copy.
  • A successful call answers 200 with the ZPL as plain text. A request the API cannot turn into a label answers 400 with every problem listed by field, and is not billed.
  • Send the ZPL to a Zebra or other ZPL printer at 203 dpi. At 300 dpi the same label prints at two-thirds of the size.

The API reference has every field and status code.

Before you go live

  • The API makes 3 × 1 and 4 × 2 inch labels. Load the matching stock, and set the printer to it, before you print.
  • Text does not wrap. A value longer than the space you left runs off the edge of the label, so set maxLength on any field whose length you do not control.
  • Coordinates are in dots from the top-left corner. Print one label, measure it, and adjust: there is no preview.
  • Scan every barcode and QR code on a printed label before relying on it.

Your data

zeepler runs on Amazon Web Services in the United States (us-east-1).

A label request is used to generate the label and is then discarded. zeepler does not store request bodies and does not write them to its logs.

Send only the fields the label prints. zeepler reads the fields your templates name and ignores the rest, but there is no reason to send data that will not be used.

The Security page sets out what is kept, for how long, and who can reach it.

Audit trail

For every label it generates, zeepler records the account, the time, the endpoint, how long it took and how many labels it made. It does not record what was on the label, and a refused request leaves no record here. These records are kept for 90 days, and they are what billing is calculated from.

The dashboard shows this month's totals. The individual records cannot be exported yet, so keep your own record of what was printed, when and by whom. Your system remains the system of record.

Help with an integration

Email zeepler@bates-solutions.com. You will get a reply within 2 business days. The support policy covers response times and version changes.