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 */}
})