ログイン

Developer Guide & API

開発者ガイド & API

テレメトリの送信方法・データフォーマット・リアルタイム受信の実装手順をまとめています。APIキーはパイロットコンソールから取得してください。

認証

APIキーの設定

すべてのリクエストに apikey ヘッダーを付けてください。キーは パイロットコンソール の「APIキー」カードで確認できます。

HTTP ヘッダー
apikey: awos_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

※ キーを確認するには サインイン が必要です。

Remote ID

空の耳になる

リモートIDは、登録されたすべての機体が1秒に1回発信する公開電波です。 暗号化されておらず、誰でも受信できます。届く距離は数百メートル。だから、この地図が埋まるかどうかは、受信機が何台あるかで決まります。

python3 -m pip install bleak requests
python3 tools/remoteid-receive.py
  • 拾えるのは 登録記号 と位置です。所有者の氏名住所は電波に乗りません
  • 受信は ASTM F3411 に準拠します(国土交通省 リモートID技術規格書)
  • 聞こえないことは、飛んでいないことではありません。受信範囲外かもしれません
受信機のコードを見る →

テレメトリ送信

POST /rest/v1/flight_telemetry

POSThttps://cdocgepaxophadwnhhfm.supabase.co/rest/v1/flight_telemetry

機体・地上局・シミュレーターから1回のリクエストで位置データを送信します。レイテンシは世界のどこからでも 50ms 以下を目標としています。成功時のステータスコードは 201 Created です。

curl

curl -X POST 'https://cdocgepaxophadwnhhfm.supabase.co/rest/v1/flight_telemetry' \
  -H 'apikey: awos_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \
  -H 'Content-Type: application/json' \
  -d '{
    "drone_id": "your-drone-id",
    "latitude": 35.6895,
    "longitude": 139.6917,
    "altitude": 120,
    "timestamp": "2026-06-06T09:00:00Z"
  }'

Python

import requests

url = "https://cdocgepaxophadwnhhfm.supabase.co/rest/v1/flight_telemetry"
api_key = "awos_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

payload = {
    "drone_id": "your-drone-id",
    "latitude": 35.6895,
    "longitude": 139.6917,
    "altitude": 120,
}

resp = requests.post(
    url,
    json=payload,
    headers={"apikey": api_key, "Content-Type": "application/json"},
)
print(resp.status_code)  # 201 Created

データフォーマット

リクエストボディのフィールド

フィールド
必須
説明
drone_id
string
パイロットコンソールで登録したドローンID
latitude
float
緯度 — −90 〜 90
longitude
float
経度 — −180 〜 180
altitude
float
高度(メートル)— 0 以上
timestamp
ISO 8601
省略時はサーバー受信時刻を使用

リアルタイム受信

WebSocket でテレメトリをリッスン

Supabase Realtime を使うと、新しいテレメトリが届いた瞬間にクライアントへプッシュされます。ポーリング不要で、フライトモニターのマップはこの仕組みで動いています。

JavaScript / TypeScript

import { createClient } from '@supabase/supabase-js'

const supabase = createClient(SUPABASE_URL, SUPABASE_ANON_KEY)

supabase
  .channel('telemetry-live')
  .on(
    'postgres_changes',
    { event: 'INSERT', schema: 'public', table: 'flight_telemetry' },
    (payload) => {
      console.log('新着テレメトリ:', payload.new)
    }
  )
  .subscribe()

基盤

通信とデータ保護の方式

TLS 1.3

通信

AES-256

保存時暗号化

RLS

行単位アクセス制御

Edge

実行環境

ロードマップ

近日公開予定

準備中

Python SDK

pip install airffic — 1行でテレメトリを送信

準備中

Node.js SDK

npm install @airffic/sdk — TypeScript完全対応

準備中

Webhook 通知

異常検知・フェンス逸脱をリアルタイム通知

準備中

履歴データ API

ルート履歴・ミッションログをエクスポート

準備中

ジオフェンス API

飛行エリアの設定・違反アラートのトリガー

準備中

バッチ送信

複数ポイントを1リクエストで一括書き込み