Web integration
Popin Video Shopping Integration Guide
Overview
This guide provides a comprehensive overview of how to integrate Popin Video Shopping into your eCommerce website. It includes details on installing the widget, triggering calls, syncing products, and recording sales, ensuring your support agents can engage with users through live video sessions seamlessly.
Brand Panel Access
Your brand’s Popin dashboard is accessible at:
Log in using the credentials provided by the Popin team.
Installation
To enable Popin Video Shopping on your site, embed the widget script on all pages where customers should be able to initiate video calls.
Script Example
<script>
let popIn = document.createElement('script')
popIn.setAttribute('src', 'https://widget01.popin.to/js/widget.js')
document.body.appendChild(popIn)
popIn.onload = () => {
popInWidgetInit({
token: "123456", // Replace with your actual token
mode: "hidden", // Optional: hide the widget icon
captured: { // Optional: pre-fill for logged-in users
name: "John Doe",
mobile: "9876543210",
email: "john@lorem.com"
}
});
}
</script>
💡 Tip: Use
"mode": "hidden"
to initialize the widget without displaying the default floating icon. This is useful if you plan to trigger the widget manually.
API Methods
1. Popin('sale', { orderId, amount })
Popin('sale', { orderId, amount })
Use this method to record a sale and attribute it to the connected agent.
Parameters
orderId
Yes
string
Unique order identifier for internal use
amount
Yes
integer
Transaction amount in paise (INR × 100)
Example
Popin('sale', { orderId: 'ORD123', amount: 49900 })
2. Popin('group', { groupId })
Popin('group', { groupId })
Route calls to a specific agent group.
Parameters
groupId
Yes
number
ID of the agent group to route to
Example
Popin('group', { groupId: 4 })
Alternatively, use it within a button to open the widget with group routing:
<button onclick="Popin('open', { groupId: 4 })">Connect with Stylist</button>
3. Popin('open', { groupId })
Popin('open', { groupId })
Programmatically open the Popin widget.
Parameters
groupId
No
number
Group ID to route connection to
Example
Popin('open', { groupId: 4 })
4. Popin('close')
Popin('close')
Closes the currently open Popin widget.
Example
Popin('close')
Sync Products with Popin
To allow agents to view and share product details during calls, you need to sync your product catalog with Popin.
Endpoint
POST https://widget01.popin.to/api/v1/products
Headers
Content-Type: application/json
Payload Structure
{
"token": "51",
"products": [
{
"name": "Cool Bangle",
"url": "https://mysite.com/product/cool-bangle",
"price": 4500,
"image": "https://mysite.com/images/cool-bangle.jpg"
},
{
"name": "Cool Ring",
"url": "https://mysite.com/product/cool-ring",
"price": 1500,
"image": "https://mysite.com/images/cool-ring.jpg"
}
]
}
Field Descriptions
token
Yes
string
Your Popin project token
name
Yes
string
Name of the product
url
Yes
string
Product page URL
price
Yes
integer
Product price in paise
image
Yes
string
Direct link to the product image
Best Practices
Load the widget on all product and category pages where customer interaction is likely.
Pre-fill customer data for logged-in users using the
captured
parameter.Trigger the widget programmatically when integrated with product CTA buttons or checkout flows.
For advanced support and use-case customization, contact your Popin account manager or refer to the developer documentation in your brand panel.
Last updated