Skip to content

API一覧

Aonori edited this page Nov 6, 2020 · 14 revisions

全部認証されているのが前提 => 認証情報からユーザを取得

カードIDm登録

URI

/card

Method

POST

body

  • IDm : カードの識別番号

検温ログ取得

URI

/temperature/body

Method

GET

クエリパラメータ

  • offset : 開始件数
  • count : 取得件数

備考

  • 自身の体温を取得できるAPI
  • 日時が新しい順に取得できる

体温測定結果登録

URI

/temperature/body

Method

POST

body

  • body_temperature : ユーザの体温
  • mac_address : リーダー機器のMAC

備考

  • 成功時 201

部屋一覧

URI

/rooms

Method

GET

備考

自身が管理者権限を持っている部屋一覧を取得

部屋作成

URI

/rooms

Method

POST

body

  • name : ルーム名
  • limit_number : 最大収容人数
  • limit_body_temperature : 許可する最高体温
  • allow_missing : 過去2週間の検温データ欠損を許容するか

備考

  • 成功時 201

部屋情報更新

URI

/rooms/${id}

Method

PUT

パスパラメータ

  • id : roomId

body

  • name : ルーム名
  • limit_number : 最大収容人数
  • limit_body_temperature : 許可する最高体温
  • allow_missing : 過去2週間の検温データ欠損を許容するか

備考

  • 今回は更新しないデータはもとのデータが飛んでくる設計
  • 成功時 204

申請許可済みメンバー一覧

URI

/rooms/${id}/members

Method

GET

パスパラメータ

  • id : roomId

備考

部屋に対して管理権限を持つ人しかアクセスできない

入室権限申請

URI

/rooms/${id}/members

Method

POST

パスパラメータ

  • id : roomId

備考

  • マジックリンクもアプリ側で別途実装(Deep Linkっていうらしい)
  • 成功時 201

入室権限申請許可

URI

/rooms/${roomId}/members/${memberId}

Method

POST

パスパラメータ

  • roomId : roomId
  • memberId : memberId

body

  • is_permited : 許可ならtrue, 拒否はfalse

備考

  • 成功時 201

申請許可待ちメンバー一覧

URI

/rooms/${id}/members/pending

Method

GET

パスパラメータ

  • id : roomId

備考

部屋に対して管理権限を持つ人しかアクセスできない

入室しているメンバー一覧

URI

/rooms/${id}/members/entering

Method

GET

パスパラメータ

  • id : roomId

以下はAPI実装ではなくLambdaのみ実装(VPC内で直接叩くので)

入退室リクエスト

パラメータ

  • idm : タッチされかカードのIDm
  • mac_address : リーダー機器のMACアドレス
  • timestamp : 発生日時のunixタイムスタンプ

備考

  • IDmからUserIDを引っ張ってくる
  • この時に体温、入室権限を確認
  • 時間を記録

返すべきJSON

{
  "result": "accept" or "exit" or "reject"
}
  • accept : 入室として記録した場合
  • exit : 退室として記録した場合
  • reject : 記録不足や発熱などの条件判定により入室を拒否する場合