Hackey API

Hackeyは以下の2つのAPIを提供します。

  • 鍵を捻ったときに外部に向けてHTTP POSTリクエストを発行します。
  • 外部からHTTP GETリクエストを受け付け設定されたとおりのパターンでHackey本体のLEDを点灯します。

鍵に連動したHTTPリクエスト

Hackeyの鍵を捻った際にWebアプリで設定されているURLに対し、ContentTypeをapplication/jsonに設定し、以下のJSONをPOSTします。

{
  "hackey": {
    "device_id": "<device id>",
    "event": "<what>"
  }
}

※任意位置にて改行を加えています。実際のデータに関しても任意の位置で改行等が入る可能性があります。JSONとして意味が等価であればプロパティの並び等は変更されます。

上述、リクエスト内容のうち、<device id>は操作されたHackeyのデバイスIDが記述されます。<what>は、turn_onまたはturn_offのどちらかが記述されます。前者はキーがONの方向に捻られたとき、後者はキーがOFFの方向に捻られたときに使用されます。

接続先からのレスポンスに関しては無視します。

長い間レスポンスを返さないといったケースに関しては、その後の動作に関して保証しません。レスポンス待ち中にHackeyの鍵が捻られ、リクエストが多重化するなどといった現象が発生しないように接続先を設定してください。

LED点灯

HackeyのLEDを点灯するためには、Webアプリで生成されたURLに対してGETリエクエストを送ってください。リクエストを受け取ったHackeyは、設定どおりにLEDを点灯させます。

Webアプリで生成されたURLでは、リクエストヘッダ、リクエストボディに関しては無視します。

点灯の指示(GETリクエスト)が処理された場合には、ステータスコード200を返します。その他のヘッダ、ボディに関しては定義されません。