Shoplive API Reference
This page is the complete endpoint reference for the Shoplive External API v2, generated from the same source as the official docs. New to the API? Start with the Getting Started guide, which walks through authentication and three end-to-end topics.
Generating a JWT
When you generate the JWT payload:
Set
expfar enough ahead (the example below sets 3 years)Put
accessKeyin the payload, with the same value as the{accessKey}path parameterSign the JWT with
HS256, using your Base64-decoded secret key as the signing key
Send the JWT in the HTTP request header.
import io.jsonwebtoken.JwtBuilder;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;
import java.util.Date;
public class JwtAuthorizationGeneratorSample {
public static void main(String[] args) {
String algorithm = "HS256";
String base64EncodedSecretKey = "{secretKey}";
long expiration = System.currentTimeMillis() + 3 * 365 * 24 * (60 * 60 * 1000L);
String accessKey = "{accessKey}";
JwtBuilder builder = Jwts.builder()
.signWith(SignatureAlgorithm.forName(algorithm), base64EncodedSecretKey)
.setExpiration(new Date(expiration))
.setIssuedAt(new Date())
.claim("accessKey", accessKey);
String jwt = builder.compact();
System.out.printf("jwt: " + jwt);
}
}Check the following example of how to use JWT in the header.
curl --location --request GET 'https://private.shopliveapi.com/v2/{accessKey}/campaign/{campaignKey}' \
--header 'Authorization: Bearer {JWT_TOKEN}'A missing or invalid token returns 401 (_s: -824), and an expired token returns 401 (_s: -412).
Next → Campaign object
Campaign object
Property name | Type | Description |
|---|---|---|
campaignMeta | Meta information of the campaign | |
stream | Stream information of the campaign | |
campaignProductList | List<CampaignProduct>? | List of CampaignProduct objects. |
seller | Seller information of the campaign |
CampaignMeta object
Property name | Type | Read only | Description |
|---|---|---|---|
campaignId | String! | O | Automatically generated identifier of the campaign. (numeric string) |
campaignKey | String! | O | Automatically generated alphanumeric key (max 32 bytes). Use this key to specify a campaign in API calls. |
accessKey | String! | O | Unique key for each customer. Most Shoplive APIs require this accessKey. |
shoplivePlayerUrl | String! | O | Player URL provided by Shoplive for test viewing |
title | String! | Title of the campaign | |
description | String? | Description of the campaign | |
campaignStatus | String! | O | RESERVED, READY, REHEARSAL, ONAIR, ENDED |
rerun | Boolean! | O | Boolean flag indicating whether the campaign is a rerun campaign. |
userCount | Integer? | O | Number of viewers in real-time when the campaign status is ONAIR or REHEARSAL. The total number of viewers when the campaign has ended. (when the campaign status is ENDED) * Null when the campaign status is READY. |
concurrentUserCount | Integer? | O | Number of concurrent viewers in real-time when the campaign status is ONAIR or REHEARSAL. * Null when the campaign status is READY or ENDED. |
likeCount | Integer? | O | campaignStatus READY: null campaignStatus REHEARSAL: Number of likes in real-time campaignStatus ONAIR: Number of likes in real-time campaignStatus ENDED: Total number of likes |
rehearsalPasscode | String! | Passcode to enter the live streaming in rehearsal mode | |
serveReplay | Boolean! | Whether to serve a replay after the campaign ends. | |
logoImageUrl | String? | O | Logo image URL |
brand | Brand? | Brand object | |
preCampaignVideoUrl | String? | Pre-campaign Video URL | |
preCampaignImageUrl | String? | Pre-campaign Image URL | |
postCampaignImageUrl | String? | Post-campaign Image URL | |
backgroundImageUrl | String? | Background Image URL | |
ieUnsupportImageUrl | String? | Image for the IE browser | |
tags | List? | Tag information set for the campaign (Max 10 tags can be set) | |
scheduledStartAt | String! | Scheduled start DateTime of the campaign (format: | |
scheduledEndAt | String? | Scheduled end DateTime of the campaign (format: | |
campaignStartedAt | String? | O | Actual start DateTime of the campaign (format: |
campaignEndedAt | String? | O | Actual end DateTime of the campaign (format: |
createdAt | String! | O | Campaign Created At (UTC) (format: |
updatedAt | String! | O | Campaign Last Updated At (UTC) (format: |
Stream object
Property name | Type | Description |
|---|---|---|
streamUrl | String! | RTMP stream URL info for the streaming software (e.g., OBS) |
streamKey | String! | RTMP stream key info for the streaming software (e.g., OBS) |
videoAspectRatio | String! | Video aspect ratio. 9:16 (portrait) or 16:9 (landscape) |
liveUrl | String! | Master m3u8 URL of the live streaming. |
liveUrls | Map<String, String>? | Set of m3u8 URL of the live streaming by resolution (320p, 480p, 720p, 1080p). |
previewLiveUrl | String! | m3u8 URL of the preview video (320p resolution). Preview is a video format to implement a video thumbnail on the web browser. |
replayLiveUrl | String? | Master m3u8 URL of the replay streaming. This value is set only after the campaign is ended. |
replayLiveUrls | Map<String, String>? | Set of m3u8 URL of the replay streaming by resolution (320p, 480p, 720p, 1080p). |
previewReplayLiveUrl | String? | m3u8 URL of the preview replay video (320p resolution). Preview is a video format to implement a video thumbnail on the web browser. This value is set only after the campaign is ended. If the preview parameter is specified with a value of 1 in the query string of the URL, it indicates that the data usage for playing the preview replay video is included in your quota usage. |
CampaignProduct object
Property name | Type | Description |
|---|---|---|
productId | String! | Automatically generated unique product ID |
customerProductId | String? | Customer-defined product ID. Must be unique. |
name | String! | Product name |
brand | String? | Brand name |
description | String? | Description of the product |
brandIdentifier | String? | Brand key |
url | String! | Product URL. Viewers go to this URL when they click the product info on the Shoplive Player. |
sku | String? | Product SKU information (defined by the customer) |
imageUrl | String? | Product thumbnail image URL. Shoplive automatically generates a thumbnail URL when creating a product object. |
currency | String! | Currency of the price |
showPrice | Boolean! | Whether to show the price. |
originalPrice | Double? | e.g. 20.00 ($20.00 if the currency is USD) |
discountPrice | Double? | e.g. 15.00 ($15.00 if the currency is USD) |
discountRate | Double? | e.g. 25.00 (if the discount rate is 25%) |
enableAuction | Boolean! | Whether the product is an auction product |
bidStartingPrice | Double? | Starting price of the auction (e.g. 0.99) |
bidDuration | Integer? | Bidding time of the auction (seconds) |
bidIncrementalAmount | Double? | Incremental amount of the bidding |
extendBidDuration | Boolean? | Whether to extend the remaining time to bid when a bid is placed near the end of the auction. The extension time follows the customer's auction settings. |
ctaButtonTitle | String? | Title of the call-to-action (CTA) button shown for the product. As it requires UI customization, it needs to be discussed with Shoplive. |
seller | Seller information that owns the product | |
createdAt | String! | Date and time when the product was created (format: |
updatedAt | String! | Date and time when the product was last updated (format: |
campaignId | String! | Automatically generated identifier of the campaign. (numeric string) |
visible | Boolean? | ‘visible’ status of the product. |
purchasable | Boolean? | ‘purchasable’ status of the product. |
showingNow | Boolean! | Whether to show the "Now" status of the product. (=pin) |
sortOrder | Integer! | Order of the product presentation. (=listOrder) |
stockStatus | String! | IN_STOCK, LOW_IN_STOCK , SOLD_OUT |
auction | Auction information of the product. |
Auction object
Property name | Type | Description |
|---|---|---|
productId | String! | Automatically generated unique product ID |
auctionStatus | String! | READY, ONGOING, ENDING, ENDED |
startingPrice | Double! | Starting price of the auction |
bidRound | Integer! | Bidding round of the auction |
currentPrice | Double! | Current price of the auction |
winningPrice | Double? | Winning price of the auction |
recommendedPrices | List<Double>? | Recommended bidding price of the auction |
winner | Winning bidder of the auction. | |
leader | The highest bidder of the auction. | |
winnerCheckoutScheme | String? | App scheme through which the winner can purchase the product. |
startedAt | Number? | Actual start DateTime of the auction (format: Timestamp in milliseconds) |
endingAt | Number? | Estimated end DateTime of the auction (format: Timestamp in milliseconds) |
endedAt | Number? | Actual end DateTime of the auction (format: Timestamp in milliseconds) |
Bidder object
Property name | Type | Description |
|---|---|---|
uid | String! | Automatically generated identifier of the user. (numeric string) |
userId | String? | Identifier of the user. (defined by the customer) |
name | String! | Name of the user. |
Sample
{
"campaignMeta": {
"campaignId": "1234",
"campaignKey": "{campaignKey}",
"accessKey": "{accessKey}",
"shoplivePlayerUrl": "https://www.shoplive.show/v1/player.html?ak={accessKey}&ck={campaignKey}",
"title": "Shoplive Liveshow",
"description": "Liveshow description",
"tags": [ "tag1", "tag2" ],
"campaignStatus": "READY",
"userCount": null,
"likeCount": null,
"rehearsalPasscode": "9876",
"serveReplay": false,
"logoImageUrl": null,
"preCampaignVideoUrl": null,
"preCampaignImageUrl": "https://image.shoplive.cloud/14352cf2-ef40-4ba9-93af-279a104cb3c8.png",
"postCampaignImageUrl": "https://image.shoplive.cloud/6da19c2d-8d53-4cea-801f-7b39913f7c35.png",
"backgroundImageUrl": "https://image.shoplive.cloud/0b1bd566-4087-40ef-b376-fb863a888d72.png",
"ieUnsupportImageUrl": "https://image.shoplive.cloud/5a0fd01c-8889-4d28-8a15-8b7661a422a2.png",
"scheduledStartAt": "2026-11-01T09:00:00Z",
"scheduledEndAt": "2026-11-01T10:00:00Z",
"campaignStartedAt": null,
"campaignEndedAt": null,
"createdAt": "2026-11-01T08:15:00Z",
"updatedAt": "2026-11-01T08:29:09Z"
},
"stream": {
"streamUrl": "rtmp://stream.shoplive.cloud:1935/stream",
"streamKey": "{streamKey}",
"videoAspectRatio": "9:16",
"liveUrl": "https://live.shoplive.cloud/live/{streamKey}.m3u8",
"liveUrls": {
"720p": "https://live.shoplive.cloud/live/{streamKey}_720p/playlist.m3u8",
"480p": "https://live.shoplive.cloud/live/{streamKey}_480p/playlist.m3u8"
},
"previewLiveUrl": "https://live.shoplive.cloud/live/{streamKey}_480p/index.m3u8",
"replayLiveUrl": null,
"replayLiveUrls": null,
"previewReplayLiveUrl": "https://api.shoplive.cloud/v1/replay/{accessKey}/{campaignKey}/replay_320p/ORIGINAL/index.m3u8?preview=1"
},
"campaignProductList": [
{
"productId": "1001",
"customerProductId": "SHOPLIVE_PRODUCT_1",
"name": "Keyring",
"brand": "SHOPLIVE",
"description": null,
"url": "https://www.shoplive.cloud/en",
"sku": "SKU001",
"imageUrl": "https://image.shoplive.cloud/e05d1464-1942-4e4e-bb0b-c4310167d465.jpeg",
"currency": "USD",
"showPrice": true,
"originalPrice": 20.0,
"discountPrice": 10.0,
"discountRate": 50.0,
"enableAuction": false,
"bidStartingPrice": null,
"bidDuration": null,
"bidIncrementalAmount": null,
"extendBidDuration": null,
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
},
"createdAt": "2026-05-20T08:01:05Z",
"updatedAt": "2026-05-20T11:27:34Z",
"campaignId": "1234",
"showingNow": true,
"sortOrder": 1,
"stockStatus": "IN_STOCK",
"auction": null
},
{
"productId": "1002",
"customerProductId": "SHOPLIVE_PRODUCT_2",
"name": "Hoodie",
"brand": "SHOPLIVE",
"description": null,
"url": "https://www.shoplive.cloud/en",
"sku": "SKU002",
"imageUrl": "https://image.shoplive.cloud/40afe353-0d23-47b6-acdf-10d1fca10c57.jpeg",
"currency": "USD",
"showPrice": true,
"originalPrice": 50.0,
"discountPrice": 37.0,
"discountRate": 26.0,
"enableAuction": false,
"bidStartingPrice": null,
"bidDuration": null,
"bidIncrementalAmount": null,
"extendBidDuration": null,
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
},
"createdAt": "2026-05-20T08:01:05Z",
"updatedAt": "2026-05-20T11:27:34Z",
"campaignId": "1234",
"showingNow": true,
"sortOrder": 2,
"stockStatus": "LOW_IN_STOCK",
"auction": null
},
{
"productId": "1003",
"customerProductId": "SHOPLIVE_PRODUCT_3",
"name": "T-Shirts",
"brand": "SHOPLIVE",
"description": null,
"url": "https://www.shoplive.cloud/en",
"sku": "SKU003",
"imageUrl": "https://image.shoplive.cloud/67129efb-d859-48b6-94b9-d411fb6de550.jpeg",
"currency": "USD",
"showPrice": true,
"originalPrice": 30.0,
"discountPrice": 28.0,
"discountRate": 6.0,
"enableAuction": false,
"bidStartingPrice": null,
"bidDuration": null,
"bidIncrementalAmount": null,
"extendBidDuration": null,
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
},
"createdAt": "2026-05-20T08:01:05Z",
"updatedAt": "2026-05-20T11:27:34Z",
"campaignId": "1234",
"showingNow": false,
"sortOrder": 3,
"stockStatus": "SOLD_OUT",
"auction": null
},
{
"productId": "1004",
"customerProductId": "SHOPLIVE_PRODUCT_4",
"name": "Mug",
"brand": "SHOPLIVE",
"description": null,
"url": "https://www.shoplive.cloud/en",
"sku": "SKU004",
"imageUrl": "https://image.shoplive.cloud/b22c72c7-d2f8-49c3-83f0-314c59740649.jpeg",
"currency": "USD",
"showPrice": true,
"originalPrice": 10.0,
"discountPrice": 7.0,
"discountRate": 30.0,
"enableAuction": true,
"bidStartingPrice": 7.0,
"bidDuration": 120,
"bidIncrementalAmount": 1.0,
"extendBidDuration": true,
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
},
"createdAt": "2026-05-20T08:01:05Z",
"updatedAt": "2026-05-20T11:27:34Z",
"campaignId": "1234",
"showingNow": false,
"sortOrder": 4,
"stockStatus": "IN_STOCK",
"auction": {
"productId": "1004",
"auctionStatus": "READY",
"startingPrice": 7.0,
"bidRound": 1,
"currentPrice": 7.0,
"winningPrice": null,
"recommendedPrices": null,
"winner": null,
"leader": null,
"winnerCheckoutScheme": null,
"startedAt": null,
"endingAt": null,
"endedAt": null
}
},
{
"productId": "1005",
"customerProductId": "SHOPLIVE_PRODUCT_5",
"name": "Ballcap",
"brand": "SHOPLIVE",
"description": null,
"url": "https://www.shoplive.cloud/en",
"sku": "SKU005",
"imageUrl": "https://image.shoplive.cloud/ae4d67b6-9d92-4a19-a457-6566420c5b9b.jpeg",
"currency": "USD",
"showPrice": true,
"originalPrice": 18.0,
"discountPrice": 14.0,
"discountRate": 22.0,
"enableAuction": false,
"bidStartingPrice": null,
"bidDuration": null,
"bidIncrementalAmount": null,
"extendBidDuration": null,
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
},
"createdAt": "2026-05-20T08:01:05Z",
"updatedAt": "2026-05-20T11:27:34Z",
"campaignId": "1234",
"showingNow": false,
"sortOrder": 5,
"stockStatus": "IN_STOCK",
"auction": null
}
],
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null,
"sellerIdentifier": "seller_identifier"
}
}
campaignStatus: ONAIR
{
"campaignMeta": {
"campaignId": "1234",
"campaignKey": "{campaignKey}",
"accessKey": "{accessKey}",
"shoplivePlayerUrl": "https://www.shoplive.show/v1/player.html?ak={accessKey}&ck={campaignKey}",
"title": "Shoplive Liveshow",
"description": "Liveshow description",
"tags": [ "tag1", "tag2" ],
"campaignStatus": "ONAIR",
"userCount": 123,
"likeCount": 3132,
"rehearsalPasscode": "9876",
"serveReplay": false,
"logoImageUrl": null,
"preCampaignVideoUrl": null,
"preCampaignImageUrl": "https://image.shoplive.cloud/14352cf2-ef40-4ba9-93af-279a104cb3c8.png",
"postCampaignImageUrl": "https://image.shoplive.cloud/6da19c2d-8d53-4cea-801f-7b39913f7c35.png",
"backgroundImageUrl": "https://image.shoplive.cloud/0b1bd566-4087-40ef-b376-fb863a888d72.png",
"ieUnsupportImageUrl": "https://image.shoplive.cloud/5a0fd01c-8889-4d28-8a15-8b7661a422a2.png",
"scheduledStartAt": "2026-11-01T09:00:00Z",
"scheduledEndAt": "2026-11-01T10:00:00Z",
"campaignStartedAt": "2026-11-01T09:10:05Z",
"campaignEndedAt": null,
"createdAt": "2026-11-01T08:15:00Z",
"updatedAt": "2026-11-01T08:29:09Z"
},
"stream": {
"streamUrl": "rtmp://stream.shoplive.cloud:1935/stream",
"streamKey": "{streamKey}",
"videoAspectRatio": "9:16",
"liveUrl": "https://live.shoplive.cloud/live/{streamKey}.m3u8",
"liveUrls": {
"720p": "https://live.shoplive.cloud/live/{streamKey}_720p/playlist.m3u8"
},
"previewLiveUrl": "https://live.shoplive.cloud/live/{streamKey}_320p/index.m3u8",
"replayLiveUrl": null,
"replayLiveUrls": null,
"previewReplayLiveUrl": "https://api.shoplive.cloud/v1/replay/{accessKey}/{campaignKey}/replay_320p/ORIGINAL/index.m3u8?preview=1"
},
"campaignProductList": [
{
"productId": "1001",
"customerProductId": "SHOPLIVE_PRODUCT_1",
"name": "Keyring",
"brand": "SHOPLIVE",
"description": null,
"url": "https://www.shoplive.cloud/en",
"sku": "SKU001",
"imageUrl": "https://image.shoplive.cloud/e05d1464-1942-4e4e-bb0b-c4310167d465.jpeg",
"currency": "USD",
"showPrice": true,
"originalPrice": 20.0,
"discountPrice": 10.0,
"discountRate": 50.0,
"enableAuction": false,
"bidStartingPrice": null,
"bidDuration": null,
"bidIncrementalAmount": null,
"extendBidDuration": null,
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
},
"createdAt": "2026-05-20T08:01:05Z",
"updatedAt": "2026-05-20T11:27:34Z",
"campaignId": "1234",
"showingNow": true,
"sortOrder": 1,
"stockStatus": "SOLD_OUT",
"auction": null
},
{
"productId": "1002",
"customerProductId": "SHOPLIVE_PRODUCT_2",
"name": "Hoodie",
"brand": "SHOPLIVE",
"description": null,
"url": "https://www.shoplive.cloud/en",
"sku": "SKU002",
"imageUrl": "https://image.shoplive.cloud/40afe353-0d23-47b6-acdf-10d1fca10c57.jpeg",
"currency": "USD",
"showPrice": true,
"originalPrice": 50.0,
"discountPrice": 37.0,
"discountRate": 26.0,
"enableAuction": false,
"bidStartingPrice": null,
"bidDuration": null,
"bidIncrementalAmount": null,
"extendBidDuration": null,
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
},
"createdAt": "2026-05-20T08:01:05Z",
"updatedAt": "2026-05-20T11:27:34Z",
"campaignId": "1234",
"showingNow": true,
"sortOrder": 2,
"stockStatus": "LOW_IN_STOCK",
"auction": null
},
{
"productId": "1003",
"customerProductId": "SHOPLIVE_PRODUCT_3",
"name": "T-Shirts",
"brand": "SHOPLIVE",
"description": null,
"url": "https://www.shoplive.cloud/en",
"sku": "SKU003",
"imageUrl": "https://image.shoplive.cloud/67129efb-d859-48b6-94b9-d411fb6de550.jpeg",
"currency": "USD",
"showPrice": true,
"originalPrice": 30.0,
"discountPrice": 28.0,
"discountRate": 6.0,
"enableAuction": false,
"bidStartingPrice": null,
"bidDuration": null,
"bidIncrementalAmount": null,
"extendBidDuration": null,
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
},
"createdAt": "2026-05-20T08:01:05Z",
"updatedAt": "2026-05-20T11:27:34Z",
"campaignId": "1234",
"showingNow": false,
"sortOrder": 3,
"stockStatus": "IN_STOCK",
"auction": null
},
{
"productId": "1004",
"customerProductId": "SHOPLIVE_PRODUCT_4",
"name": "Mug",
"brand": "SHOPLIVE",
"description": null,
"url": "https://www.shoplive.cloud/en",
"sku": "SKU004",
"imageUrl": "https://image.shoplive.cloud/b22c72c7-d2f8-49c3-83f0-314c59740649.jpeg",
"currency": "USD",
"showPrice": true,
"originalPrice": 10.0,
"discountPrice": 7.0,
"discountRate": 30.0,
"enableAuction": true,
"bidStartingPrice": 7.0,
"bidDuration": 120,
"bidIncrementalAmount": 1.0,
"extendBidDuration": true,
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
},
"createdAt": "2026-05-20T08:01:05Z",
"updatedAt": "2026-05-20T11:27:34Z",
"campaignId": "1234",
"showingNow": true,
"sortOrder": 4,
"stockStatus": "IN_STOCK",
"auction": {
"productId": "1004",
"auctionStatus": "ONGOING",
"startingPrice": 7.0,
"bidRound": 3,
"currentPrice": 9.0,
"winningPrice": null,
"recommendedPrices": [
10.0
],
"winner": null,
"leader": {
"uid": "350964901054939144",
"userId": "test@shoplive.cloud",
"name": "ShopliveUser-1"
},
"winnerCheckoutScheme": null,
"startedAt": 1793524830000,
"endingAt": 1793524950000,
"endedAt": null
}
},
{
"productId": "1005",
"customerProductId": "SHOPLIVE_PRODUCT_5",
"name": "Ballcap",
"brand": "SHOPLIVE",
"description": null,
"url": "https://www.shoplive.cloud/en",
"sku": "SKU005",
"imageUrl": "https://image.shoplive.cloud/ae4d67b6-9d92-4a19-a457-6566420c5b9b.jpeg",
"currency": "USD",
"showPrice": true,
"originalPrice": 18.0,
"discountPrice": 14.0,
"discountRate": 22.0,
"enableAuction": false,
"bidStartingPrice": null,
"bidDuration": null,
"bidIncrementalAmount": null,
"extendBidDuration": null,
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
},
"createdAt": "2026-05-20T08:01:05Z",
"updatedAt": "2026-05-20T11:27:34Z",
"campaignId": "1234",
"showingNow": false,
"sortOrder": 5,
"stockStatus": "IN_STOCK",
"auction": null
}
],
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
}
}
campaignStatus: ENDED
{
"campaignMeta": {
"campaignId": "1234",
"campaignKey": "{campaignKey}",
"accessKey": "{accessKey}",
"shoplivePlayerUrl": "https://www.shoplive.show/v1/player.html?ak={accessKey}&ck={campaignKey}",
"title": "Shoplive Liveshow",
"description": "Liveshow description",
"tags": [ "tag1", "tag2" ],
"campaignStatus": "ENDED",
"userCount": 15923,
"likeCount": 102683,
"rehearsalPasscode": "9876",
"serveReplay": false,
"logoImageUrl": null,
"preCampaignVideoUrl": null,
"preCampaignImageUrl": "https://image.shoplive.cloud/14352cf2-ef40-4ba9-93af-279a104cb3c8.png",
"postCampaignImageUrl": "https://image.shoplive.cloud/6da19c2d-8d53-4cea-801f-7b39913f7c35.png",
"backgroundImageUrl": "https://image.shoplive.cloud/0b1bd566-4087-40ef-b376-fb863a888d72.png",
"ieUnsupportImageUrl": "https://image.shoplive.cloud/5a0fd01c-8889-4d28-8a15-8b7661a422a2.png",
"scheduledStartAt": "2026-11-01T09:00:00Z",
"scheduledEndAt": "2026-11-01T10:00:00Z",
"campaignStartedAt": "2026-11-01T09:10:05Z",
"campaignEndedAt": "2026-11-01T10:05:05Z",
"createdAt": "2026-11-01T08:15:00Z",
"updatedAt": "2026-11-01T08:29:09Z"
},
"stream": {
"streamUrl": "rtmp://stream.shoplive.cloud:1935/stream",
"streamKey": "{streamKey}",
"videoAspectRatio": "9:16",
"liveUrl": "https://live.shoplive.cloud/live/{streamKey}.m3u8",
"liveUrls": {
"720p": "https://live.shoplive.cloud/live/{streamKey}_720p/playlist.m3u8"
},
"previewLiveUrl": "https://live.shoplive.cloud/live/{streamKey}_320p/index.m3u8",
"replayLiveUrl": "https://private.shopliveapi.com/v1/replay/{accessKey}/{campaignKey}/replay.m3u8?replayMode=ORIGINAL",
"replayLiveUrls": {
"720p": "https://private.shopliveapi.com/v1/replay/{accessKey}/{campaignKey}/ORIGINAL/720p/index.m3u8"
},
"previewReplayLiveUrl": "https://api.shoplive.cloud/v1/replay/{accessKey}/{campaignKey}/replay_320p/ORIGINAL/index.m3u8?preview=1"
},
"campaignProductList": [
{
"productId": "1001",
"customerProductId": "SHOPLIVE_PRODUCT_1",
"name": "Keyring",
"brand": "SHOPLIVE",
"description": null,
"url": "https://www.shoplive.cloud/en",
"sku": "SKU001",
"imageUrl": "https://image.shoplive.cloud/e05d1464-1942-4e4e-bb0b-c4310167d465.jpeg",
"currency": "USD",
"showPrice": true,
"originalPrice": 20.0,
"discountPrice": 10.0,
"discountRate": 50.0,
"enableAuction": false,
"bidStartingPrice": null,
"bidDuration": null,
"bidIncrementalAmount": null,
"extendBidDuration": null,
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
},
"createdAt": "2026-05-20T08:01:05Z",
"updatedAt": "2026-05-20T11:27:34Z",
"campaignId": "1234",
"showingNow": true,
"sortOrder": 1,
"stockStatus": "SOLD_OUT",
"auction": null
},
{
"productId": "1002",
"customerProductId": "SHOPLIVE_PRODUCT_2",
"name": "Hoodie",
"brand": "SHOPLIVE",
"description": null,
"url": "https://www.shoplive.cloud/en",
"sku": "SKU002",
"imageUrl": "https://image.shoplive.cloud/40afe353-0d23-47b6-acdf-10d1fca10c57.jpeg",
"currency": "USD",
"showPrice": true,
"originalPrice": 50.0,
"discountPrice": 37.0,
"discountRate": 26.0,
"enableAuction": false,
"bidStartingPrice": null,
"bidDuration": null,
"bidIncrementalAmount": null,
"extendBidDuration": null,
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
},
"createdAt": "2026-05-20T08:01:05Z",
"updatedAt": "2026-05-20T11:27:34Z",
"campaignId": "1234",
"showingNow": true,
"sortOrder": 2,
"stockStatus": "LOW_IN_STOCK",
"auction": null
},
{
"productId": "1003",
"customerProductId": "SHOPLIVE_PRODUCT_3",
"name": "T-Shirts",
"brand": "SHOPLIVE",
"description": null,
"url": "https://www.shoplive.cloud/en",
"sku": "SKU003",
"imageUrl": "https://image.shoplive.cloud/67129efb-d859-48b6-94b9-d411fb6de550.jpeg",
"currency": "USD",
"showPrice": true,
"originalPrice": 30.0,
"discountPrice": 28.0,
"discountRate": 6.0,
"enableAuction": false,
"bidStartingPrice": null,
"bidDuration": null,
"bidIncrementalAmount": null,
"extendBidDuration": null,
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
},
"createdAt": "2026-05-20T08:01:05Z",
"updatedAt": "2026-05-20T11:27:34Z",
"campaignId": "1234",
"showingNow": true,
"sortOrder": 3,
"stockStatus": "SOLD_OUT",
"auction": null
},
{
"productId": "1004",
"customerProductId": "SHOPLIVE_PRODUCT_4",
"name": "Mug",
"brand": "SHOPLIVE",
"description": null,
"url": "https://www.shoplive.cloud/en",
"sku": "SKU004",
"imageUrl": "https://image.shoplive.cloud/b22c72c7-d2f8-49c3-83f0-314c59740649.jpeg",
"currency": "USD",
"showPrice": true,
"originalPrice": 10.0,
"discountPrice": 7.0,
"discountRate": 30.0,
"enableAuction": true,
"bidStartingPrice": 7.0,
"bidDuration": 120,
"bidIncrementalAmount": 1,
"extendBidDuration": true,
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
},
"createdAt": "2026-05-20T08:01:05Z",
"updatedAt": "2026-05-20T11:27:34Z",
"campaignId": "1234",
"showingNow": true,
"sortOrder": 4,
"stockStatus": "SOLD_OUT",
"auction": {
"productId": "1004",
"auctionStatus": "ENDED",
"startingPrice": 7.0,
"bidRound": 3,
"currentPrice": 0.0,
"winningPrice": 9.0,
"recommendedPrices": null,
"winner": {
"uid": "350964901054939144",
"userId": "test@shoplive.cloud",
"name": "ShopliveUser-1"
},
"leader": null,
"winnerCheckoutScheme": null,
"startedAt": 1793524830000,
"endingAt": null,
"endedAt": 1793524950000
}
},
{
"productId": "1005",
"customerProductId": "SHOPLIVE_PRODUCT_5",
"name": "Ballcap",
"brand": "SHOPLIVE",
"description": null,
"url": "https://www.shoplive.cloud/en",
"sku": "SKU005",
"imageUrl": "https://image.shoplive.cloud/ae4d67b6-9d92-4a19-a457-6566420c5b9b.jpeg",
"currency": "USD",
"showPrice": true,
"originalPrice": 18.0,
"discountPrice": 14.0,
"discountRate": 22.0,
"enableAuction": false,
"bidStartingPrice": null,
"bidDuration": null,
"bidIncrementalAmount": null,
"extendBidDuration": null,
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
},
"createdAt": "2026-05-20T08:01:05Z",
"updatedAt": "2026-05-20T11:27:34Z",
"campaignId": "1234",
"showingNow": true,
"sortOrder": 5,
"stockStatus": "SOLD_OUT",
"auction": null
}
],
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
}
}Previous ← Generating a JWTNext → Search campaigns
Search campaigns
Search campaigns
Header parameters
Path parameters
Query parameters
scheduledStartAt range to search (format: YYYY-MM-DD'T'HH:mm:ss'Z', e.g. 2026-05-20T08:00:00Z)scheduledStartAt range to search (format: YYYY-MM-DD'T'HH:mm:ss'Z', e.g. 2026-05-20T09:00:00Z)ORRESERVED, READY, REHEARSAL, ONAIR, ENDED). Case-insensitive.1234,1235,1236.c7671aa83bd2,6229da3b75d4.false (latest first).false110Responses
Each item in results is a Campaign object.
{
"results": [
{
"campaignMeta": {
"campaignId": "1237",
"campaignKey": "{campaignKey}",
"accessKey": "{accessKey}",
"shoplivePlayerUrl": "https://www.shoplive.show/v1/player.html?ak={accessKey}&ck={campaignKey}",
"title": "Shoplive Ready Liveshow",
"description": "Liveshow Ready description",
"campaignStatus": "READY",
"rehearsalPasscode": "9876",
"serveReplay": false,
"logoImageUrl": null,
"preCampaignVideoUrl": null,
"preCampaignImageUrl": "https://image.shoplive.cloud/14352cf2-ef40-4ba9-93af-279a104cb3c8.png",
"postCampaignImageUrl": "https://image.shoplive.cloud/6da19c2d-8d53-4cea-801f-7b39913f7c35.png",
"backgroundImageUrl": "https://image.shoplive.cloud/0b1bd566-4087-40ef-b376-fb863a888d72.png",
"ieUnsupportImageUrl": "https://image.shoplive.cloud/5a0fd01c-8889-4d28-8a15-8b7661a422a2.png",
"scheduledStartAt": "2026-11-01T09:00:00Z",
"scheduledEndAt": "2026-11-01T10:00:00Z",
"campaignStartedAt": null,
"campaignEndedAt": null,
"createdAt": "2026-11-01T08:15:00Z",
"updatedAt": "2026-11-01T08:29:09Z"
},
"stream": {
"streamUrl": "rtmp://stream.shoplive.cloud:1935/stream",
"streamKey": "{streamKey}",
"videoAspectRatio": "9:16",
"liveUrl": "https://live.shoplive.cloud/live/{streamKey}.m3u8",
"liveUrls": {
"480p": "https://live.shoplive.cloud/live/{streamKey}_480p/playlist.m3u8",
"720p": "https://live.shoplive.cloud/live/{streamKey}_720p/playlist.m3u8"
},
"previewLiveUrl": "https://live.shoplive.cloud/live/{streamKey}_320p/index.m3u8",
"replayLiveUrl": null,
"replayLiveUrls": null,
"previewReplayLiveUrl": "https://api.shoplive.cloud/v1/replay/{accessKey}/{campaignKey}/replay_320p/ORIGINAL/index.m3u8"
},
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"schemes": null
}
},
{
"campaignMeta": {
"campaignId": "1236",
"campaignKey": "{campaignKey}",
"accessKey": "{accessKey}",
"shoplivePlayerUrl": "https://www.shoplive.show/v1/player.html?ak={accessKey}&ck={campaignKey}",
"title": "Shoplive Liveshow Rehearsal",
"description": "Liveshow Rehearsal description",
"campaignStatus": "REHEARSAL",
"rehearsalPasscode": "9876",
"serveReplay": false,
"logoImageUrl": null,
"preCampaignVideoUrl": null,
"preCampaignImageUrl": "https://image.shoplive.cloud/14352cf2-ef40-4ba9-93af-279a104cb3c8.png",
"postCampaignImageUrl": "https://image.shoplive.cloud/6da19c2d-8d53-4cea-801f-7b39913f7c35.png",
"backgroundImageUrl": "https://image.shoplive.cloud/0b1bd566-4087-40ef-b376-fb863a888d72.png",
"ieUnsupportImageUrl": "https://image.shoplive.cloud/5a0fd01c-8889-4d28-8a15-8b7661a422a2.png",
"scheduledStartAt": "2026-10-31T09:00:00Z",
"scheduledEndAt": "2026-10-31T10:00:00Z",
"campaignStartedAt": null,
"campaignEndedAt": null,
"createdAt": "2026-10-31T08:15:00Z",
"updatedAt": "2026-10-31T08:29:09Z"
},
"stream": {
"streamUrl": "rtmp://stream.shoplive.cloud:1935/stream",
"streamKey": "{streamKey}",
"videoAspectRatio": "9:16",
"liveUrl": "https://live.shoplive.cloud/live/{streamKey}.m3u8",
"liveUrls": {
"480p": "https://live.shoplive.cloud/live/{streamKey}_480p/playlist.m3u8",
"720p": "https://live.shoplive.cloud/live/{streamKey}_720p/playlist.m3u8"
},
"previewLiveUrl": "https://live.shoplive.cloud/live/{streamKey}_320p/index.m3u8",
"replayLiveUrl": null,
"replayLiveUrls": null,
"previewReplayLiveUrl": "https://api.shoplive.cloud/v1/replay/{accessKey}/{campaignKey}/replay_320p/ORIGINAL/index.m3u8"
},
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
}
},
{
"campaignMeta": {
"campaignId": "1235",
"campaignKey": "{campaignKey}",
"accessKey": "{accessKey}",
"shoplivePlayerUrl": "https://www.shoplive.show/v1/player.html?ak={accessKey}&ck={campaignKey}",
"title": "Shoplive Liveshow OnAir",
"description": "Liveshow OnAir description",
"campaignStatus": "ONAIR",
"rehearsalPasscode": "9876",
"serveReplay": false,
"logoImageUrl": null,
"preCampaignVideoUrl": null,
"preCampaignImageUrl": "https://image.shoplive.cloud/14352cf2-ef40-4ba9-93af-279a104cb3c8.png",
"postCampaignImageUrl": "https://image.shoplive.cloud/6da19c2d-8d53-4cea-801f-7b39913f7c35.png",
"backgroundImageUrl": "https://image.shoplive.cloud/0b1bd566-4087-40ef-b376-fb863a888d72.png",
"ieUnsupportImageUrl": "https://image.shoplive.cloud/5a0fd01c-8889-4d28-8a15-8b7661a422a2.png",
"scheduledStartAt": "2026-10-30T09:00:00Z",
"scheduledEndAt": "2026-10-30T10:00:00Z",
"campaignStartedAt": "2026-10-30T09:10:05Z",
"campaignEndedAt": null,
"createdAt": "2026-10-30T08:15:00Z",
"updatedAt": "2026-10-30T08:29:09Z"
},
"stream": {
"streamUrl": "rtmp://stream.shoplive.cloud:1935/stream",
"streamKey": "{streamKey}",
"videoAspectRatio": "9:16",
"liveUrl": "https://live.shoplive.cloud/live/{streamKey}.m3u8",
"liveUrls": {
"480p": "https://live.shoplive.cloud/live/{streamKey}_480p/playlist.m3u8",
"720p": "https://live.shoplive.cloud/live/{streamKey}_720p/playlist.m3u8"
},
"previewLiveUrl": "https://live.shoplive.cloud/live/{streamKey}_320p/index.m3u8",
"replayLiveUrl": null,
"replayLiveUrls": null,
"previewReplayLiveUrl": "https://api.shoplive.cloud/v1/replay/{accessKey}/{campaignKey}/replay_320p/ORIGINAL/index.m3u8"
},
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
}
},
{
"campaignMeta": {
"campaignId": "1234",
"campaignKey": "{campaignKey}",
"accessKey": "{accessKey}",
"shoplivePlayerUrl": "https://www.shoplive.show/v1/player.html?ak={accessKey}&ck={campaignKey}",
"title": "Shoplive Liveshow",
"description": "Liveshow description",
"campaignStatus": "ENDED",
"rehearsalPasscode": "9876",
"serveReplay": true,
"logoImageUrl": null,
"preCampaignVideoUrl": null,
"preCampaignImageUrl": "https://image.shoplive.cloud/14352cf2-ef40-4ba9-93af-279a104cb3c8.png",
"postCampaignImageUrl": "https://image.shoplive.cloud/6da19c2d-8d53-4cea-801f-7b39913f7c35.png",
"backgroundImageUrl": "https://image.shoplive.cloud/0b1bd566-4087-40ef-b376-fb863a888d72.png",
"ieUnsupportImageUrl": "https://image.shoplive.cloud/5a0fd01c-8889-4d28-8a15-8b7661a422a2.png",
"scheduledStartAt": "2026-10-29T09:00:00Z",
"scheduledEndAt": "2026-10-29T10:00:00Z",
"campaignStartedAt": "2026-10-29T09:10:05Z",
"campaignEndedAt": "2026-10-29T10:05:05Z",
"createdAt": "2026-10-29T08:15:00Z",
"updatedAt": "2026-10-29T08:29:09Z"
},
"stream": {
"streamUrl": "rtmp://stream.shoplive.cloud:1935/stream",
"streamKey": "{streamKey}",
"videoAspectRatio": "9:16",
"liveUrl": "https://live.shoplive.cloud/live/{streamKey}.m3u8",
"liveUrls": {
"480p": "https://live.shoplive.cloud/live/{streamKey}_480p/playlist.m3u8",
"720p": "https://live.shoplive.cloud/live/{streamKey}_720p/playlist.m3u8"
},
"previewLiveUrl": "https://live.shoplive.cloud/live/{streamKey}_320p/index.m3u8",
"replayLiveUrl": "https://private.shopliveapi.com/v1/replay/{accessKey}/{campaignKey}/replay.m3u8?replayMode=ORIGINAL",
"replayLiveUrls": {
"480p": "https://private.shopliveapi.com/v1/replay/{accessKey}/{campaignKey}/ORIGINAL/480p/index.m3u8",
"720p": "https://private.shopliveapi.com/v1/replay/{accessKey}/{campaignKey}/ORIGINAL/720p/index.m3u8"
},
"previewReplayLiveUrl": "https://api.shoplive.cloud/v1/replay/{accessKey}/{campaignKey}/replay_320p/ORIGINAL/index.m3u8"
},
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
}
}
],
"totalCount": 4
}results
campaignMeta
null before the campaign startsnull otherwisenull before it startstruebrand
00stream
liveUrls
seller
0{
"_s": -510,
"_e": "Error message"
}Previous ← Campaign objectNext → Create a campaign
Create a campaign
Example of the request body
{
"campaignMeta": {
"title": "New campaign name here",
"description": "Description of the campaign here",
"tags": ["tag1", "tag2"],
"rehearsalPasscode": "1234",
"serveReplay": true
}
}
Header parameters
Path parameters
Body parameters
{
"campaignMeta": {
"title": "New campaign name here",
"description": "Description of the campaign here",
"tags": [
"tag1",
"tag2"
],
"rehearsalPasscode": "1234",
"serveReplay": true
}
}campaignMeta
brand
YYYY-MM-DDTHH:mm:ss±HH:MM (Z for UTC). Returned in UTCYYYY-MM-DDTHH:mm:ss±HH:MM (Z for UTC). Returned in UTCseller
Responses
The response body is a Campaign object.
{
"campaignMeta": {
"campaignId": "1234",
"campaignKey": "{campaignKey}",
"accessKey": "{accessKey}",
"shoplivePlayerUrl": "https://www.shoplive.show/v1/player.html?ak={accessKey}&ck={campaignKey}",
"title": "New campaign name here",
"description": "Description of the campaign here",
"campaignStatus": "READY",
"rehearsalPasscode": "1234",
"serveReplay": true,
"logoImageUrl": null,
"brand": {
"brandId": "1",
"name": "API V2 Brand",
"identifier": "api_v2_brand",
"description": "API V2 Brand description",
"imageUrl": "https://image.shoplive.cloud/aa1a2ae6-e557-462c-ae6d-a2ce47d245a1.png",
"imageWidth": 2110,
"imageHeight": 317,
"createdAt": "2026-02-22T13:32:50Z",
"updatedAt": "2026-02-22T13:33:46Z"
},
"preCampaignVideoUrl": null,
"preCampaignImageUrl": "https://image.shoplive.cloud/14352cf2-ef40-4ba9-93af-279a104cb3c8.png",
"postCampaignImageUrl": "https://image.shoplive.cloud/6da19c2d-8d53-4cea-801f-7b39913f7c35.png",
"backgroundImageUrl": "https://image.shoplive.cloud/0b1bd566-4087-40ef-b376-fb863a888d72.png",
"ieUnsupportImageUrl": "https://image.shoplive.cloud/5a0fd01c-8889-4d28-8a15-8b7661a422a2.png",
"scheduledStartAt": "2026-11-01T09:00:00Z",
"scheduledEndAt": "2026-11-01T10:00:00Z",
"campaignStartedAt": null,
"campaignEndedAt": null,
"createdAt": "2026-11-01T08:15:00Z",
"updatedAt": "2026-11-01T08:29:09Z"
},
"stream": {
"streamUrl": "rtmp://stream.shoplive.cloud:1935/stream",
"streamKey": "{streamKey}",
"videoAspectRatio": "9:16",
"liveUrl": "https://live.shoplive.cloud/live/{streamKey}.m3u8",
"liveUrls": {
"480p": "https://live.shoplive.cloud/live/{streamKey}_480p/playlist.m3u8",
"720p": "https://live.shoplive.cloud/live/{streamKey}_720p/playlist.m3u8"
},
"previewLiveUrl": "https://live.shoplive.cloud/live/{streamKey}_320p/index.m3u8",
"replayLiveUrl": null,
"replayLiveUrls": null,
"previewReplayLiveUrl": "https://api.shoplive.cloud/v1/replay/{accessKey}/{campaignKey}/replay_320p/ORIGINAL/index.m3u8"
},
"campaignProductList": [],
"seller": {
"sellerId": "1",
"name": "New seller",
"profileUrl": "https://image.shoplive.cloud/14352cf2-ef40-4ba9-93af-279a104cb3c8.png",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": {}
}
}campaignMeta
brand
stream
liveUrls
seller
{
"_s": -836,
"_e": "Error message"
}{
"_s": -837,
"_e": "Error message"
}{
"_s": -207,
"_e": "Error message"
}{
"_s": -792,
"_e": "Error message"
}0Previous ← Search campaignsNext → Create a rerun campaign
Create a rerun campaign
Creates a rerun campaign by duplicating an ended campaign.
Header parameters
Path parameters
Body parameters
{
"campaignMeta": {
"title": "rerun campagin title",
"scheduledStartAt": "2026-04-01T01:00:00Z"
},
"copyPopups": true,
"copyProducts": true
}campaignMeta
YYYY-MM-DDTHH:mm:ss±HH:MM (Z for UTC). Returned in UTCtrue.truetrue.trueResponses
The response body is a Campaign object.
{
"campaignMeta": {
"campaignId": "1234",
"campaignKey": "{campaignKey}",
"accessKey": "{accessKey}",
"shoplivePlayerUrl": "https://www.shoplive.show/v1/player.html?ak={accessKey}&ck={campaignKey}",
"title": "New campaign name here",
"description": "Description of the campaign here",
"campaignStatus": "READY",
"rehearsalPasscode": "1234",
"serveReplay": true,
"logoImageUrl": null,
"brand": {
"brandId": "1",
"name": "API V2 Brand",
"identifier": "api_v2_brand",
"description": "API V2 Brand description",
"imageUrl": "https://image.shoplive.cloud/aa1a2ae6-e557-462c-ae6d-a2ce47d245a1.png",
"imageWidth": 2110,
"imageHeight": 317,
"createdAt": "2026-02-22T13:32:50Z",
"updatedAt": "2026-02-22T13:33:46Z"
},
"preCampaignVideoUrl": null,
"preCampaignImageUrl": "https://image.shoplive.cloud/14352cf2-ef40-4ba9-93af-279a104cb3c8.png",
"postCampaignImageUrl": "https://image.shoplive.cloud/6da19c2d-8d53-4cea-801f-7b39913f7c35.png",
"backgroundImageUrl": "https://image.shoplive.cloud/0b1bd566-4087-40ef-b376-fb863a888d72.png",
"ieUnsupportImageUrl": "https://image.shoplive.cloud/5a0fd01c-8889-4d28-8a15-8b7661a422a2.png",
"scheduledStartAt": "2026-11-01T09:00:00Z",
"scheduledEndAt": "2026-11-01T10:00:00Z",
"campaignStartedAt": null,
"campaignEndedAt": null,
"createdAt": "2026-11-01T08:15:00Z",
"updatedAt": "2026-11-01T08:29:09Z"
},
"stream": {
"streamUrl": "rtmp://stream.shoplive.cloud:1935/stream",
"streamKey": "{streamKey}",
"videoAspectRatio": "9:16",
"liveUrl": "https://live.shoplive.cloud/live/{streamKey}.m3u8",
"liveUrls": {
"480p": "https://live.shoplive.cloud/live/{streamKey}_480p/playlist.m3u8",
"720p": "https://live.shoplive.cloud/live/{streamKey}_720p/playlist.m3u8"
},
"previewLiveUrl": "https://live.shoplive.cloud/live/{streamKey}_320p/index.m3u8",
"replayLiveUrl": null,
"replayLiveUrls": null,
"previewReplayLiveUrl": "https://api.shoplive.cloud/v1/replay/{accessKey}/{campaignKey}/replay_320p/ORIGINAL/index.m3u8"
},
"campaignProductList": [],
"seller": {
"sellerId": "1",
"name": "New seller",
"profileUrl": "https://image.shoplive.cloud/14352cf2-ef40-4ba9-93af-279a104cb3c8.png",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": {}
}
}campaignMeta
brand
stream
liveUrls
seller
{
"_s": -510,
"_e": "INVALID_ARGUMENT"
}{
"_s": -710,
"_e": "Campaign does not exist."
}0Previous ← Create a campaignNext → Retrieve campaign info
Retrieve campaign info
Retrieves a campaign by campaign key or campaign ID.
Header parameters
Path parameters
Query parameters
false1Responses
The response body is a Campaign object.
{
"campaignMeta": {
"campaignId": "1234",
"campaignKey": "{campaignKey}",
"accessKey": "{accessKey}",
"shoplivePlayerUrl": "https://www.shoplive.show/v1/player.html?ak={accessKey}&ck={campaignKey}",
"title": "Shoplive Liveshow",
"description": "Liveshow description",
"campaignStatus": "ENDED",
"rehearsalPasscode": "9876",
"serveReplay": false,
"logoImageUrl": null,
"preCampaignVideoUrl": null,
"preCampaignImageUrl": "https://image.shoplive.cloud/14352cf2-ef40-4ba9-93af-279a104cb3c8.png",
"postCampaignImageUrl": "https://image.shoplive.cloud/6da19c2d-8d53-4cea-801f-7b39913f7c35.png",
"backgroundImageUrl": "https://image.shoplive.cloud/0b1bd566-4087-40ef-b376-fb863a888d72.png",
"ieUnsupportImageUrl": "https://image.shoplive.cloud/5a0fd01c-8889-4d28-8a15-8b7661a422a2.png",
"scheduledStartAt": "2026-11-01T09:00:00Z",
"scheduledEndAt": "2026-11-01T10:00:00Z",
"campaignStartedAt": "2026-11-01T09:10:05Z",
"campaignEndedAt": "2026-11-01T10:05:05Z",
"createdAt": "2026-11-01T08:15:00Z",
"updatedAt": "2026-11-01T08:29:09Z"
},
"stream": {
"streamUrl": "rtmp://stream.shoplive.cloud:1935/stream",
"streamKey": "{streamKey}",
"videoAspectRatio": "9:16",
"liveUrl": "https://live.shoplive.cloud/live/{streamKey}.m3u8",
"liveUrls": {
"480p": "https://live.shoplive.cloud/live/{streamKey}_480p/playlist.m3u8",
"720p": "https://live.shoplive.cloud/live/{streamKey}_720p/playlist.m3u8"
},
"previewLiveUrl": "https://live.shoplive.cloud/live/{streamKey}_320p/index.m3u8",
"replayLiveUrl": "https://private.shopliveapi.com/v1/replay/{accessKey}/{campaignKey}/replay.m3u8?replayMode=ORIGINAL",
"replayLiveUrls": {
"480p": "https://private.shopliveapi.com/v1/replay/{accessKey}/{campaignKey}/ORIGINAL/480p/index.m3u8",
"720p": "https://private.shopliveapi.com/v1/replay/{accessKey}/{campaignKey}/ORIGINAL/720p/index.m3u8"
},
"previewReplayLiveUrl": "https://api.shoplive.cloud/v1/replay/{accessKey}/{campaignKey}/replay_320p/ORIGINAL/index.m3u8"
},
"campaignProductList": [
{
"productId": "1001",
"customerProductId": "SHOPLIVE_PRODUCT_1",
"name": "Keyring",
"brand": "SHOPLIVE",
"description": null,
"url": "https://www.shoplive.cloud/en",
"sku": "SKU001",
"imageUrl": "https://image.shoplive.cloud/e05d1464-1942-4e4e-bb0b-c4310167d465.jpeg",
"currency": "USD",
"showPrice": true,
"originalPrice": 20.0,
"discountPrice": 10.0,
"discountRate": 50.0,
"enableAuction": false,
"bidStartingPrice": null,
"bidDuration": null,
"bidIncrementalAmount": null,
"extendBidDuration": null,
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
},
"createdAt": "2026-05-20T08:01:05Z",
"updatedAt": "2026-05-20T11:27:34Z",
"campaignId": "1234",
"showingNow": true,
"sortOrder": 1,
"stockStatus": "SOLD_OUT",
"auction": null
},
{
"productId": "1002",
"customerProductId": "SHOPLIVE_PRODUCT_2",
"name": "Hoodie",
"brand": "SHOPLIVE",
"description": null,
"url": "https://www.shoplive.cloud/en",
"sku": "SKU002",
"imageUrl": "https://image.shoplive.cloud/40afe353-0d23-47b6-acdf-10d1fca10c57.jpeg",
"currency": "USD",
"showPrice": true,
"originalPrice": 50.0,
"discountPrice": 37.0,
"discountRate": 26.0,
"enableAuction": false,
"bidStartingPrice": null,
"bidDuration": null,
"bidIncrementalAmount": null,
"extendBidDuration": null,
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
},
"createdAt": "2026-05-20T08:01:05Z",
"updatedAt": "2026-05-20T11:27:34Z",
"campaignId": "1234",
"showingNow": true,
"sortOrder": 2,
"stockStatus": "LOW_IN_STOCK",
"auction": null
},
{
"productId": "1003",
"customerProductId": "SHOPLIVE_PRODUCT_3",
"name": "T-Shirts",
"brand": "SHOPLIVE",
"description": null,
"url": "https://www.shoplive.cloud/en",
"sku": "SKU003",
"imageUrl": "https://image.shoplive.cloud/67129efb-d859-48b6-94b9-d411fb6de550.jpeg",
"currency": "USD",
"showPrice": true,
"originalPrice": 30.0,
"discountPrice": 28.0,
"discountRate": 6.0,
"enableAuction": false,
"bidStartingPrice": null,
"bidDuration": null,
"bidIncrementalAmount": null,
"extendBidDuration": null,
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
},
"createdAt": "2026-05-20T08:01:05Z",
"updatedAt": "2026-05-20T11:27:34Z",
"campaignId": "1234",
"showingNow": true,
"sortOrder": 3,
"stockStatus": "SOLD_OUT",
"auction": null
},
{
"productId": "1004",
"customerProductId": "SHOPLIVE_PRODUCT_4",
"name": "Mug",
"brand": "SHOPLIVE",
"description": null,
"url": "https://www.shoplive.cloud/en",
"sku": "SKU004",
"imageUrl": "https://image.shoplive.cloud/b22c72c7-d2f8-49c3-83f0-314c59740649.jpeg",
"currency": "USD",
"showPrice": true,
"originalPrice": 10.0,
"discountPrice": 7.0,
"discountRate": 30.0,
"enableAuction": true,
"bidStartingPrice": 7.0,
"bidDuration": 120,
"bidIncrementalAmount": 1.0,
"extendBidDuration": true,
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
},
"createdAt": "2026-05-20T08:01:05Z",
"updatedAt": "2026-05-20T11:27:34Z",
"campaignId": "1234",
"showingNow": true,
"sortOrder": 4,
"stockStatus": "SOLD_OUT",
"auction": {
"productId": "1004",
"auctionStatus": "ENDED",
"startingPrice": 7.0,
"bidRound": 3,
"currentPrice": 0.0,
"winningPrice": 9.0,
"recommendedPrices": null,
"winner": {
"uid": "350964901054939144",
"userId": "test@shoplive.cloud",
"name": "ShopliveUser-1"
},
"leader": null,
"winnerCheckoutScheme": null,
"startedAt": 1793524830000,
"endingAt": null,
"endedAt": 1793524950000
}
},
{
"productId": "1005",
"customerProductId": "SHOPLIVE_PRODUCT_5",
"name": "Ballcap",
"brand": "SHOPLIVE",
"description": null,
"url": "https://www.shoplive.cloud/en",
"sku": "SKU005",
"imageUrl": "https://image.shoplive.cloud/ae4d67b6-9d92-4a19-a457-6566420c5b9b.jpeg",
"currency": "USD",
"showPrice": true,
"originalPrice": 18.0,
"discountPrice": 14.0,
"discountRate": 22.0,
"enableAuction": false,
"bidStartingPrice": null,
"bidDuration": null,
"bidIncrementalAmount": null,
"extendBidDuration": null,
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
},
"createdAt": "2026-05-20T08:01:05Z",
"updatedAt": "2026-05-20T11:27:34Z",
"campaignId": "1234",
"showingNow": true,
"sortOrder": 5,
"stockStatus": "SOLD_OUT",
"auction": null
}
],
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
}
}campaignMeta
null before the campaign startsnull otherwisenull before it startstruebrand
00stream
liveUrls
replayLiveUrls
campaignProductList
true000trueseller
true0seller
{
"_s": -510,
"_e": "Error message"
}Previous ← Create a rerun campaignNext → Delete a campaign
Delete a campaign
Deletes the campaign. You can delete a campaign only when its campaignStatus is READY or RESERVED; otherwise the request returns 403 (_s: -114). A campaign that is the source of a rerun campaign cannot be deleted (403, _s: -706). Delete the rerun campaigns first.
Header parameters
Path parameters
Responses
No response body
{
"_s": -710,
"_e": "Campaign does not exist."
}{
"_s": -114,
"_e": "FAIL_TO_DELETE"
}0Previous ← Retrieve campaign infoNext → Duplicate a campaign
Duplicate a campaign
Creates a new campaign by duplicating an existing campaign.
Header parameters
Path parameters
Query parameters
truetrueResponses
The response body is a Campaign object.
{
"campaignMeta": {
"campaignId": "1234",
"campaignKey": "{campaignKey}",
"accessKey": "{accessKey}",
"shoplivePlayerUrl": "https://www.shoplive.show/v1/player.html?ak={accessKey}&ck={campaignKey}",
"title": "Shoplive Liveshow",
"description": "Liveshow description",
"campaignStatus": "ENDED",
"rehearsalPasscode": "9876",
"serveReplay": false,
"logoImageUrl": null,
"preCampaignVideoUrl": null,
"preCampaignImageUrl": "https://image.shoplive.cloud/14352cf2-ef40-4ba9-93af-279a104cb3c8.png",
"postCampaignImageUrl": "https://image.shoplive.cloud/6da19c2d-8d53-4cea-801f-7b39913f7c35.png",
"backgroundImageUrl": "https://image.shoplive.cloud/0b1bd566-4087-40ef-b376-fb863a888d72.png",
"ieUnsupportImageUrl": "https://image.shoplive.cloud/5a0fd01c-8889-4d28-8a15-8b7661a422a2.png",
"scheduledStartAt": "2026-11-01T09:00:00Z",
"scheduledEndAt": "2026-11-01T10:00:00Z",
"campaignStartedAt": "2026-11-01T09:10:05Z",
"campaignEndedAt": "2026-11-01T10:05:05Z",
"createdAt": "2026-11-01T08:15:00Z",
"updatedAt": "2026-11-01T08:29:09Z"
},
"stream": {
"streamUrl": "rtmp://stream.shoplive.cloud:1935/stream",
"streamKey": "{streamKey}",
"videoAspectRatio": "9:16",
"liveUrl": "https://live.shoplive.cloud/live/{streamKey}.m3u8",
"liveUrls": {
"480p": "https://live.shoplive.cloud/live/{streamKey}_480p/playlist.m3u8",
"720p": "https://live.shoplive.cloud/live/{streamKey}_720p/playlist.m3u8"
},
"previewLiveUrl": "https://live.shoplive.cloud/live/{streamKey}_320p/index.m3u8",
"replayLiveUrl": "https://private.shopliveapi.com/v1/replay/{accessKey}/{campaignKey}/replay.m3u8?replayMode=ORIGINAL",
"replayLiveUrls": {
"480p": "https://private.shopliveapi.com/v1/replay/{accessKey}/{campaignKey}/ORIGINAL/480p/index.m3u8",
"720p": "https://private.shopliveapi.com/v1/replay/{accessKey}/{campaignKey}/ORIGINAL/720p/index.m3u8"
},
"previewReplayLiveUrl": "https://api.shoplive.cloud/v1/replay/{accessKey}/{campaignKey}/replay_320p/ORIGINAL/index.m3u8"
},
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
}
}campaignMeta
null before the campaign startsnull otherwisenull before it startstruebrand
00stream
liveUrls
replayLiveUrls
seller
{
"_s": -710,
"_e": "Campaign does not exist."
}0Previous ← Delete a campaignNext → Update a campaign
Update a campaign
Modifiable fields of CampaignMeta object
| Field Name | Type | Description |
|---|---|---|
title |
string | Title of the campaign |
description |
string | Description of the campaign |
rehearsalPasscode |
string | Passcode to enter the live streaming in rehearsal mode |
serveReplay |
boolean | Whether replays are public |
scheduledStartAt |
string | Scheduled start DateTime of the campaign. ISO 8601 with time zone offset, e.g. YYYY-MM-DDTHH:mm:ss±HH:MM (Z for UTC). Returned in UTC |
scheduledEndAt |
string | Scheduled end DateTime of the campaign. ISO 8601 with time zone offset, e.g. YYYY-MM-DDTHH:mm:ss±HH:MM (Z for UTC). Returned in UTC |
tags |
array of string | Tags of the campaign. Send [] to remove all tags; omit to keep the current tags |
brand |
object | Brand of the campaign as {"brandId": …}. Send {} to unlink the brand; omit to keep the current brand |
Header parameters
Path parameters
Body parameters
{
"campaignMeta": {
"title": "New title",
"description": "New description",
"rehearsalPasscode": "1234",
"serveReplay": true,
"scheduledStartAt": "2026-12-01T09:00:00Z",
"scheduledEndAt": "2026-12-01T10:00:00Z"
}
}campaignMeta
brand
YYYY-MM-DDTHH:mm:ss±HH:MM (Z for UTC). Returned in UTCYYYY-MM-DDTHH:mm:ss±HH:MM (Z for UTC). Returned in UTCResponses
The response body is a Campaign object.
{
"campaignMeta": {
"campaignId": "1234",
"campaignKey": "{campaignKey}",
"accessKey": "{accessKey}",
"shoplivePlayerUrl": "https://www.shoplive.show/v1/player.html?ak={accessKey}&ck={campaignKey}",
"title": "New title",
"description": "New description",
"campaignStatus": "READY",
"rehearsalPasscode": "1234",
"serveReplay": true,
"logoImageUrl": null,
"brand": {
"brandId": "1",
"name": "API V2 Brand",
"identifier": "api_v2_brand",
"description": "API V2 Brand description",
"imageUrl": "https://image.shoplive.cloud/aa1a2ae6-e557-462c-ae6d-a2ce47d245a1.png",
"imageWidth": 2110,
"imageHeight": 317,
"createdAt": "2026-02-22T13:32:50Z",
"updatedAt": "2026-02-22T13:33:46Z"
},
"preCampaignVideoUrl": null,
"preCampaignImageUrl": "https://image.shoplive.cloud/14352cf2-ef40-4ba9-93af-279a104cb3c8.png",
"postCampaignImageUrl": "https://image.shoplive.cloud/6da19c2d-8d53-4cea-801f-7b39913f7c35.png",
"backgroundImageUrl": "https://image.shoplive.cloud/0b1bd566-4087-40ef-b376-fb863a888d72.png",
"ieUnsupportImageUrl": "https://image.shoplive.cloud/5a0fd01c-8889-4d28-8a15-8b7661a422a2.png",
"scheduledStartAt": "2026-12-01T09:00:00Z",
"scheduledEndAt": "2026-12-01T10:00:00Z",
"campaignStartedAt": null,
"campaignEndedAt": null,
"createdAt": "2026-11-01T08:15:00Z",
"updatedAt": "2026-11-30T11:40:09Z"
},
"stream": {
"streamUrl": "rtmp://stream.shoplive.cloud:1935/stream",
"streamKey": "{streamKey}",
"videoAspectRatio": "9:16",
"liveUrl": "https://live.shoplive.cloud/live/{streamKey}.m3u8",
"liveUrls": {
"480p": "https://live.shoplive.cloud/live/{streamKey}_480p/playlist.m3u8",
"720p": "https://live.shoplive.cloud/live/{streamKey}_720p/playlist.m3u8"
},
"previewLiveUrl": "https://live.shoplive.cloud/live/{streamKey}_320p/index.m3u8",
"replayLiveUrl": null,
"replayLiveUrls": null,
"previewReplayLiveUrl": "https://api.shoplive.cloud/v1/replay/{accessKey}/{campaignKey}/replay_320p/ORIGINAL/index.m3u8"
},
"campaignProductList": [],
"seller": null
}campaignMeta
brand
stream
liveUrls
{
"_s": -510,
"_e": "Error message"
}Previous ← Duplicate a campaignNext → Search products in a campaign
Search products in a campaign
Search products in a campaign
Header parameters
Path parameters
Responses
Each item in results is a CampaignProduct object.
{
"results": [
{
"productId": "1001",
"customerProductId": "SHOPLIVE_PRODUCT_1",
"name": "Keyring",
"brand": "SHOPLIVE",
"description": null,
"url": "https://www.shoplive.cloud/en",
"sku": "SKU001",
"imageUrl": "https://image.shoplive.cloud/e05d1464-1942-4e4e-bb0b-c4310167d465.jpeg",
"currency": "USD",
"showPrice": true,
"originalPrice": 20.0,
"discountPrice": 10.0,
"discountRate": 50.0,
"enableAuction": false,
"bidStartingPrice": null,
"bidDuration": null,
"bidIncrementalAmount": null,
"extendBidDuration": null,
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
},
"createdAt": "2026-05-20T08:01:05Z",
"updatedAt": "2026-05-20T11:27:34Z",
"campaignId": "1237",
"showingNow": true,
"sortOrder": 1,
"stockStatus": "IN_STOCK",
"auction": null
},
{
"productId": "1002",
"customerProductId": "SHOPLIVE_PRODUCT_2",
"name": "Hoodie",
"brand": "SHOPLIVE",
"description": null,
"url": "https://www.shoplive.cloud/en",
"sku": "SKU002",
"imageUrl": "https://image.shoplive.cloud/40afe353-0d23-47b6-acdf-10d1fca10c57.jpeg",
"currency": "USD",
"showPrice": true,
"originalPrice": 50.0,
"discountPrice": 37.0,
"discountRate": 26.0,
"enableAuction": false,
"bidStartingPrice": null,
"bidDuration": null,
"bidIncrementalAmount": null,
"extendBidDuration": null,
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
},
"createdAt": "2026-05-20T08:01:05Z",
"updatedAt": "2026-05-20T11:27:34Z",
"campaignId": "1237",
"showingNow": true,
"sortOrder": 2,
"stockStatus": "LOW_IN_STOCK",
"auction": null
},
{
"productId": "1003",
"customerProductId": "SHOPLIVE_PRODUCT_3",
"name": "T-Shirts",
"brand": "SHOPLIVE",
"description": null,
"url": "https://www.shoplive.cloud/en",
"sku": "SKU003",
"imageUrl": "https://image.shoplive.cloud/67129efb-d859-48b6-94b9-d411fb6de550.jpeg",
"currency": "USD",
"showPrice": true,
"originalPrice": 30.0,
"discountPrice": 28.0,
"discountRate": 6.0,
"enableAuction": false,
"bidStartingPrice": null,
"bidDuration": null,
"bidIncrementalAmount": null,
"extendBidDuration": null,
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
},
"createdAt": "2026-05-20T08:01:05Z",
"updatedAt": "2026-05-20T11:27:34Z",
"campaignId": "1237",
"showingNow": false,
"sortOrder": 3,
"stockStatus": "SOLD_OUT",
"auction": null
},
{
"productId": "1004",
"customerProductId": "SHOPLIVE_PRODUCT_4",
"name": "Mug",
"brand": "SHOPLIVE",
"description": null,
"url": "https://www.shoplive.cloud/en",
"sku": "SKU004",
"imageUrl": "https://image.shoplive.cloud/b22c72c7-d2f8-49c3-83f0-314c59740649.jpeg",
"currency": "USD",
"showPrice": true,
"originalPrice": 10.0,
"discountPrice": 7.0,
"discountRate": 30.0,
"enableAuction": true,
"bidStartingPrice": 7.0,
"bidDuration": 120,
"bidIncrementalAmount": 1.0,
"extendBidDuration": true,
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
},
"createdAt": "2026-05-20T08:01:05Z",
"updatedAt": "2026-05-20T11:27:34Z",
"campaignId": "1237",
"showingNow": false,
"sortOrder": 4,
"stockStatus": "IN_STOCK",
"auction": {
"productId": "1004",
"auctionStatus": "READY",
"startingPrice": 7.0,
"bidRound": 1,
"currentPrice": 7.0,
"winningPrice": null,
"recommendedPrices": null,
"winner": null,
"leader": null,
"winnerCheckoutScheme": null,
"startedAt": null,
"endingAt": null,
"endedAt": null
}
},
{
"productId": "1005",
"customerProductId": "SHOPLIVE_PRODUCT_5",
"name": "Ballcap",
"brand": "SHOPLIVE",
"description": null,
"url": "https://www.shoplive.cloud/en",
"sku": "SKU005",
"imageUrl": "https://image.shoplive.cloud/ae4d67b6-9d92-4a19-a457-6566420c5b9b.jpeg",
"currency": "USD",
"showPrice": true,
"originalPrice": 18.0,
"discountPrice": 14.0,
"discountRate": 22.0,
"enableAuction": false,
"bidStartingPrice": null,
"bidDuration": null,
"bidIncrementalAmount": null,
"extendBidDuration": null,
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
},
"createdAt": "2026-05-20T08:01:05Z",
"updatedAt": "2026-05-20T11:27:34Z",
"campaignId": "1237",
"showingNow": false,
"sortOrder": 5,
"stockStatus": "IN_STOCK",
"auction": null
}
],
"totalCount": 5
}results
true000trueseller
true00{
"_s": -710,
"_e": "Campaign does not exist."
}0Previous ← Update a campaignNext → Add products to the campaign
Add products to the campaign
Add products to the campaign
Header parameters
Path parameters
Body parameters
At least one item is required. Each item must specify either productId or customerProductId. Use the same identifier type for all items in one request.
[
{
"productId": 1234
},
{
"productId": 1235
}
]Responses
{
"results": [
{
"productId": "1234",
"message": null,
"status": "SUCCESS"
},
{
"productId": "1235",
"message": "The product is already registered.",
"status": "FAIL"
}
],
"successCount": 1,
"warnCount": 0,
"failCount": 1,
"totalCount": 2
}results
0000{
"_s": -510,
"_e": "Error message"
}Previous ← Search products in a campaignNext → Remove products from the campaign
Remove products from the campaign
Remove products from the campaign
Header parameters
Path parameters
Body parameters
At least one item is required. Each item must specify either productId or customerProductId. Use the same identifier type for all items in one request.
[
{
"productId": 1234
},
{
"productId": 1235
}
]Responses
{
"results": [
{
"productId": "1234",
"message": null,
"status": "SUCCESS"
},
{
"productId": "1235",
"message": "The product has already been removed.",
"status": "FAIL"
}
],
"successCount": 1,
"warnCount": 0,
"failCount": 1,
"totalCount": 2
}results
{
"_s": -510,
"_e": "Error message"
}Previous ← Add products to the campaignNext → Transfer campaign to parent
Transfer campaign to parent
Transfers the campaign from the seller to its parent account.
Header parameters
Path parameters
Query parameters
falseResponses
The response body is a Campaign object.
{
"campaignMeta": {
"campaignId": "1234",
"campaignKey": "{campaignKey}",
"accessKey": "{accessKey}",
"shoplivePlayerUrl": "https://www.shoplive.show/v1/player.html?ak={accessKey}&ck={campaignKey}",
"title": "New title",
"description": "New description",
"campaignStatus": "READY",
"rehearsalPasscode": "1234",
"serveReplay": true,
"logoImageUrl": null,
"preCampaignVideoUrl": null,
"preCampaignImageUrl": "https://image.shoplive.cloud/14352cf2-ef40-4ba9-93af-279a104cb3c8.png",
"postCampaignImageUrl": "https://image.shoplive.cloud/6da19c2d-8d53-4cea-801f-7b39913f7c35.png",
"backgroundImageUrl": "https://image.shoplive.cloud/0b1bd566-4087-40ef-b376-fb863a888d72.png",
"ieUnsupportImageUrl": "https://image.shoplive.cloud/5a0fd01c-8889-4d28-8a15-8b7661a422a2.png",
"scheduledStartAt": "2026-12-01T09:00:00Z",
"scheduledEndAt": "2026-12-01T10:00:00Z",
"campaignStartedAt": null,
"campaignEndedAt": null,
"createdAt": "2026-11-01T08:15:00Z",
"updatedAt": "2026-11-30T11:40:09Z"
},
"stream": {
"streamUrl": "rtmp://stream.shoplive.cloud:1935/stream",
"streamKey": "{streamKey}",
"videoAspectRatio": "9:16",
"liveUrl": "https://live.shoplive.cloud/live/{streamKey}.m3u8",
"liveUrls": {
"480p": "https://live.shoplive.cloud/live/{streamKey}_480p/playlist.m3u8",
"720p": "https://live.shoplive.cloud/live/{streamKey}_720p/playlist.m3u8"
},
"previewLiveUrl": "https://live.shoplive.cloud/live/{streamKey}_320p/index.m3u8",
"replayLiveUrl": null,
"replayLiveUrls": null,
"previewReplayLiveUrl": "https://api.shoplive.cloud/v1/replay/{accessKey}/{campaignKey}/replay_320p/ORIGINAL/index.m3u8"
},
"campaignProductList": [],
"seller": null
}campaignMeta
stream
liveUrls
{
"_s": -714,
"_e": "Error message"
}{
"_s": -710,
"_e": "Campaign does not exist."
}0Previous ← Remove products from the campaignNext → Search auction products in a campaign
Search auction products in a campaign
Search auction products in a campaign
Header parameters
Path parameters
Query parameters
Responses
Each item in results is a CampaignProduct object.
{
"results": [
{
"productId": "1002",
"customerProductId": "SHOPLIVE_PRODUCT_2",
"name": "Hoodie",
"brand": "SHOPLIVE",
"description": null,
"url": "https://www.shoplive.cloud/en",
"sku": "SKU002",
"imageUrl": "https://image.shoplive.cloud/40afe353-0d23-47b6-acdf-10d1fca10c57.jpeg",
"currency": "USD",
"showPrice": true,
"originalPrice": 50.0,
"discountPrice": 37.0,
"discountRate": 26.0,
"enableAuction": true,
"bidStartingPrice": 50.0,
"bidDuration": 120,
"bidIncrementalAmount": 1,
"extendBidDuration": true,
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
},
"createdAt": "2026-05-20T08:01:05Z",
"updatedAt": "2026-05-20T11:27:34Z",
"campaignId": "1234",
"showingNow": true,
"sortOrder": 2,
"stockStatus": "LOW_IN_STOCK",
"auction": {
"productId": "1002 ",
"auctionStatus": "READY",
"startingPrice": 50.0,
"bidRound": 1,
"currentPrice": 50.0,
"winningPrice": null,
"recommendedPrices": null,
"winner": null,
"leader": null,
"winnerCheckoutScheme": null,
"startedAt": null,
"endingAt": null,
"endedAt": null
}
},
{
"productId": "1003",
"customerProductId": "SHOPLIVE_PRODUCT_3",
"name": "T-Shirts",
"brand": "SHOPLIVE",
"description": null,
"url": "https://www.shoplive.cloud/en",
"sku": "SKU003",
"imageUrl": "https://image.shoplive.cloud/67129efb-d859-48b6-94b9-d411fb6de550.jpeg",
"currency": "USD",
"showPrice": true,
"originalPrice": 30.0,
"discountPrice": 28.0,
"discountRate": 6.0,
"enableAuction": true,
"bidStartingPrice": 28.0,
"bidDuration": 120,
"bidIncrementalAmount": 1,
"extendBidDuration": true,
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
},
"createdAt": "2026-05-20T08:01:05Z",
"updatedAt": "2026-05-20T11:27:34Z",
"campaignId": "1234",
"showingNow": true,
"sortOrder": 3,
"stockStatus": "LOW_IN_STOCK",
"auction": {
"productId": "1003 ",
"auctionStatus": "ONGOING",
"startingPrice": 50.0,
"bidRound": 3,
"currentPrice": 52.0,
"winningPrice": null,
"recommendedPrices": [
53.0
],
"winner": null,
"leader": {
"uid": "350964901054939144",
"name": "shoplive-user"
},
"winnerCheckoutScheme": null,
"startedAt": 1769942592969,
"endingAt": 1769942632969,
"endedAt": null
}
},
{
"productId": "1004",
"customerProductId": "SHOPLIVE_PRODUCT_4",
"name": "Mug",
"brand": "SHOPLIVE",
"description": null,
"url": "https://www.shoplive.cloud/en",
"sku": "SKU004",
"imageUrl": "https://image.shoplive.cloud/b22c72c7-d2f8-49c3-83f0-314c59740649.jpeg",
"currency": "USD",
"showPrice": true,
"originalPrice": 10.0,
"discountPrice": 7.0,
"discountRate": 30.0,
"enableAuction": true,
"bidStartingPrice": 7.0,
"bidDuration": 120,
"bidIncrementalAmount": 1,
"extendBidDuration": true,
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
},
"createdAt": "2026-05-20T08:01:05Z",
"updatedAt": "2026-05-20T11:27:34Z",
"campaignId": "1234",
"showingNow": true,
"sortOrder": 4,
"stockStatus": "SOLD_OUT",
"auction": {
"productId": "1004",
"auctionStatus": "ENDED",
"startingPrice": 7.0,
"bidRound": 3,
"currentPrice": 0.0,
"winningPrice": 9.0,
"recommendedPrices": null,
"winner": {
"uid": "350964901054939144",
"userId": "test@shoplive.cloud",
"name": "ShopliveUser-1"
},
"leader": null,
"winnerCheckoutScheme": null,
"startedAt": 1793524830000,
"endingAt": null,
"endedAt": 1793524950000
}
}
],
"totalCount": 3
}results
true000true000trueseller
true0auction
000winner
null until the auction ends with a winning bid.leader
0{
"_s": -510,
"_e": "Error message"
}Previous ← Transfer campaign to parentNext → Remove all products from the campaign
Remove all products from the campaign
Remove all products from the campaign
Header parameters
Path parameters
Responses
No response body
{
"_s": -510,
"_e": "Error message"
}Previous ← Search auction products in a campaignNext → Change the order of products in a campaign
Change the order of products in a campaign
This API first sorts the products in the order specified in the request body, and then appends the remaining products registered in the campaign in their original order.
Example of the ordering by customerProductId
The original order of the customerProductId values registered in the campaign: sl09, sl08, sl07, sl06, sl05, sl04
Order of the customerProductId values after processing the request: sl04, sl05, sl07, sl09, sl08, sl06
curl --location --request PUT
'https://private.shopliveapi.com/v2/{accessKey}/campaign/{campaignKeyOrId}/product/order'
--header 'Accept: application/json'
--header 'Authorization: Bearer {JWT_TOKEN}'
--header 'Content-Type: application/json'
--data-raw
'[
{"customerProductId": "sl04"},
{"customerProductId": "sl05"},
{"customerProductId": "sl07"}
]'
Error code
| HTTP Status Code | Error code(_s) | Error Message(_e) |
|---|---|---|
404 |
-710 | Campaign does not exist |
404 |
-848 | No products to reorder were found in the campaign |
400 |
-840 | Either the list does not exist or the data does not exist |
Header parameters
Path parameters
Body parameters
At least one item is required. Each item must specify either productId or customerProductId. Use the same identifier type for all items in one request.
[
{
"customerProductId": "sl04"
},
{
"customerProductId": "sl05"
},
{
"customerProductId": "sl07"
}
]Responses
No response body
{
"_s": -510,
"_e": "Error message"
}Previous ← Remove all products from the campaignNext → Retrieve an auction in progress
Retrieve an auction in progress
Retrieve an auction in progress
Header parameters
Path parameters
Responses
The response body is a CampaignProduct object.
{
"productId": "1003",
"customerProductId": "SHOPLIVE_PRODUCT_3",
"name": "T-Shirts",
"brand": "SHOPLIVE",
"description": null,
"url": "https://www.shoplive.cloud/en",
"sku": "SKU003",
"imageUrl": "https://image.shoplive.cloud/67129efb-d859-48b6-94b9-d411fb6de550.jpeg",
"currency": "USD",
"showPrice": true,
"originalPrice": 30.0,
"discountPrice": 28.0,
"discountRate": 6.0,
"enableAuction": true,
"bidStartingPrice": 28.0,
"bidDuration": 120,
"bidIncrementalAmount": 1,
"extendBidDuration": true,
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
},
"createdAt": "2026-05-20T08:01:05Z",
"updatedAt": "2026-05-20T11:27:34Z",
"campaignId": "1234",
"showingNow": true,
"sortOrder": 3,
"stockStatus": "LOW_IN_STOCK",
"auction": {
"productId": "1003 ",
"auctionStatus": "ONGOING",
"startingPrice": 50.0,
"bidRound": 3,
"currentPrice": 52.0,
"winningPrice": null,
"recommendedPrices": [
53.0
],
"winner": null,
"leader": {
"uid": "350964901054939144",
"name": "shoplive-user"
},
"winnerCheckoutScheme": null,
"startedAt": 1769942592969,
"endingAt": 1769942632969,
"endedAt": null
}
}true000true000trueseller
true0auction
000winner
null until the auction ends with a winning bid.leader
00{
"_s": -510,
"_e": "Error message"
}Previous ← Change the order of products in a campaignNext → Transfer campaign to seller
Transfer campaign to seller
Transfer campaign to seller
Header parameters
Path parameters
Query parameters
falseResponses
The response body is a Campaign object.
{
"campaignMeta": {
"campaignId": "1234",
"campaignKey": "{campaignKey}",
"accessKey": "{accessKey}",
"shoplivePlayerUrl": "https://www.shoplive.show/v1/player.html?ak={accessKey}&ck={campaignKey}",
"title": "New title",
"description": "New description",
"campaignStatus": "READY",
"rehearsalPasscode": "1234",
"serveReplay": true,
"logoImageUrl": null,
"preCampaignVideoUrl": null,
"preCampaignImageUrl": "https://image.shoplive.cloud/14352cf2-ef40-4ba9-93af-279a104cb3c8.png",
"postCampaignImageUrl": "https://image.shoplive.cloud/6da19c2d-8d53-4cea-801f-7b39913f7c35.png",
"backgroundImageUrl": "https://image.shoplive.cloud/0b1bd566-4087-40ef-b376-fb863a888d72.png",
"ieUnsupportImageUrl": "https://image.shoplive.cloud/5a0fd01c-8889-4d28-8a15-8b7661a422a2.png",
"scheduledStartAt": "2026-12-01T09:00:00Z",
"scheduledEndAt": "2026-12-01T10:00:00Z",
"campaignStartedAt": null,
"campaignEndedAt": null,
"createdAt": "2026-11-01T08:15:00Z",
"updatedAt": "2026-11-30T11:40:09Z"
},
"stream": {
"streamUrl": "rtmp://stream.shoplive.cloud:1935/stream",
"streamKey": "{streamKey}",
"videoAspectRatio": "9:16",
"liveUrl": "https://live.shoplive.cloud/live/{streamKey}.m3u8",
"liveUrls": {
"480p": "https://live.shoplive.cloud/live/{streamKey}_480p/playlist.m3u8",
"720p": "https://live.shoplive.cloud/live/{streamKey}_720p/playlist.m3u8"
},
"previewLiveUrl": "https://live.shoplive.cloud/live/{streamKey}_320p/index.m3u8",
"replayLiveUrl": null,
"replayLiveUrls": null,
"previewReplayLiveUrl": "https://api.shoplive.cloud/v1/replay/{accessKey}/{campaignKey}/replay_320p/ORIGINAL/index.m3u8"
},
"campaignProductList": [],
"seller": {
"sellerId": "3",
"name": "Live store",
"profileUrl": "https://image.shoplive.cloud/e2e1d1dc-6699-4652-a2f0-c6bae9efab2c.jpg",
"storeUrl": "https://www.shoplive.cloud/en#func01",
"description": "Live commerce store",
"schemes": {}
}
}campaignMeta
stream
liveUrls
seller
{
"_s": -510,
"_e": "Error message"
}{
"_s": -207,
"_e": "Error message"
}{
"_s": -714,
"_e": "Error message"
}{
"_s": -710,
"_e": "Campaign does not exist."
}0Previous ← Retrieve an auction in progressNext → Popup object
Popup object
Popup list item
Fields returned for each item in the array when you query the popups registered to a campaign (GET /v2/{accessKey}/campaign/{campaignKeyOrId}/popup).
| Field | Type | Description |
|---|---|---|
popupResourceId | string | Identifier of the popup |
title | string | Popup title (admin-facing label) |
description | string | Popup description (admin-facing memo) |
contents | object | Popup type-specific content. When popupType is COUPON, it has the shape described in "contents (COUPON)" below |
dismissType | string | KEEP / AUTO / MANUAL |
popupType | string | Popup type. The External API can create COUPON popups only. The list can also include popups of other types created in the console, so skip popups whose type is not COUPON |
dimmed | boolean | Whether the background dim is applied. Not applied to COUPON popups |
duration | integer | Display duration in seconds. 0 means no limit |
showingNow | boolean | Whether the popup is currently shown to live viewers |
clickCount | integer | Cumulative click count |
usedAt | integer | Epoch milliseconds (UTC) of the first time the popup was shown. null if it has never been shown |
createdAt | integer | Creation time in epoch milliseconds (UTC) |
updatedAt | integer | Last update time in epoch milliseconds (UTC) |
Coupon popup request (create/update request body)
Top-level fields of the request body for POST/PUT .../popup/coupon(/{popupResourceId}).
| Field | Type | Required | Description |
|---|---|---|---|
title | string | Optional | Popup title (admin-facing label) |
description | string | Optional | Popup description (admin-facing memo) |
popupType | string | Required | Fixed to COUPON. Any other value returns 400 |
contents | object | Required | See "contents (COUPON)" below |
dismissType | string | Optional | KEEP / AUTO / MANUAL. Defaults to AUTO |
dimmed | boolean | Optional | Whether the background dim is applied. Defaults to false. Not applied to COUPON popups |
duration | integer | Optional | Display duration in seconds. Defaults to 0 (no limit) |
broadcastStrategy | object | Optional | Delivery strategy. Defaults to {"type":"ALL_AT_ONCE"} |
tags | array<string> | Optional | Tags assigned to the popup |
The following fields are set by the server, so you don't need to send them: id, customerId, seller, adminId, adminName, createdAt, updatedAt.
contents (COUPON)
| Field | Type | Required | Description |
|---|---|---|---|
popupType | string | Required | Fixed to COUPON. Must match the top-level popupType |
title | string | Optional | Title of the popup content (separate from the top-level title) |
description | string | Optional | Description of the popup content |
couponDeliveryType | string | Optional | INSTANT (deliver immediately) or DWELL_TIME (deliver after a dwell time). When omitted, it behaves as INSTANT |
couponDeliverySeconds | integer | Optional | Dwell time in seconds before the coupon is delivered. It only takes effect when couponDeliveryType is DWELL_TIME; set a value greater than 0 in that case |
imageUrl | string | Optional | Coupon image URL. Cannot be sent together with imageBase64 (400). PNG, JPEG or GIF up to 5MB only; redirecting URLs are not supported. External URLs are converted to a Shoplive CDN URL (image.shoplive.cloud) |
imageBase64 | string | Optional | Base64-encoded image (without the data: prefix). PNG, JPEG or GIF up to 5MB only. Cannot be sent together with imageUrl (400) |
imageContentType | string | Optional | MIME type of the image |
imageWidth | integer | Optional | Display width in pixels. When 0 (default), the player renders it at its default width of 164px |
textImageListTitle | string | Optional | Title of the text+image list |
textImageList | array<object> | Optional | Each item has the shape {"imageUrl": string, "text": string, "popupType": "TEXT_IMAGE", "action": string|null} |
action | string | Optional | Only CUSTOM_ACTION or null (omitted) is allowed. Any other value returns 400 |
payload | string | Optional | A JSON-serialized string (not an object). Returns 400 if it is not valid JSON. To match the coupon, include {"coupon":"<couponId>"} |
link | string | Optional | Deprecated. Do not use for new integrations |
Enumerations
| Type | Value | Description |
|---|---|---|
PopupType | COUPON | Coupon popup. The only type that can be created through the External API. Other types such as NOTICE/BANNER are created in the console and can still appear in the popup list |
DismissType | KEEP | Always shown on screen |
AUTO | Disappears immediately on click (default) | |
MANUAL | Stays until the client closes it explicitly | |
CouponDeliveryType | INSTANT | Deliver the coupon immediately (also used when couponDeliveryType is omitted) |
DWELL_TIME | Deliver after couponDeliverySeconds seconds of dwell time |
Previous ← Transfer campaign to sellerNext → Search popups in a campaign
Search popups in a campaign
Retrieves the list of popups registered to a campaign. The response is a JSON array of popup items.
Header parameters
Path parameters
Responses
Each item in the array is a Popup list item.
[
{
"popupResourceId": "4297",
"title": "Live-only coupon #1",
"description": null,
"contents": {
"popupType": "COUPON",
"title": null,
"description": null,
"couponDeliveryType": "INSTANT",
"couponDeliverySeconds": null,
"link": null,
"imageUrl": "https://image.shoplive.cloud/aa1a2ae6-e557-462c-ae6d-a2ce47d245a1.png",
"imageWidth": 120,
"textImageListTitle": null,
"textImageList": [],
"action": "CUSTOM_ACTION",
"payload": "{\"coupon\":\"123\"}"
},
"dismissType": "AUTO",
"popupType": "COUPON",
"dimmed": false,
"duration": 0,
"showingNow": false,
"clickCount": 0,
"usedAt": null,
"createdAt": 1793520900000,
"updatedAt": 1793520900000
}
]contents
COUPON popup. Contents of other popup types have different fields and are not documented herepopupType (COUPON for coupon popups)INSTANT (immediately) or DWELL_TIME (after a dwell time). If empty, it works as INSTANT.couponDeliveryType is DWELL_TIMEimage.shoplive.cloud)0textImageList
TEXT_IMAGETEXT_IMAGECUSTOM_ACTION or null (omitted) is allowed. Any other value returns 400{"coupon":"<couponId>"}.COUPON.null if it has never been shown.Previous ← Popup objectNext → Create a coupon popup
Create a coupon popup
Creates one coupon popup and links it to the campaign. This is handled atomically in a single transaction. The response returns only the identifier of the created popup — use the popup list endpoint (GET) to check the full state.
Validation rules: popupType must be COUPON both at the top level and inside contents. contents.action only allows CUSTOM_ACTION or omission; any other value returns 400. contents.payload, when present, must be a valid JSON string, or the request returns 400. To match the coupon, include {"coupon":"<couponId>"} in contents.payload. Only one of contents.imageUrl or contents.imageBase64 may be sent (sending both returns 400); an external image is synchronously downloaded by the server and converted to the Shoplive CDN (image.shoplive.cloud) before saving. A base64 image larger than 5MB (decoded bytes) returns 400.
Header parameters
Path parameters
Body parameters
{
"title": "Live-only coupon #1",
"popupType": "COUPON",
"dismissType": "AUTO",
"dimmed": false,
"duration": 0,
"broadcastStrategy": {
"type": "ALL_AT_ONCE"
},
"contents": {
"popupType": "COUPON",
"couponDeliveryType": "INSTANT",
"imageUrl": "https://cdn.example.com/coupon.png",
"imageWidth": 120,
"action": "CUSTOM_ACTION",
"payload": "{\"coupon\":\"123\"}"
}
}COUPON. Any other value returns 400COUPONcontents
popupType is fixed to COUPONCOUPON. Must match the top-level popupTypeCOUPONINSTANT (immediately) or DWELL_TIME (after a dwell time). Optional — when omitted, it behaves as INSTANTcouponDeliveryType is DWELL_TIMEimageBase64 (400). PNG, JPEG or GIF up to 5MB only; redirecting URLs are not supported. External URLs are converted to a Shoplive CDN URL (image.shoplive.cloud).data: prefix). PNG, JPEG or GIF up to 5MB only. Cannot be used together with imageUrl (400).0textImageList
TEXT_IMAGETEXT_IMAGECUSTOM_ACTION or null (omitted) is allowed. Any other value returns 400{"coupon":"<couponId>"}.AUTOAUTOCOUPON popups.false0broadcastStrategy
{"type":"ALL_AT_ONCE"}ALL_AT_ONCEResponses
{
"popupResourceId": "4297"
}{
"_s": -510,
"_e": "INVALID_ARGUMENT"
}{
"_s": -510,
"_e": "contents.payload is not valid JSON"
}{
"_s": -510,
"_e": "provide either contents.imageBase64 or contents.imageUrl, not both"
}{
"_s": -710,
"_e": "Campaign does not exist."
}0Previous ← Search popups in a campaignNext → Update a coupon popup
Update a coupon popup
Updates the metadata/content of a coupon popup registered to the campaign. The request shape is the same as create. You don't need to send id/customerId/seller/adminId/adminName/createdAt/updatedAt; the server sets them. Only COUPON popups can be updated. Returns 404 if the target {popupResourceId} is not registered to this campaign or is not a COUPON popup. There is no response body — check the updated state with the popup list endpoint (GET).
Validation rules are the same as create: contents.action only allows CUSTOM_ACTION or omission, contents.payload must be a valid JSON string when present, contents.imageUrl/contents.imageBase64 cannot be used together (400), and the 5MB limit applies.
If this popup is also linked to other campaigns, changes to contents/dismissType/duration are applied to all linked campaigns at once.
Header parameters
Path parameters
Body parameters
{
"title": "Live-only coupon #1",
"popupType": "COUPON",
"dismissType": "AUTO",
"dimmed": false,
"duration": 0,
"broadcastStrategy": {
"type": "ALL_AT_ONCE"
},
"contents": {
"popupType": "COUPON",
"couponDeliveryType": "INSTANT",
"imageUrl": "https://cdn.example.com/coupon.png",
"imageWidth": 120,
"action": "CUSTOM_ACTION",
"payload": "{\"coupon\":\"123\"}"
}
}COUPON. Any other value returns 400COUPONcontents
popupType is fixed to COUPONCOUPON. Must match the top-level popupTypeCOUPONINSTANT (immediately) or DWELL_TIME (after a dwell time). Optional — when omitted, it behaves as INSTANTcouponDeliveryType is DWELL_TIMEimageBase64 (400). PNG, JPEG or GIF up to 5MB only; redirecting URLs are not supported. External URLs are converted to a Shoplive CDN URL (image.shoplive.cloud).data: prefix). PNG, JPEG or GIF up to 5MB only. Cannot be used together with imageUrl (400).0textImageList
TEXT_IMAGETEXT_IMAGECUSTOM_ACTION or null (omitted) is allowed. Any other value returns 400{"coupon":"<couponId>"}.AUTOAUTOCOUPON popups.false0broadcastStrategy
{"type":"ALL_AT_ONCE"}ALL_AT_ONCEResponses
No response body
{
"_s": -510,
"_e": "INVALID_ARGUMENT"
}{
"_s": -404,
"_e": "NOT_FOUND"
}{
"_s": -710,
"_e": "Campaign does not exist."
}0Previous ← Create a coupon popupNext → Unlink a popup from the campaign
Unlink a popup from the campaign
Unlinks a popup from the campaign. The popup resource itself is not deleted (it can only be permanently deleted from the console). If it was linked to other campaigns, those links remain unchanged. If the popup is currently shown (showingNow is true in the popup list), this returns 409; deactivate it first.
Header parameters
Path parameters
Responses
No response body
{
"_s": -404,
"_e": "NOT_FOUND"
}{
"_s": -116,
"_e": "popup is currently showing; deactivate first before unlink"
}{
"_s": -710,
"_e": "Campaign does not exist."
}0Previous ← Update a coupon popupNext → Activate a popup
Activate a popup
Shows the popup to live viewers immediately. After this call, the popup's showingNow is true in the popup list response.
Idempotent: calling this again when showingNow is already true returns 204 without changing anything (safe to retry or call more than once).
Header parameters
Path parameters
Query parameters
0Responses
No response body
{
"_s": -510,
"_e": "broadcastDelay must be non-negative"
}{
"_s": -404,
"_e": "NOT_FOUND"
}{
"_s": -710,
"_e": "Campaign does not exist."
}0Previous ← Unlink a popup from the campaignNext → Deactivate a popup
Deactivate a popup
Hides the popup from live viewers immediately. After this call, the popup's showingNow is false in the popup list response.
Idempotent: calling this again when showingNow is already false returns 204 without changing anything (safe to retry or call more than once).
Header parameters
Path parameters
Query parameters
0Responses
No response body
{
"_s": -510,
"_e": "broadcastDelay must be non-negative"
}{
"_s": -404,
"_e": "NOT_FOUND"
}{
"_s": -710,
"_e": "Campaign does not exist."
}0Previous ← Activate a popupNext → Product object
Product object
Property name | Type | Description |
|---|---|---|
productId | String! | Automatically generated unique product ID. |
customerProductId | String? | Customer-defined product ID. Must be unique. |
name | String! | Product name. |
brand | String? | Brand name. |
brandIdentifier | String? | Brand key (identifier) of the product, set by the customer. |
description | String? | Description of the product. |
url | String! | Product URL. Viewers go to this URL when they click the product info on the Shoplive Player. |
sku | String? | Product SKU information (defined by the customer) |
imageUrl | String? | Product image URL. |
currency | String! | Currency of the price. |
showPrice | Boolean! | Whether to show the price on the Shoplive Player. |
originalPrice | Double? | e.g. 20.00 ($20.00 if the currency is USD) |
discountPrice | Double? | e.g. 15.00 ($15.00 if the currency is USD) |
discountRate | Double? | e.g. 25.00 (if the discount rate is 25%) |
enableAuction | Boolean! | Whether the product supports an auction. |
bidStartingPrice | Double? | Starting price of the auction (e.g. 0.99). Required when |
bidDuration | Integer? | Bidding duration of the auction in seconds. This value is required when the |
bidIncrementalAmount | Double? | Bid increment amount (e.g. 1.00). Required when |
extendBidDuration | Boolean? | Whether to extend the remaining time to bid when a bid is placed near the end of the auction. The extension time follows the customer's auction settings. |
ctaButtonTitle | String? | You can customize the CTA(call-to-action) title of the product. As it requires UI customization, it needs to be discussed with Shoplive. Please contact ask@shoplive.cloud if you want to use this feature. |
locked | Boolean! |
|
seller | Seller information that owns the product. | |
createdAt | String! | Date and time when the product was created (format: |
updatedAt | String! | Date and time when the product was last updated (format: |
Sample
General product
{
"productId": "1001",
"customerProductId": "SHOPLIVE_PRODUCT_1",
"name": "Keyring",
"brand": "SHOPLIVE",
"brandIdentifier": "SHOPLIVE_BRAND_IDENTIFIER",
"description": null,
"url": "https://www.shoplive.cloud/en",
"sku": "SKU001",
"imageUrl": "https://image.shoplive.cloud/e05d1464-1942-4e4e-bb0b-c4310167d465.jpeg",
"currency": "USD",
"showPrice": true,
"originalPrice": 20.0,
"discountPrice": 10.0,
"discountRate": 50.0,
"enableAuction": false,
"bidStartingPrice": null,
"bidDuration": null,
"bidIncrementalAmount": null,
"extendBidDuration": null,
"ctaButtonTitle": "Buy It Now",
"locked": false,
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
},
"createdAt": "2026-05-20T08:01:05Z",
"updatedAt": "2026-05-20T11:27:34Z"
}Auction product
{
"productId": "1004",
"customerProductId": "SHOPLIVE_PRODUCT_4",
"name": "Mug",
"brand": "SHOPLIVE",
"brandIdentifier": "SHOPLIVE_BRAND_IDENTIFIER",
"description": null,
"url": "https://www.shoplive.cloud/en",
"sku": "SKU004",
"imageUrl": "https://image.shoplive.cloud/b22c72c7-d2f8-49c3-83f0-314c59740649.jpeg",
"currency": "USD",
"showPrice": true,
"originalPrice": 10.0,
"discountPrice": 7.0,
"discountRate": 30.0,
"enableAuction": true,
"bidStartingPrice": 7.0,
"bidDuration": 120,
"bidIncrementalAmount": 1.0,
"extendBidDuration": true,
"ctaButtonTitle": "Bid",
"locked": false,
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
},
"createdAt": "2026-05-20T08:01:05Z",
"updatedAt": "2026-05-20T11:27:34Z"
}Previous ← Deactivate a popupNext → Search products
Search products
Search products
Header parameters
Path parameters
Query parameters
false (newest first).false130Responses
Each item in results is a Product object.
{
"results": [
{
"productId": "1005",
"customerProductId": "SHOPLIVE_PRODUCT_5",
"name": "Ballcap",
"brand": "SHOPLIVE",
"description": null,
"url": "https://www.shoplive.cloud/en",
"sku": "SKU005",
"imageUrl": "https://image.shoplive.cloud/ae4d67b6-9d92-4a19-a457-6566420c5b9b.jpeg",
"currency": "USD",
"showPrice": true,
"originalPrice": 18.0,
"discountPrice": 14.0,
"discountRate": 22.0,
"enableAuction": false,
"bidStartingPrice": null,
"bidDuration": null,
"bidIncrementalAmount": null,
"extendBidDuration": null,
"locked": false,
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
},
"createdAt": "2026-05-20T08:01:05Z",
"updatedAt": "2026-05-20T11:27:34Z"
},
{
"productId": "1004",
"customerProductId": "SHOPLIVE_PRODUCT_4",
"name": "Mug",
"brand": "SHOPLIVE",
"description": null,
"url": "https://www.shoplive.cloud/en",
"sku": "SKU004",
"imageUrl": "https://image.shoplive.cloud/b22c72c7-d2f8-49c3-83f0-314c59740649.jpeg",
"currency": "USD",
"showPrice": true,
"originalPrice": 10.0,
"discountPrice": 7.0,
"discountRate": 30.0,
"enableAuction": true,
"bidStartingPrice": 7.0,
"bidDuration": 120,
"bidIncrementalAmount": 1.0,
"extendBidDuration": true,
"locked": false,
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
},
"createdAt": "2026-05-20T08:01:05Z",
"updatedAt": "2026-05-20T11:27:34Z"
},
{
"productId": "1003",
"customerProductId": "SHOPLIVE_PRODUCT_3",
"name": "T-Shirts",
"brand": "SHOPLIVE",
"description": null,
"url": "https://www.shoplive.cloud/en",
"sku": "SKU003",
"imageUrl": "https://image.shoplive.cloud/67129efb-d859-48b6-94b9-d411fb6de550.jpeg",
"currency": "USD",
"showPrice": true,
"originalPrice": 30.0,
"discountPrice": 28.0,
"discountRate": 6.0,
"enableAuction": false,
"bidStartingPrice": null,
"bidDuration": null,
"bidIncrementalAmount": null,
"extendBidDuration": null,
"locked": false,
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
},
"createdAt": "2026-05-20T08:01:05Z",
"updatedAt": "2026-05-20T11:27:34Z"
},
{
"productId": "1002",
"customerProductId": "SHOPLIVE_PRODUCT_2",
"name": "Hoodie",
"brand": "SHOPLIVE",
"description": null,
"url": "https://www.shoplive.cloud/en",
"sku": "SKU002",
"imageUrl": "https://image.shoplive.cloud/40afe353-0d23-47b6-acdf-10d1fca10c57.jpeg",
"currency": "USD",
"showPrice": true,
"originalPrice": 50.0,
"discountPrice": 37.0,
"discountRate": 26.0,
"enableAuction": false,
"bidStartingPrice": null,
"bidDuration": null,
"bidIncrementalAmount": null,
"extendBidDuration": null,
"locked": false,
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
},
"createdAt": "2026-05-20T08:01:05Z",
"updatedAt": "2026-05-20T11:27:34Z"
},
{
"productId": "1001",
"customerProductId": "SHOPLIVE_PRODUCT_1",
"name": "Keyring",
"brand": "SHOPLIVE",
"description": null,
"url": "https://www.shoplive.cloud/en",
"sku": "SKU001",
"imageUrl": "https://image.shoplive.cloud/e05d1464-1942-4e4e-bb0b-c4310167d465.jpeg",
"currency": "USD",
"showPrice": true,
"originalPrice": 20.0,
"discountPrice": 10.0,
"discountRate": 50.0,
"enableAuction": false,
"bidStartingPrice": null,
"bidDuration": null,
"bidIncrementalAmount": null,
"extendBidDuration": null,
"locked": false,
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
},
"createdAt": "2026-05-20T08:01:05Z",
"updatedAt": "2026-05-20T11:27:34Z"
}
],
"totalCount": 5
}results
true000truetrueseller
0{
"_s": -510,
"_e": "Error message"
}Previous ← Product objectNext → Create products
Create products
Creates products. This is not an upsert: an item whose customerProductId already exists returns status: FAIL. Each item's status is CREATE, WARN (created, but the image could not be loaded) or FAIL.
Header parameters
Path parameters
Body parameters
At least one item is required.
[
{
"customerProductId": "CUSTOMER_PRODUCT_ID_12345",
"name": "TEST PRODUCT",
"url": "TEST_URL"
}
]status FAIL.status FAIL)enableAuction is true.enableAuction is true.enableAuction is true.true to turn it on. The extension time follows the customer's auction settings.seller
Responses
{
"results": [
{
"productId": "1001",
"customerProductId": "SHOPLIVE_PRODUCT_1",
"name": "Keyring",
"brand": "SHOPLIVE",
"description": "Keyring description",
"url": "https://www.shoplive.cloud/en",
"sku": "SKU001",
"imageUrl": "https://image.shoplive.cloud/e05d1464-1942-4e4e-bb0b-c4310167d465.jpeg",
"currency": "USD",
"showPrice": true,
"originalPrice": 20.0,
"discountPrice": 10.0,
"discountRate": 50.0,
"enableAuction": false,
"bidStartingPrice": null,
"bidDuration": null,
"bidIncrementalAmount": null,
"extendBidDuration": null,
"locked": false,
"seller": {
"sellerId": "1",
"name": "New seller",
"profileUrl": "https://image.shoplive.cloud/14352cf2-ef40-4ba9-93af-279a104cb3c8.png",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": {}
},
"createdAt": "2026-05-20T08:01:04Z",
"updatedAt": "2026-05-20T08:01:04Z",
"message": null,
"status": "CREATE"
},
{
"productId": "1002",
"customerProductId": "SHOPLIVE_PRODUCT_2",
"name": "Mug",
"brand": "SHOPLIVE",
"description": "Mug description",
"url": "https://www.shoplive.cloud/en",
"sku": "SKU002",
"imageUrl": null,
"currency": "USD",
"showPrice": true,
"originalPrice": 10.0,
"discountPrice": 7.0,
"discountRate": 30.0,
"enableAuction": true,
"bidStartingPrice": 7.0,
"bidDuration": 120,
"bidIncrementalAmount": 1.0,
"extendBidDuration": true,
"locked": false,
"seller": null,
"createdAt": "2026-05-20T08:01:04Z",
"updatedAt": "2026-05-20T08:01:04Z",
"message": "Failed to load image of the product.",
"status": "WARN"
}
],
"successCount": 1,
"warnCount": 1,
"failCount": 0,
"totalCount": 2
}results
true000truetrueseller
0000{
"_s": -510,
"_e": "Error message"
}Previous ← Search productsNext → Retrieve product info
Retrieve product info
Retrieve product info
Header parameters
Path parameters
Responses
The response body is a Product object.
{
"productId": "1004",
"customerProductId": "SHOPLIVE_PRODUCT_4",
"name": "Mug",
"brand": "SHOPLIVE",
"description": null,
"url": "https://www.shoplive.cloud/en",
"sku": "SKU004",
"imageUrl": "https://image.shoplive.cloud/b22c72c7-d2f8-49c3-83f0-314c59740649.jpeg",
"currency": "USD",
"showPrice": true,
"originalPrice": 10.0,
"discountPrice": 7.0,
"discountRate": 30.0,
"enableAuction": true,
"bidStartingPrice": 7.0,
"bidDuration": 120,
"bidIncrementalAmount": 1.0,
"extendBidDuration": true,
"locked": false,
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
},
"createdAt": "2026-05-20T08:01:05Z",
"updatedAt": "2026-05-20T11:27:34Z"
}true000truetrueseller
{
"_s": -831,
"_e": "Error message"
}0Previous ← Create productsNext → Retrieve product info by customerProductId
Retrieve product info by customerProductId
Retrieve product info by customerProductId
Header parameters
Path parameters
Responses
The response body is a Product object.
{
"productId": "1004",
"customerProductId": "SHOPLIVE_PRODUCT_4",
"name": "Mug",
"brand": "SHOPLIVE",
"description": null,
"url": "https://www.shoplive.cloud/en",
"sku": "SKU004",
"imageUrl": "https://image.shoplive.cloud/b22c72c7-d2f8-49c3-83f0-314c59740649.jpeg",
"currency": "USD",
"showPrice": true,
"originalPrice": 10.0,
"discountPrice": 7.0,
"discountRate": 30.0,
"enableAuction": true,
"bidStartingPrice": 7.0,
"bidDuration": 120,
"bidIncrementalAmount": 1.0,
"extendBidDuration": true,
"locked": false,
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
},
"createdAt": "2026-05-20T08:01:05Z",
"updatedAt": "2026-05-20T11:27:34Z"
}true000truetrueseller
{
"_s": -831,
"_e": "Error message"
}0Previous ← Retrieve product infoNext → Update products
Update products
Updates products. Identify each item by customerProductId or productId, and use one identifier type per request. Each item's status is UPDATE or FAIL.
Header parameters
Path parameters
Body parameters
At least one item is required. Each item must specify either productId or customerProductId. Use the same identifier type for all items in one request.
[
{
"customerProductId": "CUSTOMER_PRODUCT_ID_12345",
"name": "Updated product name",
"url": "Updated product url",
"description": "Updated product description"
}
]enableAuction is true.enableAuction is true.enableAuction is true.true turns it on, false turns it off, and if omitted the current setting of the product is kept. The extension time follows the customer's auction settings.seller
Responses
{
"results": [
{
"productId": "1001",
"name": "Keyring",
"brand": "SHOPLIVE",
"description": "Keyring description",
"url": "https://www.shoplive.cloud/en",
"sku": "SKU001",
"imageUrl": "https://image.shoplive.cloud/e05d1464-1942-4e4e-bb0b-c4310167d465.jpeg",
"currency": "USD",
"showPrice": true,
"originalPrice": 20.0,
"discountPrice": 10.0,
"discountRate": 50.0,
"enableAuction": false,
"bidStartingPrice": null,
"bidDuration": null,
"bidIncrementalAmount": null,
"extendBidDuration": null,
"locked": false,
"seller": null,
"createdAt": "2026-11-30T08:01:04Z",
"updatedAt": "2026-11-30T12:06:02Z",
"message": null,
"status": "UPDATE"
},
{
"productId": "10000000",
"name": "Mug",
"brand": "SHOPLIVE",
"description": "Mug description",
"url": "https://www.shoplive.cloud/en",
"sku": "SKU002",
"imageUrl": "https://image.shoplive.cloud/b22c72c7-d2f8-49c3-83f0-314c59740649.jpeg",
"currency": "USD",
"showPrice": true,
"originalPrice": 10.0,
"discountPrice": 7.0,
"discountRate": 30.0,
"enableAuction": true,
"bidStartingPrice": 7.0,
"bidDuration": 120,
"bidIncrementalAmount": 1.0,
"extendBidDuration": true,
"locked": false,
"seller": null,
"createdAt": null,
"updatedAt": null,
"message": "The product does not exist.",
"status": "FAIL"
}
],
"successCount": 1,
"warnCount": 0,
"failCount": 1,
"totalCount": 2
}results
true000truetrue0000{
"_s": -510,
"_e": "Error message"
}Previous ← Retrieve product info by customerProductIdNext → Delete products
Delete products
Deletes products. Identify each item by customerProductId or productId, and use one identifier type per request. Each item's status is DELETE or FAIL.
Header parameters
Path parameters
Query parameters
true (default), a product that is registered in campaigns is detached from those campaigns and then deleted. When false, a product registered in a campaign is not deleted and is returned as a failed item (status is FAIL in results[]). A product registered in a shortform is never deleted, regardless of this value.trueBody parameters
At least one item is required. Each item must specify either productId or customerProductId. Use the same identifier type for all items in one request.
[
{
"productId": 123456
}
]Responses
{
"results": [
{
"productId": "1234",
"message": "Keyring is deleted.",
"status": "DELETE"
},
{
"productId": "1235",
"message": "Ballcap is deleted.",
"status": "DELETE"
}
],
"successCount": 2,
"warnCount": 0,
"failCount": 0,
"totalCount": 2
}results
0000{
"_s": -510,
"_e": "Error message"
}Previous ← Update productsNext → Transfer products to seller
Transfer products to seller
Transfer products to seller
Header parameters
Path parameters
Body parameters
At least one item is required. Each item must specify either productId or customerProductId. Use the same identifier type for all items in one request.
[
{
"productId": 1001
},
{
"productId": 1002
}
]Responses
{
"results": [
{
"productId": "1001",
"customerProductId": "SHOPLIVE_PRODUCT_1",
"name": "Keyring",
"brand": "SHOPLIVE",
"description": null,
"url": "https://www.shoplive.cloud/en",
"sku": "SKU001",
"imageUrl": "https://image.shoplive.cloud/e05d1464-1942-4e4e-bb0b-c4310167d465.jpeg",
"currency": "USD",
"showPrice": true,
"originalPrice": 20.0,
"discountPrice": 10.0,
"discountRate": 50.0,
"enableAuction": false,
"bidStartingPrice": null,
"bidDuration": null,
"bidIncrementalAmount": null,
"extendBidDuration": null,
"locked": false,
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
},
"createdAt": "2026-05-20T08:01:05Z",
"updatedAt": "2026-05-20T11:27:34Z",
"message": null,
"status": "UPDATE"
},
{
"productId": "1002",
"customerProductId": "SHOPLIVE_PRODUCT_2",
"name": "Hoodie",
"brand": "SHOPLIVE",
"description": null,
"url": "https://www.shoplive.cloud/en",
"sku": "SKU002",
"imageUrl": "https://image.shoplive.cloud/40afe353-0d23-47b6-acdf-10d1fca10c57.jpeg",
"currency": "USD",
"showPrice": true,
"originalPrice": 50.0,
"discountPrice": 37.0,
"discountRate": 26.0,
"enableAuction": false,
"bidStartingPrice": null,
"bidDuration": null,
"bidIncrementalAmount": null,
"extendBidDuration": null,
"locked": false,
"seller": {
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": null
},
"createdAt": "2026-05-20T08:01:05Z",
"updatedAt": "2026-05-20T11:27:34Z",
"message": null,
"status": "UPDATE"
}
],
"successCount": 2,
"warnCount": 0,
"failCount": 0,
"totalCount": 2
}results
true000truetrueseller
0000{
"_s": -510,
"_e": "Error message"
}Previous ← Delete productsNext → Transfer products to parent
Transfer products to parent
Transfer products to parent
Header parameters
Path parameters
Body parameters
At least one item is required. Each item must specify either productId or customerProductId. Use the same identifier type for all items in one request.
[
{
"productId": 1001
},
{
"productId": 1002
}
]Responses
{
"results": [
{
"productId": "1001",
"customerProductId": "SHOPLIVE_PRODUCT_1",
"name": "Keyring",
"brand": "SHOPLIVE",
"description": null,
"url": "https://www.shoplive.cloud/en",
"sku": "SKU001",
"imageUrl": "https://image.shoplive.cloud/e05d1464-1942-4e4e-bb0b-c4310167d465.jpeg",
"currency": "USD",
"showPrice": true,
"originalPrice": 20.0,
"discountPrice": 10.0,
"discountRate": 50.0,
"enableAuction": false,
"bidStartingPrice": null,
"bidDuration": null,
"bidIncrementalAmount": null,
"extendBidDuration": null,
"locked": false,
"seller": null,
"createdAt": "2026-05-20T08:01:05Z",
"updatedAt": "2026-05-20T11:27:34Z",
"message": null,
"status": "UPDATE"
},
{
"productId": "1002",
"customerProductId": "SHOPLIVE_PRODUCT_2",
"name": "Hoodie",
"brand": "SHOPLIVE",
"description": null,
"url": "https://www.shoplive.cloud/en",
"sku": "SKU002",
"imageUrl": "https://image.shoplive.cloud/40afe353-0d23-47b6-acdf-10d1fca10c57.jpeg",
"currency": "USD",
"showPrice": true,
"originalPrice": 50.0,
"discountPrice": 37.0,
"discountRate": 26.0,
"enableAuction": false,
"bidStartingPrice": null,
"bidDuration": null,
"bidIncrementalAmount": null,
"extendBidDuration": null,
"locked": false,
"seller": null,
"createdAt": "2026-05-20T08:01:05Z",
"updatedAt": "2026-05-20T11:27:34Z",
"message": null,
"status": "UPDATE"
}
],
"successCount": 2,
"warnCount": 0,
"failCount": 0,
"totalCount": 2
}results
true000truetrueseller
0000{
"_s": -510,
"_e": "Error message"
}Previous ← Transfer products to sellerNext → Start broadcast/rehearsal
Start broadcast/rehearsal
Starts the campaign. Add rehearsal=true to start a rehearsal.
Header parameters
Path parameters
Query parameters
falseResponses
No response body
{
"_s": -714,
"_e": "Error message"
}{
"_s": -717,
"_e": "Error message"
}{
"_s": -710,
"_e": "Campaign does not exist."
}0Previous ← Transfer products to parentNext → Change product stock status in console
Change product stock status in console
Change product stock status in console
Header parameters
Path parameters
Query parameters
SOLD_OUT.SOLD_OUTBody parameters
At least one item is required. Each item must specify either productId or customerProductId. Use the same identifier type for all items in one request.
[
{
"productId": 12345
},
{
"productId": 23456
}
]Responses
{
"results": [
{
"productId": "30092",
"message": null,
"status": "UPDATE"
},
{
"productId": "30093",
"message": null,
"status": "UPDATE"
}
],
"successCount": 2,
"failCount": 0,
"totalCount": 2
}results
0000{
"_s": -510,
"_e": "Error message"
}Previous ← Start broadcast/rehearsalNext → Show/hide "Now" status of products in the console
Show/hide "Now" status of products in the console
Show/hide "Now" status of products in the console
Header parameters
Path parameters
Query parameters
trueBody parameters
At least one item is required. Each item must specify either productId or customerProductId. Use the same identifier type for all items in one request.
[
{
"customerProductId": "SKU-1001"
}
]Responses
2 rows updated.{
"_s": -510,
"_e": "Error message"
}Previous ← Change product stock status in consoleNext → End broadcast/rehearsal
End broadcast/rehearsal
Ends the campaign. Ending a rehearsal returns the campaign to READY.
Header parameters
Path parameters
Responses
No response body
{
"_s": -711,
"_e": "Error message"
}{
"_s": -717,
"_e": "Error message"
}{
"_s": -710,
"_e": "Campaign does not exist."
}0Previous ← Show/hide "Now" status of products in the consoleNext → Show/hide "Now" status of all products in the console
Show/hide "Now" status of all products in the console
Show/hide "Now" status of all products in the console
Header parameters
Path parameters
Query parameters
trueResponses
No response body
{
"_s": -510,
"_e": "Error message"
}Previous ← End broadcast/rehearsalNext → Start auction
Start auction
Start auction
Header parameters
Path parameters
Body parameters
Specify either productId or customerProductId (one of them is required). If both are given, customerProductId is used.
{
"productId": 123456
}Responses
No response body
{
"_s": -1002,
"_e": "AUCTION_ALREADY_ONGOING"
}{
"_s": -1004,
"_e": "auction_already_ended"
}{
"_s": -1009,
"_e": "AUCTION_PRODUCT_SOLD_OUT"
}0Previous ← Show/hide "Now" status of all products in the consoleNext → End auction
End auction
End auction
Header parameters
Path parameters
Body parameters
Specify either productId or customerProductId (one of them is required). If both are given, customerProductId is used.
{
"customerProductId": "SKU-1001"
}Responses
No response body
{
"_s": -1004,
"_e": "auction_already_ended"
}0Previous ← Start auctionNext → Seller object
Seller object
Property name | Type | Description |
|---|---|---|
sellerId | String! | Automatically generated identifier of the seller. (numeric string, e.g. |
name | String! | Name of the seller |
profileUrl | String? | Profile image URL of the seller |
storeUrl | String? | Store URL of the seller |
description | String? | Description of the seller |
schemes | Map<String, String>? | App schemes that open the seller's page when the user clicks each button in the player. |
sellerIdentifier | String? | String identifier of the seller |
Sample
{
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": {},
"sellerIdentifier": "Identifier_of_the_seller"
}Previous ← End auctionNext → Search sellers
Search sellers
Search sellers
Header parameters
Path parameters
Query parameters
false (newest first).false110Responses
Each item in results is a Seller object.
{
"results": [
{
"sellerId": "3",
"name": "Live store",
"profileUrl": "https://image.shoplive.cloud/e2e1d1dc-6699-4652-a2f0-c6bae9efab2c.jpg",
"storeUrl": "https://www.shoplive.cloud/en#func01",
"description": "Live commerce store",
"schemes": {}
},
{
"sellerId": "2",
"name": "Sharp store",
"profileUrl": "https://image.shoplive.cloud/0d6c6e15-a98d-4f6b-ba09-24967ec24048.jpeg",
"storeUrl": "https://www.shoplive.cloud/en#func02",
"description": "Sharp live store",
"schemes": {}
},
{
"sellerId": "1",
"name": "Shoplive store",
"profileUrl": "https://image.shoplive.cloud/83611e14-eb5a-4116-b94a-e0657e5e1178.png",
"storeUrl": "https://www.shoplive.cloud/en#func03",
"description": "Shoplive store",
"schemes": {}
}
],
"totalCount": 3
}results
0{
"_s": -510,
"_e": "Error message"
}Previous ← Seller objectNext → Create a seller
Create a seller
Create a seller
Header parameters
Path parameters
Body parameters
{
"name": "New seller",
"profileUrl": "https://image.shoplive.cloud/14352cf2-ef40-4ba9-93af-279a104cb3c8.png",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller"
}Responses
The response body is a Seller object.
{
"sellerId": "3",
"name": "New seller",
"profileUrl": "https://image.shoplive.cloud/14352cf2-ef40-4ba9-93af-279a104cb3c8.png",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": {}
}{
"_s": -510,
"_e": "Error message"
}Previous ← Search sellersNext → Update a seller
Update a seller
Update a seller
Header parameters
Path parameters
Body parameters
{
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller"
}Responses
The response body is a Seller object.
{
"sellerId": "1",
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller",
"schemes": {}
}{
"_s": -510,
"_e": "Error message"
}Previous ← Create a sellerNext → Delete a seller
Delete a seller
Deletes the seller. A deleted seller no longer appears in Search sellers and can't be retrieved or updated. The response has no body.
Header parameters
Path parameters
Responses
No response body
{
"_s": -510,
"_e": "Error message"
}Previous ← Update a sellerNext → Retrieve seller info
Retrieve seller info
Retrieve seller info
Header parameters
Path parameters
Responses
The response body is a Seller object.
{
"sellerId": "3",
"name": "Live store",
"profileUrl": "https://image.shoplive.cloud/e2e1d1dc-6699-4652-a2f0-c6bae9efab2c.jpg",
"storeUrl": "https://www.shoplive.cloud/en#func01",
"description": "Live commerce store",
"schemes": {}
}{
"_s": -510,
"_e": "Error message"
}Previous ← Delete a sellerNext → Brand object
Brand object
Property name | Type | Description |
|---|---|---|
brandId | String! | Automatically generated unique ID of the brand. Read only. |
name | String! | Brand name. Max 255 characters. |
identifier | String! | Brand identifier. |
description | String? | Brand description. |
imageUrl | String! | Brand image URL. |
imageWidth | Integer! | Brand image width (pixel). Automatically generated. Read only. |
imageHeight | Integer! | Brand image height (pixel). Automatically generated. Read only. |
createdAt | String! | Brand creation time. Read only. (format: |
updatedAt | String! | Brand update time. Read only. (format: |
Sample
{
"brandId": "1",
"name": "Shoplive",
"identifier": "shoplive_brand",
"description": "Shoplive Brand.",
"imageUrl": "https://image.shoplive.cloud/{UUID}.png",
"imageWidth": 2110,
"imageHeight": 317,
"createdAt": "2026-02-01T08:34:33Z",
"updatedAt": "2026-02-22T08:09:38Z"
}Previous ← Retrieve seller infoNext → Search brands
Search brands
Search brands
Header parameters
Path parameters
Query parameters
false (newest first).false110Responses
Each item in results is a Brand object.
{
"results": [
{
"brandId": "100",
"name": "SHOPLIVE_BRAND_1",
"identifier": "SHOPLIVE_BRAND_IDENTIFIER",
"description": "this is a sample brand",
"imageUrl": "https://shoplive.cloud/sample.jpg",
"imageWidth": 320,
"imageHeight": 200,
"createdAt": "2026-02-22T13:32:50Z",
"updatedAt": "2026-02-22T13:33:46Z"
}
],
"totalCount": 3
}results
000{
"_s": -510,
"_e": "Error message"
}Previous ← Brand objectNext → Create a brand
Create a brand
Create a brand
Header parameters
Path parameters
Body parameters
{
"name": "SHOPLIVE_BRAND_1",
"imageUrl": "https://shoplive.cloud/sample.jpg",
"identifier": "SHOPLIVE_BRAND_IDENTIFIER",
"description": "this is a sample brand"
}Responses
The response body is a Brand object.
{
"brandId": "100",
"name": "SHOPLIVE_BRAND_1",
"identifier": "SHOPLIVE_BRAND_IDENTIFIER",
"description": "this is a sample brand",
"imageUrl": "https://shoplive.cloud/sample.jpg",
"imageWidth": 320,
"imageHeight": 200,
"createdAt": "2026-02-22T13:32:50Z",
"updatedAt": "2026-02-22T13:33:46Z"
}00{
"_s": -510,
"_e": "Error message"
}0Previous ← Search brandsNext → Retrieve a brand
Retrieve a brand
Retrieve a brand
Header parameters
Path parameters
Responses
The response body is a Brand object.
{
"brandId": "100",
"name": "SHOPLIVE_BRAND_1",
"identifier": "SHOPLIVE_BRAND_IDENTIFIER",
"description": "this is a sample brand",
"imageUrl": "https://shoplive.cloud/sample.jpg",
"imageWidth": 320,
"imageHeight": 200,
"createdAt": "2026-02-22T13:32:50Z",
"updatedAt": "2026-02-22T13:33:46Z"
}00{
"_s": -510,
"_e": "Error message"
}Previous ← Create a brandNext → Update brand info
Update brand info
Update brand info
Header parameters
Path parameters
Body parameters
{
"name": "Shoplive",
"description": "Shoplive Brand."
}Responses
The response body is a Brand object.
{
"brandId": "100",
"name": "SHOPLIVE_BRAND_1",
"identifier": "SHOPLIVE_BRAND_IDENTIFIER",
"description": "this is a sample brand",
"imageUrl": "https://shoplive.cloud/sample.jpg",
"imageWidth": 320,
"imageHeight": 200,
"createdAt": "2026-02-22T13:32:50Z",
"updatedAt": "2026-02-22T13:33:46Z"
}00{
"_s": -510,
"_e": "Error message"
}0Previous ← Retrieve a brandNext → Delete a brand
Delete a brand
Delete a brand
Header parameters
Path parameters
Responses
No response body
{
"_s": -510,
"_e": "Error message"
}0Previous ← Update brand infoNext → Shortform object
Shortform object
The Shortform object contains the video and various metadata that make up an individual shortform. You can use this object to create a preview screen composed of multiple thumbnails or to construct feeds for playing individual shortforms. The Shortform search, retrieval, creation, and update APIs return this object.
You can also create, update, and delete shortforms directly through the API (Create a shortform, Update a shortform, Delete a shortform).
Shortform object
Property name | Type | Description |
|---|---|---|
shortformId | String! | Unique ID assigned to each Shortform generated by the Shoplive system. |
createdAt | String! | Date and time when the Shortform was created is in the following format: (format: YYYY-MM-DD'T'HH:mm:ss'Z', e.g. 2026-12-25T08:00:00Z) |
updatedAt | String! | Date and time when the Shortform was updated is in the following format: (format: YYYY-MM-DD'T'HH:mm:ss'Z', e.g. 2026-12-25T08:00:00Z) |
status | String! | Status flag of the visibility of a shortform (OPEN | HIDDEN | SCHEDULED) |
details | The details of each shortform include the following properties.
| |
activity | The activity information associated with each shortform includes the following properties.
| |
video | The video associated with the shortform includes the following properties.
|
Details object
The details of each shortform include the following properties.
Property name | Type | Description |
|---|---|---|
title | String! | Title of the shortform |
description | String? | Description of the shortform |
brand | Brand information set for the shortform | |
tags | List<String>? | Tag information set for the shortform |
productCount | Integer! | Number of products set in the shortform |
productBanner | Product banner information set in the shortform | |
products | Information about the products associated with the shortform. |
Activity object
The activity of each shortform includes the following properties. In the items returned by Search shortforms, only viewCount is included; to get likeCount, commentCount, bookmarkCount, and shareCount, call Retrieve a shortform.
Property name | Type | Description |
|---|---|---|
viewCount | Integer! | Number of users who have watched the shortform |
likeCount | Integer! | Number of times the shortform has been liked (not available in the Search API) |
commentCount | Integer! | Number of comments on the shortform (not available in the Search API) |
bookmarkCount | Integer! | Number of times the shortform has been bookmarked (not available in the Search API) |
shareCount | Integer! | Number of times the shortform has been shared (not available in the Search API) |
Video object
The video associated with the shortform includes the following properties.
Property name | Type | Description |
|---|---|---|
duration | Integer! | Total playback duration of the shortform video (in milliseconds). |
videoId | String! | Unique video ID (string) of the shortform video managed by Shoplive. |
videoUrl | String! | Playback URL (m3u8) of the shortform video. This is the original video of the shortform and should not be used for preview screens. It is recommended for client implementation of feeds. Adaptive Bitrate needs to be implemented manually. |
previewVideoUrl | String! | Preview video URL (m3u8) of the shortform video. This URL is used to play a low-resolution (320P) video for preview screens. If repeated playback of a video with a length of X seconds is required, it needs to be implemented manually. |
screenshotUrl | String! | URL for displaying the thumbnail image of the shortform video. |
Brand object
Property name | Type | Description |
|---|---|---|
brandId | String! | Brand ID |
identifier | String! | Unique string for brand identification |
name | String! | Brand Name |
imageUrl | String! | Brand image URL |
ProductBanner object
A product banner is a banner that can be displayed at the top of a UI where a list of products is shown. It is commonly used on product campaigns or promotion pages, with a link inserted into the banner.
Property name | Type | Description |
|---|---|---|
title | String! | Product Banner Title |
imageUrl | String! | Product Banner Image URL |
scheme | String! | URL or Scheme to which the Product Banner will redirect when clicked. |
Products object
In search API results, products contains one product per shortform. To get all products, use the Retrieve a shortform API.
Property name | Type | Description |
|---|---|---|
productId | String! | The unique product ID managed by the Shoplive system. |
name | String! | Product Title |
brand | String! | Brand Information of the Product |
url | String! | Product Detail Page URL |
sku | String! | Product SKU Information |
imageUrl | String! | Product Image URL |
currency | String! | Currency information of the Product |
showPrice | Boolean! | Flag to indicate if the Product Price should be displayed (true | false) |
originalPrice | Double! | Original Price of the Product |
discountPrice | Double! | Discounted Price of the Product |
discountRate | Double! | Discount Percentage of the Product Price |
stockStatus | String! | Stock Status of the Product (IN_STOCK | LOW_IN_STOCK | SOLD_OUT) |
Sample
{
"shortformId": "123456789012345678",
"createdAt": "2026-12-25T08:00:00Z",
"updatedAt": "2026-12-26T08:00:00Z",
"status": "OPEN",
"details": {
"title": "Shortform Title",
"description": "This is a sample description",
"brand": {
"brandId": "123",
"identifier": "shoplive",
"name": "Shoplive",
"imageUrl": "https://image.shoplive.cloud/brand-image.png"
},
"tags": [ "food", "snack" ],
"productCount": 3,
"productBanner": {
"title": "Product Banner Title",
"imageUrl": "https://image.shoplive.cloud/product-banner-image.png",
"scheme": "https://www.shoplive.cloud/product"
},
"products": [ {
"productId": "54321",
"name": "Shoplive T-shirts",
"brand": "Shoplive Brand",
"url": "https://shoplivedemo.com/product/54321",
"sku": "sku001",
"imageUrl": "https://image.shoplive.cloud/product-image.png",
"currency": "KRW",
"showPrice": true,
"originalPrice": 3400.0,
"discountPrice": 2500.0,
"discountRate": 26.0,
"stockStatus": "IN_STOCK"
} ]
},
"activity": {
"viewCount": 2345,
"likeCount": 123,
"commentCount": 123,
"bookmarkCount": 123,
"shareCount": 321
},
"video": {
"duration": 3600,
"videoId": "1234",
"videoUrl": "https://resource.shoplive.cloud/video/shortsform/video.m3u8",
"previewVideoUrl": "https://resource.shoplive.cloud/video/shortsform/previewVideo.m3u8",
"screenshotUrl": "https://image.shoplive.cloud/shortform/screenshot.png"
}
}Previous ← Delete a brandNext → Search shortform objects
Search shortform objects
When you use the Shortform search API, keep the following in mind:
- In search results,
details.productscontains one product per shortform. To get all products, call Retrieve a shortform. - When using the API for the preview screen of a shortform, it is recommended to use the
video.previewVideoUrlfield of each item inresults. Thevideo.videoUrlfield contains the original video, which has a higher resolution and requires a larger amount of data for playback. - You can set the search condition as either AND or OR when searching with multiple tags. (e.g., &tags=tag1,tag2,tag3&tagSearchOperator=AND|OR)
- When querying the results from the API, you can decide which column to use as the sorting criterion among sortOrder, createdAt, and updatedAt. The sorting order can be specified using the sortAscending parameter.
- In the items of
results,activityincludes onlyviewCount. To getlikeCount,commentCount,bookmarkCountandshareCount, call Retrieve a shortform.
Header parameters
Path parameters
Query parameters
createdAt range to search (format: YYYY-MM-DD'T'HH:mm:ss'Z', e.g. 2026-05-20T08:00:00Z)createdAt range to search (format: YYYY-MM-DD'T'HH:mm:ss'Z', e.g. 2026-05-20T08:00:00Z)OR110sortOrder (display order set in the admin console, default), createdAt (creation time), or updatedAt (update time).sortColumn. The default is true (ascending).trueResponses
Each item in results is a Shortform object.
{
"results": [
{
"shortformId": "123456789012345678",
"createdAt": "2026-12-25T08:00:00Z",
"updatedAt": "2026-12-26T08:00:00Z",
"status": "OPEN",
"details": {
"title": "Shortform Title",
"description": "This is a sample description",
"brand": {
"brandId": "123",
"identifier": "shoplive",
"name": "Shoplive",
"imageUrl": "https://image.shoplive.cloud/brand-image.png"
},
"tags": [
"food",
"snack"
],
"productCount": 3,
"productBanner": {
"title": "Product Banner Title",
"imageUrl": "https://image.shoplive.cloud/product-banner-image.png",
"scheme": "https://www.shoplive.cloud/product"
},
"products": [
{
"productId": "54321",
"name": "Shoplive T-shirts",
"brand": "Shoplive Brand",
"url": "https://shoplivedemo.com/product/54321",
"sku": "sku001",
"imageUrl": "https://image.shoplive.cloud/product-image.png",
"currency": "KRW",
"showPrice": true,
"originalPrice": 3400.0,
"discountPrice": 2500.0,
"discountRate": 26.0,
"stockStatus": "IN_STOCK"
}
]
},
"activity": {
"viewCount": 2345
},
"video": {
"duration": 3600,
"videoId": "1234",
"videoUrl": "https://resource.shoplive.cloud/video/shortsform/video.m3u8",
"previewVideoUrl": "https://resource.shoplive.cloud/video/shortsform/previewVideo.m3u8",
"screenshotUrl": "https://image.shoplive.cloud/shortform/screenshot.png"
}
}
],
"totalCount": 1
}results
details
brand
productBanner
products
activity
video
{
"_s": -510,
"_e": "Error message"
}Previous ← Shortform objectNext → Create a shortform
Create a shortform
Create a shortform object
Header parameters
Path parameters
Body parameters
{
"status": "SCHEDULED",
"details": {
"title": "Shortform created by V2 API-2 sample",
"description": "Description of shortform",
"scheduledOpenAt": "2026-05-29T09:11:49Z",
"scheduledCloseAt": "2026-06-30T09:11:49Z",
"brand": {
"brandId": 1369
},
"tags": [
"Shortform",
"V2",
"API"
]
},
"video": {
"videoId": 4107678627507208193
}
}details
brand
products
YYYY-MM-DDTHH:mm:ss±HH:MM (Z for UTC). Returned in UTCYYYY-MM-DDTHH:mm:ss±HH:MM (Z for UTC). Returned in UTCseller
video
videoId or customerVideoId (one of them is required). If both are given, customerVideoId is used.Responses
The response body is a Shortform object.
{
"shortformId": "123456789012345678",
"createdAt": "2026-12-25T08:00:00Z",
"updatedAt": "2026-12-26T08:00:00Z",
"status": "OPEN",
"details": {
"title": "Shortform Title",
"description": "This is a sample description",
"brand": {
"brandId": "123",
"identifier": "shoplive",
"name": "Shoplive",
"imageUrl": "https://image.shoplive.cloud/brand-image.png"
},
"tags": [
"food",
"snack"
],
"productCount": 3,
"productBanner": {
"title": "Product Banner Title",
"imageUrl": "https://image.shoplive.cloud/product-banner-image.png",
"scheme": "https://www.shoplive.cloud/product"
},
"products": [
{
"productId": "54321",
"name": "Shoplive T-shirts",
"brand": "Shoplive Brand",
"url": "https://shoplivedemo.com/product/54321",
"sku": "sku001",
"imageUrl": "https://image.shoplive.cloud/product-image.png",
"currency": "KRW",
"showPrice": true,
"originalPrice": 3400.0,
"discountPrice": 2500.0,
"discountRate": 26.0,
"stockStatus": "IN_STOCK"
}
]
},
"activity": {
"viewCount": 2345,
"likeCount": 123,
"commentCount": 123,
"bookmarkCount": 123,
"shareCount": 321
},
"video": {
"duration": 3600,
"videoId": "1234",
"videoUrl": "https://resource.shoplive.cloud/video/shortsform/video.m3u8",
"previewVideoUrl": "https://resource.shoplive.cloud/video/shortsform/previewVideo.m3u8",
"screenshotUrl": "https://image.shoplive.cloud/shortform/screenshot.png"
}
}details
brand
productBanner
products
activity
video
{
"_s": -510,
"_e": "Error message"
}Previous ← Search shortform objectsNext → Retrieve a shortform
Retrieve a shortform
Retrieve a shortform object
Header parameters
Path parameters
Responses
The response body is a Shortform object.
{
"shortformId": "123456789012345678",
"createdAt": "2026-12-25T08:00:00Z",
"updatedAt": "2026-12-26T08:00:00Z",
"status": "OPEN",
"details": {
"title": "Shortform Title",
"description": "This is a sample description",
"brand": {
"brandId": "123",
"identifier": "shoplive",
"name": "Shoplive",
"imageUrl": "https://image.shoplive.cloud/brand-image.png"
},
"tags": [
"food",
"snack"
],
"productCount": 3,
"productBanner": {
"title": "Product Banner Title",
"imageUrl": "https://image.shoplive.cloud/product-banner-image.png",
"scheme": "https://www.shoplive.cloud/product"
},
"products": [
{
"productId": "54321",
"name": "Shoplive T-shirts",
"brand": "Shoplive Brand",
"url": "https://shoplivedemo.com/product/54321",
"sku": "sku001",
"imageUrl": "https://image.shoplive.cloud/product-image.png",
"currency": "KRW",
"showPrice": true,
"originalPrice": 3400.0,
"discountPrice": 2500.0,
"discountRate": 26.0,
"stockStatus": "IN_STOCK"
}
]
},
"activity": {
"viewCount": 2345,
"likeCount": 123,
"commentCount": 123,
"bookmarkCount": 123,
"shareCount": 321
},
"video": {
"duration": 3600,
"videoId": "1234",
"videoUrl": "https://resource.shoplive.cloud/video/shortsform/video.m3u8",
"previewVideoUrl": "https://resource.shoplive.cloud/video/shortsform/previewVideo.m3u8",
"screenshotUrl": "https://image.shoplive.cloud/shortform/screenshot.png"
}
}details
brand
productBanner
products
activity
video
{
"_s": -510,
"_e": "Error message"
}Previous ← Create a shortformNext → Update a shortform
Update a shortform
Update a shortform object
Header parameters
Path parameters
Body parameters
{
"status": "SCHEDULED",
"details": {
"title": "Shortform updated by V2 API-2 sample",
"description": "Description of shortform",
"scheduledOpenAt": "2026-05-29T09:11:49Z",
"scheduledCloseAt": "2026-06-30T09:11:49Z",
"brand": {
"brandId": 1369
},
"tags": [
"Shortform",
"V2",
"API",
"Updated"
]
},
"video": {
"videoId": 4107678627507208193
}
}details
brand
YYYY-MM-DDTHH:mm:ss±HH:MM (Z for UTC). Returned in UTCYYYY-MM-DDTHH:mm:ss±HH:MM (Z for UTC). Returned in UTCvideo
Responses
The response body is a Shortform object.
{
"shortformId": "123456789012345678",
"createdAt": "2026-12-25T08:00:00Z",
"updatedAt": "2026-12-26T08:00:00Z",
"status": "OPEN",
"details": {
"title": "Shortform Title",
"description": "This is a sample description",
"brand": {
"brandId": "123",
"identifier": "shoplive",
"name": "Shoplive",
"imageUrl": "https://image.shoplive.cloud/brand-image.png"
},
"tags": [
"food",
"snack"
],
"productCount": 3,
"productBanner": {
"title": "Product Banner Title",
"imageUrl": "https://image.shoplive.cloud/product-banner-image.png",
"scheme": "https://www.shoplive.cloud/product"
},
"products": [
{
"productId": "54321",
"name": "Shoplive T-shirts",
"brand": "Shoplive Brand",
"url": "https://shoplivedemo.com/product/54321",
"sku": "sku001",
"imageUrl": "https://image.shoplive.cloud/product-image.png",
"currency": "KRW",
"showPrice": true,
"originalPrice": 3400.0,
"discountPrice": 2500.0,
"discountRate": 26.0,
"stockStatus": "IN_STOCK"
}
]
},
"activity": {
"viewCount": 2345,
"likeCount": 123,
"commentCount": 123,
"bookmarkCount": 123,
"shareCount": 321
},
"video": {
"duration": 3600,
"videoId": "1234",
"videoUrl": "https://resource.shoplive.cloud/video/shortsform/video.m3u8",
"previewVideoUrl": "https://resource.shoplive.cloud/video/shortsform/previewVideo.m3u8",
"screenshotUrl": "https://image.shoplive.cloud/shortform/screenshot.png"
}
}details
brand
productBanner
products
activity
video
{
"_s": -510,
"_e": "Error message"
}Previous ← Retrieve a shortformNext → Delete a shortform
Delete a shortform
Delete a shortform
Header parameters
Path parameters
Responses
No response body
{
"_s": -1200,
"_e": "shortform does not exist."
}0Previous ← Update a shortformNext → Add products to a shortform
Add products to a shortform
Add products to a shortform
Header parameters
Path parameters
Body parameters
At least one item is required. Each item must specify either productId or customerProductId. Use the same identifier type for all items in one request.
[
{
"productId": 207426
}
]Responses
{
"results": [
{
"productId": "1234",
"message": null,
"status": "SUCCESS"
},
{
"productId": "1235",
"message": "The product is already registered.",
"status": "FAIL"
}
],
"successCount": 1,
"warnCount": 0,
"failCount": 1,
"totalCount": 2
}results
0000{
"_s": -510,
"_e": "Error message"
}Previous ← Delete a shortformNext → Remove products from a shortform
Remove products from a shortform
Remove products from a shortform
Header parameters
Path parameters
Body parameters
At least one item is required. Each item must specify either productId or customerProductId. Use the same identifier type for all items in one request.
[
{
"productId": 207426
}
]Responses
{
"results": [
{
"productId": "1234",
"message": null,
"status": "SUCCESS"
},
{
"productId": "1235",
"message": "The product has already been removed.",
"status": "FAIL"
}
],
"successCount": 1,
"warnCount": 0,
"failCount": 1,
"totalCount": 2
}results
{
"_s": -510,
"_e": "Error message"
}Previous ← Add products to a shortformNext → Video object
Video object
Property name | Type | Description |
|---|---|---|
videoId | String! | Automatically generated identifier of the video. (numeric string) |
customerVideoId | String? | Customer-defined video ID. Must be unique. |
title | String! | Title of the video. max. 255 characters. |
description | String? | Description of the video. max. 65535 characters. |
tags | List<String>? | Tag of the video. max 10 tags |
filename | String! | Original filename when the video was uploaded. |
width | Integer! | Width of the video in pixels. |
height | Integer! | Height of the video in pixels. |
filesize | String! | File size of the video in bytes. (numeric string) |
videoSourceUrl | String! | Uploaded file URL of the video. |
thumbnailImageUrl | String? | Thumbnail image URL of the video. If not specified, Shoplive automatically generates a thumbnail image URL when creating a video. |
liveStreamUrl | String? | Adaptive-quality HLS(m3u8) URL to play the video like a live stream. It is not included in the response right after the video is created. |
liveStreamUrls | Map<String, String>? | Live-style (m3u8) URLs per resolution. The key is the resolution (e.g. |
vodStreamUrl | String? | Automatic quality HLS(m3u8) replay video URL. |
vodStreamUrls | Map<String, String>? | Replay-style (m3u8) URLs per resolution. The key is the resolution (e.g. |
duration | Integer! | Length of the video in milliseconds. |
uploadProgress | Integer! | Upload progress of the video. (0-100) It will be 100(%) when all transcoding is finished. |
createdAt | String! | Created DateTime when the video is created (format: |
updatedAt | String! | Updated DateTime when the video is updated (format: |
Sample
{
"videoId": "100",
"customerVideoId": "SHOPLIVE_VIDEO_1",
"title": "Shoplive Introduction Video",
"description": "Introduction video description",
"tags": ["interstitial","cocacola","cpg","test"],
"filename": "shoplive_introduction_video.mp4",
"width": 720,
"height": 1280,
"filesize": "38128539",
"videoSourceUrl": "https://resource.shoplive.cloud/videos/vod/archive/{accessKey}/{streamKey}.mp4",
"thumbnailImageUrl": "https://image.shoplive.cloud/{streamKey}.jpg",
"liveStreamUrl": "https://api.shoplive.cloud/v1/videos/{accessKey}/rt_1240.m3u8",
"liveStreamUrls": {
"720p": "https://api.shoplive.cloud/v1/videos/{accessKey}/rt_1240/720p.m3u8",
"480p": "https://api.shoplive.cloud/v1/videos/{accessKey}/rt_1240/480p.m3u8"
},
"vodStreamUrl": "https://resource.shoplive.cloud/videos/vod/hls/{streamKey}.m3u8",
"vodStreamUrls": {
"720p": "https://resource.shoplive.cloud/videos/vod/hls/{streamKey}_720p/index.m3u8",
"480p": "https://resource.shoplive.cloud/videos/vod/hls/{streamKey}_480p/index.m3u8"
},
"duration": 202000,
"uploadProgress": 100,
"createdAt": "2026-12-09T09:17:04Z",
"updatedAt": "2026-12-09T09:23:15Z"
}Previous ← Remove products from a shortformNext → Search videos
Search videos
Search videos
Header parameters
Path parameters
Query parameters
false (newest first).false120ORResponses
Each item in results is a Video object.
{
"results": [
{
"videoId": "100",
"customerVideoId": "SHOPLIVE_VIDEO_1",
"title": "Updated Shoplive Introduction Video",
"description": "Description is updated",
"tags": [
"tag1"
],
"filename": "shoplive_introduction_video.mp4",
"width": 1080,
"height": 1920,
"filesize": "38128539",
"videoSourceUrl": "https://resource.shoplive.cloud/videos/vod/archive/{accessKey}/{streamKey}.mp4",
"thumbnailImageUrl": "https://image.shoplive.cloud/{streamKey}.jpg",
"liveStreamUrl": "https://api.shoplive.cloud/v1/videos/{accessKey}/rt_1240.m3u8",
"liveStreamUrls": {
"720p": "https://api.shoplive.cloud/v1/videos/{accessKey}/rt_1240/720p.m3u8",
"480p": "https://api.shoplive.cloud/v1/videos/{accessKey}/rt_1240/480p.m3u8"
},
"vodStreamUrl": "https://resource.shoplive.cloud/videos/vod/hls/{streamKey}.m3u8",
"vodStreamUrls": {
"720p": "https://resource.shoplive.cloud/videos/vod/hls/{streamKey}_720p/index.m3u8",
"480p": "https://resource.shoplive.cloud/videos/vod/hls/{streamKey}_480p/index.m3u8"
},
"duration": 202000,
"uploadProgress": 100,
"createdAt": "2026-12-09T09:17:04Z",
"updatedAt": "2026-12-09T09:17:04Z"
},
{
"videoId": "200",
"customerVideoId": "SHOPLIVE_VIDEO_2",
"title": "Updated Shoplive Introduction Video2",
"description": "Description is updated 2",
"tags": [
"tag2"
],
"filename": "shoplive_introduction_video2.mp4",
"width": 1080,
"height": 1920,
"filesize": "38128539",
"videoSourceUrl": "https://resource.shoplive.cloud/videos/vod/archive/{accessKey}/{streamKey}.mp4",
"thumbnailImageUrl": "https://image.shoplive.cloud/{streamKey}.jpg",
"liveStreamUrl": "https://api.shoplive.cloud/v1/videos/{accessKey}/rt_1240.m3u8",
"liveStreamUrls": {
"720p": "https://api.shoplive.cloud/v1/videos/{accessKey}/rt_1240/720p.m3u8",
"480p": "https://api.shoplive.cloud/v1/videos/{accessKey}/rt_1240/480p.m3u8"
},
"vodStreamUrl": "https://resource.shoplive.cloud/videos/vod/hls/{streamKey}.m3u8",
"vodStreamUrls": {
"720p": "https://resource.shoplive.cloud/videos/vod/hls/{streamKey}_720p/index.m3u8",
"480p": "https://resource.shoplive.cloud/videos/vod/hls/{streamKey}_480p/index.m3u8"
},
"duration": 202000,
"uploadProgress": 100,
"createdAt": "2026-12-09T09:17:04Z",
"updatedAt": "2026-12-09T09:17:04Z"
}
],
"totalCount": 2
}results
00720p, 480p, 320p) and the value is the playback URL.720p, 480p, 320p) and the value is the playback URL.000{
"_s": -510,
"_e": "Error message"
}Previous ← Video objectNext → Create a video
Create a video
This API uploads a video file to Shoplive media storage and creates a video resource.
When the API call is received by the Shoplive server, a response is returned to the requester after the video file upload is completed. (excluding thumbnail image URL and live/replay URLs)
When the video upload is complete, the Shoplive server transcodes for the uploaded video, and you can check the progress through the uploadProgress of the video retrieve/search API response.
You may also configure the Webhook URL to receive notifications once transcoding finishes. (Please contact the Shoplive account representative to setup Webhook)
Header parameters
Path parameters
Body parameters
tags=tag1&tags=tag2). A single comma-separated value is also accepted.Responses
The response body is a Video object.
{
"videoId": "100",
"customerVideoId": "SHOPLIVE_VIDEO_1",
"title": "Updated Shoplive Introduction Video",
"description": "Description is updated",
"tags": [
"video1",
"test"
],
"filename": "shoplive_introduction_video.mp4",
"width": 1080,
"height": 1920,
"filesize": "38128539",
"videoSourceUrl": "https://resource.shoplive.cloud/videos/vod/archive/{accessKey}/{streamKey}.mp4",
"thumbnailImageUrl": "https://image.shoplive.cloud/{streamKey}.jpg",
"vodStreamUrl": null,
"vodStreamUrls": null,
"duration": 0,
"uploadProgress": 0,
"createdAt": "2026-12-09T09:17:04Z",
"updatedAt": "2026-12-10T10:11:01Z"
}0000{
"_s": -510,
"_e": "Error message"
}Previous ← Search videosNext → Retrieve a video info
Retrieve a video info
Retrieve a video info
Header parameters
Path parameters
Responses
The response body is a Video object.
{
"videoId": "100",
"customerVideoId": "SHOPLIVE_VIDEO_1",
"title": "Updated Shoplive Introduction Video",
"description": "Description is updated",
"tags": [
"tag1"
],
"filename": "shoplive_introduction_video.mp4",
"width": 1080,
"height": 1920,
"filesize": "38128539",
"videoSourceUrl": "https://resource.shoplive.cloud/videos/vod/archive/{accessKey}/{streamKey}.mp4",
"thumbnailImageUrl": "https://image.shoplive.cloud/{streamKey}.jpg",
"liveStreamUrl": "https://api.shoplive.cloud/v1/videos/{accessKey}/rt_1240.m3u8",
"liveStreamUrls": {
"720p": "https://api.shoplive.cloud/v1/videos/{accessKey}/rt_1240/720p.m3u8",
"480p": "https://api.shoplive.cloud/v1/videos/{accessKey}/rt_1240/480p.m3u8"
},
"vodStreamUrl": "https://resource.shoplive.cloud/videos/vod/hls/{streamKey}.m3u8",
"vodStreamUrls": {
"720p": "https://resource.shoplive.cloud/videos/vod/hls/{streamKey}_720p/index.m3u8",
"480p": "https://resource.shoplive.cloud/videos/vod/hls/{streamKey}_480p/index.m3u8"
},
"duration": 202000,
"uploadProgress": 100,
"createdAt": "2026-12-09T09:17:04Z",
"updatedAt": "2026-12-09T09:17:04Z"
}00720p, 480p, 320p) and the value is the playback URL.720p, 480p, 320p) and the value is the playback URL.00{
"_s": -510,
"_e": "Error message"
}Previous ← Create a videoNext → Retrieve a video info by customerVideoId
Retrieve a video info by customerVideoId
Retrieve a video info by customerVideoId
Header parameters
Path parameters
Responses
The response body is a Video object.
{
"videoId": "100",
"customerVideoId": "SHOPLIVE_VIDEO_1",
"title": "Updated Shoplive Introduction Video",
"description": "Description is updated",
"tags": [
"tag1"
],
"filename": "shoplive_introduction_video.mp4",
"width": 1080,
"height": 1920,
"filesize": "38128539",
"videoSourceUrl": "https://resource.shoplive.cloud/videos/vod/archive/{accessKey}/{streamKey}.mp4",
"thumbnailImageUrl": "https://image.shoplive.cloud/{streamKey}.jpg",
"liveStreamUrl": "https://api.shoplive.cloud/v1/videos/{accessKey}/rt_1240.m3u8",
"liveStreamUrls": {
"720p": "https://api.shoplive.cloud/v1/videos/{accessKey}/rt_1240/720p.m3u8",
"480p": "https://api.shoplive.cloud/v1/videos/{accessKey}/rt_1240/480p.m3u8"
},
"vodStreamUrl": "https://resource.shoplive.cloud/videos/vod/hls/{streamKey}.m3u8",
"vodStreamUrls": {
"720p": "https://resource.shoplive.cloud/videos/vod/hls/{streamKey}_720p/index.m3u8",
"480p": "https://resource.shoplive.cloud/videos/vod/hls/{streamKey}_480p/index.m3u8"
},
"duration": 202000,
"uploadProgress": 100,
"createdAt": "2026-12-09T09:17:04Z",
"updatedAt": "2026-12-09T09:17:04Z"
}00720p, 480p, 320p) and the value is the playback URL.720p, 480p, 320p) and the value is the playback URL.00{
"_s": -510,
"_e": "Error message"
}Previous ← Retrieve a video infoNext → Update a video by videoId
Update a video by videoId
You can change the title, description, tags and customerVideoId for a video using videoId
Header parameters
Path parameters
Body parameters
{
"title": "Updated title",
"description": "Updated description",
"customerVideoId": "Updated customerVideoId",
"tags": [
"tag1",
"tag2",
"tag3"
]
}Responses
The response body is a Video object.
{
"videoId": "100",
"customerVideoId": "SHOPLIVE_VIDEO_1",
"title": "Updated Shoplive Introduction Video",
"description": "Description is updated",
"tags": [
"tag1"
],
"filename": "shoplive_introduction_video.mp4",
"width": 1080,
"height": 1920,
"filesize": "38128539",
"videoSourceUrl": "https://resource.shoplive.cloud/videos/vod/archive/{accessKey}/{streamKey}.mp4",
"thumbnailImageUrl": "https://image.shoplive.cloud/{streamKey}.jpg",
"liveStreamUrl": "https://api.shoplive.cloud/v1/videos/{accessKey}/rt_1240.m3u8",
"liveStreamUrls": {
"720p": "https://api.shoplive.cloud/v1/videos/{accessKey}/rt_1240/720p.m3u8",
"480p": "https://api.shoplive.cloud/v1/videos/{accessKey}/rt_1240/480p.m3u8"
},
"vodStreamUrl": "https://resource.shoplive.cloud/videos/vod/hls/{streamKey}.m3u8",
"vodStreamUrls": {
"720p": "https://resource.shoplive.cloud/videos/vod/hls/{streamKey}_720p/index.m3u8",
"480p": "https://resource.shoplive.cloud/videos/vod/hls/{streamKey}_480p/index.m3u8"
},
"duration": 202000,
"uploadProgress": 100,
"createdAt": "2026-12-09T09:17:04Z",
"updatedAt": "2026-12-09T09:17:04Z"
}00720p, 480p, 320p) and the value is the playback URL.720p, 480p, 320p) and the value is the playback URL.00{
"_s": -510,
"_e": "Error message"
}Previous ← Retrieve a video info by customerVideoIdNext → Update a video by customerVideoId
Update a video by customerVideoId
You can change the title, description, and tags of a video using customerVideoId
Header parameters
Path parameters
Body parameters
{
"title": "Updated title",
"description": "Updated description",
"tags": [
"tag1",
"tag2",
"tag3"
]
}Responses
The response body is a Video object.
{
"videoId": "100",
"customerVideoId": "SHOPLIVE_VIDEO_1",
"title": "Updated Shoplive Introduction Video",
"description": "Description is updated",
"tags": [
"tag1"
],
"filename": "shoplive_introduction_video.mp4",
"width": 1080,
"height": 1920,
"filesize": "38128539",
"videoSourceUrl": "https://resource.shoplive.cloud/videos/vod/archive/{accessKey}/{streamKey}.mp4",
"thumbnailImageUrl": "https://image.shoplive.cloud/{streamKey}.jpg",
"liveStreamUrl": "https://api.shoplive.cloud/v1/videos/{accessKey}/rt_1240.m3u8",
"liveStreamUrls": {
"720p": "https://api.shoplive.cloud/v1/videos/{accessKey}/rt_1240/720p.m3u8",
"480p": "https://api.shoplive.cloud/v1/videos/{accessKey}/rt_1240/480p.m3u8"
},
"vodStreamUrl": "https://resource.shoplive.cloud/videos/vod/hls/{streamKey}.m3u8",
"vodStreamUrls": {
"720p": "https://resource.shoplive.cloud/videos/vod/hls/{streamKey}_720p/index.m3u8",
"480p": "https://resource.shoplive.cloud/videos/vod/hls/{streamKey}_480p/index.m3u8"
},
"duration": 202000,
"uploadProgress": 100,
"createdAt": "2026-12-09T09:17:04Z",
"updatedAt": "2026-12-09T09:17:04Z"
}00720p, 480p, 320p) and the value is the playback URL.720p, 480p, 320p) and the value is the playback URL.00{
"_s": -510,
"_e": "Error message"
}Previous ← Update a video by videoIdNext → Delete a video by videoId
Delete a video by videoId
Delete a video by videoId
Header parameters
Path parameters
Responses
No response body
{
"_s": -510,
"_e": "Error message"
}Previous ← Update a video by customerVideoIdNext → Delete a video by customerVideoId
Delete a video by customerVideoId
Delete a video by customerVideoId
Header parameters
Path parameters
Responses
No response body
{
"_s": -510,
"_e": "Error message"
}Previous ← Delete a video by videoIdNext → Stats object
Stats object
Property name | Type | Description |
|---|---|---|
campaignId | String! | Automatically generated identifier of the campaign. (numeric string) |
campaignKey | String! | Automatically generated alphanumeric key (max 32 bytes). Use this key to specify a campaign in API calls. |
accessKey | String! | Unique key for each customer. Most Shoplive APIs require this accessKey. |
title | String! | Title of the campaign |
scheduledStartAt | String! | Scheduled starting DateTime of the campaign (format: |
campaignStartedAt | String! | Actual starting DateTime of the campaign (format: |
campaignEndedAt | String! | Actual ending DateTime of the campaign (format: |
totalViewers | Integer! | Total number of viewers |
totalLoginViewers | Integer! | Total number of viewers who logged in to the customer's web or app |
peakConcurrentViewers | Integer! | Number of concurrent viewers at peak |
newLoginViewers | Integer! | Number of viewers who watched the customer's campaign for the first time |
averageViewingTime | Integer! | Average viewing time in seconds ( |
totalViewingTime | Integer! | Total viewing time in seconds (all viewers) |
likes | Integer! | Total number of likes |
likeViewers | Integer! | Total number of viewers who clicked the like button |
averageLikes | Double! |
|
chats | Integer! | Total number of chats |
chatViewers | Integer! | Total number of viewers who sent chat messages |
averageChats | Double! |
|
productClicks | Integer! | Total number of clicks on products |
productClickViewers | Integer! | Total number of viewers who clicked the product |
averageProductClicks | Double! |
|
bannerClicks | Integer! | Total number of clicks on the product banner (the banner displayed at the top of the product list) |
Sample
{
"campaignId": "1234",
"campaignKey": "1234fef8e8e3",
"accessKey": "a1b2c3d4",
"title": "test campaign",
"scheduledStartAt": "2026-07-08T06:30:00Z",
"campaignStartedAt": "2026-07-08T06:21:06Z",
"campaignEndedAt": "2026-07-11T12:38:59Z",
"totalViewers": 123456,
"totalLoginViewers": 100000,
"peakConcurrentViewers": 12345,
"newLoginViewers": 123455,
"averageViewingTime": 15,
"totalViewingTime": 1851840,
"likes": 123456,
"likeViewers": 123456,
"averageLikes": 1.0,
"chats": 123456,
"chatViewers": 123456,
"averageChats": 1.0,
"productClicks": 123456,
"productClickViewers": 123456,
"averageProductClicks": 1.0,
"bannerClicks": 123456
}Previous ← Delete a video by customerVideoIdNext → Retrieve campaign stats by date range
Retrieve campaign stats by date range
Retrieves the statistics of campaigns within a specific date range. The maximum period is one week.
Header parameters
Path parameters
Query parameters
YYYY-MM-DD'T'HH:mm:ss'Z', e.g. 2026-09-07T00:00:00Z) Both from and to are required and the range cannot exceed 7 days.YYYY-MM-DD'T'HH:mm:ss'Z', e.g. 2026-09-07T00:00:00Z) Both from and to are required and the range cannot exceed 7 days.Responses
Each item in results is a Stats object.
{
"results": [
{
"campaignId": "1234",
"campaignKey": "1234fef8e8e3",
"accessKey": "a1b2c3d4",
"title": "test campaign",
"scheduledStartAt": "2026-07-08T06:30:00Z",
"campaignStartedAt": "2026-07-08T06:21:06Z",
"campaignEndedAt": "2026-07-11T12:38:59Z",
"totalViewers": 123456,
"totalLoginViewers": 100000,
"peakConcurrentViewers": 12345,
"newLoginViewers": 123455,
"averageViewingTime": 15,
"totalViewingTime": 1851840,
"likes": 123456,
"likeViewers": 123456,
"averageLikes": 1,
"chats": 123456,
"chatViewers": 123456,
"averageChats": 1.0,
"productClicks": 123456,
"productClickViewers": 123456,
"averageProductClicks": 1.0,
"bannerClicks": 123456
}
],
"totalCount": 1
}results
00000000000000000{
"_s": -510,
"_e": "Error message"
}Previous ← Stats objectNext → Retrieve stats of a campaign
Retrieve stats of a campaign
Retrieve stats of a campaign
Header parameters
Path parameters
Responses
The response body is a Stats object.
{
"campaignId": "1234",
"campaignKey": "1234fef8e8e3",
"accessKey": "a1b2c3d4",
"title": "test campaign",
"scheduledStartAt": "2026-07-08T06:30:00Z",
"campaignStartedAt": "2026-07-08T06:21:06Z",
"campaignEndedAt": "2026-07-11T12:38:59Z",
"totalViewers": 123456,
"totalLoginViewers": 100000,
"peakConcurrentViewers": 12345,
"newLoginViewers": 123455,
"averageViewingTime": 15,
"totalViewingTime": 1851840,
"likes": 123456,
"likeViewers": 123456,
"averageLikes": 1,
"chats": 123456,
"chatViewers": 123456,
"averageChats": 1.0,
"productClicks": 123456,
"productClickViewers": 123456,
"averageProductClicks": 1.0,
"bannerClicks": 123456
}0000000000000000{
"_s": -404,
"_e": "NOT_FOUND"
}{
"_s": -710,
"_e": "Campaign does not exist."
}0Previous ← Retrieve campaign stats by date rangeNext → Download log files
Download log files
Downloads log data as a file in the requested format.
Header parameters
Path parameters
Query parameters
from and to in YYYY-MM-DD'T'HH:mm:ss'Z' format (e.g. 2026-05-20T09:00:00Z). The from and to parameters must be specified together and the date range can't be greater than 7 days. Required unless ck is specified.from and to in YYYY-MM-DD'T'HH:mm:ss'Z' format (e.g. 2026-05-20T09:00:00Z). The from and to parameters must be specified together and the date range can't be greater than 7 days. Required unless ck is specified.from and to are optional and the range is automatically set from the campaign start time to 4 days after it (the campaign must have been started). The 7-day limit does not apply.viewerAccessLog and viewerActivityLog. The default is true. It does not filter chats.trueResponses
No response body
{
"_s": -510,
"_e": "Error message"
}Previous ← Retrieve stats of a campaignNext → Health check API
Health check API
Shoplive provides a health check for its services.
Player initialization code
function initPlayer() {
(function (s,h,o,p,l,i,v,e) {s["ShoplivePlayer"]=l;(s[l]=s[l]||function(){
(s[l].q=s[l].q||[]).push(arguments);}),(i=h.createElement(o)),
(v=h.getElementsByTagName(o)[0]);i.async=1;i.src=p;v.parentNode.insertBefore(i,v);
})(window,document,"script","https://static.shoplive.cloud/live.js","mplayer");
mplayer("init", "{{ access_key }}", "{{ campaign_key }}", "{{ user authorization }}", {{ options }});
mplayer("run", "{{ id }}");
}Add Health Check Function
jQuery
$.get("https://config.shoplive.cloud/ping.json", function(_data_, status) {
if (status === "success") {
initPlayer();
}
}).fail(function() {
// error handling
});
Vanilla.js
var request;
if (window.XMLHttpRequest) {
request = new XMLHttpRequest();
} else if (window.ActiveXObject) {
request = new ActiveXObject("Microsoft.XMLHTTP");
}
request.open("GET", "https://config.shoplive.cloud/ping.json", true);
request.onreadystatechange = function() {
if (request.readyState === 4) {
if (request.status === 200) {
initPlayer();
} else {
// error handling
}
}
};
request.send(null);Previous ← Download log filesNext → Webhook
Webhook
A webhook is a callback that Shoplive sends to your server as a POST request when an event occurs in a broadcast, such as a campaign start or end. You receive the data as it happens, instead of polling the API frequently.
Webhook setup is not self-service. Shoplive registers it for you, so send your receiving URLs to your account manager or ask@shoplive.cloud. The following events are available:
Campaign start: sends the Campaign object when a campaign starts.
Campaign end: sends the Campaign object when a campaign ends.
Auction start · end · reset: sends an AuctionWebhook object when an auction's state changes in a campaign.
Start and end events are sent to separate URLs, and auction events are sent to a third URL. The events you receive are configurable. Rehearsal broadcasts do not send webhooks unless that option is enabled at registration.
Delivery
Each event is sent once. Return 200 within about 1 second and process the event asynchronously. Also poll Search campaigns with campaignStatus=ENDED periodically, and process campaigns idempotently by campaignKey.
Signature verification
Start and end events are signed only if a webhook secret key was configured at registration. Two headers are sent with the request: X-SHOPLIVE-WEBHOOK-TIMESTAMP (Unix epoch milliseconds, as a string) and X-SHOPLIVE-WEBHOOK-SIGNATURE (lowercase hex HMAC-SHA256). The signed message is the timestamp, a ., and the raw request body bytes exactly as received (before JSON parsing). The key is the UTF-8 bytes of the secret string. Compare the signatures in constant time. Auction events don't include signature headers.
For code samples in Node.js, Python, and Java, see Mission 11 · Detect the end via webhook in the Getting Started guide.
Previous ← Health check APINext → AuctionWebhook object
AuctionWebhook object
Property name | Type | Description |
|---|---|---|
action | string | START_AUCTION, END_AUCTION, RESET_AUCTION |
campaignMeta | Meta information of the campaign | |
campaignProduct | CampaignProduct object. |
Sample
{
"action": "START_AUCTION",
"campaignMeta": {
"campaignId": 1234,
"campaignKey": "{campaignKey}",
"accessKey": "{accessKey}",
"shoplivePlayerUrl": "https://www.shoplive.show/v1/player.html?ak={accessKey}&ck={campaignKey}",
"title": "Shoplive Liveshow",
"description": "",
"campaignStatus": "ONAIR",
"rerun": false,
"userCount": 0,
"likeCount": 0,
"rehearsalPasscode": "9876",
"serveReplay": true,
"logoImageUrl": null,
"brand": null,
"preCampaignVideoUrl": null,
"preCampaignImageUrl": "https://image.shoplive.cloud/bg_shoplive.png",
"postCampaignImageUrl": "https://image.shoplive.cloud/bg_shoplive.png",
"backgroundImageUrl": "https://image.shoplive.cloud/bg_shoplive.png",
"ieUnsupportImageUrl": "https://image.shoplive.cloud/bg_shoplive.png",
"tags": null,
"scheduledStartAt": "2026-11-01T09:00:00Z",
"scheduledEndAt": null,
"campaignStartedAt": "2026-11-01T09:00:05Z",
"campaignEndedAt": null,
"createdAt": "2026-11-01T08:15:00Z",
"updatedAt": "2026-11-01T09:00:05Z"
},
"campaignProduct": {
"productId": "1234",
"customerProductId": "SHOPLIVE_PRODUCT_1",
"name": "Keyring",
"brand": "SHOPLIVE",
"description": null,
"url": "https://www.shoplive.cloud/en",
"sku": "SKU001",
"imageUrl": "https://image.shoplive.cloud/e05d1464-1942-4e4e-bb0b-c4310167d465.jpeg",
"currency": "USD",
"showPrice": true,
"originalPrice": 20.0,
"discountPrice": 20.0,
"discountRate": 0,
"enableAuction": true,
"bidStartingPrice": 100,
"bidDuration": 1000,
"bidIncrementalAmount": 1,
"extendBidDuration": false,
"ctaButtonTitle": null,
"seller": null,
"extendedProperties": null,
"createdAt": "2026-05-20T08:01:05Z",
"updatedAt": "2026-11-01T09:05:00Z",
"campaignId": 1234,
"showingNow": true,
"sortOrder": 1,
"stockStatus": "IN_STOCK",
"auction": {
"productId": 1234,
"auctionStatus": "ONGOING",
"startingPrice": 100,
"bidRound": 1,
"currentPrice": 100,
"winningPrice": null,
"recommendedPrices": [
100
],
"winner": null,
"leader": null,
"winnerCheckoutScheme": null,
"startedAt": 1793523900000,
"endingAt": 1793524900000,
"endedAt": null
}
}
}Previous ← Webhook