Session
μΈμ
μμ±, μΈμ
λͺ©λ‘ μ‘°ν, μ΄λ²€νΈ ꡬλ
λ° μ·¨μλ₯Ό ν μ μμ΅λλ€.
μΈμ
API μ€ μλ API Scopeλ₯Ό νΈμΆνλ €λ©΄ μ¬μ©μ κ³μ μΌλ‘ μΈμ¦νμ¬ μ»μ Access Tokenμ΄ νμν©λλ€.
API Scopeλ μ±ν
λ©μμ§ μ‘°ν
, νμ μ‘°ν
, ꡬλ
μ‘°ν
μ
λλ€.
μΈμ
μμ±(ν΄λΌμ΄μΈνΈ)
Client μΈμ¦μ ν΅ν΄ μμΌ μ°κ²°μ μν URLμ μμ²ν©λλ€. μμ±λ URLμ μΌμ μκ° λμλ§ μ ν¨ν©λλ€. μ΅λ 10κ°μ μ°κ²°μ μ μ§ν μ μμ΅λλ€. μΈμ μμ±(ν΄λΌμ΄μΈνΈ)λ₯Ό νΈμΆνλ €λ©΄ μ ν리μΌμ΄μ λ±λ‘ ν Client μΈμ¦μ΄ νμν©λλ€. (Client μΈμ¦ API μ°Έμ‘°)
GET /open/v1/sessions/auth/client
μΈμ μμ±(ν΄λΌμ΄μΈνΈ)
Response Body
url
String
μμΌ μ°κ²°μ μν URL
μΈμ
μμ±(μ μ )
Access Token μΈμ¦μ ν΅ν΄ μμΌ μ°κ²°μ μν URLμ μμ²ν©λλ€. μμ±λ URLμ μΌμ μκ° λμλ§ μ ν¨ν©λλ€. μ°κ²°λ μΈμ μ μΈμ μμ±μ μ¬μ©λ Access Tokenκ³Ό λμΌν μ μ μ΄λ²€νΈλ§ ꡬλ ν μ μμ΅λλ€. μ μ λ³ μ΅λ 3κ°μ μ°κ²°μ μ μ§ν μ μμ΅λλ€
GET /open/v1/sessions/auth
μΈμ μμ±(μ μ )
Response Body
url
String
μμΌ μ°κ²°μ μν URL
μΈμ
μ°κ²° κ°μ΄λ
Socket.IO-client 1.0.0+ 2.0.3 λ²μ κΉμ§ μ§μν©λλ€.
μμΌ μ°κ²°
// apiλ₯Ό ν΅ν΄ μ»μ μ°κ²° url
const sessionURL = 'https://ssio08.nchat.naver.com:443?auth=TOKEN';
// μ΅μ
μ€μ
const socketOption = {
reconnection: false,
'force new connection': true,
'connect timeout': 3000,
transports: ['websocket'],
};
// ...
// μΈμ
μ°κ²°
socket = io.connect(sessionURL, socketOption)
socket.on('connect', function() {
// on connected
});
μ°κ²°μ΄ μλ£λ κ²½μ° μΈμ μΌλ‘ μ°κ²° μλ£ λ©μμ§κ° μ λ¬ λ©λλ€. ν΄λΉ λ©μμ§μ sessionKey κ°μ ν΅ν΄ μ°κ²°λ μΈμ μ μ΄λ²€νΈλ₯Ό ꡬλ ν μ μμ΅λλ€.
λ©μμ§ μμ
// eventType λ©μμ§
socket.on("SYSTEM", function(data) {
/* on system event */
});
μΈμ
λͺ©λ‘ μ‘°ν(ν΄λΌμ΄μΈνΈ)
Client μΈμ¦ κΈ°λ°μ μμ±λ μΈμ μ μ‘°νν©λλ€. μ°κ²°μ΄ λμ΄μ§ μΈμ μ μΌμ μκ° λμλ§ μ‘°νκ° κ°λ₯ν©λλ€. μΈμ λͺ©λ‘ μ‘°ν(ν΄λΌμ΄μΈνΈ)λ₯Ό νΈμΆνλ €λ©΄ μ ν리μΌμ΄μ λ±λ‘ ν Client μΈμ¦μ΄ νμν©λλ€. (Client μΈμ¦ API μ°Έμ‘°)
GET /open/v1/sessions/client
μΈμ λͺ©λ‘ μ‘°ν(ν΄λΌμ΄μΈνΈ)
Request Param
size
Int
μ‘°νν μΈμ κ°μ. μ΅μ 1 ~ μ΅λ 50 μμ² κ°λ₯
default : 20
page
String
μ‘°νν νμ΄μ§. 0λΆν° μ‘°ν κ°λ₯
default : 0
Response Body
data
Object[]
μΈμ λͺ©λ‘ κ²°κ³Ό
sessionKey
String
μΈμ μλ³μ
connectedDate
String
μ°κ²° μκ°
disconnectedDate
String
μ°κ²° ν΄μ μκ°
subscribedEvents
Object[]
ꡬλ μ΄λ²€νΈ λͺ©λ‘
eventType
String
μ΄λ²€νΈ μ’ λ₯
CHAT
DONATION
SUBSCRIPTION
channelId
String
μ΄λ²€νΈ μ±λ ID(μ±λ μλ³μ)
μΈμ
λͺ©λ‘ μ‘°ν(μ μ )
Access Token μΈμ¦ κΈ°λ°μ μμ±λ μΈμ μ μ‘°νν©λλ€. μ°κ²°μ΄ λμ΄μ§ μΈμ μ μΌμ μκ° λμλ§ μ‘°ν κ°λ₯ν©λλ€.
GET /open/v1/sessions
μΈμ λͺ©λ‘ μ‘°ν(μ μ )
Request Param
size
Int
μ‘°νν μΈμ κ°μ. μ΅μ 1 ~ μ΅λ 50 μμ² κ°λ₯
default : 20
page
String
μ‘°νν νμ΄μ§. 0λΆν° μ‘°ν κ°λ₯
default : 0
Response Body
data
Object[]
μΈμ λͺ©λ‘ κ²°κ³Ό
sessionKey
String
μΈμ μλ³μ
connectedDate
String
μ°κ²° μκ°
disconnectedDate
String
μ°κ²° ν΄μ μκ°
subscribedEvents
Object[]
ꡬλ μ΄λ²€νΈ λͺ©λ‘
eventType
String
μ΄λ²€νΈ μ’ λ₯
CHAT
DONATION
SUBSCRIPTION
channelId
String
μ΄λ²€νΈ μ±λ ID(μ±λ μλ³μ)
μ΄λ²€νΈ ꡬλ
(μ±ν
)
μμ²ν μΈμ μ μ¬μ©μμ μ±ν μ΄λ²€νΈλ₯Ό ꡬλ ν©λλ€. ꡬλ μ΄ μλ£λ κ²½μ° μμ²ν μΈμ μΌλ‘ μ΄λ²€νΈ ꡬλ λ©μμ§κ° μ λ¬ λ©λλ€. μ±ν μ΄λ²€νΈ ꡬλ μ, ꡬλ ν μ±λμ μ±ν μ΄ λ°μν λ μ±ν μ΄λ²€νΈ λ©μμ§κ° μ λ¬λ©λλ€.
κ΄λ ¨ Scope : μ±ν λ©μμ§ μ‘°ν
*μΈμ λΉ μ΅λ 30κ°μ μ΄λ²€νΈ(μ±ν , νμ, ꡬλ )λ₯Ό ꡬλ ν μ μμ΅λλ€.
POST /open/v1/sessions/events/subscribe/chat
μ΄λ²€νΈ ꡬλ (μ±ν )
Request Param
sessionKey
String
*
μΈμ μλ³μ
μ΄λ²€νΈ ꡬλ
μ·¨μ(μ±ν
)
μμ²ν μΈμ μ μ¬μ©μμ μ±ν μ΄λ²€νΈλ₯Ό ꡬλ μ·¨μν©λλ€. ꡬλ μ΄ μ·¨μλ κ²½μ° μμ²ν μΈμ μΌλ‘ μ΄λ²€νΈ ꡬλ μ·¨μ λ©μμ§κ° μ λ¬ λ©λλ€.
POST /open/v1/sessions/events/unsubscribe/chat
μ΄λ²€νΈ ꡬλ μ·¨μ(μ±ν )
Request Param
sessionKey
String
*
μΈμ μλ³μ
μ΄λ²€νΈ ꡬλ
(νμ)
μμ²ν μΈμ μ μ¬μ©μμ νμ μ΄λ²€νΈλ₯Ό ꡬλ ν©λλ€. ꡬλ μ΄ μλ£λ κ²½μ° μμ²ν μΈμ μΌλ‘ μ΄λ²€νΈ ꡬλ λ©μμ§κ° μ λ¬ λ©λλ€. μ΄λ²€νΈ ꡬλ μ, ꡬλ ν μ±λμ νμμ΄ λ°μν λ νμ μ΄λ²€νΈ λ©μμ§κ° μ λ¬λ©λλ€.
κ΄λ ¨ Scope : νμ μ‘°ν
*μΈμ λΉ μ΅λ 30κ°μ μ΄λ²€νΈ(μ±ν , νμ, ꡬλ )λ₯Ό ꡬλ ν μ μμ΅λλ€.
POST /open/v1/sessions/events/subscribe/donation
μ΄λ²€νΈ ꡬλ (νμ)
Request Param
sessionKey
String
*
μΈμ μλ³μ
μ΄λ²€νΈ ꡬλ
μ·¨μ(νμ)
μμ²ν μΈμ μ μ¬μ©μμ νμ μ΄λ²€νΈλ₯Ό ꡬλ μ·¨μν©λλ€. ꡬλ μ΄ μ·¨μλ κ²½μ° μμ²ν μΈμ μΌλ‘ μ΄λ²€νΈ ꡬλ μ·¨μ λ©μμ§κ° μ λ¬ λ©λλ€.
POST /open/v1/sessions/events/unsubscribe/donation
μ΄λ²€νΈ ꡬλ μ·¨μ(νμ)
Request Param
sessionKey
String
*
μΈμ μλ³μ
μ΄λ²€νΈ ꡬλ
(ꡬλ
)
μμ²ν μΈμ μ μ¬μ©μμ ꡬλ μ΄λ²€νΈλ₯Ό ꡬλ ν©λλ€. ꡬλ μ΄ μλ£λ κ²½μ° μμ²ν μΈμ μΌλ‘ μ΄λ²€νΈ ꡬλ λ©μμ§κ° μ λ¬ λ©λλ€. μ΄λ²€νΈ ꡬλ μ, ꡬλ ν μ±λμ ꡬλ μ΄ λ°μν λ ꡬλ μ΄λ²€νΈ λ©μμ§κ° μ λ¬λ©λλ€.
κ΄λ ¨ Scope : νμ μ‘°ν
*μΈμ λΉ μ΅λ 30κ°μ μ΄λ²€νΈ(μ±ν , νμ, ꡬλ )λ₯Ό ꡬλ ν μ μμ΅λλ€.
POST /open/v1/sessions/events/subscribe/subscription
μ΄λ²€νΈ ꡬλ (ꡬλ )
Request Param
sessionKey
String
*
μΈμ μλ³μ
μ΄λ²€νΈ ꡬλ
μ·¨μ(ꡬλ
)
μμ²ν μΈμ μ μ¬μ©μμ ꡬλ μ΄λ²€νΈλ₯Ό ꡬλ μ·¨μν©λλ€. ꡬλ μ΄ μ·¨μλ κ²½μ° μμ²ν μΈμ μΌλ‘ μ΄λ²€νΈ ꡬλ μ·¨μ λ©μμ§κ° μ λ¬ λ©λλ€.
POST /open/v1/sessions/events/unsubscribe/subscription
μ΄λ²€νΈ ꡬλ μ·¨μ(ꡬλ )
Request Param
sessionKey
String
*
μΈμ μλ³μ
μΈμ
λ©μμ§
μΈμ μΌλ‘ μ λ¬λλ λ©μμ§μλ μμ€ν λ©μμ§, ꡬλ μ΄λ²€νΈ λ©μμ§κ° μ‘΄μ¬ν©λλ€.
μμ€ν
λ©μμ§(곡ν΅)
Event Type : SYSTEM
Message Body
type
String
μμ€ν λ©μμ§ μ’ λ₯
connected
subscribed
unsubscribed
revoked
data
Object
μμ€ν λ©μμ§ μ 보
μμ€ν
λ©μμ§(μ°κ²° μλ£ λ©μμ§)
μμΌ μ°κ²°μ΄ μ μμ μΌλ‘ μλ£ λμμ λ μ λ¬λ©λλ€. μ λ¬λ μΈμ μλ³μλ₯Ό ν΅ν΄ μ΄λ²€νΈλ₯Ό ꡬλ /μ·¨μ ν μ μμ΅λλ€.
Message Body
type
String
connected
data
Object
μμ€ν λ©μμ§ μ 보
sessionKey
String
μΈμ μλ³μ
μμ€ν
λ©μμ§(μ΄λ²€νΈ ꡬλ
λ©μμ§)
μ΄λ²€νΈ ꡬλ μ΄ μλ£ λμμ λ μ λ¬λ©λλ€.
Message Body
type
String
subscribed
data
Object
μμ€ν λ©μμ§ μ 보
eventType
String
μ΄λ²€νΈ μ’ λ₯
CHAT
DONATION
SUBSCRIPTION
channelId
String
μ΄λ²€νΈ μ±λ ID(μ±λ μλ³μ)
μμ€ν
λ©μμ§(μ΄λ²€νΈ ꡬλ
μ·¨μ λ©μμ§)
μ΄λ²€νΈ ꡬλ μ΄ μ·¨μ λμμ λ μ λ¬λ©λλ€.
Message Body
type
String
unsubscribed
data
Object
μμ€ν λ©μμ§ μ 보
eventType
String
μ΄λ²€νΈ μ’ λ₯
CHAT
DONATION
SUBSCRIPTION
channelId
String
μ΄λ²€νΈ μ±λ ID(μ±λ μλ³μ)
μμ€ν
λ©μμ§(μ΄λ²€νΈ κΆν μ·¨μ λ©μμ§)
μ¬μ©μμ λμ μ² ν, μ€μ½ν λ³κ²½ λ± κΆν νμλ‘ μ΄λ²€νΈ ꡬλ μ΄ μ·¨μ λμμ λ μ λ¬λ©λλ€.
Message Body
type
String
revoked
data
Object
μμ€ν λ©μμ§ μ 보
eventType
String
μ΄λ²€νΈ μ’ λ₯
CHAT
DONATION
SUBSCRIPTION
channelId
String
μ΄λ²€νΈ μ±λ ID(μ±λ μλ³μ)
ꡬλ
μ΄λ²€νΈ λ©μμ§(μ±ν
μ΄λ²€νΈ λ©μμ§)
ꡬλ ν μ±λμ μ±ν λ©μμ§κ° μ λ¬λ©λλ€.
Event Type : CHAT
Message Body
channelId
String
μ΄λ²€νΈ μ±λ ID(μ±λ μλ³μ)
senderChannelId
String
μ±ν λ©μμ§ μμ±μ μ±λ ID
profile
Object
μ±ν λ©μμ§ μμ±μ νλ‘ν μ 보
nickname
String
λλ€μ
badges
Object[]
λ°°μ§
verifiedMark
boolean
μΈμ¦μ¬λΆ
userRoleCode
String
μ μ μ±λ κΆν
streamer : μ€νΈλ¦¬λ¨Έ
common_user : μΌλ° μ μ
streaming_channel_manager : μ±λ κ΄λ¦¬μ
streaming_chat_manager : μ±ν μ΄μμ
content
String
μ±ν λ©μμ§ λ΄μ©
emojis
Map
μ¬μ©λ μΉμ§μ§ μ΄λͺ¨ν°μ½ μ 보
key
String
μΉμ§μ§ μ΄λͺ¨ν°μ½ μλ³μ
value
String
μΉμ§μ§ μ΄λͺ¨ν°μ½ URL
messageTime
Int64
λ©μμ§ μκ° (ms)
ꡬλ
μ΄λ²€νΈ λ©μμ§(νμ μ΄λ²€νΈ λ©μμ§)
ꡬλ ν μ±λμ νμ λ©μμ§κ° μ λ¬λ©λλ€.
Event Type : DONATION
Message Body
donationType
String
νμ μ’ λ₯
CHAT
VIDEO
channelId
String
μ΄λ²€νΈ μ±λ ID(μ±λ μλ³μ)
donatorChannelId
String
νμμ μ±λ ID
donatorNickname
String
νμμ λλ€μ
payAmount
String
νμ κΈμ‘ (μ)
donationText
String
νμ λ©μμ§ λ΄μ©
emojis
Map
μ¬μ©λ μΉμ§μ§ μ΄λͺ¨ν°μ½ μ 보
key
String
μΉμ§μ§ μ΄λͺ¨ν°μ½ μλ³μ
value
String
μΉμ§μ§ μ΄λͺ¨ν°μ½ URL
ꡬλ
μ΄λ²€νΈ λ©μμ§(ꡬλ
μ΄λ²€νΈ λ©μμ§)
ꡬλ ν μ±λμ ꡬλ λ©μμ§κ° μ λ¬λ©λλ€.
Event Type : SUBSCRIPTION
Message Body
channelId
String
μ΄λ²€νΈ μ±λ ID(μ±λ μλ³μ)
subscriberChannelId
String
ꡬλ μ μ±λ ID
subscriberNickname
String
ꡬλ μ λλ€μ
tierNo
Int
ꡬλ μν
1 (ν°μ΄1 ꡬλ )
2 (ν°μ΄2 ꡬλ )
tierName
String
ꡬλ λΈλλλͺ
month
Int
μ¬μ©λꡬλ κΈ°κ°μΉμ§μ§ μ΄λͺ¨ν°μ½ μ 보
Last updated