In April and May we shared information about our upcoming API. As we near the official release, we thought now would be a great time to share a bit more information about how the API actually works.
The API is built on a modular and scalable architecture that allows software to be installed locally or distributed among any number of machines spread across a network. This unique setup allows you to increase performance by fine-tuning the number of workers available to the client API making requests.
Communication between modules is handled by a central broker, which enables a single client API to make requests of any module.
- As modules and features are added, the communication interface is maintained.
- The command structure is simple to understand and easy to implement.
The central broker acts as a router for requests created by the client API, and includes automatic load-balancing and fair-queuing of work. The request parameters are formatted as JSON, and validated via json-schema. For example, properties for a presort request could contain presort information such as mail class, piece type, etc.
All requests are asynchronous, with the API providing convenience methods for using it synchronously.
- Progress or status of work is pushed to the API via callbacks, but can also be pulled from the central broker at request.
- Software can generate a request for work and wait for the return. (Synchronous)
- Software can generate a request for work and not wait for the return, freeing up the process while the work is processed. (Asynchronous)
Interested in learning more about the API? Email firstname.lastname@example.org for additional information!