Documentation Index
Fetch the complete documentation index at: https://docs.videowise.com/llms.txt
Use this file to discover all available pages before exploring further.
A full-screen live shopping channel component that embeds the Videowise live streaming experience. It renders a WebView with the live shopping channel and dispatches custom events for user interactions like adding products to cart.
Note: The LiveShoppingChannel component does not need to be wrapped inside <VideowiseSDK.Provider>. It operates independently.
Props
| Prop | Type | Required | Default | Description |
|---|
videowiseInfo | object | Yes | — | Store configuration (see below) |
offsetY | number | No | 0 | Reduces the height of the component wrapper by screenHeight - offsetY |
style | StyleProp<ViewStyle> | No | — | Custom style overrides for the component wrapper |
onEvent | (event) => void | No | — | Callback for live shopping events |
onAddToCart | (event) => void | No | — | Callback when a product is added to cart |
onCheckout | (event) => void | No | — | Callback for checkout events |
environment | 'local' | 'staging' | 'production' | No | 'production' | Environment target |
lsId | string | No | — | Live shopping ID (for autostart) |
playerBottomOffset | number | No | 0 | Bottom offset (px) for the Live Player component elements |
playerTopOffset | number | No | 0 | Top offset (px) for the Live Player component elements |
vwStyle | string | No | — | Style for the Videowise Live Shopping Channel component |
videowiseInfo object
| Property | Type | Required | Default | Description |
|---|
shop | string | Yes | — | Your store domain (e.g. storename.myshopify.com) |
onEvent callback
Triggered for all live shopping interaction events. The event object has the following structure:
| Property | Type | Description |
|---|
type | 'live-shopping' | Event type identifier |
detail | object | Event detail payload (see below) |
detail object (LSTrackingEventData)
| Property | Type | Required | Description |
|---|
lsId | string | Yes | Live shopping session ID |
siteId | string | Yes | Site ID |
organisationId | string | Yes | Organisation ID |
clientTS | Date | Yes | Client timestamp |
videoElapsedMinutes | number | Yes | Minutes elapsed in the video |
videoElapsedSeconds | number | Yes | Seconds elapsed in the video |
currentTime | number | No | Current playback time |
uid | string | Yes | Unique user ID |
device | 'mobile' | 'desktop' | Yes | Device type |
isLive | boolean | Yes | Whether the stream is currently live |
url | string | Yes | Page URL |
interactionType | string | Yes | Interaction type (see list below) |
eventType | string | Yes | Host event type: 'play', 'pause', 'stop', 'load', 'pending', 'interaction' |
item | object | No | Product data (present for add_to_cart and product_click interactions) |
item object (when present)
| Property | Type | Description |
|---|
name | string | Product name |
sku | string | Product SKU |
id | string | Product ID |
highlighted | boolean | Whether the product is highlighted |
meta.customId | string | Custom variant ID |
meta.vendor | string | Product vendor |
meta.price | number | string | Product price |
meta.compareAtPrice | unknown | Compare at price |
meta.quantity | number | Quantity |
meta.currency | string | Currency code |
Possible interaction types (interactionType)
mute_player — Player muted
unmute_player — Player unmuted
pause_player — Player paused
resume_player — Player resumed
like_reaction — Like reaction
share — Share clicked
add_to_calendar — Added to calendar
send_chat — Chat message sent
close_player — Player closed
minimize_player — Player minimized
maximize_player — Player maximized
show_product_list — Product list shown
hide_product_list — Product list hidden
product_click — Product clicked
add_to_cart — Product added to cart
checkout — Checkout clicked
show_cart — Cart shown
hide_cart — Cart hidden
toggle_cc_on — Closed captions enabled
toggle_cc_off — Closed captions disabled
replay — Replay clicked
progress — Playback progress
onAddToCart callback
Triggered when a user adds a product to the cart (add_to_cart interaction). The product data is unified into a standard format. The event object has the following structure:
| Property | Type | Description |
|---|
type | 'add-to-cart' | Event type identifier |
detail | object | Unified product payload |
detail object
| Property | Type | Description |
|---|
productName | string | Product name |
variantId | number | Variant ID |
selectedVariant | number | Selected variant ID |
qty | number | Quantity |
price | number | Product price |
currencyCode | string | Currency code |
onCheckout callback
Triggered when a user clicks checkout. The event object has the following structure:
| Property | Type | Description |
|---|
type | 'live-shopping' | Event type identifier |
detail | object | LSTrackingEventData payload (same structure as onEvent detail) |
Example
<VideowiseSDK.LiveShoppingChannel
videowiseInfo={{ shop: 'storename.myshopify.com' }}
environment="production"
offsetY={50}
style={{ backgroundColor: '#000' }}
onEvent={(event) => console.log('onEvent', event)}
onAddToCart={(event) => console.log('onAddToCart', event)}
onCheckout={(event) => console.log('onCheckout', event)}
/>
Here’s a list of the possible events triggered inside the LiveShopping component -> https://docs.videowise.com/custom-events-ls.
Note: The Inline, Floating, and VideoFeed components must be wrapped inside <VideowiseSDK.Provider> to function correctly. The Provider manages modal video state and handles navigation when a user taps on a video.
<VideowiseSDK.Provider>
{/* Your components here */}
</VideowiseSDK.Provider>
Videowise VideoFeed
A full-screen video feed component that displays a single video with shopping capabilities. The video player is shown immediately upon render.
Props
| Prop | Type | Required | Default | Description |
|---|
videowiseInfo | object | Yes | — | Store configuration (see below) |
widgetId | string | Yes | — | The ID of the Videowise widget |
style | StyleProp<ViewStyle> | No | — | Custom style overrides for the component wrapper |
videoId | string | No | '' | Specific video ID to display |
rightActionButtonsTop | number | No | 7 | Top offset (px) for the right action buttons (close, etc.) |
marketingLogoTop | number | No | 20 | Top offset (px) for the marketing logo |
shoppableTop | number | No | 0 | Top offset (px) for the shoppable product list |
shoppableListAspectRatio | `${number}/${number}` | "auto" | No | "1/1" | Aspect ratio of product list items |
disableIndependentApiCall | boolean | No | true | Disables independent API calls |
onEvent | (event) => void | No | — | Callback for custom events |
onAddToCart | (event) => void | No | — | Callback when a product is added to cart |
onCheckout | (event) => void | No | — | Callback for checkout events |
environment | 'local' | 'staging' | 'production' | No | 'production' | Environment target |
videowiseInfo object
| Property | Type | Required | Default | Description |
|---|
shop | string | Yes | — | Your store domain (e.g. storename.myshopify.com) |
cartType | 'Shopify' | 'Magento' | 'SFCC' | 'Tapcart' | 'Other' | No | 'Shopify' | Cart platform type |
currency | string | No | 'USD' | Display currency |
currencyRate | number | No | 1 | Currency conversion rate |
productId | number | null | No | null | Filter by specific product ID |
onEvent callback
Triggered for all custom events from the widget. The event object has the following structure:
| Property | Type | Description |
|---|
type | 'custom-event' | Event type identifier |
detail | object | Event detail payload (see below) |
name | string | Event name (see list below) |
targetTag | null | Reserved for future use |
detail object
| Property | Type | Description |
|---|
productName | string | Product name |
productId | number | Product ID |
variantId | number | Variant ID |
selectedVariant | number | Selected variant ID |
qty | number | Quantity |
price | number | Product price |
currencyCode | string | Currency code (e.g. 'USD') |
videoTitle | string | Video title |
videoId | string | Video ID |
widgetId | string | Widget ID |
deviceType | string | Device type |
url | string | Page URL |
campaignId | string | Campaign ID |
items | array | Array of products (see onCheckout) |
All detail properties are optional and depend on the event type.
Possible event names (name)
videowiseProductAddToCart — Product added to cart
videowiseProductBuyNow — Buy now clicked
videowiseCheckoutClick — Checkout clicked
videowiseProductClick — Product clicked
videowiseVideoClick — Video clicked
videowiseVideoStart — Video played more than 3 seconds
videowiseVideoIsPlaying — Video is currently playing
videowiseVideoFull — Video played more than 80%
videowiseVideoSwipe — Video swiped
videowisePlayerClose — Player closed
videowiseVideoSoundOn — Sound turned on
videowiseVideoSoundOff — Sound turned off
videowiseVideoBounce — Video closed/swiped before 3 seconds
videowiseDataReady — Widget data loaded
videowiseCampaignReady — Campaign rendered
videowiseCampaignCheckout — Redirecting to checkout
videowiseCtaClick — CTA button clicked
onAddToCart callback
Triggered when a user adds a product to the cart (videowiseProductAddToCart event). The event object has the following structure:
| Property | Type | Description |
|---|
type | 'add-to-cart' | Event type identifier |
detail | object | Event detail payload |
detail object
| Property | Type | Description |
|---|
productName | string | Product name |
productId | number | Product ID |
variantId | number | Variant ID |
selectedVariant | number | Selected variant ID |
qty | number | Quantity |
price | number | Product price |
currencyCode | string | Currency code (e.g. 'USD') |
videoTitle | string | Video title |
videoId | string | Video ID |
widgetId | string | Widget ID |
deviceType | string | Device type |
url | string | Page URL |
onCheckout callback
Triggered when a user clicks checkout (videowiseCheckoutClick event). The event object has the following structure:
| Property | Type | Description |
|---|
type | 'custom-event' | Event type identifier |
detail | object | Event detail payload |
name | string | Event name |
targetTag | null | Reserved for future use |
detail object
| Property | Type | Description |
|---|
campaignId | string | Campaign ID |
deviceType | string | Device type |
url | string | Page URL |
items | array | Array of products in the checkout |
items array element
| Property | Type | Description |
|---|
productName | string | Product name |
productId | number | Product ID |
qty | number | Quantity |
price | number | Product price |
currencyCode | string | Currency code |
Example
<VideowiseSDK.Provider>
<View style={{ flex: 1 }}>
<VideowiseSDK.VideoFeed
videowiseInfo={{
cartType: 'Shopify',
shop: 'storename.myshopify.com',
currency: 'USD',
currencyRate: 1,
productId: null,
}}
widgetId="your-widget-id"
environment="production"
rightActionButtonsTop={44}
marketingLogoTop={44}
shoppableTop={44}
shoppableListAspectRatio="1/1"
videoId=""
onEvent={(event) => console.log('onEvent', event)}
onAddToCart={(event) => console.log('onAddToCart', event)}
onCheckout={(event) => console.log('onCheckout', event)}
/>
</View>
</VideowiseSDK.Provider>
Videowise Floating
A floating widget overlay that appears at the bottom-left of the screen. It dynamically sizes itself based on the widget content. When a user taps on a video, a full-screen VideoFeed modal opens.
Props
| Prop | Type | Required | Default | Description |
|---|
videowiseInfo | object | Yes | — | Store configuration (same as VideoFeed) |
widgetId | string | Yes | — | The ID of the Videowise widget |
rightActionButtonsTop | number | No | — | Top offset (px) for the right action buttons |
marketingLogoTop | number | No | — | Top offset (px) for the marketing logo |
shoppableTop | number | No | — | Top offset (px) for the shoppable product list |
shoppableListAspectRatio | `${number}/${number}` | "auto" | No | — | Aspect ratio of product list items |
onEvent | (event) => void | No | — | Callback for custom events |
onAddToCart | (event) => void | No | — | Callback when a product is added to cart |
onCheckout | (event) => void | No | — | Callback for checkout events |
environment | 'local' | 'staging' | 'production' | No | 'production' | Environment target |
videowiseInfo object
| Property | Type | Required | Default | Description |
|---|
shop | string | Yes | — | Your store domain (e.g. storename.myshopify.com) |
cartType | 'Shopify' | 'Magento' | 'SFCC' | 'Tapcart' | 'Other' | No | 'Shopify' | Cart platform type |
currency | string | No | 'USD' | Display currency |
currencyRate | number | No | 1 | Currency conversion rate |
productId | number | null | No | null | Filter by specific product ID |
onEvent callback
Triggered for all custom events from the widget. The event object has the following structure:
| Property | Type | Description |
|---|
type | 'custom-event' | Event type identifier |
detail | object | Event detail payload (see below) |
name | string | Event name (see list below) |
targetTag | null | Reserved for future use |
detail object
| Property | Type | Description |
|---|
productName | string | Product name |
productId | number | Product ID |
variantId | number | Variant ID |
selectedVariant | number | Selected variant ID |
qty | number | Quantity |
price | number | Product price |
currencyCode | string | Currency code (e.g. 'USD') |
videoTitle | string | Video title |
videoId | string | Video ID |
widgetId | string | Widget ID |
deviceType | string | Device type |
url | string | Page URL |
campaignId | string | Campaign ID |
items | array | Array of products (see onCheckout) |
All detail properties are optional and depend on the event type.
Possible event names (name)
videowiseProductAddToCart — Product added to cart
videowiseProductBuyNow — Buy now clicked
videowiseCheckoutClick — Checkout clicked
videowiseProductClick — Product clicked
videowiseVideoClick — Video clicked
videowiseVideoStart — Video played more than 3 seconds
videowiseVideoIsPlaying — Video is currently playing
videowiseVideoFull — Video played more than 80%
videowiseVideoSwipe — Video swiped
videowisePlayerClose — Player closed
videowiseVideoSoundOn — Sound turned on
videowiseVideoSoundOff — Sound turned off
videowiseVideoBounce — Video closed/swiped before 3 seconds
videowiseDataReady — Widget data loaded
videowiseCampaignReady — Campaign rendered
videowiseCampaignCheckout — Redirecting to checkout
videowiseCtaClick — CTA button clicked
onAddToCart callback
Triggered when a user adds a product to the cart (videowiseProductAddToCart event). The event object has the following structure:
| Property | Type | Description |
|---|
type | 'add-to-cart' | Event type identifier |
detail | object | Event detail payload |
detail object
| Property | Type | Description |
|---|
productName | string | Product name |
productId | number | Product ID |
variantId | number | Variant ID |
selectedVariant | number | Selected variant ID |
qty | number | Quantity |
price | number | Product price |
currencyCode | string | Currency code (e.g. 'USD') |
videoTitle | string | Video title |
videoId | string | Video ID |
widgetId | string | Widget ID |
deviceType | string | Device type |
url | string | Page URL |
onCheckout callback
Triggered when a user clicks checkout (videowiseCheckoutClick event). The event object has the following structure:
| Property | Type | Description |
|---|
type | 'custom-event' | Event type identifier |
detail | object | Event detail payload |
name | string | Event name |
targetTag | null | Reserved for future use |
detail object
| Property | Type | Description |
|---|
campaignId | string | Campaign ID |
deviceType | string | Device type |
url | string | Page URL |
items | array | Array of products in the checkout |
items array element
| Property | Type | Description |
|---|
productName | string | Product name |
productId | number | Product ID |
qty | number | Quantity |
price | number | Product price |
currencyCode | string | Currency code |
Example
<VideowiseSDK.Provider>
<View style={{ flex: 1 }}>
<VideowiseSDK.Floating
videowiseInfo={{
cartType: 'Shopify',
shop: 'storename.myshopify.com',
currency: 'USD',
currencyRate: 1,
productId: null,
}}
widgetId="your-widget-id"
environment="production"
rightActionButtonsTop={44}
marketingLogoTop={44}
shoppableTop={44}
shoppableListAspectRatio="1/1"
onEvent={(event) => console.log('onEvent', event)}
onAddToCart={(event) => console.log('onAddToCart', event)}
onCheckout={(event) => console.log('onCheckout', event)}
/>
</View>
</VideowiseSDK.Provider>
Videowise Inline
An inline widget that embeds directly within the page flow. It starts with minimal height and dynamically expands as content loads, making it suitable for placing inside scrollable layouts. When a user taps on a video, a full-screen VideoFeed modal opens.
The following widget layouts are supported for the Inline component:
- Single Video
- In-Page Video Player
- Quick Shop Carousel
- Stories
- Video Carousel
- Highlighted Carousel
- Overlapping Carousel
- Masonry Grid
- Grid Gallery
- Gallery Highlight
Props
| Prop | Type | Required | Default | Description |
|---|
videowiseInfo | object | Yes | — | Store configuration (same as VideoFeed) |
widgetId | string | Yes | — | The ID of the Videowise widget |
rightActionButtonsTop | number | No | — | Top offset (px) for the right action buttons |
marketingLogoTop | number | No | — | Top offset (px) for the marketing logo |
shoppableTop | number | No | — | Top offset (px) for the shoppable product list |
shoppableListAspectRatio | `${number}/${number}` | "auto" | No | — | Aspect ratio of product list items |
onEvent | (event) => void | No | — | Callback for custom events |
onAddToCart | (event) => void | No | — | Callback when a product is added to cart |
onCheckout | (event) => void | No | — | Callback for checkout events |
environment | 'local' | 'staging' | 'production' | No | 'production' | Environment target |
videowiseInfo object
| Property | Type | Required | Default | Description |
|---|
shop | string | Yes | — | Your store domain (e.g. storename.myshopify.com) |
cartType | 'Shopify' | 'Magento' | 'SFCC' | 'Tapcart' | 'Other' | No | 'Shopify' | Cart platform type |
currency | string | No | 'USD' | Display currency |
currencyRate | number | No | 1 | Currency conversion rate |
productId | number | null | No | null | Filter by specific product ID |
onEvent callback
Triggered for all custom events from the widget. The event object has the following structure:
| Property | Type | Description |
|---|
type | 'custom-event' | Event type identifier |
detail | object | Event detail payload (see below) |
name | string | Event name (see list below) |
targetTag | null | Reserved for future use |
detail object
| Property | Type | Description |
|---|
productName | string | Product name |
productId | number | Product ID |
variantId | number | Variant ID |
selectedVariant | number | Selected variant ID |
qty | number | Quantity |
price | number | Product price |
currencyCode | string | Currency code (e.g. 'USD') |
videoTitle | string | Video title |
videoId | string | Video ID |
widgetId | string | Widget ID |
deviceType | string | Device type |
url | string | Page URL |
campaignId | string | Campaign ID |
items | array | Array of products (see onCheckout) |
All detail properties are optional and depend on the event type.
Possible event names (name)
videowiseProductAddToCart — Product added to cart
videowiseProductBuyNow — Buy now clicked
videowiseCheckoutClick — Checkout clicked
videowiseProductClick — Product clicked
videowiseVideoClick — Video clicked
videowiseVideoStart — Video played more than 3 seconds
videowiseVideoIsPlaying — Video is currently playing
videowiseVideoFull — Video played more than 80%
videowiseVideoSwipe — Video swiped
videowisePlayerClose — Player closed
videowiseVideoSoundOn — Sound turned on
videowiseVideoSoundOff — Sound turned off
videowiseVideoBounce — Video closed/swiped before 3 seconds
videowiseDataReady — Widget data loaded
videowiseCampaignReady — Campaign rendered
videowiseCampaignCheckout — Redirecting to checkout
videowiseCtaClick — CTA button clicked
onAddToCart callback
Triggered when a user adds a product to the cart (videowiseProductAddToCart event). The event object has the following structure:
| Property | Type | Description |
|---|
type | 'add-to-cart' | Event type identifier |
detail | object | Event detail payload |
detail object
| Property | Type | Description |
|---|
productName | string | Product name |
productId | number | Product ID |
variantId | number | Variant ID |
selectedVariant | number | Selected variant ID |
qty | number | Quantity |
price | number | Product price |
currencyCode | string | Currency code (e.g. 'USD') |
videoTitle | string | Video title |
videoId | string | Video ID |
widgetId | string | Widget ID |
deviceType | string | Device type |
url | string | Page URL |
onCheckout callback
Triggered when a user clicks checkout (videowiseCheckoutClick event). The event object has the following structure:
| Property | Type | Description |
|---|
type | 'custom-event' | Event type identifier |
detail | object | Event detail payload |
name | string | Event name |
targetTag | null | Reserved for future use |
detail object
| Property | Type | Description |
|---|
campaignId | string | Campaign ID |
deviceType | string | Device type |
url | string | Page URL |
items | array | Array of products in the checkout |
items array element
| Property | Type | Description |
|---|
productName | string | Product name |
productId | number | Product ID |
qty | number | Quantity |
price | number | Product price |
currencyCode | string | Currency code |
Example
<VideowiseSDK.Provider>
<View style={{ flex: 1, justifyContent: 'center' }}>
<VideowiseSDK.Inline
videowiseInfo={{
cartType: 'Shopify',
shop: 'storename.myshopify.com',
currency: 'USD',
currencyRate: 1,
productId: null,
}}
widgetId="your-widget-id"
environment="production"
rightActionButtonsTop={44}
marketingLogoTop={44}
shoppableTop={44}
shoppableListAspectRatio="1/1"
onEvent={(event) => console.log('onEvent', event)}
onAddToCart={(event) => console.log('onAddToCart', event)}
onCheckout={(event) => console.log('onCheckout', event)}
/>
</View>
</VideowiseSDK.Provider>
Videowise trackingPixel
VideowiseSDK.trackingPixel is an async function that sends order data to Videowise analytics after a successful checkout. Call it once per completed order, after order confirmation. It is a plain async function and does not need to be rendered inside VideowiseSDK.Provider.
It returns Promise<Response | null>. The resolved value is null when the SDK has no stored user identifier, when a required parameter is missing, or when the request throws.
Parameters
trackingPixel(params) takes a single object with the following properties:
| Property | Type | Required | Description |
|---|
shop | string | Yes | Store domain (e.g. storename.myshopify.com) |
orderId | number | Yes | Numeric order ID |
orderTotal | number | Yes | Total order amount |
orderCurrency | string | Yes | ISO currency code (e.g. USD) |
orderItems | OrderItem[] | Yes | Array of purchased items (see below) |
orderItems element (OrderItem)
| Property | Type | Description |
|---|
id | string | Line item ID |
quantity | number | Quantity purchased |
title | string | null | Line item title |
variant | object | Variant details (see below) |
finalLinePrice | object | Final line price (see below) |
variant object
| Property | Type | Description |
|---|
id | string | Variant ID |
image.src | string | null | Variant image URL |
price.amount | number | Variant unit price |
price.currencyCode | string | Variant price currency code |
product.id | string | Product ID |
product.title | string | null | Product title |
product.vendor | string | null | Product vendor |
product.type | string | null | Product type |
product.untranslatedTitle | string | null | Untranslated product title |
product.url | string | Product URL |
sku | string | null | Variant SKU |
title | string | Variant title |
untranslatedTitle | string | Untranslated variant title |
finalLinePrice object
| Property | Type | Description |
|---|
amount | number | Final line price amount |
currencyCode | string | Final line price currency |
Example
import VideowiseSDK from '@vidystar/videowise-react-native-sdk';
await VideowiseSDK.trackingPixel({
shop: 'storename.myshopify.com',
orderId: 12345,
orderTotal: 99.99,
orderCurrency: 'USD',
orderItems: [
{
id: 'item-1',
quantity: 1,
title: 'Product Name',
variant: {
id: 'variant-1',
image: { src: 'https://...' },
price: { amount: 99.99, currencyCode: 'USD' },
product: {
id: 'prod-1',
title: 'Product Name',
vendor: 'Vendor',
type: 'Type',
untranslatedTitle: 'Product Name',
url: 'https://...',
},
sku: 'SKU-123',
title: 'Variant',
untranslatedTitle: 'Variant',
},
finalLinePrice: { amount: 99.99, currencyCode: 'USD' },
},
],
});