--- title: "POS Coupon API" slug: "pos-coupon-api" updated: 2026-10-12T05:17:35Z published: 2026-10-12T05:17:35Z canonical: "products.egretail.cloud/pos-coupon-api" --- > ## Documentation Index > Fetch the complete documentation index at: https://products.egretail.cloud/llms.txt > Use this file to discover all available pages before exploring further. # POS Coupon API ## Released 12 October 2026 **Promotion merge skips unsupported promotions, rollback cleanup script added** ([RTP-54120](https://jira.eg.dk/browse/RTP-54120)) Promotion refresh, which reads stored promotion data, can fail if the database contains data that is not supported by the running version. A script is provided to manually remove unsupported promotions from the database before performing a rollback. Promotion merge, which processes incoming promotion updates, skips an unsupported promotion and continues processing the remaining promotions instead of failing the entire update. **Staging Cleanup Configuration** ([RTP-51076](https://jira.eg.dk/browse/RTP-51076)) The staging cleanup configuration lets you define how long successfully processed batches are kept before they are deleted. The default retention period is 60 days. Cleanup limits and retention settings are available in the configuration, allowing each tenant to adjust them to match their operational needs. **POSCouponServiceIntegration Package Version** ([RTP-54173](https://jira.eg.dk/browse/RTP-54173)) The POSCouponServiceIntegration package uses version 1.0.0 so the existing LIP package upgrades in place. This prevents multiple package versions from running in parallel and avoids the need for manual reconfiguration during the PROD release. **Automatic Recovery During Temporary Database Delays** ([RTP-44895](https://jira.eg.dk/browse/RTP-44895)) Promotion and coupon synchronization continues automatically during temporary database delays. Background processing retries supported database timeout errors, reducing the need for manual intervention and improving synchronization reliability. No changes are made to the user interface or API behavior. **Bonus Check Redemption Validation** ([RTP-48281](https://jira.eg.dk/browse/RTP-48281)) Bonus check redemption displays a clear message when a bonus check cannot be redeemed. This applies to bonus checks that are already redeemed or expired, helping users understand why the redemption is unsuccessful. --- ## Released 26 May 2026 **Promotion Refresh Performance** ([RTP-48188](https://jira.eg.dk/browse/RTP-48188)) Promotion refresh completes faster and more reliably when handling a large number of promotions. The process uses optimized database queries and efficient data handling to reduce processing time and lower system load. This improves stability during service startup and scheduled nightly runs, ensuring promotions are available without delays. --- ## Released 24 September 2025 ### Salesforce coupon provider [(RTP-40114)](https://jira.eg.dk/browse/RTP-40114) POS and POSCouponService support coupons from the Salesforce provider. The provider delivers both personalized and anonymous coupons per member from Salesforce. The coupons connect to promotions set up in SAP and the EG Promotion module. When a coupon is fetched in POS, it matches with the correct promotion offer and applies the right discount at checkout. ****POS Configuration**** Configuration in existing parameters: **CouponProvider** - must be set to 'PosCouponService'. **PosCouponServiceUrl** - must be set to point to the Url to the PosCouponService. **CloudAccessServiceUrl** - must be configured with the correct Url to the service in POSServices. **LoyaltyProgramID** - should match the value of LoyaltyProgramNumber in POSCouponService config in Tenant admin. **DigitalMemberCouponsEnabled** - should be enabled ‘True'. ### Support for new coupon provider "iCoupon" in POS and PosCouponService [(RTP-36235)](https://jira.eg.dk/browse/RTP-36235) The new coupon provider "iCoupon" is now supported in POS and PosCouponService. Three different coupon types are supported: - Subtotal discount coupons - Tender value coupons - Multi value tender coupons The subtotal discount coupons are, just like the name suggest, coupons that award a subtotal discount on the receipt. The other two coupon types are tender coupons and the difference between them is that the multi value coupon can be redeemed in portions and the other can only be redeemed one time (in total). All coupons are fetched to POS from iCoupon via the PosCouponService by scanning a QR code inn POS using the new function SEARCH_AND_SELECT_ICOUPON_COUPONS. This function should be set up on a button that the cashier press before scanning the coupon QR code. If the coupon QR code include one coupon it will be automatically selected but if the code contain several coupons the cashier will have to select what coupons should be activated. ****POS Configuration**** New parameter: - **'CouponLocationId'** - This value is used to identify the location of the cash register when fetching coupons. This can be an airport code (OSL, TRD or similar) or another code. If this is left empty. The value from parameter "Airportcode" is used. Existing parameters: - **'CouponProvider'** - must be set to 'PosCouponService' - **'PosCouponServiceUrl'** - must be set to point to the Url to the PosCouponService. - **'CloudAccessServiceUrl' -** must be set to the service in PosServices to service for getting Access token to POSCouponService in - **'ButtonConfig'** - Add a menu or button that will call function SEARCH_AND_SELECT_ICOUPON_COUPONS. - **'LoyaltyProgramID' -** should match the value of LoyaltyProgramNumber in POSCouponService config in Tenant admin. - **'CouponAcceptTooHighValue'** should be enabled (true) to be able to reduce the amount of the redemption when a tender value voucher amount is higher than the receipt total. --- ## Released 10th of March 2025 **Support for mix match type 105 in PosCouponService** [(RTP-35414)](https://jira.eg.dk/browse/RTP-35414) PosCouponService with the EG CouponService provider supports coupons with mix match type 105. Coupon offers created in Promotion Management and Coupon Management can be retrieved by POS through PosCouponService, allowing for weight-based coupon campaigns for members. --- ## Released 26th of February 2025 **Improved Coupon Handling for Multiple Memberships** ([(RTP-35878)](https://jira.eg.dk/browse/RTP-35878) When multiple membership numbers are linked to a registered identity, POSCouponService sends all of them to CouponService. This ensures that POS retrieves all available coupons, providing more reliable coupon handling. --- ## Released 16th of December 2024 #### New provider for POS Coupon Service, EG Coupon Service [(RTP-27716)](https://jira.eg.dk/browse/RTP-27716) When using EG Coupon Service as provider everything is handled by POSCouponService, CouponService and PromotionService. Discounts are fetched by POS from POS CouponService (not POS Master). ****More information about dataflow and setup / parameters in Confluence**** POS Coupon Service in general: [Integration - POS Coupon Service - EG Retail Platform - Confluence EG A/S](https://confluence.eg.dk/display/RTP/Integration+-+POS+Coupon+Service) Specific for EG Coupon Service provider: [Provider EGCouponService - EG Retail Platform - Confluence EG A/S](https://confluence.eg.dk/display/RTP/Provider+EGCouponService) #### Commit coupons [(RTP-33982)](https://jira.eg.dk/browse/RTP-33982) If POS is not able to commit coupons. It will save transaction locally and retry the commit according to schedule in new parameter. ****POS Configuration**** New POS parameter: **OfflineCouponRedemptionJobSchedule** - 0 0/20 * * * ? If blank it is not active. Set to Cron schedule. This only works if existing parameter **IgnoreCouponCommitErrors** is set to True. #### **Fetching Voyado Member Coupons and Bonus Checks in POS** [(RTP-26354)](https://jira.eg.dk/browse/RTP-26354) POS can retrieve member coupons and bonus checks (reward vouchers) through the POSCouponService when using the Voyado member integration. This method supports multi-country setups, ensuring coupons and bonus checks are fetched from the correct Voyado endpoint for each country. Retailers can manage loyalty programs more flexibly across different countries or store groups. ****POS Configuration**** Important existing parameters: **PosCouponServiceUrl** (default empty) - should be set to [https://poscouponservice.egretail-test.cloud/](https://poscouponservice.egretail-test.cloud/) for TEST and [https://poscouponservice.egretail.cloud/](https://poscouponservice.egretail.cloud/) for PROD. **CouponProvider** (default value 'None') - should be set to 'PosCouponService'. **LoyalytProgramId** (default value '0') - should be set to the corresponding value (0, 1 or 2) pointing for the correct config in TenantAdmin PosCouponService and PosCustomerService. In a multi country setup this number will be different for each country and should be carefully configured in TenantAdmin for the different services and routings. **CustomerMasterLocation** (default value 'Internal') - should be set to 'Internal' if bonus checks / reward vouchers from Voyado will be used. This has no effect if only coupons are used. **Fetching coupons for H&ME members using SapCRMID** ([(RTP-32332)](https://jira.eg.dk/browse/RTP-32332) POSCouponService fetch coupons for both H&ME members and T&ME member using SapCRMID. This ensures consistent behavior across multiple loyalty programs for both H&ME and T&ME members with the Hybris integration. **Redeeming Coupons for Members with SAPCrmId** ([(RTP-35517)](https://jira.eg.dk/browse/RTP-35517) PosCouponService reformats coupon IDs and member IDs into a simplified format for communication between POS and PosCouponService. This ensures consistent handling of coupon redemption requests for both T&Me and H&Me members.