Table of Contents

クラウド認識 APIs の概要

API 一覧

REST API インターフェースプロトコルと認証メカニズム

CRS API は標準的な HTTP REST 通信標準に準拠しています。

Http ヘッダー

    Authorization: <APIKey で取得したトークンを入力>

Http リクエストパラメータは、2種類に分けられます:

  • 共通パラメータ(認証方式によって異なる組み合わせで使用されます):

    • appId
    • timestamp(Long 長整数型:1970年1月1日00:00:00 UTCからの経過ミリ秒数)
    • apiKey
    • signature(リクエスト署名、トークン認証方式と二者択一)
  • CRS API パラメータ: API 固有のパラメータ

    API ドキュメントでは認証用共通パラメータは記述しません

API Key 認証

認証方式は2種類あります:

トークンベース認証

Http ヘッダー Authorization にトークンを含めます。共通パラメータは:

  • appId

署名認証

Http ヘッダー Authorization は使用しません。

共通パラメータに signature 署名情報を含めます。全てのパラメータ(画像を除く)が署名計算に組み込まれます。

  • appId
  • timestamp
  • apiKey
  • signature

署名計算の詳細なアルゴリズムとコードについては、ドキュメント API Key 署名方法 を参照してください。

使用例と属性解析

API 使用例

ここでは、API インターフェースを呼び出してターゲット画像を作成する例を通じて、開発者が CRS API のリクエストプロセスを理解し、ターゲット画像の属性構造とインターフェースの入出力を把握する手助けをします。

本番環境でターゲット画像を作成する前にさらなる検証が必要です。具体的には ベストプラクティス を参照して新しいターゲット画像を作成してください。

リクエスト例

新しい test-target.jpg ターゲット画像ファイルを追加します。ターゲット画像作成時、画像ファイルは base64 エンコードされている必要があります。

API ドキュメントではリクエストパラメータについて詳細に説明します。API —— ターゲット画像の作成 を参照し、base64 エンコードされた画像ファイルで API をリクエストします。

POST /targets HTTP/1.1
Host:
Date: Mon, 1 Jan 2018 00:00:00 GMT
Content-Type: application/json
{
    "image":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgM...",
    "active":"1",
    "name":"easyar",
    "size":"5",
    "meta":"496fbbabc2b38ecs3460a...",
    "type":"ImageTarget",
    "timestamp": 1514736000000,
    "apiKey": "8b485c648c3056e79c2a85ee9b51f9dc",
    "appId": "C:CN1:f9f903c36da8bd64d71d491077bba...",
    "signature": "89985e2420899196db5bdf16b3c2ed0922c0c221"
}

レスポンス例

HTTP/1.1 200 OK
Content-Type: application/json
{
    "statusCode": 0,
    "result": {
        "targetId":"e61db301-e80f-4025-b822-9a00eb48d8d2",
        "trackingImage":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgM...",
        "name": "easyar",
        "size": "5",
        "meta": "496fbbabc2b38ecs3460a...",
        "type": "ImageTarget",
        "modified":1514735000000
        "active":"1",
        "trackableRate": 0,
        "detectableRate": 0,
        “detectableDistinctiveness”:0,
        "detectableFeatureCount": 0,
        "trackableDistinctiveness": 0,
        "trackableFeatureCount": 0,
        "trackableFeatureDistribution": 0,
        "trackablePatchContrast": 0,
        "trackablePatchAmbiguity": 0
    },
    "timestamp": 1514736000000
}

レスポンス形式

レスポンスは統一された形式です。以下は例です:

{
  "statusCode": 119,
  "msg": "Parameter has errors",
  "date": "2022-06-15T09:56:30.000Z",
  "result":  //statusCode が 0 の場合のみ result あり。エラー時は結果フィールドは空
}

上記の例に示すように、これは正常に返されたターゲット画像の詳細構造です。ターゲット画像には以下の属性が含まれます:

属性 説明
targetId ターゲット画像の一意な ID
trackingImage デバイス側画像トラッキング用に処理されたグレースケール画像の base64 エンコード
name ターゲット画像名
size 画像サイズ。アプリケーションで仮想コンテンツを重ねる際の実際のサイズ
meta ユーザー関連データ。ファイル、テキスト、URL が可能。base64 エンコードが必要
type "ImageTarget"
active 有効化されたターゲット画像のみが認識可能。無効化後は認識されない
trackableRate トラッキング難易度評価、値が小さいほど良い
detectableRate 認識総合難易度評価、値が小さいほど良い
detectableDistinctiveness 認識識別難易度評価、値が小さいほど良い
detectableFeatureCount 認識特徴面での難易度評価、値が小さいほど良い
trackableDistinctiveness トラッキング識別難易度評価、値が小さいほど良い
trackableFeatureCount トラッキング特徴面での難易度評価、値が小さいほど良い
trackableFeatureDistribution トラッキング特徴分布難易度評価、値が小さいほど良い

エラーコード

クラウド認識 APIs エラーコード説明

関連トピック