Skip to main content

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.

ProxyEvents
DirectionHii Retail reads from the external OMS on demandExternal OMS pushes orders to Hii Retail
Data ownershipExternal OMS owns order dataExternal OMS owns order data; Hii Retail stores a local copy
GET performanceDepends on external system response timeControlled by Hii Retail
Outgoing notificationsVia PosLog subscriptionVia PosLog or dedicated customer order events (WebHook)
Conflict handlingMust be implemented by external OMSHandled 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.