This repository has been archived by the owner on Jun 20, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
api docs (ja) of Streaming APIs
Marihachi edited this page Nov 23, 2018
·
36 revisions
Frost-API v1.0の仕様に合わせて内容の変更が進行中です。v1.0以前の仕様とは互換性はありません。
目次
WebSocketプロトコルに従って接続します。
wss://(APIサーバのドメイン名)?access_token=(AccessToken)
に接続してください。
Streaming APIsは、JSONオブジェクトをWebSocketのUTF-8メッセージとしてやり取りすることによって利用されます。
やり取りされるJSONオブジェクトは、必ず以下の2つのメンバを含んでいる必要があります。
メンバ名 | 説明 |
---|---|
event | 利用するAPIに関連付いたイベント名を指定します。(イベント名 と呼ばれます) |
data | APIの利用に必要なデータを指定します。(イベントデータ と呼ばれます) |
Streaming APIsではこのオブジェクトのことを「イベントオブジェクト」と呼んでいます。
{
"event": "イベント名",
"data": {
"イベントデータA": "value"
}
}
各エンドポイントへのリクエストをWebSocketのコネクション上から行えるようにするAPIです。
HTTPリクエストがその都度発生しないため、オーバーヘッドを小さくすることが出来ます。
request
{
id: number | string,
endpoint: string,
params: object?
}
{
id: number | string,
success: boolean,
statusCode: number,
resource: any?
}
idプロパティにnumber
型の値で渡す場合、その値は整数であるべきです。小数を含む数値を渡すことは推奨されません。
{
"event":"request",
"data": {
"endpoint":"/posting/create-chat",
"params": {
"text": "コーヒー1杯で1回です"
},
"id": "3"
}
}
{
"event": "request",
"data": {
"id": "3",
"success": true,
"statusCode": 200,
"resource": {
"chatPosting": {
"createdAt": 1542525441,
"id": "5bf1120154d6cf2a485bcb6e",
"text": "コーヒー1杯で1回です",
"type": "chat",
"user": {
"createdAt": 1500702964,
"description": "コーヒーが好きです",
"followersCount": 7,
"followingsCount": 16,
"iconFileId": "5a813952bf8f203120a6b189",
"id": "5972e8f4d61aea367cbf6972",
"name": "香風智乃",
"postsCount": {
"status": 252
},
"screenName": "chino123"
},
"userId": "5972e8f4d61aea367cbf6972"
}
}
}
}
リアルタイムにタイムラインや通知を受信するためのAPIです。
- "homeTimeline"
- "notification" (comming soon)
eventStream.subscribe
{
id: number | string,
sourceName: string
}
{
id: number | string,
success: boolean,
message: string?,
error: {message: string}?
}
idプロパティはnumber
型もしくはstring
型である必要がありますが、number
型として渡された場合の値は整数であるべきです。小数を含む数値を指定することは推奨されません。
sourceNameに指定できる値についてはこちらを参照してください。
{
"event": "eventStream.subscribe",
"data": {
"id": "1",
"sourceName": "homeTimeline"
}
}
{
"event": "eventStream.subscribe",
"data": {
"id": "1",
"success": true,
"message": "subscribed home timeline"
}
}
eventStream.unubscribe
{
id: number | string,
sourceName: string
}
{
id: number | string,
success: boolean,
message: string?,
error: {message: string}?
}
idプロパティはnumber
型もしくはstring
型である必要がありますが、number
型として渡された場合の値は整数であるべきです。小数を含む数値を指定することは推奨されません。
sourceNameに指定できる値についてはこちらを参照してください。
{
"event": "eventStream.unsubscribe",
"data": {
"id": "2",
"sourceName": "homeTimeline"
}
}
{
"event": "eventStream.unsubscribe",
"data": {
"success": true,
"id": "2",
"message": "unsubscribed home timeline"
}
}
[執筆中]