データ連携(Webhook)

データ連携(Webhook)とAPIの違い

ウェビオセンサーから得られたデータをサーバに送信する方法としてWebhookによるデータ連携機能とAPIを提供しております。

WebhookとAPIは、データを「どちら側から送るか」が違います。Webhookによるデータ連携機能は、ウェビオサーバー側から貴社サーバにデータを送るのに対して、APIは貴社サーバからウェビオサーバにアクセスしてデータを取得します。どちらもプロトコルはHTTP(S)、データはJSON形式です。

Webhookによるデータ連携を使うと、センサーからデータが届いた直後に情報を受け取れるため、よりリアルタイムで無駄のないデータの受信が可能です。一方APIを使うと、センサーからのデータの更新有無に関わらず、定期的にデータを取得する必要が生じるなど無駄が多く、リアルタイムでのデータ取得に向いていません。

ウェビオでは、APIではなく、Webhookによるデータ連携をを強くお勧めいたします。

WebhookとAPIの違い

概要

ウェビオのセンサーデータは、「データ連携」機能で、お客様のシステムやIFTTTなどのWebサービスに簡単に送信することができます。 これはWebhookと呼ばれるもので、ウェビオから新しいデータが届くたびに指定のURLにデータを送信することができます。

対応プロトコル

  • http(s) GET
  • http(s) POST (JSON形式)

URLやBodyのJSON中に、ウェビオIDやデータを含めることが可能です。

データ埋め込みの例

  • URLの場合
# ウェビオコンソールでの設定
http://example.com/your/api?value={{value}}&id={{id}}&type={{datatype}}

# 実際に送られるURL
http://example.com/your/api?value=23.45&id=BT001&type=temperature

のように、{{パラメータ名}} の部分が変換されて送信されます。

  • Body(JSON)の場合
# ウェビオコンソールでの設定
{
  "id":"{{id}}",
  "value":"{{value}}",
  "unit":"{{unit}}"
}

# 実際に送られるデータ
{
  "id":"BT001",
  "value":"23.45",
  "unit":"℃"
}

※ 値は必ずテキストとしてJSONを定義していただくようお願いいたします。(現在、数値やBool値には対応しておりません)

{{パラメータ}}書式凡例

項目{{パラメータ}}値の例備考
Webiot ID{{id}}BTXX001
センサー名{{name}}test sensor name
ゲートウェイWebiot ID{{gatewayid}}G3XX001
ゲートウェイ名{{gatewayname}}test gateway name
時刻(UNIX時間形式){{unixtime}}1501847516
データ種別{{datatype}}temperature
データ値{{value}}23.45
単位{{unit}}
同時受信データ01{{value01}}23.45温度/湿度/気圧センサーのみ注1
同時受信データ02{{value02}}40.56温度/湿度/気圧センサーのみ注1
同時受信データ03{{value03}}1023.4567温度/湿度/気圧センサーのみ注1
データID{{dataid}}112f49f0-8cb0-11e8-bab3-8909bb8001acデータ1つずつにユニークなuuid
Packet ID注2{{packetid}}255
RSSI注3{{rssi}}-80
バッテリー電圧(V)注4{{battery}}3.14
デバッグ情報{{debug}}{"accelX":0.029296875,"accelY":-0.9970703125}文字列(エスケープされたJSON)

注1: 1回のHTTPリクエストで複数種別のデータを受信したい場合に利用できる項目です。温度/湿度/気圧センサーのみ、特別に{{value}}とは別に{{value01}}{{value02}}{{value03}}という項目を設けております。 {{value01}}に温度、02に湿度、03に気圧が入っております。送信するデータ種別が、temperature, humidity, pressure いずれの場合にも入っております。こちらの機能をご利用いただき、例えば temperature だけデータ連携設定をして、body に {{value01}} から {{value03}}を入れていただければ、1回のHTTPリクエストで3データとも取得していただけます。

注2: 1データごとにカウントアップされる番号です。255を超えると0に戻ります。

注3: 該当センサーからの信号をゲートウェイで受信した時の電波強度です。dBm。RSSIの値が大きいほど信号が強いことを表します。例えば、-80より-20の方が信号が強いことを表します。

注4: 概ね2.5Vが交換の目安です。通常は、ウェビオにて監視しておりますが、場合によっては当方で検知できない場合がございます。その際には、お問い合わせいただければ、新しいバッテリーをお送りします。

設定方法

関連ドキュメント

  • Google Sheetsへのデータ連携
    IFTTTを使って、ウェビオのデータをGoogle Sheetsにリアルタイムに書き出す方法のチュートリアルです。

お問い合わせ

ご不明な点がございましたら、お気軽にお問い合わせ下さい。
ピクスー株式会社

  • 所在地: 〒150-0002 東京都渋谷区渋谷1-20-9 co-factory渋谷402 ピクスー株式会社
  • メール: info@webiot.io
  • 電話番号: 090-9863-0987(担当:塩澤)