Overview
The purpose of the Logix API is to enable data exchange between Logix Applications and business systems, such as ERP, APS, or CMMS.
The API will ultimately cover the following areas:
Repository of materials and BOM’s
Scheduling production activities
Registering events related to lifecycle of an activity (start/stop/complete)
Exposing selected raw data and aggregated KPIs (including OEE metrics, downtimes, reported labor time)
Goals
Decoupling:
Logix internal data model, of which semantics is known across Logix components, from external data models.
Logix cloud services from implementation of custom integration components, supporting various interfaces, different orchestrations, ETL batch exchanges, and data formats.
Common core message bus and data structure
Security:
Authorizations
DDoS - Request Flood prevention
Events/errors logging
Out-of-the-box observability:
Monitoring
Logging for auditing and debugging
Tracing in case there is a need for deeper problem analysis.
API - formal specification
The description is available here: https://gateway.stage.logix.cloud/index.html
Authentication
To access Logix API you need API Key to authenticate.
To obtain your Key you need to contact Ilabo support.
How to use API
1. Location:
In API calls, you should use IDs for factories (PlantCode) and production lines (LineCode). You can find those IDs in the ConfigHub app in the Plants tab.
2. Handling updates
If you want to add new activities or modify the existing ones, you should use the HTTP PUT method:
- if the activity that you are adding exists, it will be updated.
- if the activity that you are adding does not exist, it will be added as a new activity.
Updating via an external system is not allowed only if a specific activity is blocked as Managed by Logix (it is done by setting a special internal flag in Logix). Such blocking occurs automatically when an activity is added or modified through an app that belongs to the Logix Suite (PackOS or KeepUp).
3. Registering events
Changing the statuses of activities that are in the Logix scheduler can be initiated from outside by invoking dedicated methods on the resources related to specific activities (start/complete).
4. Data validation - and “draft” and “released” states
Activities added through API pass through two stage validation
- simple, synchronous validation done while processing request (unvalidated requests are not persisted)
- complex cross-validation done asynchronously. After initially validated request activity is saved in “Draft” State. Then another dedicated service preforms complex validations of activity (i.e. does Logix have all data needed to process production lifecycle of given activity). This is repeated after each change of activity data. If this validation is positive then activity state is changed to “Released” state. If not - activity stays in “Draft” state and relevant information are added to activity:
- “validationErrorCount” attribute is filled
- detailed information about validation errors are available through additional separate endpoint under each activity (/validation-errors)
Resources
/activities
Read-only use. It returns the activity schedules of all types: scheduled, executed, or historical ones. You can use filters for schedules by providing the LineCode ID and narrowing down the time range of activity (for example, production orders).
/activities/changeovers
Changeovers are always related to production order and they can be created automatically with an order by specifying additional attributes (plannedActivation begin and end).
/activities/cleanings
Dedicated resource is for line cleaning activities.
/activities/orders
Resource to create, update or retrieve information about production orders. It is possible to create at once an Order with correlated Changeover activity by specifying optional Planned Activation dates.
/products
Resource to manage Products registry.