라이브 이벤트 참고 문서
이 페이지는 주요 플랫폼에서 Social Stream Ninja가 전송하는 표준 이벤트 페이로드를 문서화합니다. 새 소스를 연결하거나 통합 문제를 해결하거나 UI 라벨을 맞출 때 공통 기준으로 사용하세요. 소비자 중심의 더 간단한 표는 다음을 참조하세요: 이벤트 및 알림 호환성.
이 페이지에서
공통 필드 규칙, 플랫폼 구현 또는 끝부분의 호환성 참고 사항으로 이동하세요.
중요: 사용 가능한 이벤트는 소스, 권한, 캡처 설정에 따라 달라집니다. 도크 또는 강조 메시지 오버레이에서 이벤트로 표시된 행을 숨기려면 다음을 추가하세요: &hideevents 또는 &hideallevents. 선택한 이벤트를 숨기려면 다음을 사용하세요: &filterevents=subscription_gift,new_follower,gifted. 이 필터는 다음을 가진 유료 행도 숨길 수 있습니다: event; 이벤트 표식이 없는 일반 후원 행은 이벤트 필터와 일치하지 않습니다. 다른 메시지 필터는 계속 적용됩니다.
캡처 방식 선택: YouTube, Twitch, Kick의 경우, WebSocket 모드 는 일반적으로 더 폭넓은 이벤트를 지원합니다. 표준 DOM 캡처는 페이지에 실제로 렌더링된 행과 카드를 읽습니다. YouTube Super Chat, Super Sticker, Jewel 선물은 두 모드 모두 캡처 경로가 있습니다. 다른 선물, 팁, 멤버십 이벤트는 소스마다 다릅니다. 지원 경로와 필수 설정은 플랫폼 표를 참조하세요.
자동화를 만들고 있나요? 다음을 확인하세요:
Event Flow 가이드 에서 이 이벤트 페이로드를 사용자 지정 트리거, 알림, 작업 흐름에 사용하는 방법을 알아보세요. 가이드에는 다음이 포함되어 있습니다:
템플릿 변수 참고 문서 를 텍스트 서식에 사용합니다.
페이로드 구조: 후원형 채팅 행은 다음을 사용해야 합니다: hasDonation 및 선택적 donoValue. 다음은 설정하지 마세요: event: "donation" 를 일반 채팅/팁 행에 값이 있다는 이유만으로 설정하지 마세요. 구체적인 이벤트 이름은 실제 플랫폼 동작이나 유료 항목 유형에만 사용하세요. 예: superchat, supersticker, gift, 또는 jeweldonation. 사용: meta 는 소비자가 실제로 필요로 하며 기존 필드로 담을 수 없는 추가 구조화 데이터에만 사용하세요.
기능 지원 빠른 확인
이 표에서 각 캡처 방식이 현재 제공하는 알림 유형을 확인하세요. 상세 페이로드 참고 사항은 아래에 있습니다.
전용 Multi-Stream Alert Box는 실시간 이벤트를 여섯 가지 주요 알림 카테고리로 묶습니다: Follow, Subscription/Member, Donation, Bits/Cheers, Raid/Host, 그리고 Purchase, 선택적으로 활성화하는 두 카테고리(Auction 그리고 Hype Train)를 URL 매개변수로 활성화합니다. 이 카테고리는 기존의 다음에서 파생됩니다: event, membership, subtitle, hasDonation, 그리고 meta 필드는 여기에 문서화되어 있으며 별도 페이로드 형식은 필요하지 않습니다.
| 소스 |
새 구독자 / 회원 |
새 팔로워 |
후원 |
집계 및 추가 기능 |
| YouTube(Data API 브리지) |
멤버십 가입, 갱신, 선물 |
개별 구독자 알림* + 합계 |
Super Chat 및 Super Sticker |
시청자, 구독자, 조회 수 합계(폴링) |
| Twitch – DOM 캡처 |
선물 묶음 문구 및 선물 수신 알림 |
- |
다음으로 표시된 비트: hasDonation |
시청자 수, 보상 카드, 커뮤니티 강조 카드 |
| Twitch – EventSub/WebSocket |
즉시 구독, 재구독, 선물 |
즉시 팔로우 + 팔로워 합계 |
응원, Power-up, 채널 포인트 보상 사용 |
시청자/구독자/팔로워 합계, 방송 상태, 광고 알림 |
| TikTok Live |
- |
팔로우 카드(TikTok이 표시하는 경우) |
코인 합계로 환산한 선물 |
시청자 수, 입장 알림, 좋아요 폭풍 |
| YouNow |
- |
팬 및 시청자 활동 |
- |
실시간 시청자 패널의 시청자 수 |
| Favorited Studio |
- |
- |
- |
실시간 시청자 탭의 시청자 수 |
| Whatnot |
- |
- |
- |
시청자 수, 입장 알림, 실시간 경매 메타데이터, 상품, 경품 추첨 스냅샷 |
| eBay Live |
- |
- |
- |
시청자 수, 팔로워 수, 라이브 이벤트 카드 스냅샷, 경매 하단 메타데이터(제공되는 경우), 반응 하트, 예정된 이벤트 메타데이터 |
| Streamlabs Alert Box |
구독, 선물, 스폰서, 팔로우 |
응원/비트, 후원(통화 포함) |
응원/비트, 후원(hasDonation) |
알림 상자가 열려 있는 동안. 다음으로도 사용 가능: sources/websocket/streamlabs.html 소켓 토큰 |
| OBS Flow Actions |
- |
- |
- |
다음 조건에서 Event Flow용 OBS 출력, 장면, 리플레이 버퍼, 미디어 종료 이벤트: actions.html 가 OBS WebSocket에 연결되어 있습니다: |
| Kick – DOM |
- |
- |
- |
시청자 수와 기본 보상/선물 시스템 알림. 더 풍부한 알림에는 Kick 브리지를 사용하세요 |
| Kick – WebSocket/브리지 |
새 구독, 갱신, 선물 |
팔로우 알림 + 팔로워 합계 |
후원/팁 이벤트(금액 + 통화) |
방송 상태, 보상 사용, 프로필 메타데이터 |
| Facebook Live |
- |
- |
DOM에 표시되는 Stars |
채팅 행, Stars, 시청자 수 폴링 |
| Rumble – DOM 캡처 |
- |
- |
표시된 Rant 가격 |
채팅, 들어오는 레이드, 시청자 수 폴링 |
| Rumble – WebSocket/API URL |
새 구독 및 구독 선물 |
팔로우 알림 + 팔로워 합계 |
Rant/팁(금액 + 통화) |
시청자 합계, 구독자 합계, 라이브 상태, 채팅 피드 |
| Streamplace |
- |
- |
- |
시청자 수 및 채팅 이름, 색상, 배지, 답장, 링크 |
| WorldsWave |
- |
- |
있는 경우 후원 라벨 |
렌더링된 실시간 채팅 및 선택적으로 활성화하는 시청자 수 업데이트 |
| CHZZK |
- |
- |
표시된 치즈 후원 행 |
채팅 행, 배지 이미지, 이모티콘, 시청자 수 폴링 |
| BEAM |
- |
- |
- |
채팅 전용 페이지에 시청자 카운터가 있으면 채팅 행과 시청자 수 폴링 |
| Seal Team Sloth |
- |
- |
- |
렌더링된 팝아웃 채팅 행 및 viewer_update 시청자 수가 활성화된 경우 폴링합니다 |
| Castyr |
- |
- |
- |
렌더링된 팝아웃 채팅 행 및 선택적으로 활성화하는 시청자 수 업데이트 |
| RPLAY |
- |
- |
- |
로그인된 /live/chat/box/ 팝아웃: type: "rplay" 채팅, 아바타, 등급 배지 이미지, 이모티콘을 제공합니다. 코인 팁은 금액/단위를 다음에 유지합니다: hasDonation 를 공통 USD 환산에 사용하며 후원 이벤트는 없습니다. 선택적으로 활성화하는 viewer_update 폴링은 정수형 다음을 사용합니다: meta 를 RPLAY 공개 스트림 엔드포인트에서 가져옵니다. 릴레이된 Twitch 행은 제외됩니다. |
| FLEX TV |
- |
- |
- |
이름, 작성자 색상, 배지 이미지, 회원 메타데이터가 포함된 렌더링된 채팅 행 |
*YouTube 구독자 알림은 폴링되며 지연되거나 불완전할 수 있습니다. API 참고 문서는 고정된 4시간 내 전달을 보장하지 않습니다. 참고: 공식 구독 API 제한.
필드 개요
data 는 여기서 메시지 객체를 뜻하며 추가할 별도 래퍼가 아닙니다. 채팅 행과 메타데이터 전용 이벤트는 구조가 다릅니다. 카운터 및 상태 스냅샷은 다음을 생략할 수 있습니다: chatname/chatmessage. 플랫폼 표에서, 메시지 는 일반 채팅 행을 설명하며 문자 그대로의 다음이 아닙니다: event: "message".
| 필드 |
구조 |
사용법 |
data.type |
문자열 |
오버레이, 필터, Event Flow가 사용하는 소스 식별자. Instagram은 실시간 채팅을 다음으로 유지합니다: instagramlive 및 라이브가 아닌 댓글을 다음으로 유지합니다: instagram. 참고: 소스 유형 가이드 에서 변형, 일반 소스, 발신 라우팅을 확인하세요. |
data.chatname |
문자열 |
메시지 처리 및 오버레이 이외의 출력에서 사용하는 소스 제공 표시 이름입니다. 설정한 사용자 표시 이름 별칭은 복사된 도크 및 오버레이 전송 페이로드에서만 이 값을 바꿀 수 있습니다. |
data.username |
문자열 |
사용 가능한 경우 소스 사용자 이름입니다. 별칭이 적용된 도크 또는 오버레이 페이로드는 원래 값을 보존하기 위해 이 필드를 추가할 수 있습니다: chatname 를 사용자 동작에 사용하며 표준 메시지는 바뀌지 않습니다. |
data.userid |
문자열 |
플랫폼별 사용자 식별자. 사용자 동작은 다음보다 이 값을 우선합니다: username 그리고 chatname. |
data.platform | 문자열(선택 사항) | 일부 통합은 다음과 함께 이를 포함합니다: type. 여러 소스 어댑터는 이를 생략합니다. 사용: type 를 소스 라우팅에 사용합니다. |
data.id | 문자열 | 숫자(선택 사항) | 메시지 또는 이벤트 식별자. 의미는 소스와 전송 방식에 따라 달라지므로 항상 플랫폼 고유 관리 ID라고 가정하지 마세요. 사용: meta.messageId 는 어댑터가 삭제 동기화용으로 제공하는 경우. |
data.donoValue | 숫자(선택 사항) | 소스가 제공하는 숫자형 USD 환산값으로 추정값도 포함합니다. 유효한 값(0 포함)은 currency.js 변환보다 우선합니다. 없으면 소비자는 hasDonation과 소스 맥락으로 USD를 추정합니다. 원래 금액과 단위는 hasDonation과 기존 제공자 메타데이터에 유지합니다. |
data.chatbadges | 배열 | 문자열(선택 사항) | 배지 이미지 URL 또는 배지 객체(type: "img" 포함: src, type: "svg" 포함: html, 또는 type: "text" 포함: text). 릴레이는 텍스트 배지의 원래 라벨을 선택적 필드에 유지합니다: rawText 및 이스케이프된 다음을 생성합니다: text 를 이전 오버레이용으로 제공합니다. 이후 릴레이 과정에서는 다음을 다시 생성하세요: text 출처: rawText; 다음은 이스케이프하지 마세요: text 를 다시 처리하지 마세요. 현재 렌더러는 다음을 표시합니다: rawText 가 있으면 문자 그대로 표시하고, 없으면 기존 인코딩 텍스트 처리를 유지하세요. 이는 표현 방식 필드이며 HTML 렌더링 권한이 아닙니다. 이전 소스는 배열 대신 단일 HTML 문자열을 보낼 수 있습니다. 배지를 표시하는 오버레이는 두 형식을 모두 받고, 발신자가 이전 확장 프로그램이어도 배지 HTML과 URL을 로컬에서 안전하게 정리합니다. 유효하지 않은 배지가 채팅 또는 멤버십 메시지 표시를 막아서는 안 됩니다. |
data.event |
문자열 | 불리언 |
시스템 활동의 식별자(예: viewer_update, subscription_gift, giftpurchase). 일반 채팅에서는 비워 두거나 false로 유지해야 오버레이가 시스템 알림과 대화 텍스트를 구분할 수 있습니다. |
data.chatmessage |
문자열 |
메시지 본문. 안전하게 정리된/렌더링 가능한 HTML은 다음일 때만 포함할 수 있습니다: data.textonly 가 false인 경우. |
data.textonly |
불리언 |
다음에만 적용됩니다: data.chatmessage. true 는 다음을 렌더링하라는 뜻입니다: chatmessage 를 일반 텍스트로 취급하고 문자 그대로의 태그와 엔터티처럼 보이는 텍스트를 보존하세요. 해당 본문을 디코딩하거나 HTML 정리하거나 서식 태그를 추가하지 마세요. 이벤트 스타일은 표시 요소에 적용하세요. false 의 의미: chatmessage 에는 안전하게 정리된/렌더링 가능한 HTML이 들어갈 수 있습니다. 플래그가 없는 이전 메시지는 그 HTML 동작을 유지합니다. 다른 일반 필드는 일반 텍스트이며 다음 같은 미디어 필드는 예외입니다: chatimg 그리고 contentimg. 일반 필드를 표시할 때는 다음을 사용하세요: textContent, 또는 HTML 템플릿을 구성할 때 한 번 이스케이프하세요. 내용을 제거하거나 반복해서 디코딩하지 마세요. |
data.contentimg |
문자열(선택 사항) |
콘텐츠 이미지 또는 지원되는 미디어 URL. 확장 프로그램과 데스크톱 앱에서는 선택적으로 활성화하는 allowExternalGifs 설정은 메시지 텍스트 또는 HTML 링크의 첫 번째 직접 HTTP(S) GIF 링크로 빈 필드를 채웁니다. URL 경로는 다음으로 끝나야 합니다: .gif (대소문자 구분 없음); 쿼리 매개변수와 프래그먼트는 유지됩니다. API 키가 필요하지 않으며 다음을 보존합니다: chatmessage 및 기존 첨부 파일을 유지하며 다음을 따릅니다: removeContentImage. 선택적 hideExternalGifUrl 설정은 다음을 추가합니다: meta.hideExternalGifUrl: true; 도크와 강조 메시지 오버레이는 이미지가 로드된 뒤에만 해당 GIF 링크를 숨기며 주변 텍스트와 원래 페이로드는 유지합니다. 이미지 로드가 실패하거나 시간이 초과되면 첨부 컨테이너를 접고 링크를 계속 표시합니다. GIF 전용 오버레이는 이미지 바이트를 가져오지 못하면 직접 이미지 표시를 시도하며, 애니메이션 타이밍을 알 수 없으면 설정된 표시 시간을 사용합니다. 로드가 실패하거나 멈추면 대기열의 다음으로 넘어갑니다. 다음을 추가하지는 않습니다: event 또는 소스의 다음을 변경하세요: type. 외부 이미지는 콘텐츠 필터링되지 않으며 호스트가 임베딩을 차단하면 로드되지 않을 수 있습니다. |
data.membership |
문자열 |
다음과 같은 읽기 쉬운 멤버십 상태: MEMBERSHIP, new_sponsor, gift_recipient. 각 화면은 배지, 필터, 공지에 이를 사용합니다. |
data.subtitle |
문자열 |
보충 설명(멤버십 기간, 등급 업그레이드, 선물한 사람 등). 오버레이가 표시 이름 아래에 넣을 수 있도록 짧은 일반 텍스트로 유지하세요. |
data.hasDonation |
문자열 |
금전 또는 가상 선물 금액($5.00, 500 bits, 300 coins). 다음 경우에도 채우세요: data.event 는 후원 오버레이가 감지할 수 있도록 비어 있습니다. |
data.meta |
숫자 | 객체 | 문자열(레거시) |
단일 카운터(시청자, 팔로워, 구독자)에는 일반 정수를, 더 풍부한 맥락에는 객체를 사용하세요. Twitch DOM의 다음과 같은 일부 이전 이벤트는: community_highlight, 문자열을 담습니다. 객체 속성을 읽기 전에 이벤트별 구조를 확인하세요. 새 구조화 정보는 객체 안에 넣어야 합니다. |
data.firsttime |
불리언 |
설정값: true 는 첫 채팅 참여자 감지와 로컬 데이터베이스가 활성화되어 있고 해당 사용자/소스의 첫 저장된 채팅 메시지일 때 설정됩니다. 도크는 이를 첫 참여 강조 표시와 첫 참여 알림음 필터에 사용합니다. 선택적 첫 참여 배지 설정은 다음 앞에 잎사귀 배지를 붙입니다: chatbadges. |
data.lastactivity |
숫자 |
첫 채팅 참여자 감지와 로컬 데이터베이스가 활성화된 경우 해당 사용자의 이전 저장된 채팅 활동 시각을 나타내는 초 단위 Unix 타임스탬프입니다. 처음 보는 사용자에게는 생략합니다. |
SOOP - 플레이어 DOM 캡처
구현: sources/sooplive.js. 통합된 다음을 지원합니다: play.sooplive.com 플레이어 및 기존 play.sooplive.co.kr URL을 지원합니다. 이전 전체 채팅 레이아웃도 제공되는 경우 계속 인식합니다.
공개 채팅은 다음을 전송합니다: type/platform: "sooplive", 일반 텍스트 chatname/userid, nameColor, 안전하게 정리된 chatmessage. 기존 행, 중복 메시지 ID, 번역 사본, 비공개 귓속말은 제외됩니다. 이모티콘은 안전한 이미지로 변환되며 텍스트 전용 모드에서는 대체 텍스트가 됩니다.
다음을 사용하면: showviewercount 또는 hypemode 활성화, viewer_update 는 정수형 값을 담습니다: meta 를 플레이어의 다음에서 가져옵니다: #nAllViewer. 채팅 전용 팝아웃에서는 이 수가 제공되지 않을 수 있습니다. 현재 SOOP 팝아웃은 이를 연 창에 의존하므로 SSApp은 분리된 팝업을 열 때 전체 플레이어를 사용합니다.
Gosh - 채널 채팅 캡처
구현: sources/gosh.js. 열기: https://gosh.com/USERNAME 를 채팅이 보이도록 열거나 SSApp의 Add other source에 해당 URL을 붙여넣으세요. 채팅 팝아웃은 필요하지 않습니다.
새 채팅 행은 다음을 전송합니다: type/platform: "gosh", 일반 텍스트 chatname, nameColor, 안전하게 정리된 chatmessage. 인라인 이미지와 GIF는 안전한 HTTP(S) URL을 유지합니다. 다음 설정에서는: textonlymode, 이미지는 대체 텍스트 또는 다음으로 바뀝니다: [image] 는 대체 텍스트가 없는 경우입니다. 캡처된 행에 아바타, 배지, 후원, 멤버십이 없으면 해당 필드는 비어 있습니다.
가상화된 채팅을 최신 메시지 위치로 스크롤해 두세요. 기존 기록, 다시 렌더링된 행, 작성자가 없는 시스템 알림은 제외됩니다. 렌더링 인덱스는 내부에만 유지하며 플랫폼 고유 메시지 ID로 전송하지 않습니다. 팔로우, 후원, 시청자 수, 채팅 관리 이벤트는 추론하지 않습니다.
Livacha - 채팅방 캡처
구현: sources/livacha.js. 열기: https://livacha.com/chat/ROOM 를 채팅이 보이도록 열거나 SSApp의 Add other source에 방 URL을 붙여넣으세요.
새 채팅 행은 다음을 전송합니다: type/platform: "livacha", 일반 텍스트 chatname, chatimg, nameColor, 안전하게 정리된 chatmessage. 상대 아바타 및 인라인 이미지 URL은 절대 HTTP(S) URL로 바뀝니다. 문단, 줄바꿈, 목록은 하나의 채팅 메시지로 평탄화됩니다. 다음 설정에서는: textonlymode, 이미지는 대체 텍스트 또는 다음으로 바뀝니다: [image].
수정되거나 다시 마운트된 행을 재캡처하지 않도록 메시지 ID를 내부적으로 사용합니다. 초기 기록과 앞에 추가된 이전 메시지는 건너뛰며 타임스탬프와 반응 메뉴는 캡처 본문에 포함되지 않습니다. 후원, 멤버십, 채팅 관리, 시청자 수 이벤트는 추론하지 않습니다.
Stream.space - 실험적 DOM 캡처
구현: sources/streamspace.js. 다음만 일치합니다: https://beta.stream.space/chat-popup.php?channel=USERNAME 및 이에 해당하는 https://stream.space 팝업.
새로 렌더링된 채팅 행은 다음을 전송합니다: type: "streamspace", platform: "streamspace", 일반 텍스트 chatname/userid, chatmessage, 아바타 chatimg, 이미지 기반 레벨 chatbadges, 그리고 nameColor. 인라인 이모티콘은 안전한 이미지로 다시 구성되며 다음의 경우 대체 텍스트를 사용합니다: textonlymode 가 활성화된 경우입니다. 기존 기록, 환영 알림, 답장 미리보기, 고정 중복은 제외됩니다.
viewer_update 는 정수형 값을 담습니다: meta 다음에서 읽음: #popupViewersNum 조건: showviewercount 또는 hypemode 가 활성화된 경우입니다. 후원, 멤버십, 채팅 관리 이벤트는 추론하지 않습니다.
실험적 기능: 점검 중 베타 팝업은 로딩 상태에 머물렀습니다. SSApp은 팝업을 로드하고 시청자 업데이트를 캡처했지만 실시간 채팅 전달과 프로덕션 팝업은 아직 검증되지 않았습니다. 사이트가 렌더링하지 않는 메시지는 SSN이 캡처할 수 없습니다.
w.tv 및 Prime - DOM 캡처
구현: sources/wtv.js 위치: https://w.tv/USERNAME/chat 그리고 sources/prime.js 위치: https://prime.gs/USERNAME?chat_popout=1.
새 채팅 행은 다음을 사용합니다: type/platform 의 wtv 또는 prime, 일반 텍스트 chatname, nameColor, 안전하게 정리된 chatmessage. 인라인 이모티콘은 안전한 이미지로 변환되며 텍스트 전용 모드에서는 대체 텍스트가 됩니다. Prime에는 해당 행의 다음도 포함됩니다: userid 를 사용하고 로그인된 프로필 링크와 로그아웃 상태의 사용자 이름 라벨을 모두 지원합니다. 검증된 행 구조에서 사용할 수 없는 아바타와 배지는 비워 둡니다.
초기 기록, 고정 카드, 답장 미리보기는 제외됩니다. w.tv는 채팅을 가상화하므로 캡처하려면 최신 메시지 위치로 스크롤을 유지하세요. DOM 테스트 ID는 플랫폼 고유 메시지 ID가 아니라 렌더링 인덱스입니다. Prime은 초기 메시지 위에 로드된 이전 기록과 무시한 사용자의 자리표시자를 건너뜁니다.
두 팝업 모두 검증된 방송 시청자 수를 제공하지 않으므로 이 어댑터들은 시청자 업데이트를 전송하거나 후원, 구독, 채팅 관리 이벤트를 추론하지 않습니다.
지원 범위 및 호환성 제한
이 문서는 구현된 페이로드를 설명하며 모든 플랫폼이 모든 이벤트를 전달한다는 보장은 아닙니다. 비어 있는 hasDonation 가 소스에 지정되어 있어도 후원 지원을 입증하지는 않습니다. DOM 표시 여부, 계정 권한, 캡처 스위치, API 사용 가능 여부가 실제 수신 내용을 결정합니다. 삭제 전달은 소스마다 다르므로 모든 소스에서 채팅 관리 동기화를 지원한다고 가정하지 마세요.
추적 중인 불일치 및 누락
| 쌍/영역 |
확인된 불일치 / 누락 |
영향 |
| Twitch: 표준 방식과 WebSocket 비교 |
공통: reward, subscription_gift, viewer_update, hype_train, 선택적으로 활성화하는 watch_streak. Standard 전용: giftpurchase, knock, community_highlight. WebSocket 전용: new_subscriber, resub, cheer, powerup, raid, new_follower, follower_update, subscriber_update. |
channel_points 는 이제 Twitch 보상 사용의 폐기 예정 이전 별칭입니다. 새 통합은 다음을 기준으로 해야 합니다: reward. |
| Kick: 표준 방식과 WebSocket 비교 |
표준 방식은 가벼운 표식을 전송합니다(gift, reward, 불리언 true, viewer_update). WebSocket은 공식 팔로우, 구독, 선물, 보상 사용, KICKs, 채팅 관리, 라이브 상태 이벤트를 추가합니다. 기존의 다음에 대한 호환 처리를 유지합니다: raid 페이로드로 매핑하지만 Kick은 현재 공식 레이드/호스트 구독을 제공하지 않습니다. |
WebSocket 모드가 더 풍부합니다. 표준 전용 이벤트 이름을 사용하는 자동화는 전환 시 검토해야 합니다. Kick 레이드 이벤트를 필수로 요구하지 마세요. |
| YouTube: 표준 방식과 WebSocket 비교 |
공통: superchat, supersticker, jeweldonation, sponsorship, resub, giftpurchase, giftredemption, viewer_update. Standard 전용: thankyou, redirect. WebSocket 전용: membermilestone, new_follower, subscriber_update, view_update, likes_update (선택적 활성화). |
주요 회원/이벤트 이름은 두 방식에서 일치합니다. Super Chat, Super Sticker, Jewels는 다음을 사용합니다: hasDonation, 반면 멤버십 선물 구매/사용은 그렇지 않습니다. |
| 모든 화면 |
여러 소스가 다음을 채웁니다: hasDonation 다음을 설정하지 않고: data.event. |
이는 올바른 동작입니다. 후원 렌더링은 다음을 기준으로 해야 합니다: hasDonation, 포함: data.event 는 시스템/이벤트 의미용으로 예약됩니다. |
소스별 별칭 및 이전 이름
이 매핑은 전역 대체가 아니라 나열된 소스/맥락에 한정됩니다. 별칭 지원은 소비자 페이지마다 다릅니다. 현재 TikTok DOM 및 TikFinity 소스는 여전히 다음을 전송합니다: followed; Velora는 다음을 사용합니다: subscription 그리고 channel_points, Streamlabs는 다음을 사용합니다: subscription. 일치하는 모든 이벤트 이름을 바꾸기보다 현재 소스 계약과 관련 레거시 별칭을 수용하세요.
| 별칭 / 이전 이름 |
표준 대체 이름 |
맥락 |
subscription | new_subscriber | Twitch/Kick 새 구독 |
subgift | subscription_gift | Twitch 구독 선물 |
membership | sponsorship | YouTube 새 회원(일반) |
new_member | sponsorship | YouTube 새 회원 |
new_membership | sponsorship | YouTube 새 회원 |
newmember | sponsorship | YouTube 새 회원 |
new-membership | sponsorship | YouTube DOM 스크래퍼(하이픈 변형) |
upgraded_membership | resub | YouTube 등급 업그레이드 |
upgraded-membership | resub | YouTube DOM 스크래퍼(하이픈 변형) |
membership_upgrade | resub | YouTube 등급 업그레이드 |
membership_milestone | membermilestone | YouTube 마일스톤 채팅 |
member_milestone | membermilestone | YouTube 마일스톤 채팅(밑줄 변형) |
gift_membership | giftpurchase | YouTube 선물 묶음 |
membership_gift | giftpurchase | YouTube 선물 묶음 |
giftmemberships | giftpurchase | YouTube 선물 묶음(복수형 변형) |
gifted_membership | giftredemption | YouTube 선물 수신 |
gifted_memberships | giftpurchase | YouTube 선물 묶음(복수형 변형) |
community_gift | giftpurchase | 커뮤니티 선물 묶음 |
channel_points | reward | Twitch WebSocket 보상 사용(이전 별칭) |
followed | new_follower | 현재 TikTok DOM/TikFinity 출력입니다. TikTok 캡처 모드를 결합할 때 두 이름을 모두 수용하세요. |
이 참고 문서 사용하기
- 새 이벤트를 추가할 때는 기존 용어를 재사용하세요(
subscription_gift, viewer_update, 등)을 가능하면 사용하세요. 차이가 불가피하면 이유와 함께 여기에 문서화하세요.
- 유지:
data.meta 를 예측 가능하게 유지하세요. 평면 키를 선호하고 문자열에 혼합 데이터를 넣지 않으며 항상 단위를 포함하세요(currency, bits, duration).
- 페이로드를 변경할 때 이 페이지도 업데이트하세요. 에이전트 지침은 공통 개발 규칙이 바뀔 때만 업데이트하세요.
- 페이로드 변경은 이를 보내는 소스와 받는 오버레이 또는 Event Flow 트리거 양쪽에서 검증하세요.
- 캡처는 소스 지원과 설정에 따라 달라집니다. 도크 또는 강조 메시지 오버레이에서 이벤트로 표시된 행을 숨기려면 다음을 추가하세요:
&hideevents 또는 &hideallevents. 선택한 이벤트를 숨기려면 다음을 사용하세요: &filterevents=subscription_gift,new_follower,gifted.
- YouTube, Twitch, Kick에서는 다음을 활성화하세요: WebSocket 모드 를 사용하면 플랫폼별 이벤트를 가장 폭넓게 지원합니다. YouTube 선물/후원 캡처(선물과 Super Chat 포함)는 표준 및 WebSocket 모드 모두에서 제공하며 WebSocket은 추가 이벤트 유형을 지원합니다. 정확한 지원 범위는 플랫폼, 계정 역할, 부여된 범위에 따라 다릅니다.
맨 위로
수익화 오버레이
NinjaBacker 팁은 다음을 사용합니다: platform: "ninjabacker", type: "ninjabacker", chatname, 일반 텍스트 chatmessage, textonly: true, 소스 접두사가 있는 id, 형식이 지정된 hasDonation, 숫자형 donoValue. 다음이 없는 일반 후원형 행입니다: event 재정의. meta.ninjabacker 에는 ISO 형식의 다음이 들어 있습니다: currency 및 기본 통화 단위의 amount. 익명 팁은 표시 이름 Anonymous를 사용합니다. 소스는 실시간 SSE(재생 없음) 또는 선택적으로 활성화하는 SSN API의 서명된 웹훅 수신기(최대 7일 전달 대기열)를 사용합니다. 신뢰성 있는 전달에는 안정적인 다음을 사용합니다: ninjabacker:delivery:DELIVERY_ID ID. 어느 모드도 환불/분쟁 취소를 받지 않습니다. 수신기 자격 증명과 서명 비밀 키는 이벤트 페이로드에 들어가지 않습니다. 호출자가 정한 callbackId 값은 결제 식별자가 아니며 전달하지 않습니다. 대시보드 테스트 팁은 후원 행에서 제외되며 다음을 전송합니다: event: "monetization_test" 포함: meta.ninjabackerTest 에 id와 at(Unix 밀리초)을 담으며 전용 미리보기 알림에만 사용합니다.
event: "monetization_update" 는 다음에서 온 메타 전용 스냅샷입니다: type/platform: "socialstream". meta.monetization.wishlist 에는 enabled, qr, position, rank, total, 공개 url 및 현재 item(name, amount, currency, image, 공개 url) 또는 null이 들어 있습니다. meta.monetization.ninja 에는 enabled, qr, position, username 및 공개 팁 url이 들어 있습니다. 비공개 Tip ID는 포함하지 않습니다. meta.monetization.ebay 에는 enabled, qr, position, display(cycle/cheapest/first), seconds, 선택적으로 활성화한 공지 설정, 공개 items가 들어 있습니다. 각 항목에는 id, name, amount, currency, image, url, auction, startingBid, endsAt, available, bought, updatedAt이 있습니다. 시간은 Unix 밀리초입니다. 판매자 자격 증명이나 구매자 식별 정보는 포함하지 않습니다.
진행자가 확인한 위시리스트 구매에는 다음도 포함됩니다: meta.wishlistPurchase 에 id, name, 선택적 supporter, at(Unix 밀리초)을 포함합니다. 이는 진행자의 확인이며 Amazon 결제 알림이 아니고 금전 후원으로 계산되지 않습니다. 오버레이는 id로 중복을 제거하고 오래된 구매 알림을 무시해야 합니다.
Shopify 결제 완료 주문
선택적 서명 검증 Shopify 수신기는 다음을 전송합니다: platform/type: "shopify" 그리고 event: "purchase" 다음에만: orders/paid 포함: financial_status: "paid", 양수 총액, test: false, 취소되지 않은 상태, 서명된 본문의 현재 업데이트 타임스탬프가 필요합니다. 테스트, 미결제, 오래된 알림, 취소, 환불 알림은 구매 동작을 발생시키지 않습니다. 선물 의도는 추론하지 않습니다.
chatname 는 Anonymous입니다. 고객 필드, 비공개 메모, 주문 URL은 제외됩니다. chatmessage 는 일반 텍스트이며 다음을 포함합니다: textonly: true; subtitle 에는 공개 상품 제목을 최대 세 개 담습니다. meta.commerce 포함: orderTotal 그리고 currency 를 상점 통화로 사용하며 추가로 quantity 는 완전한 유효 개수를 알고 있는 경우입니다. 수신자와 실물/디지털 용도는 설정하지 않습니다. 다음 없음: hasDonation 또는 donoValue 가 설정됩니다. id 는 Shopify 접두사가 붙은 스토어/주문 범위의 안정적인 불투명 해시이며 원본 주문 식별자가 아닙니다.
구매는 기존 활동, Multi-Alerts Purchase 카테고리, Event Flow 경로를 사용합니다. 상품 홍보는 기존의 다음을 사용합니다: meta.monetization.commerce 카탈로그를 사용합니다. 상품을 가져오거나 홍보 라벨을 Gift로 설정해도 구매 또는 선물 이벤트는 생성되지 않습니다. Shopify 설정 및 전달 제한.
선물 및 커머스
사용: event: "gift" 는 선물에, giftcontribution 는 선물을 위한 유료 기여에, giftfunded 는 모금 완료에, 그리고 purchase 는 상품 판매에 사용합니다. 이 이름은 제공자 및 실물/디지털 상품 여부와 무관합니다. 기존의 다음은 별도 용도로 남겨 두세요: giftpurchase 이벤트는 멤버십 선물용입니다. Throne은 이전에 그 이름을 잘못 사용했으며 이제 다음을 전송합니다: gift. 기존 멤버십 생성자는 바뀌지 않습니다. 사용자 지정 Throne 이벤트 이름 필터는 다음으로 전환해야 합니다: gift; 후원 필터는 변경할 필요가 없습니다.
hasDonation 는 유료 후원의 호환성 신호로 유지되며 다음을 포함합니다: donoValue 에 제공되거나 추정된 USD 값을 담습니다. 선물과 기여는 이 필드를 유지합니다. 모금 완료는 기여를 이중 계산하지 않도록 둘 다 생략합니다. 일반 상품 판매는 eBay 계약을 유지하며 기본적으로 둘 다 생략합니다. 스토어, 위시리스트 URL 또는 실물 상품에서 선물 의도를 추론하지 마세요. 소스가 크리에이터 선물임을 명시하지 않는 한 구매자 또는 다른 수신자를 위한 구매는 판매로 유지됩니다.
선택적 공유 meta.commerce 필드: recipient (creator, buyer, other), itemType (physical, digital, service), quantity (양수 상품 수량), currency (ISO 통화), goalAmount (기본 통화 단위의 모금 목표이며 새 수입이 아님), 그리고 orderTotal (알려진 기본 통화 단위의 결제 완료 주문 총액; 후원 수입이 아닌 커머스). 알 수 없는 정보는 생략하세요. 상품 이름은 다음에 유지하세요: subtitle, 이미지는 다음에: contentimg, 후원 참여자 텍스트는 다음에: chatmessage. 기존 제공자 메타데이터도 계속 사용할 수 있습니다. Throne은 수신자와 통화, 완료 시 goalAmount를 제공하며 eBay는 수량을 제공합니다. 두 제공자 모두 상품 유형을 추측하거나 비공개 수신자 정보를 노출하지 않습니다.
활동 피드는 후원 참여자 텍스트가 없어도 이 이벤트들을 표시합니다. Multi-Alerts는 선물과 기여에 후원 표시 방식을 사용하며 금전적 값이 없는 별도 Gift Fully Funded 알림도 포함합니다. 구매에는 기본적으로 활성화된 별도 Purchase 카테고리가 있으며 다음을 포함합니다: purchasestyle, purchasesound, purchaseaccent, 그리고 disablepurchases URL 제어를 사용합니다. 구매 알림은 후원 총액을 변경하지 않습니다.
Event Flow는 Event Type 및 Other Event 트리거에서 이 이벤트 이름들을 제공합니다. Donation 트리거는 여전히 다음을 검사합니다: hasDonation; Gift Sub 트리거는 멤버십 의미를 유지합니다. Compare Property는 다음 같은 중첩 경로를 받습니다: meta.commerce.recipient. 동작 템플릿은 다음을 받습니다: {meta.commerce.quantity} 그리고 {meta.commerce.currency}, 기존의 다음과 함께: {donation}, {subtitle}, 그리고 {meta}. 중첩 경로는 대소문자를 구분하며 누락된 값은 빈 내용으로 표시됩니다. 프로토타입 탐색은 금지됩니다.
크리에이터 커머스 웹훅 및 홍보 오버레이
Ko-fi 공개 Donation 결제는 다음을 유지합니다: hasDonation 및 증가한 USD donoValue. 구독 결제는 다음을 사용합니다: new_subscriber 또는 resub, 등급은 다음에: membership. Shop Order 및 Commission은 다음을 사용합니다: purchase 를 후원 값 없이 전송합니다. 비공개 Ko-fi 이벤트는 계속 제외됩니다. 폼 인코딩 JSON은 한 번 디코딩하며 이름과 메시지는 일반 텍스트입니다.
Buy Me a Coffee donation.created 는 금전 후원을 유지합니다; extra_purchase.created 그리고 commission_order.created 로 변환됩니다: purchase. wishlist_payment.created 로 바뀝니다: giftcontribution 에 해당 결제 금액만 사용합니다; meta.commerce.completed 는 금액이 있는 행을 다시 전송하지 않고 제공자의 완료 플래그를 기록합니다. membership.started 로 바뀝니다: new_subscriber 및 다음의 등급: membership, 다음을 더 이상 잘못 사용하지 않습니다: hasDonation 에는 등급 이름을 사용합니다. 구독 시작 금액을 독립적인 유료 결제로 취급하지 않습니다. 테스트, 환불, 실패, 지원되지 않는 업데이트/수명 주기 이벤트는 유료 알림을 만들지 않습니다. 숨긴 후원자 메모는 생략합니다.
Fourthwall은 ORDER_PLACED를 지원합니다(purchase), GIFT_PURCHASE (gift, 수신자는 other), DONATION(일반 후원 행), SUBSCRIPTION_PURCHASED(new_subscriber). 기존 주문 총액은 다음을 유지합니다: hasDonation 를 하위 호환성용으로 유지하며 다음으로 표시합니다: meta.commerce.legacyDonationValue: true; 이는 새 상품 판매 기본값의 명시적 예외입니다. 기프트 카드가 적용된 주문은 후원 값 없이 구매 알림을 보냅니다. 주문 총액에서 새 결제액을 신뢰성 있게 추론할 수 없으며 선물 구매는 이미 계산되었기 때문입니다. 청구 이름과 이메일 주소는 공개 식별 정보에 사용하지 않습니다. 대시보드 테스트 이벤트와 주문 업데이트는 유료 알림을 생성하지 않습니다.
이 어댑터들은 기존 릴레이, 봇 동작, Event Flow, 대상 라우팅을 유지하며 다음을 포함합니다: meta.webhookId 로 중복을 제거합니다. 공개 이름, 일반 텍스트 메시지, 알려진 상품 이름을 다음에 제공합니다: subtitle, ISO meta.commerce.currency 를 해당하는 경우 숫자형 후원 값과 함께 포함합니다. 환불 회계나 새 수신기 인증을 추가하지는 않습니다. 제공자의 기존 설정된 웹훅 경로를 사용하세요.
meta.monetization.commerce 위치: monetization_update 에는 enabled, qr, position, display(first/cycle), seconds 및 공개 items 배열이 들어 있습니다. 각 항목에는 name, url, image, 선택적 amount(모르면 null), currency, purpose(shop/gift/support/membership)가 있습니다. 진행자가 입력한 홍보 정보이며 결제 증거가 아닙니다. 항목 추가나 수정은 후원 또는 구매 이벤트를 발생시키지 않습니다. 일반 오버레이는 다음을 사용합니다: mode=commerce; view=both|showcase|card|alerts 는 홍보와 활동을 분리합니다. 선택적 style, scale, cardevery, cardfor, onlytype URL 매개변수가 표시를 제어합니다. 기존 제공자 모드도 view와 일정 제어를 받습니다. 참고: 설정 가이드.
Throne 선물 이벤트
선택적으로 활성화하는 Monetization 통합은 다음을 포함한 서명된 Throne 이벤트를 전달합니다: platform 그리고 type 설정값: throne. 세 가지 모두 안정적인 전달 식별자를 사용합니다: id, 일반 텍스트 chatname, chatmessage 포함: textonly: true, 상품 이름은 다음에: subtitle, 선택적 HTTPS 썸네일은 다음에: contentimg.
| 이벤트 | 의미 | 후원 금액 / 순위 |
|---|
gift | 구매된 선물 | hasDonation 및 USD donoValue; +1 선물 순위 |
giftcontribution | 선물을 위한 기여 | 기여 금액만 반영하며 순위는 오르지 않음 |
giftfunded | 공동 모금 선물 완료 | 아니요 hasDonation 또는 donoValue, 이전 기여가 중복 계산되지 않게 합니다; +1 선물 순위 |
meta.throne 포함: itemName, creator (공개 사용자 이름), completed, currency 및 기본 통화 단위의 amount. 다음의 경우: giftfunded, 금액은 새 수입이 아니라 목표를 나타냅니다. 익명 선물 제공자는 다음으로 유지됩니다: Anonymous; 완료된 공동 선물은 다음을 사용합니다: Community. 비공개 결제 및 배송 필드는 전달하지 않습니다.
monetization_update 스냅샷에는 다음도 포함됩니다: meta.monetization.throne: enabled, username, url, qr, position, rank, 그리고 gifts. 이 스냅샷에는 웹훅 URL이나 수신 자격 증명이 없습니다.
진행자 음성 명령(데스크톱 미리보기)
Event Flow의 내가 다음과 같이 말하면... 트리거는 SSApp의 신뢰할 수 있는 로컬 마이크 명령을 받습니다. 내부 동작 맥락은 다음을 사용합니다: chatname: "Host", type: "hostvoice", 인식한 문구는 다음에: chatmessage, 그리고 textonly: true. 이는 수신 플랫폼 이벤트나 새 채팅 전송 방식이 아닙니다. 채팅으로 이 필드를 보내도 음성 트리거가 활성화되지 않습니다.
업데이트된 데스크톱 빌드, 명시적 마이크 시작, 테스트 모드 이후 동작 활성화가 필요합니다. 참고: 미리보기 설정 및 검증 상태.
상품 표시 제어
기존 monetization_update 스냅샷에는 다음이 포함될 수 있습니다: meta.monetization.commerce.live: 저장된 일정에는 null, 또는 {mode: "show" | "hide", url?: "https://...", until: 0 | epochMilliseconds}. Show는 저장된 정확한 상품 URL과 일치시킵니다. 상품이 없으면 카드가 표시되지 않습니다. until이 양수면 만료 후 저장된 일정으로 돌아가며, 0이면 변경하거나 SSN을 다시 시작할 때까지 지속됩니다. Hide는 홍보를 숨기며 유료 활동 알림은 숨기지 않습니다.
commerce.viewerURL 는 게시된 읽기 전용 상점 URL 또는 빈 문자열입니다. 있으면 홍보 QR 코드가 이곳으로 연결됩니다. SSN 세션이나 게시 키는 포함하지 않습니다. 상품은 다음에 유지됩니다: commerce.items. 표시 제어, 가져오기, 게시로는 후원/구매 이벤트가 발생하지 않습니다. 참고: 상품 제어 에서 Event Flow 및 원격 API 사용법을 확인하세요.
Event Flow의 commerceControl 동작은 직접/Chrome 응답을 최대 8초 기다립니다. 일반 이벤트 페이로드에서는 이벤트를 보존하고 다음을 추가합니다: meta.commerceControlResult: {success: true, commerce: controlState} 또는 {success: false, error: "..."}. 기존 숫자, 배열 또는 기타 객체가 아닌 다음의 경우: meta, 메타데이터는 바뀌지 않으며 진단은 다음으로 반환됩니다: commerceControlResult 를 대신 동작 결과에 반환합니다. 제어가 실패하면 원래 결제 이벤트를 억제하지 않고 해당 체인의 후속 동작을 중지합니다. 시간 초과가 제어 미적용을 입증하지는 않습니다. Next 같은 상대 명령을 재시도하기 전에 상태를 확인하세요. 성공은 로컬 선택/숨김/일정 상태를 확인하며 OBS 표시나 공개 페이지 동기화를 확인하지 않습니다.
이름이 지정된 Stream Deck / API 작업 흐름
다음 항목: 이름이 지정된 작업 흐름 트리거 는 다음을 포함한 내부 Event Flow 메시지를 생성합니다: type: "api", event: "workflow_trigger", chatname: "Stream Deck / API", 비어 있는 chatmessage, 그리고 textonly: true. 해당 항목의 meta.workflow 객체에는 트리거 이름과 호출자가 제공한 JSON 값이 들어 있습니다: data 객체를 사용합니다. 다음 같은 템플릿으로 값을 읽으세요: {meta.workflow.data.minutes}. 저장되고 활성화되었으며 해당 트리거와 명시적으로 일치하는 흐름만 평가합니다. 이는 수신된 시청자/채팅 이벤트가 아니며 채팅으로 브로드캐스트되지 않습니다. 이 필드를 채팅에 복사해도 지정된 트리거가 활성화되지 않습니다.
NinjaChatter 시청자 파일럿
실험적인 페어링 확장 프로그램 커넥터는 다음을 포함한 표시 전용 행을 보냅니다: type: socialstreamchat, platform: ninjachatter, 그리고 textonly: true. meta.ninjachatter 에 담는 값: origin: audience, 설명용 provider, 공개 room ID. 이 행은 플랫폼 답장, 봇, Event Flow 트리거, 포인트를 거치지 않습니다. 제공자가 표시된다고 승인된 것은 아닙니다. 기존 NinjaChatter 소스 캡처에는 다음이 포함됩니다: meta.ninjachatter.room 를 방별 중복 억제에 사용합니다.
Cheer는 별도의 인증된 요청 및 결과 경로를 사용하며 특수 채팅 명령을 사용하지 않습니다. 고정 사전 설정은 기존 Actions 오버레이의 다음을 전송합니다: show_text 메시지를 3초 동안 표시합니다. 수신은 전송 수락을 뜻하며 OBS 표시가 검증되었다는 뜻은 아닙니다. 시청자 페이로드로 임의 동작을 선택할 수 없습니다. 파일럿은 NinjaChatter에서 기본적으로 꺼져 있으며 새 비공개 페어링 경계가 검증될 때까지 Electron은 기존 릴레이를 유지합니다.
커머스 배정 보드 및 최근 판매
기존 monetization_update 이벤트(type/platform: socialstream)에는 다음도 포함됩니다: meta.monetization.boards. 해당 항목의 board 포함: title, style (spots/teams), columns (1–20), visible, 최대 120개의 spots. 각 칸에는 문자열 형식의 다음이 있습니다: id, 일반 텍스트 label, status (available/claimed/revealed) 및 result (일반 텍스트, 공개 전에는 비어 있음). 배정과 공개는 진행자가 입력한 표시 상태이며 구매 증명이나 무작위 배정이 아닙니다.
boards.sales 에는 최근 기록을 최대 100개 담습니다: id, title, 선택적 amount (알 수 없으면 null), currency, quantity, source, 그리고 at (기록 시점의 Unix 밀리초). automatic 는 수집을 활성화하며, salesVisible 는 표시를 제어하며 revision 는 변경 시 증가합니다. 자동 수집은 다음만 받습니다: purchase 이벤트를 Shopify, eBay 판매자, Fourthwall, Ko-fi, Buy Me a Coffee에서 받으며 비공개/테스트 이벤트는 제외합니다. 경매 메타데이터, 팁, 선물, 칸 배정을 구매로 취급하지 않습니다. 자동 기록은 상품 가격을 주문 총액, 등록 가격, 후원 금액으로 대체하지 않습니다. 수동 기록은 다음을 사용합니다: source: "Host confirmed".
상태는 이 설치 환경의 비공개 수익화 저장소에 유지됩니다. 공개 스냅샷에는 전달 중복 제거 ID, 구매자 식별 정보, 비밀 값이 포함되지 않습니다. 명시적으로 표시된 판매에는 제거용 이벤트 ID가 유지됩니다. 환불은 진행자가 제거해야 합니다. 구매 중복 ID는 별도로 최대 2,000개까지 기억하며 표시 기록을 지운 뒤에도 유지됩니다. 기존의 getCommerceState 응답에는 다음이 포함됩니다: commerce.boards; commerceControl 는 다음에 문서화된 보드/판매 명령을 받습니다: 보드 가이드. 수동 수정은 업데이트된 상태를 브로드캐스트하지만 구매 이벤트, 후원 총액, 유료 보상을 만들지 않습니다. 호스트 스냅샷이 35초 동안 없으면 오버레이가 숨겨집니다.
판매자 작업 흐름 추가 사항: commerce.boards.board.id 는 보드 세대를 식별합니다. 수동 saleAdd 는 다음을 제공할 수 있습니다: boardId 그리고 spotId 를 사용해 판매 기록과 칸 배정을 원자적으로 수행합니다. 최근 기록에 남아 있는 중복 연결 판매는 거부됩니다. saleRemove 포함: reopenSpot: true 는 보드 세대가 여전히 일치하는 경우에만 해당 칸을 해제합니다. 공개 판매 항목에는 이 운영자 연결 필드가 없습니다. 선택적 platform 를 수동 판매에 설정하면 필터링용 소스가 유지되며 source: "Host confirmed" 는 확인 방식을 식별합니다. amount 는 해당 항목의 총액이며 다음을 포함합니다: quantity. eBay 결제 완료 주문 어댑터의 meta.ebayPurchase.quantity 는 유지됩니다.
salesSettings.auctionSource 는 Whatnot 또는 eBay Live 상품 도우미를 활성화합니다. 제어 응답의 commerce.auction 에는 마지막으로 캡처된 다음에서 source, title, priceText, status, at만 들어 있습니다: auction_update, 또는 null. 5분 후 만료되며 소스 변경, 유휴 스냅샷, 재시작 시 지워집니다. 도우미는 운영자 전용으로, 영구 저장되지 않고 시청자 브로드캐스트에도 포함되지 않습니다. 입찰자/낙찰자 식별 정보는 버립니다. 소스 스크립트와 경매 이벤트 페이로드는 바뀌지 않습니다. 초안을 복사해도 결제가 확인되거나 판매가 생성되지는 않습니다.