# API Design
Our API is a traditional REST-based API, designed to make it simple to find and use the right endpoints for what you are trying to achieve.
To make it simpler to reason about, we have divided the API into 6 main areas, representing a logical grouping of concepts within the life of a print Job.
This grouping makes it simpler to discover what you need, provides a convenient block for authorisation, and provides operational advantages for the platform, allowing stronger quality-of-service guarantees.
# Business API
This part covers everything related to the ordering of printed goods and the business transactions that lie behind it, such as customer information, payment information, invoicing information, etc. The Order is loosely coupled to Jobs via its line items, but apart from this we keep the two independent.
The Zaikio platform can easily be used as a repository for Order information without ever sending a print Job through it, or vice-versa.
Candidate usages include:
- Web2Print solutions
- MIS products
# Jobs API
This part covers everything related to a single printed Job. Since Zaikio's function is that of a data exchange, it doesn't know about templates, instead it requires a complete job specification for every single job produced. Job specifications cover all information necessary to describe a printed item: job parts including their layout (both boxed and path-based), colours, desired substrates, as well as finishings and their application, raw material requirements and confectioning (packaging during production).
Candidate usage is anything integrating with Zaikio.
# Estimation API
This part covers everything required to take a draft Job and produce a detailed costings, quotes and possible production plans.
Candidate usages include:
- MIS products
- Estimation tools
- Procurement tools
# Production API
This part is concerned with the process of turning a Job into a finished product. An extensive set of building blocks for setting up and scheduling intricate work flows provides everything needed to model even gang or batch jobs.
Candidate usages include:
- Imposing tools
- Workflow tools
- Scheduling tools
- MIS products
# Logistics API
This part covers how products and other materials are picked, packed and dispatched to their destinations, including carrier and parcel information, manifests, shipping lists and the like. We strictly separate confectioning (applying packaging during the production process, which is part of the job specification) and commissioning (applying packaging after the production process and are thus part of the logistics API).
Candidate usages include:
- Warehousing tools
- Shipping tools
- Web2Print platforms retrieving Order shipment information
- MIS products
# Shop floor API
The part covers all of the connected devices that participate within the production process of a print Job. Machine or Specialist feedback on production status, problems, delays, availability of resources - all of these are covered here.
Candidate usages include:
- Machines reporting Executions - progress through a
Job
'sProductionSlot
s - Specialists reporting and clearing
JobDelay
s onJob
production