events¶
サーバーからクライアントへアプリイベントをリアルタイムに配信する Server-Sent Events(SSE)ストリーム。診察の登録・更新やホットラインなどの変化を、接続中のクライアントへ push します。
リクエスト¶
| 項目 | 内容 |
|---|---|
| メソッド | GET |
| パス | /api/events |
例¶
レスポンス¶
Content-Type: text/event-stream の SSE ストリームを返します。接続は開いたまま保持され、イベントが発生するたびに data: <JSON>\n\n 形式の行が送られます。接続直後と 30 秒ごとにハートビート(heart-beat)が送られ、接続の生存が確認されます。クライアント切断時にはサーバー側で購読が解除されます。
各メッセージの format は次のいずれかです。
| format | 意味 |
|---|---|
heart-beat |
接続維持用のハートビート |
appevent |
アプリイベント。data に appEventId / model / kind / data を含む |
catch-up |
未取得イベントの取得を促す通知。nextId を含む |
hotline-beep |
ホットラインの呼び出し音。data.recipient を含む |
config-change |
設定変更の通知。data に name / value を含む |
例¶
data: {"format":"heart-beat"}
data: {"format":"appevent","data":{"appEventId":9012,"model":"hotline","kind":"created","data":"{\"message\":\"至急お願いします\",\"sender\":\"受付\",\"recipient\":\"診察室1\"}"}}
エラー¶
このエンドポイントは接続確立後にストリームを返すため、通常のエラーステータスは返しません。