Skip to content

Specification

Akira-Sasaki edited this page Oct 6, 2015 · 4 revisions

API仕様

Device Connect iOS Message APIはDevice Connect RESTful APIで定義されたAPIを、iOS Messageで読み替えたAPIとする。

リクエスト RESTful例

概要

ProfileのAPI仕様書において、リクエストのRESTは、Architectural Styles and the Design of Network-based Software Architectures CHAPTER 5 Representational State Transfer (REST)に基づいたフォーマットで定義している。

共通パラメータ

アプリケーションはリクエストを送信する際、下記のパラメータを含めること。

論理名 物理名 データ型 省略 設定値
アクセストークン accessToken string 右記参照 Authorization Create Access Token APIで取得したアクセストークン。Availability APIのみ省略可。それ以外のAPIでは必須。

注意事項 ・デバイスIDを除くリクエストパラメータは、URLエンコードすること。 ・マルチパートで送信できるファイルは1つのみなので、その点を考慮した実装をする事。 ・各プロファイルにアクセスするために、アクセストークンが必要になります。  ただし、Authorizationプロファイル、SystemプロファイルとNetwork Service Discoveryプロファイルは、例外的にアクセストークン無しでもアクセスすることができます。

HTTPメソッド一覧

HTTPメソッド
GET
PUT
POST
DELETE

リクエスト例

Service Discovery API

GET http://localhost:4035/serviceDiscovery&accessToken=xxxxxxx

Notification API

POST http://localhost:4035/notification/notify?serviceId=取得済みサービスID&type=3&body=文字列&accessToken=xxxxxx

レスポンスJSON例

概要

ProfileのAPI仕様書において、以下のようなレスポンス、メッセージは本資料下部の例のようなJSONとして返される。 各Profileで対応できないレスポンスのパラメータは、省略すること。 例えば、下記の例で言うとmimeTypeを判別できないデバイスの場合には、mimeTypeが省略されたレスポンスが返される。

共通パラメータ

Device Connect Managerはレスポンスを返却する際に下記のパラメータを含める。デバイスプラグイン側で含める必要はない。

論理名 物理名 データ型 省略 設定値
マネージャ名 product string - Device Connect Managerの名前。
バージョン version string - Device Connect Managerのバージョン名。
HMAC hmac string 右記参照 Device Connect Managerの正当性を示すための署名。アプリケーションが事前にHMAC生成鍵を送信していなかった場合は省略される。

レスポンス例

論理名 物理名 データ型 備考
イベントオブジェクト playStatus object イベントの内容を保持するオブジェクト
メディアID mediaId String レコードが開始されたメディアのマイムタイプ。このタイプで、動画、音声などを識別する。
マイムタイプ mimeType String レコードが開始されたメディアのマイムタイプ。このタイプで、動画、音声などを識別する。
再生状態 status String ・"play" 再生
・"mute" ミュート
・"unmute" ミュート解除
・"pause" 一時停止
・"resume" 一時停止解除
トラック番号 trackNo number
トラック内の再生位置 pos number トラックの再生位置を秒単位で返す。

JSON例

{
    "product":"Device Connect Manager",
    "version":"x.x",
    "hmac":"yyyyy",
    "result":0,
    "playStatus":{
        "mediaId":"mid001",
        "mimeType":"audio/mp3",
        "status":"play",
        "trackNo":5,
        "pos":80
    }
}

エラーレスポンス

概要

ProfileのAPI仕様書において、リクエストに対するレスポンスは result が 0以外 のとき、以下の項目を含む。

レスポンスの共通パラメータ

論理名 物理名 データ型 説明
エラーコード errorCode int エラー番号
エラーメッセージ errorMessage NSString* エラー内容

エラー一覧

エラーコード エラー内容
1 原因不明のエラー
2 未サポートプロファイルエラー
3 未サポートアクション(HTTPメソッド)エラー
4 未サポートアトリビュートエラー
5 デバイスID未設定エラー
6 デバイス発見失敗エラー
7 タイムアウトエラー
8 未知のインターフェースへのアクセスエラー
9 バッテリー低下による操作不能エラー
10 不正なリクエストパラメータエラー
11 認証エラー
12 アクセストークン有効期限切れエラー
13 アクセストークン未設定エラー
14 スコープ外へのアクセスエラー
15 認証時にクライアントIDを発見できなかったエラー
16 デバイス状態異常エラー
17 サーバー状態異常エラー

Clone this wiki locally