Shoplive API 레퍼런스
이 페이지는 공식 문서와 같은 원본에서 생성된, Shoplive External API v2 의 전체 엔드포인트 레퍼런스입니다. API 가 처음이신가요? 인증과 세 가지 End-to-End 주제를 다루는 시작 가이드부터 확인해 보세요.
JWT 토큰 발행
JWT 페이로드를 생성할 때
exp는 충분히 먼 시점으로 설정합니다 (아래 예시는 3년 뒤로 설정합니다)페이로드에
accessKey를 넣습니다. 값은{accessKey}경로 파라미터와 같습니다.HS256으로 JWT에 서명합니다. 서명 키는 비밀 키(secret key)를 Base64 디코딩한 값을 사용합니다.
JWT는 HTTP 요청의 헤더에 담아 전달해야 합니다.
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);
}
}다음은 헤더에 JWT를 담아 보내는 예시입니다.
curl --location --request GET 'https://private.shopliveapi.com/v2/{accessKey}/campaign/{campaignKey}' \
--header 'Authorization: Bearer {JWT_TOKEN}'토큰이 없거나 올바르지 않으면 401(_s: -824), 만료되었으면 401(_s: -412)이 반환됩니다.
다음 → Campaign 객체
Campaign 객체
속성 이름 | 타입 | 설명 |
|---|---|---|
campaignMeta | 방송의 메타 정보 | |
stream | 방송의 송출 정보 | |
campaignProductList | List<CampaignProduct>? | CampaignProduct 객체의 목록입니다. |
seller | 방송의 셀러 정보 |
CampaignMeta 객체
속성 이름 | 타입 | 읽기 전용 | 설명 |
|---|---|---|---|
campaignId | String! | O | 자동 생성되는 방송의 식별자입니다. (숫자로 이루어진 문자열) |
campaignKey | String! | O | 자동 생성되는 키입니다(최대 32바이트, 영숫자). API 호출 시 방송을 지정하는 데 사용됩니다. |
accessKey | String! | O | 고객사마다 부여되는 고유 키입니다. 대부분의 Shoplive API에서 이 accessKey가 필요합니다. |
shoplivePlayerUrl | String! | O | 테스트 시청을 위해 Shoplive에서 제공하는 플레이어 URL |
title | String! | 방송의 제목 | |
description | String? | 방송에 대한 설명 | |
campaignStatus | String! | O | RESERVED, READY, REHEARSAL, ONAIR, ENDED |
rerun | Boolean! | O | 해당 방송이 재방송인지 여부를 나타내는 불리언 플래그입니다. |
userCount | Integer? | O | 방송 상태가 ONAIR 또는 REHEARSAL일 때 실시간 시청자 수입니다. 방송이 종료됐을 때(방송 상태가 ENDED일 때)의 총 시청자 수입니다. * 방송 상태가 READY일 때는 null입니다. |
concurrentUserCount | Integer? | O | 방송 상태가 ONAIR 또는 REHEARSAL일 때 실시간 동시 시청자 수입니다. * 방송 상태가 READY 또는 ENDED일 때는 null입니다. |
likeCount | Integer? | O | campaignStatus READY: null campaignStatus REHEARSAL: 실시간 좋아요 수 campaignStatus ONAIR: 실시간 좋아요 수 campaignStatus ENDED: 총 좋아요 수 |
rehearsalPasscode | String! | 리허설 모드에서 라이브 스트리밍에 입장하기 위한 패스코드 | |
serveReplay | Boolean! | 방송 종료 후 리플레이를 제공할지 여부입니다. | |
logoImageUrl | String? | O | 로고 이미지 URL |
brand | Brand? | Brand 객체 | |
preCampaignVideoUrl | String? | 방송 시작 전 영상 URL | |
preCampaignImageUrl | String? | 방송 시작 전 이미지 URL | |
postCampaignImageUrl | String? | 방송 종료 후 이미지 URL | |
backgroundImageUrl | String? | 배경 이미지 URL | |
ieUnsupportImageUrl | String? | IE 브라우저용 이미지 | |
tags | List? | 방송에 설정된 태그 정보 (최대 10개까지 설정 가능) | |
scheduledStartAt | String! | 방송의 예정된 시작 일시 (형식: | |
scheduledEndAt | String? | 방송의 예정된 종료 일시 (형식: | |
campaignStartedAt | String? | O | 방송의 실제 시작 일시 (형식: |
campaignEndedAt | String? | O | 방송의 실제 종료 일시 (형식: |
createdAt | String! | O | 방송 생성 일시 (UTC) (형식: |
updatedAt | String! | O | 방송 마지막 수정 일시 (UTC) (형식: |
Stream 객체
속성 이름 | 타입 | 설명 |
|---|---|---|
streamUrl | String! | 스트리밍 소프트웨어(예: OBS)에 사용할 RTMP 스트림 URL 정보 |
streamKey | String! | 스트리밍 소프트웨어(예: OBS)에 사용할 RTMP 스트림 키 정보 |
videoAspectRatio | String! | 영상의 화면 비율입니다. 9:16(세로) 또는 16:9(가로) |
liveUrl | String! | 라이브 스트리밍의 마스터 m3u8 URL입니다. |
liveUrls | Map<String, String>? | 해상도별(320p, 480p, 720p, 1080p) 라이브 스트리밍 m3u8 URL 모음입니다. |
previewLiveUrl | String! | 미리보기 영상의 m3u8 URL(320p 해상도)입니다. 미리보기는 웹 브라우저에서 영상 썸네일을 구현하기 위한 영상 포맷입니다. |
replayLiveUrl | String? | 리플레이 스트리밍의 마스터 m3u8 URL입니다. 이 값은 방송이 종료된 후에만 설정됩니다. |
replayLiveUrls | Map<String, String>? | 해상도별(320p, 480p, 720p, 1080p) 리플레이 스트리밍 m3u8 URL 모음입니다. |
previewReplayLiveUrl | String? | 리플레이 미리보기 영상의 m3u8 URL(320p 해상도)입니다. 미리보기는 웹 브라우저에서 영상 썸네일을 구현하기 위한 영상 포맷입니다. 이 값은 방송이 종료된 후에만 설정됩니다. URL의 쿼리 스트링에 preview 파라미터 값이 1로 지정된 경우, 리플레이 미리보기 영상 재생에 사용된 데이터가 사용량 할당량에 포함된다는 것을 의미합니다. |
CampaignProduct 객체
속성 이름 | 타입 | 설명 |
|---|---|---|
productId | String! | 자동 생성되는 고유 상품 ID |
customerProductId | String? | 고객사의 상품 ID이며 고유해야 합니다(고객사가 직접 정의). |
name | String! | 상품명 |
brand | String? | 브랜드명 |
description | String? | 상품에 대한 설명 |
brandIdentifier | String? | 브랜드 키 |
url | String! | 상품 URL입니다. Shoplive Player에서 상품 정보를 클릭했을 때 이동하는 목적지 URL입니다. |
sku | String? | 상품 SKU 정보 (고객사가 정의) |
imageUrl | String? | 상품 썸네일 이미지 URL입니다. Shoplive는 상품 객체 생성 시 자동으로 썸네일 URL을 생성합니다. |
currency | String! | 가격의 통화 |
showPrice | Boolean! | 가격을 표시할지 여부입니다. |
originalPrice | Double? | 예: 20.00 (통화가 USD인 경우 $20.00) |
discountPrice | Double? | 예: 15.00 (통화가 USD인 경우 $15.00) |
discountRate | Double? | 예: 25.00 (할인율이 25%인 경우) |
enableAuction | Boolean! | 경매 상품 여부입니다. |
bidStartingPrice | Double? | 경매의 시작 가격 (예: 0.99) |
bidDuration | Integer? | 경매의 입찰 시간 (초) |
bidIncrementalAmount | Double? | 입찰 시 증가하는 금액 |
extendBidDuration | Boolean? | 경매 종료 직전에 입찰이 들어오면 남은 입찰 시간을 연장할지 여부입니다. 연장 시간은 고객사의 경매 설정을 따릅니다. |
ctaButtonTitle | String? | 상품에 표시되는 CTA(행동 유도) 버튼의 제목입니다. UI 커스터마이징이 필요하므로 Shoplive와 협의가 필요합니다. |
seller | 상품을 소유한 셀러 정보입니다. | |
createdAt | String! | 상품이 생성된 일시입니다 (형식: |
updatedAt | String! | 상품이 수정된 일시입니다 (형식: |
campaignId | String! | 자동 생성되는 방송 식별자입니다. (숫자로 이루어진 문자열) |
visible | Boolean? | 상품의 'visible'(노출) 상태입니다. |
purchasable | Boolean? | 상품의 'purchasable'(구매 가능) 상태입니다. |
showingNow | Boolean! | 상품의 'Now' 표시 상태입니다. (=pin) |
sortOrder | Integer! | 상품이 노출되는 순서입니다. (=listOrder) |
stockStatus | String! | IN_STOCK, LOW_IN_STOCK , SOLD_OUT |
auction | 상품의 경매 정보입니다. |
Auction 객체
속성 이름 | 타입 | 설명 |
|---|---|---|
productId | String! | 자동 생성되는 고유 상품 ID |
auctionStatus | String! | READY, ONGOING, ENDING, ENDED |
startingPrice | Double! | 경매의 시작 가격 |
bidRound | Integer! | 경매의 입찰 회차 |
currentPrice | Double! | 경매의 현재 가격 |
winningPrice | Double? | 경매의 낙찰 가격 |
recommendedPrices | List<Double>? | 경매의 추천 입찰 가격 |
winner | 경매의 낙찰자입니다. | |
leader | 경매의 최고 입찰자입니다. | |
winnerCheckoutScheme | String? | 낙찰자가 상품을 구매할 수 있는 앱 스킴입니다. |
startedAt | Number? | 경매의 실제 시작 일시입니다 (형식: 밀리초 단위 타임스탬프) |
endingAt | Number? | 경매의 예상 종료 일시입니다 (형식: 밀리초 단위 타임스탬프) |
endedAt | Number? | 경매의 실제 종료 일시입니다 (형식: 밀리초 단위 타임스탬프) |
Bidder 객체
속성 이름 | 타입 | 설명 |
|---|---|---|
uid | String! | 자동 생성되는 사용자 식별자입니다. (숫자 형태의 문자열) |
userId | String? | 사용자 식별자입니다. (고객사가 정의) |
name | String! | 사용자의 이름입니다. |
예시
{
"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
}
}방송 검색
방송 검색
헤더 파라미터
경로 파라미터
쿼리 파라미터
scheduledStartAt 범위의 시작 (형식: YYYY-MM-DD'T'HH:mm:ss'Z', 예: 2026-05-20T08:00:00Z)scheduledStartAt 범위의 끝 (형식: YYYY-MM-DD'T'HH:mm:ss'Z', 예: 2026-05-20T09:00:00Z)ORRESERVED, READY, REHEARSAL, ONAIR, ENDED). 대소문자를 구분하지 않습니다.1234,1235,1236.c7671aa83bd2,6229da3b75d4.false(최신 예약부터)입니다.false110응답
results 의 각 항목은 Campaign 객체입니다.
{
"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입니다.null입니다.null입니다.truebrand
00stream
liveUrls
seller
0{
"_s": -510,
"_e": "Error message"
}이전 ← Campaign 객체다음 → 방송 생성
방송 생성
요청 본문 예시입니다.
{
"campaignMeta": {
"title": "New campaign name here",
"description": "Description of the campaign here",
"tags": ["tag1", "tag2"],
"rehearsalPasscode": "1234",
"serveReplay": true
}
}
헤더 파라미터
경로 파라미터
본문 파라미터
{
"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, UTC는 Z)입니다. 응답은 UTC입니다.YYYY-MM-DDTHH:mm:ss±HH:MM, UTC는 Z)입니다. 응답은 UTC입니다.seller
응답
응답 본문은 Campaign 객체입니다.
{
"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"
}0재방송 생성
종료된 방송을 복제하여 재방송을 생성합니다.
헤더 파라미터
경로 파라미터
본문 파라미터
{
"campaignMeta": {
"title": "rerun campagin title",
"scheduledStartAt": "2026-04-01T01:00:00Z"
},
"copyPopups": true,
"copyProducts": true
}campaignMeta
YYYY-MM-DDTHH:mm:ss±HH:MM, UTC는 Z)입니다. 응답은 UTC입니다.true입니다.truetrue입니다.true응답
응답 본문은 Campaign 객체입니다.
{
"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."
}0방송 정보 조회
방송 키 또는 방송 ID로 방송을 조회합니다.
헤더 파라미터
경로 파라미터
쿼리 파라미터
false1응답
응답 본문은 Campaign 객체입니다.
{
"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입니다.null입니다.null입니다.truebrand
00stream
liveUrls
replayLiveUrls
campaignProductList
true000trueseller
true0seller
{
"_s": -510,
"_e": "Error message"
}방송 삭제
방송을 삭제합니다. 방송의 campaignStatus가 READY 또는 RESERVED일 때만 삭제할 수 있으며, 그 외에는 403(_s: -114)이 반환됩니다. 재방송의 원본인 방송은 삭제할 수 없습니다(403, _s: -706). 재방송을 먼저 삭제하세요.
헤더 파라미터
경로 파라미터
응답
응답 본문 없음
{
"_s": -710,
"_e": "Campaign does not exist."
}{
"_s": -114,
"_e": "FAIL_TO_DELETE"
}0방송 복제
기존 방송을 복제하여 새 방송을 생성합니다.
헤더 파라미터
경로 파라미터
쿼리 파라미터
truetrue응답
응답 본문은 Campaign 객체입니다.
{
"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입니다.null입니다.null입니다.truebrand
00stream
liveUrls
replayLiveUrls
seller
{
"_s": -710,
"_e": "Campaign does not exist."
}0방송 수정
CampaignMeta 객체의 수정 가능한 필드
| 필드 이름 | 타입 | 설명 |
|---|---|---|
title |
string | 방송의 제목 |
description |
string | 방송에 대한 설명 |
rehearsalPasscode |
string | 리허설 모드에서 라이브 스트리밍에 입장하기 위한 패스코드 |
serveReplay |
boolean | 리플레이를 공개할지 여부 |
scheduledStartAt |
string | 방송 시작 예정 시각. 시간대 오프셋을 포함한 ISO 8601 (YYYY-MM-DDTHH:mm:ss±HH:MM, UTC는 Z). 응답은 UTC |
scheduledEndAt |
string | 방송 종료 예정 시각. 시간대 오프셋을 포함한 ISO 8601 (YYYY-MM-DDTHH:mm:ss±HH:MM, UTC는 Z). 응답은 UTC |
tags |
array of string | 방송 태그. []를 보내면 모두 제거, 생략하면 유지 |
brand |
object | 방송 브랜드({"brandId": …}). {}를 보내면 연결 해제, 생략하면 유지 |
헤더 파라미터
경로 파라미터
본문 파라미터
{
"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, UTC는 Z)입니다. 응답은 UTC입니다.YYYY-MM-DDTHH:mm:ss±HH:MM, UTC는 Z)입니다. 응답은 UTC입니다.응답
응답 본문은 Campaign 객체입니다.
{
"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"
}이전 ← 방송 복제다음 → 방송 내 상품 검색
방송 내 상품 검색
방송 내 상품 검색
헤더 파라미터
경로 파라미터
응답
results 의 각 항목은 CampaignProduct 객체입니다.
{
"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."
}0방송에 상품 추가
방송에 상품 추가
헤더 파라미터
경로 파라미터
본문 파라미터
항목이 최소 1개 필요합니다. 각 항목은 productId 또는 customerProductId 중 하나를 지정해야 하며, 한 요청의 모든 항목에는 같은 종류의 식별자를 사용하세요.
[
{
"productId": 1234
},
{
"productId": 1235
}
]응답
{
"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"
}이전 ← 방송 내 상품 검색다음 → 방송에서 상품 제거
방송에서 상품 제거
방송에서 상품 제거
헤더 파라미터
경로 파라미터
본문 파라미터
항목이 최소 1개 필요합니다. 각 항목은 productId 또는 customerProductId 중 하나를 지정해야 하며, 한 요청의 모든 항목에는 같은 종류의 식별자를 사용하세요.
[
{
"productId": 1234
},
{
"productId": 1235
}
]응답
{
"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"
}이전 ← 방송에 상품 추가다음 → 상위 계정으로 방송 이관
상위 계정으로 방송 이관
셀러로부터 상위(부모) 계정으로 방송을 이관합니다.
헤더 파라미터
경로 파라미터
쿼리 파라미터
false응답
응답 본문은 Campaign 객체입니다.
{
"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."
}0이전 ← 방송에서 상품 제거다음 → 방송의 경매 상품 검색
방송의 경매 상품 검색
방송의 경매 상품 검색
헤더 파라미터
경로 파라미터
쿼리 파라미터
응답
results 의 각 항목은 CampaignProduct 객체입니다.
{
"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입니다.leader
0{
"_s": -510,
"_e": "Error message"
}이전 ← 상위 계정으로 방송 이관다음 → 방송에서 모든 상품 제거
방송에서 모든 상품 제거
방송에서 모든 상품 제거
헤더 파라미터
경로 파라미터
응답
응답 본문 없음
{
"_s": -510,
"_e": "Error message"
}이전 ← 방송의 경매 상품 검색다음 → 방송 내 상품 순서 변경
방송 내 상품 순서 변경
이 API는 먼저 요청 본문에 지정된 순서대로 상품을 정렬한 다음, 방송에 등록된 나머지 상품을 원래 순서대로 뒤에 추가합니다.
customerProductId를 이용한 정렬 예시
방송에 등록된 customerProductId 값의 원래 순서: sl09, sl08, sl07, sl06, sl05, sl04
요청 처리 후 customerProductId 값의 순서: 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"}
]'
에러 코드
| HTTP 상태 코드 | 에러 코드(_s) | 에러 메시지(_e) |
|---|---|---|
404 |
-710 | 방송이 존재하지 않습니다. |
404 |
-848 | 방송에서 정렬할 상품을 찾을 수 없습니다. |
400 |
-840 | 목록이 존재하지 않거나 데이터가 존재하지 않습니다. |
헤더 파라미터
경로 파라미터
본문 파라미터
항목이 최소 1개 필요합니다. 각 항목은 productId 또는 customerProductId 중 하나를 지정해야 하며, 한 요청의 모든 항목에는 같은 종류의 식별자를 사용하세요.
[
{
"customerProductId": "sl04"
},
{
"customerProductId": "sl05"
},
{
"customerProductId": "sl07"
}
]응답
응답 본문 없음
{
"_s": -510,
"_e": "Error message"
}이전 ← 방송에서 모든 상품 제거다음 → 진행 중인 경매 조회
진행 중인 경매 조회
진행 중인 경매 조회
헤더 파라미터
경로 파라미터
응답
응답 본문은 CampaignProduct 객체입니다.
{
"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입니다.leader
00{
"_s": -510,
"_e": "Error message"
}이전 ← 방송 내 상품 순서 변경다음 → 셀러에게 방송 이관
셀러에게 방송 이관
셀러에게 방송 이관
헤더 파라미터
경로 파라미터
쿼리 파라미터
false응답
응답 본문은 Campaign 객체입니다.
{
"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."
}0이전 ← 진행 중인 경매 조회다음 → Popup 객체
Popup 객체
팝업 목록 항목
방송에 등록된 팝업을 조회할 때(GET /v2/{accessKey}/campaign/{campaignKeyOrId}/popup) 배열의 각 항목으로 반환되는 필드입니다.
| 필드 | 타입 | 설명 |
|---|---|---|
popupResourceId | string | 팝업 식별자 |
title | string | 팝업 제목(관리용 라벨) |
description | string | 팝업 설명(관리용 메모) |
contents | object | 팝업 타입별 콘텐츠. popupType이 COUPON이면 아래 "contents (COUPON)"에서 설명하는 형태를 가집니다. |
dismissType | string | KEEP / AUTO / MANUAL 중 하나 |
popupType | string | 팝업 타입. External API로 생성할 수 있는 타입은 COUPON입니다. 목록에는 콘솔에서 만든 다른 타입의 팝업도 포함될 수 있으니, COUPON이 아닌 팝업은 건너뛰세요. |
dimmed | boolean | 배경 딤(dim) 적용 여부. COUPON 팝업에는 적용되지 않습니다. |
duration | integer | 노출 지속 시간(초). 0이면 제한 없음을 의미합니다. |
showingNow | boolean | 현재 라이브 시청자에게 노출 중인지 여부 |
clickCount | integer | 누적 클릭 수 |
usedAt | integer | 팝업이 처음 노출된 시각입니다(밀리초 단위 Unix 타임스탬프, UTC). 한 번도 노출되지 않았으면 null입니다. |
createdAt | integer | 생성 시각(밀리초 단위 Unix 타임스탬프, UTC) |
updatedAt | integer | 마지막 수정 시각(밀리초 단위 Unix 타임스탬프, UTC) |
쿠폰 팝업 요청(생성·수정 요청 본문)
POST/PUT .../popup/coupon(/{popupResourceId}) 요청 본문의 최상위 필드입니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
title | string | 선택 | 팝업 제목(관리용 라벨) |
description | string | 선택 | 팝업 설명(관리용 메모) |
popupType | string | 필수 | COUPON 고정. 다른 값을 보내면 400이 반환됩니다. |
contents | object | 필수 | 아래 "contents (COUPON)" 참고 |
dismissType | string | 선택 | KEEP / AUTO / MANUAL. 기본값은 AUTO입니다. |
dimmed | boolean | 선택 | 배경 딤(dim) 적용 여부. 기본값은 false입니다. COUPON 팝업에는 적용되지 않습니다. |
duration | integer | 선택 | 노출 지속 시간(초). 기본값은 0(제한 없음)입니다. |
broadcastStrategy | object | 선택 | 전송 전략. 기본값은 {"type":"ALL_AT_ONCE"}입니다. |
tags | array<string> | 선택 | 팝업에 부여된 태그 목록 |
다음 필드는 서버가 설정하므로 요청에 보내지 않아도 됩니다: id, customerId, seller, adminId, adminName, createdAt, updatedAt.
contents (COUPON)
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
popupType | string | 필수 | COUPON 고정. 최상위 popupType과 일치해야 합니다. |
title | string | 선택 | 팝업 콘텐츠 제목(최상위 title과는 별개) |
description | string | 선택 | 팝업 콘텐츠 설명 |
couponDeliveryType | string | 선택 | INSTANT(즉시 발급) 또는 DWELL_TIME(체류 시간 경과 후 발급). 생략하면 INSTANT로 동작합니다. |
couponDeliverySeconds | integer | 선택 | 쿠폰을 발급하기 전까지의 체류 시간(초)입니다. couponDeliveryType이 DWELL_TIME일 때만 적용되며, 이 경우 0보다 큰 값을 설정하세요. |
imageUrl | string | 선택 | 쿠폰 이미지 URL. imageBase64와 함께 보낼 수 없습니다(400). PNG·JPEG·GIF, 5MB 이하만 지원하며 리다이렉트되는 URL은 사용할 수 없습니다. 외부 URL은 Shoplive CDN URL(image.shoplive.cloud)로 자동 변환됩니다. |
imageBase64 | string | 선택 | Base64로 인코딩된 이미지(data: 접두어 없이). PNG·JPEG·GIF, 5MB 이하만 지원합니다. imageUrl과 함께 보낼 수 없습니다(400). |
imageContentType | string | 선택 | 이미지의 MIME 타입 |
imageWidth | integer | 선택 | 노출 너비(px). 0(기본값)이면 플레이어가 기본 너비인 164px로 렌더링합니다. |
textImageListTitle | string | 선택 | 텍스트+이미지 목록 제목 |
textImageList | array<object> | 선택 | 각 항목은 {"imageUrl": string, "text": string, "popupType": "TEXT_IMAGE", "action": string|null} 형태를 가집니다. |
action | string | 선택 | CUSTOM_ACTION 또는 null(생략)만 허용됩니다. 그 외 값을 보내면 400이 반환됩니다. |
payload | string | 선택 | JSON으로 직렬화된 문자열입니다(객체가 아님). 유효한 JSON이 아니면 400이 반환됩니다. 쿠폰을 매칭하려면 {"coupon":"<couponId>"}를 포함하세요. |
link | string | 선택 | 더 이상 권장하지 않습니다(Deprecated). 신규 연동에는 사용하지 마세요. |
열거값
| 타입 | 값 | 설명 |
|---|---|---|
PopupType | COUPON | 쿠폰 팝업. External API로 생성할 수 있는 유일한 타입입니다. NOTICE/BANNER 등 다른 타입은 콘솔에서 생성하며 팝업 목록에는 나타날 수 있습니다. |
DismissType | KEEP | 화면에 항상 노출됩니다. |
AUTO | 클릭 시 즉시 사라집니다(기본값) | |
MANUAL | 클라이언트가 명시적으로 닫을 때까지 유지됩니다. | |
CouponDeliveryType | INSTANT | 쿠폰을 즉시 발급합니다(couponDeliveryType을 생략했을 때도 동일하게 동작) |
DWELL_TIME | couponDeliverySeconds초의 체류 시간이 지난 후 발급합니다. |
이전 ← 셀러에게 방송 이관다음 → 방송 내 팝업 검색
방송 내 팝업 검색
방송에 등록된 팝업 목록을 조회합니다. 응답은 팝업 항목의 JSON 배열입니다.
헤더 파라미터
경로 파라미터
응답
배열의 각 항목은 팝업 목록 항목입니다.
[
{
"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 팝업을 설명합니다. 다른 타입 팝업의 콘텐츠는 필드가 달라 여기에 문서화되어 있지 않습니다.popupType과 같습니다(쿠폰 팝업은 COUPON)INSTANT(즉시) 또는 DWELL_TIME(체류 시간 경과 후). 값이 없으면 INSTANT와 같습니다.couponDeliveryType이 DWELL_TIME일 때만 적용됩니다.image.shoplive.cloud)로 변환됩니다.0textImageList
TEXT_IMAGE 고정TEXT_IMAGECUSTOM_ACTION 또는 null(생략)만 허용됩니다. 그 외 값을 보내면 400이 반환됩니다.{"coupon":"<couponId>"}를 포함하세요.COUPON이 아닌 팝업은 건너뛰세요.null입니다.쿠폰 팝업 생성
쿠폰 팝업 1건을 생성하고 방송에 연결합니다. 단일 트랜잭션으로 원자적으로 처리되며, 응답은 생성된 팝업의 식별자만 반환합니다 — 전체 상태를 확인하려면 팝업 목록 조회(GET) 엔드포인트를 사용하세요.
검증 규칙: popupType은 최상위와 contents 내부 모두 COUPON이어야 합니다. contents.action은 CUSTOM_ACTION 또는 생략만 허용하며, 그 외 값을 보내면 400이 반환됩니다. contents.payload는 값이 있으면 유효한 JSON 문자열이어야 하며, 아니면 400이 반환됩니다. 쿠폰을 매칭하려면 contents.payload에 {"coupon":"<couponId>"}를 포함하세요. contents.imageUrl 또는 contents.imageBase64 중 하나만 보낼 수 있으며(둘 다 보내면 400), 외부 이미지는 서버가 동기적으로 내려받아 Shoplive CDN(image.shoplive.cloud)으로 변환한 뒤 저장합니다. Base64 이미지가 디코딩된 바이트 기준 5MB를 초과하면 400이 반환됩니다.
헤더 파라미터
경로 파라미터
본문 파라미터
{
"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 고정. 다른 값을 보내면 400이 반환됩니다.COUPONcontents
popupType은 COUPON 고정입니다.COUPON 고정. 최상위 popupType과 일치해야 합니다.COUPONINSTANT(즉시) 또는 DWELL_TIME(체류 시간 경과 후). 선택 사항이며, 생략하면 INSTANT처럼 동작합니다.couponDeliveryType이 DWELL_TIME일 때만 적용됩니다.imageBase64와 함께 사용할 수 없습니다(400). PNG·JPEG·GIF, 5MB 이하만 지원하며 리다이렉트되는 URL은 사용할 수 없습니다. 외부 URL은 Shoplive CDN URL(image.shoplive.cloud)로 자동 변환됩니다.data: 접두어 없이). PNG·JPEG·GIF, 5MB 이하만 지원합니다. imageUrl과 함께 사용할 수 없습니다(400).0textImageList
TEXT_IMAGE 고정TEXT_IMAGECUSTOM_ACTION 또는 null(생략)만 허용됩니다. 그 외 값을 보내면 400이 반환됩니다.{"coupon":"<couponId>"}를 포함하세요.AUTO입니다.AUTOCOUPON 팝업에는 적용되지 않습니다.false0broadcastStrategy
{"type":"ALL_AT_ONCE"}입니다.ALL_AT_ONCE응답
{
"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."
}0이전 ← 방송 내 팝업 검색다음 → 쿠폰 팝업 수정
쿠폰 팝업 수정
방송에 등록된 쿠폰 팝업의 메타데이터/콘텐츠를 수정합니다. 요청 형태는 생성(create)과 동일합니다. id/customerId/seller/adminId/adminName/createdAt/updatedAt은 서버가 설정하므로 보내지 않아도 됩니다. 쿠폰(COUPON) 타입의 팝업만 수정할 수 있습니다. 대상 {popupResourceId}가 이 방송에 등록되어 있지 않거나 COUPON 타입이 아니면 404가 반환됩니다. 응답 본문은 없습니다 — 수정된 상태는 팝업 목록 조회(GET) 엔드포인트로 확인하세요.
검증 규칙은 생성(create)과 동일합니다: contents.action은 CUSTOM_ACTION 또는 생략만 허용하고, contents.payload는 값이 있으면 유효한 JSON 문자열이어야 하며, contents.imageUrl/contents.imageBase64는 동시에 사용할 수 없고(400), 5MB 제한이 적용됩니다.
이 팝업이 다른 방송에도 연결되어 있다면, contents/dismissType/duration 변경은 연결된 모든 방송에 한꺼번에 반영됩니다.
헤더 파라미터
경로 파라미터
본문 파라미터
{
"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 고정. 다른 값을 보내면 400이 반환됩니다.COUPONcontents
popupType은 COUPON 고정입니다.COUPON 고정. 최상위 popupType과 일치해야 합니다.COUPONINSTANT(즉시) 또는 DWELL_TIME(체류 시간 경과 후). 선택 사항이며, 생략하면 INSTANT처럼 동작합니다.couponDeliveryType이 DWELL_TIME일 때만 적용됩니다.imageBase64와 함께 사용할 수 없습니다(400). PNG·JPEG·GIF, 5MB 이하만 지원하며 리다이렉트되는 URL은 사용할 수 없습니다. 외부 URL은 Shoplive CDN URL(image.shoplive.cloud)로 자동 변환됩니다.data: 접두어 없이). PNG·JPEG·GIF, 5MB 이하만 지원합니다. imageUrl과 함께 사용할 수 없습니다(400).0textImageList
TEXT_IMAGE 고정TEXT_IMAGECUSTOM_ACTION 또는 null(생략)만 허용됩니다. 그 외 값을 보내면 400이 반환됩니다.{"coupon":"<couponId>"}를 포함하세요.AUTO입니다.AUTOCOUPON 팝업에는 적용되지 않습니다.false0broadcastStrategy
{"type":"ALL_AT_ONCE"}입니다.ALL_AT_ONCE응답
응답 본문 없음
{
"_s": -510,
"_e": "INVALID_ARGUMENT"
}{
"_s": -404,
"_e": "NOT_FOUND"
}{
"_s": -710,
"_e": "Campaign does not exist."
}0이전 ← 쿠폰 팝업 생성다음 → 방송에서 팝업 연결 해제
방송에서 팝업 연결 해제
팝업을 방송에서 연결 해제합니다. 팝업 리소스 자체는 삭제되지 않습니다(콘솔에서만 영구 삭제할 수 있습니다). 다른 방송에도 연결되어 있었다면 그 연결은 그대로 유지됩니다. 팝업이 현재 노출 중이면(showingNow가 true, 팝업 목록 응답 기준) 409가 반환됩니다. 먼저 비활성화하세요.
헤더 파라미터
경로 파라미터
응답
응답 본문 없음
{
"_s": -404,
"_e": "NOT_FOUND"
}{
"_s": -116,
"_e": "popup is currently showing; deactivate first before unlink"
}{
"_s": -710,
"_e": "Campaign does not exist."
}0팝업 활성화
팝업을 라이브 시청자에게 즉시 노출합니다. 호출 후 해당 팝업의 showingNow는 true입니다(팝업 목록 응답 기준).
멱등(Idempotent): showingNow가 이미 true일 때 다시 호출해도 아무것도 바뀌지 않고 204가 반환됩니다(재시도하거나 여러 번 호출해도 안전합니다).
헤더 파라미터
경로 파라미터
쿼리 파라미터
0응답
응답 본문 없음
{
"_s": -510,
"_e": "broadcastDelay must be non-negative"
}{
"_s": -404,
"_e": "NOT_FOUND"
}{
"_s": -710,
"_e": "Campaign does not exist."
}0이전 ← 방송에서 팝업 연결 해제다음 → 팝업 비활성화
팝업 비활성화
팝업을 라이브 시청자에게서 즉시 숨깁니다. 호출 후 해당 팝업의 showingNow는 false입니다(팝업 목록 응답 기준).
멱등(Idempotent): showingNow가 이미 false일 때 다시 호출해도 아무것도 바뀌지 않고 204가 반환됩니다(재시도하거나 여러 번 호출해도 안전합니다).
헤더 파라미터
경로 파라미터
쿼리 파라미터
0응답
응답 본문 없음
{
"_s": -510,
"_e": "broadcastDelay must be non-negative"
}{
"_s": -404,
"_e": "NOT_FOUND"
}{
"_s": -710,
"_e": "Campaign does not exist."
}0이전 ← 팝업 활성화다음 → Product 객체
Product 객체
속성 이름 | 타입 | 설명 |
|---|---|---|
productId | String! | 자동으로 생성되는 고유한 상품 ID입니다. |
customerProductId | String? | 고객사의 상품 ID이며 고유해야 합니다(고객사가 직접 정의). |
name | String! | 상품 이름입니다. |
brand | String? | 브랜드 이름입니다. |
brandIdentifier | String? | 고객사가 설정한 상품의 브랜드 키(식별자)입니다. |
description | String? | 상품에 대한 설명입니다. |
url | String! | 상품 URL입니다. Shoplive Player에서 상품 정보를 클릭했을 때 이동하는 대상 URL입니다. |
sku | String? | 상품의 SKU 정보입니다 (고객사가 정의) |
imageUrl | String? | 상품 이미지 URL입니다. |
currency | String! | 가격의 통화입니다. |
showPrice | Boolean! | Shoplive Player에서 가격을 표시할지 여부입니다. |
originalPrice | Double? | 예: 20.00 (통화가 USD인 경우 $20.00) |
discountPrice | Double? | 예: 15.00 (통화가 USD인 경우 $15.00) |
discountRate | Double? | 예: 25.00 (할인율이 25%인 경우) |
enableAuction | Boolean! | 상품이 경매를 지원하는지 여부입니다. |
bidStartingPrice | Double? | 경매 시작 가격입니다(예: 0.99). |
bidDuration | Integer? | 경매의 입찰 지속 시간(초)입니다. 이 값은 |
bidIncrementalAmount | Double? | 입찰 증가 단위 금액입니다(예: 1.00). |
extendBidDuration | Boolean? | 경매 종료 직전에 입찰이 들어오면 남은 입찰 시간을 연장할지 여부입니다. 연장 시간은 고객사의 경매 설정을 따릅니다. |
ctaButtonTitle | String? | 상품의 CTA(call-to-action) 제목을 커스터마이즈할 수 있습니다. UI 커스터마이즈가 필요하므로 Shoplive와 상의가 필요합니다. 이 기능을 사용하고 싶으시면 ask@shoplive.cloud로 문의해 주세요. |
locked | Boolean! | 상품이 방송이나 숏폼에 등록되어 있으면 |
seller | 상품을 소유한 셀러 정보입니다. | |
createdAt | String! | 상품이 생성된 일시입니다 (형식: |
updatedAt | String! | 상품이 수정된 일시입니다 (형식: |
예시
일반 상품
{
"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"
}경매 상품
{
"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"
}상품 검색
상품 검색
헤더 파라미터
경로 파라미터
쿼리 파라미터
false(최근 생성부터)입니다.false130응답
results 의 각 항목은 Product 객체입니다.
{
"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"
}이전 ← Product 객체다음 → 상품 생성
상품 생성
상품을 등록합니다. upsert가 아니므로 이미 있는 customerProductId 항목은 status: FAIL로 돌아옵니다. 각 항목의 status는 CREATE, WARN(등록됐지만 이미지를 불러오지 못함), FAIL 중 하나입니다.
헤더 파라미터
경로 파라미터
본문 파라미터
항목이 최소 1개 필요합니다.
[
{
"customerProductId": "CUSTOMER_PRODUCT_ID_12345",
"name": "TEST PRODUCT",
"url": "TEST_URL"
}
]status가 FAIL로 반환됩니다.status가 FAIL)합니다.enableAuction이 true이면 필수입니다.enableAuction이 true일 때 필수입니다.enableAuction이 true이면 필수입니다.true를 보내세요. 연장 시간은 고객사의 경매 설정을 따릅니다.seller
응답
{
"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"
}상품 정보 조회
상품 정보 조회
헤더 파라미터
경로 파라미터
응답
응답 본문은 Product 객체입니다.
{
"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"
}0이전 ← 상품 생성다음 → customerProductId로 상품 정보 조회
customerProductId로 상품 정보 조회
customerProductId로 상품 정보 조회
헤더 파라미터
경로 파라미터
응답
응답 본문은 Product 객체입니다.
{
"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"
}0상품 수정
상품을 수정합니다. 각 항목은 customerProductId 또는 productId로 지정하며, 한 요청에서는 한 가지 식별자만 사용하세요. 각 항목의 status는 UPDATE 또는 FAIL입니다.
헤더 파라미터
경로 파라미터
본문 파라미터
항목이 최소 1개 필요합니다. 각 항목은 productId 또는 customerProductId 중 하나를 지정해야 하며, 한 요청의 모든 항목에는 같은 종류의 식별자를 사용하세요.
[
{
"customerProductId": "CUSTOMER_PRODUCT_ID_12345",
"name": "Updated product name",
"url": "Updated product url",
"description": "Updated product description"
}
]enableAuction이 true이면 필수입니다.enableAuction이 true일 때 필수입니다.enableAuction이 true이면 필수입니다.true이면 켜고, false이면 끄며, 생략하면 상품의 현재 설정이 유지됩니다. 연장 시간은 고객사의 경매 설정을 따릅니다.seller
응답
{
"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"
}이전 ← customerProductId로 상품 정보 조회다음 → 상품 삭제
상품 삭제
상품을 삭제합니다. 각 항목은 customerProductId 또는 productId로 지정하며, 한 요청에서는 한 가지 식별자만 사용하세요. 각 항목의 status는 DELETE 또는 FAIL입니다.
헤더 파라미터
경로 파라미터
쿼리 파라미터
true(기본값)이면 방송에 등록된 상품은 해당 방송에서 분리된 뒤 삭제됩니다. false이면 방송에 등록된 상품은 삭제되지 않고 실패한 항목(results[]에서 status가 FAIL)으로 반환됩니다. 숏폼에 등록된 상품은 이 값과 관계없이 삭제되지 않습니다.true본문 파라미터
항목이 최소 1개 필요합니다. 각 항목은 productId 또는 customerProductId 중 하나를 지정해야 하며, 한 요청의 모든 항목에는 같은 종류의 식별자를 사용하세요.
[
{
"productId": 123456
}
]응답
{
"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"
}이전 ← 상품 수정다음 → 상품을 셀러에게 이관
상품을 셀러에게 이관
상품을 셀러에게 이관
헤더 파라미터
경로 파라미터
본문 파라미터
항목이 최소 1개 필요합니다. 각 항목은 productId 또는 customerProductId 중 하나를 지정해야 하며, 한 요청의 모든 항목에는 같은 종류의 식별자를 사용하세요.
[
{
"productId": 1001
},
{
"productId": 1002
}
]응답
{
"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"
}이전 ← 상품 삭제다음 → 상품을 상위 계정으로 이관
상품을 상위 계정으로 이관
상품을 상위 계정으로 이관
헤더 파라미터
경로 파라미터
본문 파라미터
항목이 최소 1개 필요합니다. 각 항목은 productId 또는 customerProductId 중 하나를 지정해야 하며, 한 요청의 모든 항목에는 같은 종류의 식별자를 사용하세요.
[
{
"productId": 1001
},
{
"productId": 1002
}
]응답
{
"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"
}이전 ← 상품을 셀러에게 이관다음 → 방송/리허설 시작
방송/리허설 시작
방송을 시작합니다. 리허설로 시작하려면 rehearsal=true를 붙이세요.
헤더 파라미터
경로 파라미터
쿼리 파라미터
false응답
응답 본문 없음
{
"_s": -714,
"_e": "Error message"
}{
"_s": -717,
"_e": "Error message"
}{
"_s": -710,
"_e": "Campaign does not exist."
}0이전 ← 상품을 상위 계정으로 이관다음 → 콘솔에서 상품 재고 상태 변경
콘솔에서 상품 재고 상태 변경
콘솔에서 상품 재고 상태 변경
헤더 파라미터
경로 파라미터
쿼리 파라미터
SOLD_OUT입니다.SOLD_OUT본문 파라미터
항목이 최소 1개 필요합니다. 각 항목은 productId 또는 customerProductId 중 하나를 지정해야 하며, 한 요청의 모든 항목에는 같은 종류의 식별자를 사용하세요.
[
{
"productId": 12345
},
{
"productId": 23456
}
]응답
{
"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"
}이전 ← 방송/리허설 시작다음 → 콘솔에서 상품의 "Now" 표시 노출/숨김
콘솔에서 상품의 "Now" 표시 노출/숨김
콘솔에서 상품의 "Now" 표시 노출/숨김
헤더 파라미터
경로 파라미터
쿼리 파라미터
true본문 파라미터
항목이 최소 1개 필요합니다. 각 항목은 productId 또는 customerProductId 중 하나를 지정해야 하며, 한 요청의 모든 항목에는 같은 종류의 식별자를 사용하세요.
[
{
"customerProductId": "SKU-1001"
}
]응답
2 rows updated.{
"_s": -510,
"_e": "Error message"
}이전 ← 콘솔에서 상품 재고 상태 변경다음 → 방송/리허설 종료
방송/리허설 종료
방송을 종료합니다. 리허설을 종료하면 방송은 READY로 돌아갑니다.
헤더 파라미터
경로 파라미터
응답
응답 본문 없음
{
"_s": -711,
"_e": "Error message"
}{
"_s": -717,
"_e": "Error message"
}{
"_s": -710,
"_e": "Campaign does not exist."
}0콘솔에서 모든 상품의 "Now" 표시 노출/숨김
콘솔에서 모든 상품의 "Now" 표시 노출/숨김
헤더 파라미터
경로 파라미터
쿼리 파라미터
true응답
응답 본문 없음
{
"_s": -510,
"_e": "Error message"
}경매 시작
경매 시작
헤더 파라미터
경로 파라미터
본문 파라미터
productId 또는 customerProductId 중 하나를 지정합니다(둘 중 하나 필수). 둘 다 보내면 customerProductId가 사용됩니다.
{
"productId": 123456
}응답
응답 본문 없음
{
"_s": -1002,
"_e": "AUCTION_ALREADY_ONGOING"
}{
"_s": -1004,
"_e": "auction_already_ended"
}{
"_s": -1009,
"_e": "AUCTION_PRODUCT_SOLD_OUT"
}0이전 ← 콘솔에서 모든 상품의 "Now" 표시 노출/숨김다음 → 경매 종료
경매 종료
경매 종료
헤더 파라미터
경로 파라미터
본문 파라미터
productId 또는 customerProductId 중 하나를 지정합니다(둘 중 하나 필수). 둘 다 보내면 customerProductId가 사용됩니다.
{
"customerProductId": "SKU-1001"
}응답
응답 본문 없음
{
"_s": -1004,
"_e": "auction_already_ended"
}0Seller 객체
속성 이름 | 타입 | 설명 |
|---|---|---|
sellerId | String! | 자동으로 생성되는 셀러의 식별자입니다. (숫자 형태의 문자열, 예: |
name | String! | 셀러의 이름입니다. |
profileUrl | String? | 셀러의 프로필 이미지 URL입니다. |
storeUrl | String? | 셀러의 스토어 URL입니다. |
description | String? | 셀러에 대한 설명입니다. |
schemes | Map<String, String>? | 플레이어에서 각 버튼을 클릭했을 때 셀러 페이지로 이동하는 앱 스킴입니다. |
sellerIdentifier | String? | 셀러의 문자열 식별자입니다. |
예시
{
"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"
}셀러 검색
셀러 검색
헤더 파라미터
경로 파라미터
쿼리 파라미터
false(최근 생성부터)입니다.false110응답
results 의 각 항목은 Seller 객체입니다.
{
"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"
}셀러 생성
셀러 생성
헤더 파라미터
경로 파라미터
본문 파라미터
{
"name": "New seller",
"profileUrl": "https://image.shoplive.cloud/14352cf2-ef40-4ba9-93af-279a104cb3c8.png",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller"
}응답
응답 본문은 Seller 객체입니다.
{
"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"
}셀러 수정
셀러 수정
헤더 파라미터
경로 파라미터
본문 파라미터
{
"name": "Shoplive Product Store",
"profileUrl": "https://image.shoplive.cloud/7910e586-19a4-4740-804b-5f9da02e6939.jpg",
"storeUrl": "https://shoplive.cloud",
"description": "Description of the seller"
}응답
응답 본문은 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": {}
}{
"_s": -510,
"_e": "Error message"
}셀러 삭제
셀러를 삭제합니다. 삭제한 셀러는 셀러 검색에 나오지 않으며 조회·수정할 수 없습니다. 응답 본문은 없습니다.
헤더 파라미터
경로 파라미터
응답
응답 본문 없음
{
"_s": -510,
"_e": "Error message"
}셀러 정보 조회
셀러 정보 조회
헤더 파라미터
경로 파라미터
응답
응답 본문은 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": {}
}{
"_s": -510,
"_e": "Error message"
}Brand 객체
속성 이름 | 타입 | 설명 |
|---|---|---|
brandId | String! | 자동으로 생성되는 브랜드의 고유 ID입니다. 읽기 전용입니다. |
name | String! | 브랜드 이름입니다. 최대 255자 |
identifier | String! | 브랜드 식별자입니다. |
description | String? | 브랜드에 대한 설명입니다. |
imageUrl | String! | 브랜드 이미지 URL입니다. |
imageWidth | Integer! | 브랜드 이미지의 너비(픽셀)입니다. 자동으로 생성됩니다. 읽기 전용입니다. |
imageHeight | Integer! | 브랜드 이미지의 높이(픽셀)입니다. 자동으로 생성됩니다. 읽기 전용입니다. |
createdAt | String! | 브랜드 생성 시각입니다. 읽기 전용입니다. (형식: |
updatedAt | String! | 브랜드 수정 시각입니다. 읽기 전용입니다. (형식: |
예시
{
"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"
}브랜드 검색
브랜드 검색
헤더 파라미터
경로 파라미터
쿼리 파라미터
false(최근 생성부터)입니다.false110응답
results 의 각 항목은 Brand 객체입니다.
{
"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"
}브랜드 생성
브랜드 생성
헤더 파라미터
경로 파라미터
본문 파라미터
{
"name": "SHOPLIVE_BRAND_1",
"imageUrl": "https://shoplive.cloud/sample.jpg",
"identifier": "SHOPLIVE_BRAND_IDENTIFIER",
"description": "this is a sample brand"
}응답
응답 본문은 Brand 객체입니다.
{
"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"
}0브랜드 조회
브랜드 조회
헤더 파라미터
경로 파라미터
응답
응답 본문은 Brand 객체입니다.
{
"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"
}브랜드 정보 수정
브랜드 정보 수정
헤더 파라미터
경로 파라미터
본문 파라미터
{
"name": "Shoplive",
"description": "Shoplive Brand."
}응답
응답 본문은 Brand 객체입니다.
{
"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"
}0브랜드 삭제
브랜드 삭제
헤더 파라미터
경로 파라미터
응답
응답 본문 없음
{
"_s": -510,
"_e": "Error message"
}0이전 ← 브랜드 정보 수정다음 → Shortform 객체
Shortform 객체
Shortform 객체는 개별 숏폼을 구성하는 영상과 다양한 메타데이터를 포함합니다. 이 객체를 사용해 여러 개의 썸네일로 구성된 미리보기 화면을 만들거나 개별 숏폼을 재생하기 위한 피드를 구성할 수 있습니다. 숏폼 검색·조회·생성·수정 API가 이 객체를 반환합니다.
숏폼은 API로 직접 생성·수정·삭제할 수도 있습니다(숏폼 생성, 숏폼 수정, 숏폼 삭제).
Shortform 객체
속성 이름 | 타입 | 설명 |
|---|---|---|
shortformId | String! | Shoplive 시스템이 각 숏폼에 부여하는 고유 ID입니다. |
createdAt | String! | 숏폼이 생성된 날짜와 시간이며 다음 형식을 따릅니다: (형식: YYYY-MM-DD'T'HH:mm:ss'Z', 예: 2026-12-25T08:00:00Z) |
updatedAt | String! | 숏폼이 수정된 날짜와 시간이며 다음 형식을 따릅니다: (형식: YYYY-MM-DD'T'HH:mm:ss'Z', 예: 2026-12-25T08:00:00Z) |
status | String! | 숏폼의 노출 상태 플래그 (OPEN | HIDDEN | SCHEDULED) |
details | 각 숏폼의 세부 정보는 다음 속성들을 포함합니다.
| |
activity | 각 숏폼과 연결된 활동 정보는 다음 속성들을 포함합니다.
| |
video | 숏폼과 연결된 영상에는 다음 속성이 있습니다.
|
Details 객체
각 숏폼의 세부 정보는 다음 속성들을 포함합니다.
속성 이름 | 타입 | 설명 |
|---|---|---|
title | String! | 숏폼의 제목 |
description | String? | 숏폼의 설명 |
brand | 숏폼에 설정된 브랜드 정보 | |
tags | List<String>? | 숏폼에 설정된 태그 정보 |
productCount | Integer! | 숏폼에 설정된 상품 개수 |
productBanner | 숏폼에 설정된 상품 배너 정보 | |
products | 숏폼과 연결된 상품에 대한 정보입니다. |
Activity 객체
각 숏폼의 activity에는 다음 속성이 있습니다. 숏폼 검색이 반환하는 항목에는 viewCount만 포함됩니다. likeCount, commentCount, bookmarkCount, shareCount를 얻으려면 숏폼 조회를 호출하세요.
속성 이름 | 타입 | 설명 |
|---|---|---|
viewCount | Integer! | 숏폼을 시청한 사용자 수 |
likeCount | Integer! | 숏폼에 좋아요를 누른 횟수 (검색 API에서는 제공되지 않음) |
commentCount | Integer! | 숏폼에 달린 댓글 수 (검색 API에서는 제공되지 않음) |
bookmarkCount | Integer! | 숏폼이 북마크된 횟수 (검색 API에서는 제공되지 않음) |
shareCount | Integer! | 숏폼이 공유된 횟수 (검색 API에서는 제공되지 않음) |
Video 객체
숏폼과 연결된 영상에는 다음 속성이 있습니다.
속성 이름 | 타입 | 설명 |
|---|---|---|
duration | Integer! | 숏폼 영상의 총 재생 길이(밀리초 단위)입니다. |
videoId | String! | Shoplive가 관리하는 숏폼 영상의 고유 영상 ID(문자열)입니다. |
videoUrl | String! | 숏폼 영상의 재생 URL(m3u8)입니다. 이는 숏폼의 원본 영상이며 미리보기 화면 용도로 사용해서는 안 됩니다. 피드를 클라이언트에서 구현할 때 사용하는 것을 권장합니다. Adaptive Bitrate는 별도로 직접 구현해야 합니다. |
previewVideoUrl | String! | 숏폼 영상의 미리보기 영상 URL(m3u8)입니다. 이 URL은 미리보기 화면용으로 저해상도(320P) 영상을 재생하는 데 사용됩니다. X 초 길이의 영상을 반복 재생해야 하는 경우 별도로 직접 구현해야 합니다. |
screenshotUrl | String! | 숏폼 영상의 썸네일 이미지를 표시하기 위한 URL입니다. |
Brand 객체
속성 이름 | 타입 | 설명 |
|---|---|---|
brandId | String! | 브랜드 ID |
identifier | String! | 브랜드 식별을 위한 고유 문자열 |
name | String! | 브랜드 이름 |
imageUrl | String! | 브랜드 이미지 URL |
ProductBanner 객체
상품 배너는 상품 목록이 표시되는 UI 상단에 노출할 수 있는 배너입니다. 주로 상품 기획전이나 프로모션 페이지에서 배너에 링크를 넣어 사용합니다.
속성 이름 | 타입 | 설명 |
|---|---|---|
title | String! | 상품 배너 제목 |
imageUrl | String! | 상품 배너 이미지 URL |
scheme | String! | 상품 배너를 클릭했을 때 이동할 URL 또는 스킴입니다. |
Products 객체
검색 API 결과의 products에는 숏폼마다 상품이 하나만 담깁니다. 전체 상품은 숏폼 조회 API로 확인하세요.
속성 이름 | 타입 | 설명 |
|---|---|---|
productId | String! | Shoplive 시스템이 관리하는 고유 상품 ID입니다. |
name | String! | 상품 제목 |
brand | String! | 상품의 브랜드 정보 |
url | String! | 상품 상세 페이지 URL |
sku | String! | 상품 SKU 정보 |
imageUrl | String! | 상품 이미지 URL |
currency | String! | 상품의 통화 정보 |
showPrice | Boolean! | 상품 가격 표시 여부를 나타내는 플래그입니다 (true | false) |
originalPrice | Double! | 상품의 원가 |
discountPrice | Double! | 상품의 할인가 |
discountRate | Double! | 상품 가격의 할인율 |
stockStatus | String! | 상품의 재고 상태 (IN_STOCK | LOW_IN_STOCK | SOLD_OUT) |
예시
{
"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"
}
}숏폼 검색
숏폼 검색 API를 사용할 때는 다음 사항을 참고하세요:
- 검색 결과의
details.products에는 숏폼마다 상품이 하나만 담깁니다. 전체 상품은 숏폼 조회로 확인하세요. - 숏폼의 미리보기 화면용으로 API를 사용할 때는
results각 항목의video.previewVideoUrl필드를 사용하는 것을 권장합니다.video.videoUrl필드는 원본 영상을 담고 있어 해상도가 더 높고 재생에 더 많은 데이터가 필요합니다. - 여러 태그로 검색할 때 검색 조건을 AND 또는 OR로 설정할 수 있습니다. (예: &tags=tag1,tag2,tag3&tagSearchOperator=AND|OR)
- API로 결과를 조회할 때 sortOrder, createdAt, updatedAt 중 어떤 컬럼을 정렬 기준으로 사용할지 결정할 수 있습니다. 정렬 순서는 sortAscending 파라미터로 지정할 수 있습니다.
results항목의activity에는viewCount만 포함됩니다.likeCount,commentCount,bookmarkCount,shareCount를 얻으려면 숏폼 조회를 호출하세요.
헤더 파라미터
경로 파라미터
쿼리 파라미터
createdAt 범위의 시작 (형식: YYYY-MM-DD'T'HH:mm:ss'Z', 예: 2026-05-20T08:00:00Z)createdAt 범위의 끝 (형식: YYYY-MM-DD'T'HH:mm:ss'Z', 예: 2026-05-20T08:00:00Z)OR110sortOrder(어드민에서 정한 표시 순서, 기본값), createdAt(생성 시각), updatedAt(수정 시각).sortColumn의 열 기준으로 정렬합니다. 기본값은 true(오름차순)입니다.true응답
results 의 각 항목은 Shortform 객체입니다.
{
"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"
}이전 ← Shortform 객체다음 → 숏폼 생성
숏폼 생성
숏폼 객체 생성
헤더 파라미터
경로 파라미터
본문 파라미터
{
"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, UTC는 Z)입니다. 응답은 UTC입니다.YYYY-MM-DDTHH:mm:ss±HH:MM, UTC는 Z)입니다. 응답은 UTC입니다.seller
video
videoId 또는 customerVideoId 중 하나를 지정합니다(둘 중 하나 필수). 둘 다 보내면 customerVideoId가 사용됩니다.응답
응답 본문은 Shortform 객체입니다.
{
"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"
}숏폼 조회
숏폼 객체 조회
헤더 파라미터
경로 파라미터
응답
응답 본문은 Shortform 객체입니다.
{
"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"
}숏폼 수정
숏폼 객체 수정
헤더 파라미터
경로 파라미터
본문 파라미터
{
"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, UTC는 Z)입니다. 응답은 UTC입니다.YYYY-MM-DDTHH:mm:ss±HH:MM, UTC는 Z)입니다. 응답은 UTC입니다.video
응답
응답 본문은 Shortform 객체입니다.
{
"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"
}숏폼 삭제
숏폼 삭제
헤더 파라미터
경로 파라미터
응답
응답 본문 없음
{
"_s": -1200,
"_e": "shortform does not exist."
}0숏폼에 상품 추가
숏폼에 상품 추가
헤더 파라미터
경로 파라미터
본문 파라미터
항목이 최소 1개 필요합니다. 각 항목은 productId 또는 customerProductId 중 하나를 지정해야 하며, 한 요청의 모든 항목에는 같은 종류의 식별자를 사용하세요.
[
{
"productId": 207426
}
]응답
{
"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"
}이전 ← 숏폼 삭제다음 → 숏폼에서 상품 제거
숏폼에서 상품 제거
숏폼에서 상품 제거
헤더 파라미터
경로 파라미터
본문 파라미터
항목이 최소 1개 필요합니다. 각 항목은 productId 또는 customerProductId 중 하나를 지정해야 하며, 한 요청의 모든 항목에는 같은 종류의 식별자를 사용하세요.
[
{
"productId": 207426
}
]응답
{
"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"
}Video 객체
속성 이름 | 타입 | 설명 |
|---|---|---|
videoId | String! | 자동으로 생성되는 영상의 식별자입니다. (숫자 형태의 문자열) |
customerVideoId | String? | 고객사의 영상 ID로, 고유해야 합니다(고객사가 정의) |
title | String! | 영상의 제목입니다. 최대 255자. |
description | String? | 영상에 대한 설명입니다. 최대 65535자. |
tags | List<String>? | 영상의 태그입니다. 최대 10개 |
filename | String! | 영상이 업로드될 때의 원본 파일명입니다. |
width | Integer! | 영상의 너비(픽셀)입니다. |
height | Integer! | 영상의 높이(픽셀)입니다. |
filesize | String! | 영상의 파일 크기(바이트)입니다. (숫자 형태의 문자열) |
videoSourceUrl | String! | 업로드된 영상 파일의 URL입니다. |
thumbnailImageUrl | String? | 영상의 썸네일 이미지 URL입니다. 지정하지 않으면 Shoplive가 영상 생성 시 썸네일 이미지 URL을 자동으로 생성합니다. |
liveStreamUrl | String? | 영상을 라이브처럼 재생할 수 있는 가변 화질 HLS(m3u8) URL입니다. 영상을 생성한 직후의 응답에는 포함되지 않습니다. |
liveStreamUrls | Map<String, String>? | 라이브처럼 재생할 수 있는 m3u8의 해상도별 URL입니다. 키는 해상도(예: |
vodStreamUrl | String? | 자동 화질 HLS(m3u8) 리플레이 영상 URL입니다. |
vodStreamUrls | Map<String, String>? | 리플레이처럼 재생할 수 있는 m3u8의 해상도별 URL입니다. 키는 해상도(예: |
duration | Integer! | 영상의 길이(밀리초)입니다. |
uploadProgress | Integer! | 영상의 업로드 진행률입니다. (0-100) 모든 트랜스코딩이 끝나면 100(%)이 됩니다. |
createdAt | String! | 영상이 생성된 일시입니다 (형식: |
updatedAt | String! | 영상이 수정된 일시입니다 (형식: |
예시
{
"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"
}이전 ← 숏폼에서 상품 제거다음 → 영상 검색
영상 검색
영상 검색
헤더 파라미터
경로 파라미터
쿼리 파라미터
false(최근 생성부터)입니다.false120OR응답
results 의 각 항목은 Video 객체입니다.
{
"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)이고 값은 재생 URL입니다.720p, 480p, 320p)이고 값은 재생 URL입니다.000{
"_s": -510,
"_e": "Error message"
}영상 생성
이 API는 Shoplive 미디어 스토리지에 영상 파일을 업로드하고 영상 리소스를 생성합니다.
Shoplive 서버가 API 호출을 수신하면, 영상 파일 업로드가 완료된 후 요청자에게 응답이 반환됩니다. (썸네일 이미지 URL과 라이브/리플레이 URL은 제외)
영상 업로드가 완료되면 Shoplive 서버는 업로드된 영상에 대한 트랜스코딩을 진행하며, 영상 조회/검색 API 응답의 uploadProgress를 통해 진행 상황을 확인할 수 있습니다.
트랜스코딩이 완료되면 알림을 받을 수 있도록 Webhook URL을 설정할 수도 있습니다. (Webhook 설정은 Shoplive 계정 담당자에게 문의하세요)
헤더 파라미터
경로 파라미터
본문 파라미터
tags=tag1&tags=tag2). 쉼표로 구분한 단일 값도 허용됩니다.응답
응답 본문은 Video 객체입니다.
{
"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"
}영상 정보 조회
영상 정보 조회
헤더 파라미터
경로 파라미터
응답
응답 본문은 Video 객체입니다.
{
"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)이고 값은 재생 URL입니다.720p, 480p, 320p)이고 값은 재생 URL입니다.00{
"_s": -510,
"_e": "Error message"
}이전 ← 영상 생성다음 → customerVideoId로 영상 정보 조회
customerVideoId로 영상 정보 조회
customerVideoId로 영상 정보 조회
헤더 파라미터
경로 파라미터
응답
응답 본문은 Video 객체입니다.
{
"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)이고 값은 재생 URL입니다.720p, 480p, 320p)이고 값은 재생 URL입니다.00{
"_s": -510,
"_e": "Error message"
}이전 ← 영상 정보 조회다음 → videoId로 영상 수정
videoId로 영상 수정
videoId를 사용하여 영상의 제목, 설명, 태그, customerVideoId를 변경할 수 있습니다.
헤더 파라미터
경로 파라미터
본문 파라미터
{
"title": "Updated title",
"description": "Updated description",
"customerVideoId": "Updated customerVideoId",
"tags": [
"tag1",
"tag2",
"tag3"
]
}응답
응답 본문은 Video 객체입니다.
{
"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)이고 값은 재생 URL입니다.720p, 480p, 320p)이고 값은 재생 URL입니다.00{
"_s": -510,
"_e": "Error message"
}customerVideoId로 영상 수정
customerVideoId를 사용하여 영상의 제목, 설명, 태그를 변경할 수 있습니다.
헤더 파라미터
경로 파라미터
본문 파라미터
{
"title": "Updated title",
"description": "Updated description",
"tags": [
"tag1",
"tag2",
"tag3"
]
}응답
응답 본문은 Video 객체입니다.
{
"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)이고 값은 재생 URL입니다.720p, 480p, 320p)이고 값은 재생 URL입니다.00{
"_s": -510,
"_e": "Error message"
}이전 ← videoId로 영상 수정다음 → videoId로 영상 삭제
videoId로 영상 삭제
videoId로 영상 삭제
헤더 파라미터
경로 파라미터
응답
응답 본문 없음
{
"_s": -510,
"_e": "Error message"
}customerVideoId로 영상 삭제
customerVideoId로 영상 삭제
헤더 파라미터
경로 파라미터
응답
응답 본문 없음
{
"_s": -510,
"_e": "Error message"
}이전 ← videoId로 영상 삭제다음 → Stats 객체
Stats 객체
속성 이름 | 타입 | 설명 |
|---|---|---|
campaignId | String! | 자동으로 생성되는 방송의 식별자입니다. (숫자 형태의 문자열) |
campaignKey | String! | 자동으로 생성되는 키입니다(최대 32바이트, 영숫자). 이 키는 API 호출에서 방송을 지정하는 데 사용됩니다. |
accessKey | String! | 고객사마다 고유한 키입니다. 대부분의 Shoplive API는 이 accessKey를 필요로 합니다. |
title | String! | 방송의 제목 |
scheduledStartAt | String! | 방송의 예정된 시작 시각 (형식: |
campaignStartedAt | String! | 방송의 실제 시작 시각 (형식: |
campaignEndedAt | String! | 방송의 실제 종료 시각 (형식: |
totalViewers | Integer! | 전체 시청자 수 |
totalLoginViewers | Integer! | 고객사의 웹 또는 애플리케이션에 로그인한 전체 시청자 수 |
peakConcurrentViewers | Integer! | 최대 동시 시청자 수 |
newLoginViewers | Integer! | 고객사의 방송을 처음 시청한 시청자 수 |
averageViewingTime | Integer! | 평균 시청 시간(초, |
totalViewingTime | Integer! | 전체 시청 시간(초, 모든 시청자 합계) |
likes | Integer! | 전체 좋아요 수 |
likeViewers | Integer! | 좋아요 버튼을 클릭한 시청자 수 |
averageLikes | Double! |
|
chats | Integer! | 전체 채팅 수 |
chatViewers | Integer! | 채팅 메시지를 보낸 시청자 수 |
averageChats | Double! |
|
productClicks | Integer! | 상품 클릭 전체 횟수 |
productClickViewers | Integer! | 상품을 클릭한 시청자 전체 수 |
averageProductClicks | Double! |
|
bannerClicks | Integer! | 상품 배너 클릭 전체 횟수 (상품 배너는 상품 목록 상단에 표시되는 배너입니다) |
예시
{
"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
}이전 ← customerVideoId로 영상 삭제다음 → 기간별 방송 통계 조회
기간별 방송 통계 조회
특정 기간 내 방송의 통계를 조회합니다. 최대 기간은 1주일입니다.
헤더 파라미터
경로 파라미터
쿼리 파라미터
YYYY-MM-DD'T'HH:mm:ss'Z', 예: 2026-09-07T00:00:00Z) from과 to는 모두 필수이며 범위는 7일을 초과할 수 없습니다.YYYY-MM-DD'T'HH:mm:ss'Z', 예: 2026-09-07T00:00:00Z) from과 to는 모두 필수이며 범위는 7일을 초과할 수 없습니다.응답
results 의 각 항목은 Stats 객체입니다.
{
"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"
}이전 ← Stats 객체다음 → 방송 통계 단건 조회
방송 통계 단건 조회
방송 통계 단건 조회
헤더 파라미터
경로 파라미터
응답
응답 본문은 Stats 객체입니다.
{
"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."
}0이전 ← 기간별 방송 통계 조회다음 → 로그 파일 다운로드
로그 파일 다운로드
요청한 형식의 파일로 로그를 다운로드합니다.
헤더 파라미터
경로 파라미터
쿼리 파라미터
from과 to를 YYYY-MM-DD'T'HH:mm:ss'Z' 형식으로 지정하여 로그 검색 범위를 제한합니다 (예: 2026-05-20T09:00:00Z). from과 to 파라미터는 반드시 함께 지정해야 하며 날짜 범위는 7일을 초과할 수 없습니다. ck를 지정하지 않으면 필수입니다.from과 to를 YYYY-MM-DD'T'HH:mm:ss'Z' 형식으로 지정하여 로그 검색 범위를 제한합니다 (예: 2026-05-20T09:00:00Z). from과 to 파라미터는 반드시 함께 지정해야 하며 날짜 범위는 7일을 초과할 수 없습니다. ck를 지정하지 않으면 필수입니다.from과 to는 선택 사항이며, 조회 범위는 방송 시작 시각부터 4일 후까지로 자동 설정됩니다(방송이 시작된 상태여야 합니다). 7일 제한은 적용되지 않습니다.viewerAccessLog와 viewerActivityLog에서 관리자/운영자의 활동을 제외할지 여부입니다. 기본값은 true입니다. 채팅은 필터링하지 않습니다.true응답
응답 본문 없음
{
"_s": -510,
"_e": "Error message"
}이전 ← 방송 통계 단건 조회다음 → 헬스 체크 API
헬스 체크 API
Shoplive는 서비스에 대한 헬스 체크를 제공합니다.
플레이어 초기화 코드
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 }}");
}헬스 체크 함수 추가
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);이전 ← 로그 파일 다운로드다음 → 웹훅
웹훅
웹훅은 방송 시작·종료처럼 방송에서 이벤트가 발생했을 때 Shoplive가 POST 요청으로 고객사 서버에 보내는 콜백입니다. API를 자주 폴링하지 않고도 이벤트가 발생하는 즉시 데이터를 받을 수 있습니다.
웹훅 설정은 셀프서비스가 아니라 Shoplive가 등록해 드리므로, 담당 매니저 또는 ask@shoplive.cloud로 수신 URL을 전달하세요. 사용할 수 있는 이벤트는 다음과 같습니다.
방송 시작: 방송이 시작될 때 Campaign 객체를 전송합니다.
방송 종료: 방송이 종료될 때 Campaign 객체를 전송합니다.
경매 시작 · 종료 · 리셋: 방송에서 경매 상태가 바뀔 때 AuctionWebhook 객체를 전송합니다.
시작·종료 이벤트는 각각 다른 URL로, 경매 이벤트는 세 번째 URL로 전송됩니다. 받을 이벤트 종류는 설정할 수 있습니다. 리허설 방송은 등록 시 해당 옵션을 켠 경우에만 웹훅을 보냅니다.
전송
각 이벤트는 한 번만 전송됩니다. 약 1초 안에 200을 돌려주고 실제 처리는 비동기로 하세요. 방송 검색을 campaignStatus=ENDED 조건으로 주기적으로 함께 조회하고, 방송은 campaignKey 기준으로 멱등하게 처리하세요.
서명 검증
시작·종료 이벤트는 등록 시 웹훅 시크릿 키를 설정한 경우에만 서명됩니다. 요청에는 두 헤더가 함께 옵니다. X-SHOPLIVE-WEBHOOK-TIMESTAMP(Unix epoch 밀리초 문자열)와 X-SHOPLIVE-WEBHOOK-SIGNATURE(HMAC-SHA256의 소문자 hex)입니다. 서명 대상은 타임스탬프, ., 받은 그대로의 요청 본문 바이트(JSON 파싱 전)를 이어 붙인 값이고, 키는 시크릿 문자열의 UTF-8 바이트입니다. 서명은 상수 시간 비교로 확인하세요. 경매 이벤트에는 서명 헤더가 없습니다.
Node.js, Python, Java 코드 예제는 시작 가이드의 미션 11 · 웹훅으로 종료 감지를 참고하세요.
이전 ← 헬스 체크 API다음 → AuctionWebhook 객체
AuctionWebhook 객체
속성 이름 | 타입 | 설명 |
|---|---|---|
action | string | START_AUCTION, END_AUCTION, RESET_AUCTION |
campaignMeta | 방송의 메타 정보입니다. | |
campaignProduct | CampaignProduct 객체입니다. |
예시
{
"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
}
}
}이전 ← 웹훅