Session Server
Session Server는 채팅 채널을 여러개로 분산해주기 위한 용도의 서버
node-xpush의 기본 기능
APIs
APIs | Description |
---|---|
node/:app/:channel | 채널서버를 할당받음 |
node/:app:channel
GET 채널ID를 통해 접속할 채널 서버의 정보를 가져온다.
Request
app : 유니크한 XPUSH의 application id channel : 접속하려고 하는 channel id
Response
{
"status": "",
"message": "",
"result": {}
}
xpush-chat의 Channel Server가 추가로 제공해주는 기능
API List
APIs | Description |
---|---|
/user/register | 사용자를 등록한다. |
/user/update | 사용자의 정보를 수정한다. |
/user/active | 사용자가 현재 접속 중인지를 확인한다. |
/user/search | 사용자를 조회한다. |
/auth | 사용자 로그인 처리한다. |
/device/add | 사용자 계정에 다른 장치를 신규로 등록한다. |
/user/register
입력받은 사용자 정보를 이용하여 사용자를 신규로 추가한다.
- A : 사용중인 어플리케이션의 고유ID
- U : 사용자 ID
- PW : 사용자의 비밀번호
- N : Notification ID, Android의 GCM Registration ID나 Apple Push Notification ID를 사용
- D : 장치의 고유 ID
- DT : JSON 형태의 추가 사용자 정보, 사용자 정보나 프로필 이미지 등을 용도에 맞게 마음껏 사용할 수 있다.
Request
{"A":"app01", "U":"user01", "PW":"password01", "DT":{}, "N":"gcm registration id 01", "D":"device01" }
Response
{"status":"ok"}
/user/update
입력받은 사용자 정보를 이용하여 사용자의 정보를 수정한다.
- A : 사용중인 어플리케이션의 고유ID
- U : 사용자 ID
- PW : 사용자의 비밀번호
- N : Notification ID, Android의 GCM Registration ID나 Apple Push Notification ID를 사용
- D : 장치의 고유 ID
- DT : JSON 형태의 추가 사용자 정보, 사용자 정보나 프로필 이미지 등을 용도에 맞게 마음껏 사용할 수 있다.
Request
{"A":"app01", "U":"user01", "PW":"password01", "DT":{}, "N":"gcm registration id 01", "D":"device01" }
Response
{"status":"ok", "user":{} }
/user/active
입력받은 사용자 ID를 이용하여 사용자가 서비스에 접속 중인지를 확인한다.
- A : 사용중인 어플리케이션의 고유ID
- U : 사용자 ID
Request
{"A":"app01", "U":"user01"}
Response
{"status":"ok", "result": {"user01":true} }
/user/search
입력받은 값을 이용하여 특정 사용자를 검색한다. 사용자의 이름이나 사용자의 ID를 기반으로 검색을 수행한다.
- A : 사용중인 어플리케이션의 고유ID
- K : 겁색을 위한 입력값
Request
{"A":"app01", "K":"james"}
Response
```js {"status":"ok", "result": {users: users, count: count} }