このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
sier:api:intruder [2024/02/05 11:44] – admin | sier:api:intruder [2024/02/05 12:22] (現在) – admin | ||
---|---|---|---|
行 2: | 行 2: | ||
このページではロボットをカスタマイズする際に利用できるAPIについて記述する。SysUI経由で内部APPからのみ送受信可能なものは、連携が×となっておりそれ以外は、HTTP通信によって外部機器から送受信可能となっている。 | このページではロボットをカスタマイズする際に利用できるAPIについて記述する。SysUI経由で内部APPからのみ送受信可能なものは、連携が×となっておりそれ以外は、HTTP通信によって外部機器から送受信可能となっている。 | ||
なお、指示や取得への応答は、ほとんどのAPIで非同期となっており、info型で返却される。これは、複数の外部連携機器や画面同期を実現するための仕組みであり、どこで操作が行われても全連携システムに、結果が同報的に送信されることを担保する仕組みである。 | なお、指示や取得への応答は、ほとんどのAPIで非同期となっており、info型で返却される。これは、複数の外部連携機器や画面同期を実現するための仕組みであり、どこで操作が行われても全連携システムに、結果が同報的に送信されることを担保する仕組みである。 | ||
+ | |||
+ | ====== 内部APIと外部APIの使用方法 ====== | ||
+ | ==== 内部API ==== | ||
+ | BUDDYの顔画面(ブラウザ)上で動くアプリは全てSysUIのiframeの内部で動作する。APIは全てjavascriptのsysuiクラスで実装済みであり、アプリでは親クラスを継承して関数を呼び出すだけとなる。詳細は標準アプリを参照すること。 | ||
+ | |||
+ | 受信側は特殊なつくりとなっており、アプリのルートディレクトリ内に配置されるservice_event_dispatch_setting.jsonというファイルの設定に従って、iframeの内部で動くアプリのURLを強制的に切り替える動作をする。これは画面の非同期的処理を実現するための簡便な仕掛けである。 | ||
+ | |||
+ | 従って、service_event_dispatch_setting.jsonに以下のような登録があると、 | ||
+ | < | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | </ | ||
+ | ロボットがinfo_move_start(移動開始通知)を送信すると、SysUIがアプリの画面を強制的にonmove.phpに切り替えるという設定となる。これによって、常時通信を監視しなくても、イベント駆動型の画面切り替えが簡便に製造可能となる。 | ||
+ | |||
+ | ==== 外部API ==== | ||
+ | 外部APIは上記とはまったくことなる仕組みであり、SysUIの継承や制約なく、独自の外部システムと連携するためのAPIである。送信はBUDDYのIPアドレス: | ||
+ | )に対してロボット側からPOSTの形で実行される。 | ||
+ | |||
==== 種類 ==== | ==== 種類 ==== | ||
行 46: | 行 68: | ||
|::: | |::: | ||
|::: | |::: | ||
+ | |::: | ||
|::: | |::: | ||
|外部機器|[[sier: | |外部機器|[[sier: |