External coupons

Coupons that are defined on an external system are also computed and validated on that external system. With the IsExternal attribute, the external system can pass coupon information to the Sterling Order Management System Software createOrder, changeOrder, and getOrderPrice APIs. Sterling Order Management System Software considers this coupon along with any internally defined pricing rules and coupons.

Additionally, the user exit, validateExternalPromotionsUE, can be implemented to recheck whether the external coupon is still valid or whether changes are needed as a result of changes on the order. This user exit can also be used for adding or removing awards and promotion references. Once the results are passed to the pricing module, they are applied to the order.

By default, the validateExternalPromotionsUE is suppressed. By passing the attribute, ValidateExternalCoupons=Y to the createOrder or changeOrder input XML, you can enable external validation rechecking.

Only external coupons with a PromotionGroup value of COUPON are supported. External systems are also required to provide the following information for order input:
  • Whether the coupon applies to the header or order lines.
  • If the coupon applies to order line(s), then which order lines it should be applied to.
  • Absolute dollar discount for each applicable line.
  • Coupon references, so that multiple instances of paper coupons and single coupons that share the same coupon definition can be provided as promotion references.
  • Linked awards. Charges will be created by Sterling Order Management System Software.
  • Exclusivity details of the external coupon are optional, but if not provided, the default Exclusivity Type of "Pricing rule can combine with any other pricing rule" is applied.

Sterling Order Management System Software also has the ability to store externally scanned coupon barcode references, including multiple barcode references.

For more information about implementing external coupons, see Javadoc.