This page describes how to design and implement shopping integrations between Norce Commerce and external systems, such as ERP and payment providers. It covers recommended integration patterns, API usage, and best practices for handling orders, deliveries, invoices, and related events.
Order integration begins when the checkout process is completed and payment is committed with the Payment Service Provider (PSP). Norce Commerce offers a flexible integration solution that can be adapted to various business processes. However, starting from a default integration pattern simplifies discussions and implementation.
Order Integration Process Diagram:
The following diagram illustrates the typical order integration flow between Norce Commerce, ERP, and other systems.
Diagram: Order integration process between Norce Commerce and ERP systems.
Order Reception in Norce Commerce
- When an order is received, Norce triggers the
OrderReceivedEvent
. - Integrations can listen to this event, fetch order data via Norce Commerce Query, and send notifications (e.g., email) to the end customer.
- Norce pushes the actual order (
OrderRequest
message) to the integration using a REST protocol. An “OK” response is expected. If the call fails, Norce retries before alerting and logging the order.
- When an order is received, Norce triggers the
ERP Order Processing
- The ERP system receives the order asynchronously. It is best practice to store the message in a queue and return an “OK” to Norce immediately.
- The ERP processes the order, which may take time.
Order Status Updates
- The ERP can send status updates to Norce during processing.
- An acknowledgement updates the order status in Norce Commerce to “Confirmed” and adds the ERP order number for traceability.
- Other statuses, such as “canceled,” can also be sent.
Order Dispatch and Delivery
- When the order is picked, packed, and shipped, the ERP sends a delivery note to Norce, including tracking information.
- The integration can also notify the end customer via email.
Invoice Creation and Payment Capture
- When the ERP creates an invoice, it sends the finalized order information to Norce.
- Norce uses this invoice to trigger a capture message to the PSP.
After the order is sent to the ERP, Norce Commerce does not track detailed order changes. Only general status changes are maintained. For clients needing detailed order history, it is best practice to provide this data directly from the ERP to the frontend application.
Norce Commerce provides several APIs for system integration:
- Norce Commerce Connect:
Used for all system integrations. Read how to call Norce Commerce Connect. - Norce Commerce Query:
Used to look up and fetch data. Read how to use Norce Commerce Query. - Norce Commerce Event:
Used to start processes when events occur in Norce Commerce. Read how to use Norce Commerce Event.
This section lists common integration endpoints, with explanations and links to examples and resources.
For more detailed integration patterns, see System integration patterns.
For order receiver implementation, see Implement an Order Receiver Service.
Norce Commerce sends a CreateOrder
call (SOAP or REST) to a configured client URL and expects a status response or exception.
The ERP sends order acknowledgements and status updates to Norce Commerce using the SendOrderStatus endpoint.
Common statuses:
Status | Description |
---|---|
Allocation | Waiting on response from ERP (initially set by Norce) |
Confirmed | Order confirmed by ERP; ERP order number sent to Norce |
BackOrder | Order pending, waiting on suppliers |
Delivered | Order delivered, not invoiced |
Invoiced | Order invoiced and completed |
Cancelled | Order annulled |
PartlyDelivered | Order partly delivered, not invoiced |
ReadyForPickup | Order ready for pickup at store |
Additional fields (order info types) can be included in the status update for Norce Commerce to store important order information.
When a dispatch advice is created in the ERP, a delivery note can be sent to Norce Commerce with tracking information and references to the sales order. This step is optional but useful for customer notifications and tracking.
- CreateDeliveryNote API reference
- Delivery notes automatically update order status to “Delivered.”
- Multiple delivery notes per order are allowed.
- Parcel numbers can be included for customer display.
For orders requiring payment capture, the ERP sends an invoice to Norce Commerce, which triggers payment capture with the PSP.
- CreateInvoice API reference
- Invoices automatically update order status to “Invoiced.”
- Multiple invoices per order are allowed.
Payment functionality may vary by payment method and provider. Consult payment service documentation for details.
For order returns requiring repayment to the customer, use the CreditPayment endpoint. This requires a credit invoice for the sales order. Norce checks payment information and sends a credit payment call to the PSP.
Postman credit payment example
Norce Commerce Event provides several event types for integration, mainly for notifications to customers or other systems.
Triggered when Norce Commerce receives an order from the application, before sending it to the ERP. Delivered once per order. Use this event to send order received notifications.
Note: The order may not be fully created when this event is triggered. Send only minimal notifications at this stage.
Triggered when Norce Commerce receives an order confirmation from the ERP. Delivered once per order. Use this event to send confirmation emails.
Triggered when Norce Commerce receives an order status update indicating readiness for pickup. Delivered once per order. Use this event to send pickup notifications.