Skip to content

Barcode Printing API: User Guide

This user guide discusses the following concepts reagarding the Barcode Printing API provided by the Sanger Integration Hub:

  1. The purpose of the Barcode Printing API: Explains why the API was set up and the advantages of having such an API.
  2. How to use the Barcode Printing API: Goes through how to access the API.
  3. Example usages of the Barcode Printing API: Lists some example use cases of the Barcode Printing API.

The purpose of this document is to provide users with an overview of the Barcode Printing API and what it is designed to achieve. It includes a high-level discription of how the system is connected to the underlying barcode printing providers, but it does not expore the detailed technical implementation. Although, it must be mentioned that the underlying system is simple and not very difficult to grasp; however, as this is just a user guide, this document's scope does not cover the deep technical aspect(s).

Nomenclature

Before going through the rest of the documentation, it is advisable to go through the nomenclature that the Barcode Printing API uses in order to distinguish between different entities:

  • Barcode: A barcode is an image that encodes multiple information in it. Basically, it is an image that when decoded, provides information encoded within it. For example, a labware (e.g., plate, tube) barcode may encode information such as the labware identifier, labware type, timestamps, and the like.

  • Label: A label is a physical paper that includes a barcode printed on it. A label can usually be attached to a physical object.

  • Printer: This refers to a printer that a label could be printed and obtained from. Sanger has multiple label printers configured that are accessible via different protocols. Handling the different protocols are delegated to the barcode printing providers.

  • Barcode printing providers: These providers directly interact with the underlying barcode printers. They encapsulate the protocols and the business logic when it comes to interacting with the pritners and provides a convenient user interface (e.g., HTTP REST) for the applications to communicate with the printers. print-my-barcode is an example of such providers.