Customer Order Service
Introduction
This service handles Customer Orders as a part of the Hii Retail system. It supports two integration approaches for connecting with external Order Management Systems (OMS): Proxy and Events.
| Proxy | Events | |
|---|---|---|
| Direction | Hii Retail reads from the external OMS on demand | External OMS pushes orders to Hii Retail |
| Data ownership | External OMS owns order data | External OMS owns order data; Hii Retail stores a local copy |
| GET performance | Depends on external system response time | Controlled by Hii Retail |
| Outgoing notifications | Via PosLog subscription | Via PosLog or dedicated customer order events (WebHook) |
| Conflict handling | Must be implemented by external OMS | Handled by the service |
Choose the approach that best fits your integration requirements. Both approaches can be configured per tenant.
Proxy
The service can be configured to work in a proxy mode per each tenant's request. When in this mode, you are able to access only the read endpoints of the service, and the requests are proxied to the configured URL. Learn more about the proxy mode:
Events
The events approach allows external systems to push customer order data into Hii Retail via a PUT endpoint. Orders are stored within Hii Retail, and outgoing events are emitted when order status changes (e.g., picked up in store). Learn more about the events approach:
Additional Features with Events
The events approach unlocks several features that are not available with the proxy approach. These may be relevant if you are evaluating which integration to adopt.
Conflicts
Conflicts can occur when the POS and the external OMS act on the same order simultaneously (e.g., handing out an order while it is being cancelled). This applies to both integration approaches.
Performance
The choice of integration approach has implications for GET endpoint performance and the overall user experience at the POS.