{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-developer-portal/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Loyalty Adapters Overview","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-overview"},"children":["Loyalty Adapters Overview"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Loyalty adapters integrate customer loyalty and CRM platforms with Norce"," ","Checkout. They let a signed-in loyalty member apply their promotions and"," ","reward vouchers to a Norce Checkout order."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For general requirements and access details, see"," ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/developer-portal/app-development/nco/how-to-access"},"children":["How to access Norce Checkout"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"api-environments-and-urls"},"children":["API Environments and URLs"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["All Norce Checkout loyalty adapters use the same URL pattern:"]},{"$$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":"Environment"},"children":["Environment"]},{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":"URL Pattern"},"children":["URL Pattern"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Production"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://{slug}.api-se.norce.tech/checkout/{adapter}-adapter"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Stage"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://{slug}.api-se.stage.norce.tech/checkout/{adapter}-adapter"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Playground"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://{slug}.api-se.playground.norce.tech/checkout/{adapter}-adapter"]}]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Replace ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["{slug}"]}," with your unique Norce instance slug and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["{adapter}"]}," with"," ","the provider-specific name (e.g. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["voyado"]},")."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"how-loyalty-adapters-work"},"children":["How Loyalty Adapters Work"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Loyalty adapters read and write ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["order.customer.loyalty"]}," on the Norce"," ","Checkout order. A typical flow is:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The storefront identifies the customer in the loyalty platform and"," ","obtains an 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 against the loyalty"," ","platform and stores it on ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["order.customer.loyalty.id"]}," together with the"," ","correct ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["provider"]}," value."]},{"$$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 items to apply. The storefront calls the adapter's"," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["apply"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["remove"]}," endpoints. The adapter writes the selection 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":"p","attributes":{},"children":["All promotion and reward-voucher endpoints require"," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["order.customer.loyalty.id"]}," to be set first. If it is missing, the adapter"," ","returns ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["loyalty-id-missing"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"available-loyalty-adapters"},"children":["Available Loyalty Adapters"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"/developer-portal/app-development/nco/adapters/voyado-loyalty-adapter"},"children":["Voyado Loyalty Adapter"]}]}]}]},"headings":[{"value":"Loyalty Adapters Overview","id":"loyalty-adapters-overview","depth":1},{"value":"API Environments and URLs","id":"api-environments-and-urls","depth":2},{"value":"How Loyalty Adapters Work","id":"how-loyalty-adapters-work","depth":2},{"value":"Available Loyalty Adapters","id":"available-loyalty-adapters","depth":2}],"frontmatter":{"seo":{"title":"Loyalty Adapters Overview"}},"lastModified":"2026-04-23T13:14:53.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/developer-portal/app-development/nco/loyalty-adapters","userData":{"isAuthenticated":false,"teams":["anonymous"]}}