Examples

Code Examples

Simple code examples for common Extend SDK integration patterns.

Configuration

// Basic configuration
Extend.config({
  storeId: 'YOUR_STORE_ID'
})

// Production configuration
Extend.config({
  storeId: 'YOUR_STORE_ID',
  environment: 'production',
  region: 'US',
  locale: 'en-US'
})

Product Protection

// Render warranty offer
Extend.buttons.render('#extend-offer', {
  referenceId: 'PRODUCT_SKU_123',
  price: 29999,
  category: 'Electronics'
})

// Get warranty selection
const component = Extend.buttons.instance('#extend-offer')
const warranty = component.getPlanSelection()

// Cart warranty offer
Extend.buttons.renderSimpleOffer('#cart-warranty', {
  referenceId: 'PRODUCT_SKU_123',
  price: 29999,
  category: 'Electronics',
  onAddToCart: function(options) {
    // Add warranty to cart
    const { plan, product, quantity } = options
    console.log('Adding warranty:', plan.planId)
  }
})

// Modal warranty offer
Extend.modal.open({
  referenceId: 'PRODUCT_SKU_123',
  price: 29999,
  category: 'Electronics',
  onClose: function(plan, product) {
    if (plan) {
      console.log('Warranty selected:', plan.planId)
    }
  }
})

Shipping Protection

// Cart items for shipping protection
const cartItems = [
  {
    referenceId: 'PRODUCT_SKU_123',
    quantity: 1,
    purchasePrice: 29999,
    productName: 'Product Name',
    category: 'Electronics'
  }
]

// Render shipping protection
Extend.shippingProtection.render({
  selector: '#shipping-protection',
  items: cartItems,
  isShippingProtectionInCart: false,
  offerType: 'OPT_IN',
  onEnable: function(quote) {
    console.log('Shipping protection enabled:', quote)
  },
  onDisable: function() {
    console.log('Shipping protection disabled')
  }
})

Analytics

// Track product added to cart
Extend.trackProductAddedToCart({
  productId: 'PRODUCT_SKU_123',
  productQuantity: 1
})

// Track warranty added to cart
Extend.trackOfferAddedToCart({
  productId: 'PRODUCT_SKU_123',
  planId: 'warranty-plan-id'
})

// Track checkout
Extend.trackCartCheckout({
  cartId: 'cart-123',
  products: [/* product objects */],
  offers: [/* warranty objects */]
})

// Track shipping protection
Extend.trackSPOfferAddedToCart({
  items: [/* ShippingOffersItem objects */],
  quote: {/* ShippingOffersQuote object */}
})