{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-solution-portal/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Loyalty Adapters","description":"Home of the Norce Commerce documentation"},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"loyalty-adapters"},"children":["Loyalty Adapters"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Loyalty adapters connect Norce Checkout with customer loyalty and CRM"," ","platforms. They participate in the checkout flow so that a signed-in loyalty"," ","member can apply their available promotions and reward vouchers to a Norce"," ","Checkout order."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Their job is to:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Resolve a loyalty member against the external loyalty platform."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Attach that member to the Norce Checkout order as"," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["customer.loyalty.id"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Read the promotions and reward vouchers that the member is entitled to."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Write applied promotions and reward vouchers to the order's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["loyalty"]}," ","payload so that the Norce Adapter can translate them into discount line"," ","items in Norce Commerce."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"available-loyalty-adapters"},"children":["Available Loyalty Adapters"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":"Adapter"},"children":["Adapter"]},{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":"Provider"},"children":["Provider"]},{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"/solution-portal/nco/providers/voyado"},"children":["Voyado Loyalty Adapter"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Voyado Engage"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Links a Voyado contact to the order and applies Voyado promotions and reward vouchers as discount codes in Norce Commerce."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"integration-flow"},"children":["Integration Flow"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Loyalty adapters run inside the normal checkout flow, not as a post-purchase"," ","notification. The typical flow is:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The storefront identifies the customer in the loyalty platform (e.g. via"," ","login, phone number, or email) and obtains the external contact id."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The storefront calls the loyalty adapter's \"set loyalty\" endpoint with"," ","that contact id. The adapter validates the contact and stores it on"," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["order.customer.loyalty.id"]}," with the correct ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["provider"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The storefront calls the adapter's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["promotions"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["rewardvouchers"]}," ","endpoints to list what the customer is entitled to."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The customer selects promotions and/or reward vouchers, and the"," ","storefront calls ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["apply"]}," / ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["remove"]}," on the adapter. The adapter writes"," ","these to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["order.customer.loyalty.promotions[]"]}," and"," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["order.customer.loyalty.rewardVouchers[]"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The Norce Adapter reacts to those loyalty changes and adds the"," ","corresponding discount line items to the cart in Norce Commerce."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"configuration"},"children":["Configuration"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Loyalty adapters are configured per merchant/channel in Norce Checkout Admin"," ","alongside other adapters. Each loyalty adapter needs:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Credentials for the external loyalty platform (API key, client id, etc.)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The adapter's internal and public URLs."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Adapter-specific configuration such as Norce discount ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["externalId"]}," ","mappings used when applying rewards to the Norce order. For the Voyado"," ","Loyalty Adapter this mapping is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["rewardVoucherLevels"]},"."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["See the individual adapter pages for the required fields."]}]},"headings":[{"value":"Loyalty Adapters","id":"loyalty-adapters","depth":1},{"value":"Available Loyalty Adapters","id":"available-loyalty-adapters","depth":2},{"value":"Integration Flow","id":"integration-flow","depth":2},{"value":"Configuration","id":"configuration","depth":2}],"frontmatter":{"title":"Loyalty Adapters","checkout_path":"Norce Checkout (NCO)","execution_domain":"NCO Order API / NCO Adapters","product_area":"Checkout","product_component":"NCO","seo":{"title":"Loyalty Adapters"}},"lastModified":"2026-04-23T13:17:51.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/solution-portal/nco/providers/loyalty-adapters","userData":{"isAuthenticated":false,"teams":["anonymous"]}}