注意事項

コードスタイルブロックの例は異なる URL を含むことができます。あなたのリセラー URL(例:cloud.camstreamer.com)に従って変更する必要があります。

APIトークンの作成と使用

認可

APIサーバーとのすべての通信は、アクセストークンを介して認証されなければならない。有効なトークンは、各APIコールのヘッダーに挿入する必要があります。 トークンは、ポータルでフルアカウントにアクセスできるユーザーによって作成できます。

  1. アカウントに完全なアクセス権限があることを確認してください。
    • アカウントが制限されている場合、APIメニューは表示されません。
    • この場合、管理者にアカウントのフルアクセス権を提供してもらうよう依頼してください。
  2. 右上にあるユーザーのアイコンを押し、 APIオプションを選択します。
  3. APIトークンの作成ボタンを押すと、新しいアクセストークンとアクセス権が追加されます。
  4. 各APIコールのヘッダーにトークンを使用する。

認証ヘッダー

"Authorization : Bearer TOKEN”

認可の例

curl -X POST -H 'Authorization: Bearer TOKEN' -H "Content-Type: application/json" --data-binary '{"query":"{cameraList{name}}"}' https://system2.netrex.cz/api/graphql.php

GraphQL API入門

ポータルはAPIにアクセスするためにGraphQLを 使用する。サーバーはクエリー文字列を解釈し、必要な形式のデータをレスポンスとして返す。これは、API内のデータに関する包括的で明確な記述を提供し、クライアントアプリケーションに必要なデータを正確に要求する能力を与える。

GraphQLは2種類の操作を使用する。クエリー操作はデータの読み込みに使用される。変異はデータを変更するために使用されます。個々のクエリー操作と変異操作は、POSTエンドポイントリクエストで送信される。ポータル・アドレスの後に“api/graphql.php“を追加する。

終点は、実行される操作に関係なく一定である。

ヒント

GraphQLについてはこちらの記事をご覧ください。RESTからGraphQLへの移行についてはこちらの記事をご覧ください。

APIの使用

GraphQL APIで利用可能なすべてのタイプ、クエリー、ミューテーションの詳細なドキュメントは、APIエクスプローラーで利用可能です。これを開くには、ポータルアドレスの後に「api/explorer/index.html」を追加するだけです。クイックスタートのための最も重要な情報は、API統合のための最も一般的なシナリオの章に記載されています。

注意事項

パブリックAPIは、ユーザーインターフェースでサポートされているすべてのアクションをサポートしているわけではありません。サポートされていないアクションに興味がある場合は、サポートまでお問い合わせください。

APIエクスプローラ

クエリをテストするには、ユーザーアカウントを認証し、クエリをインタラクティブにテストできるAPI Explorerの使用をお勧めします。APIエクスプローラでは、接続されたアカウントのデータに対して特定のクエリや変異を提案、検証、実行することができる。また、エクスプローラーを使用して、すべてのクラウドAPIクエリ、変異、およびデータタイプの構造化されたドキュメントを表示および閲覧することもできます。ドキュメントは右上のDocsをクリックすることで開くことができる。

開いたら、クラウドアカウントにログインする必要があります。右上のログインボタンを押します。エクスプローラーボタンを押すと、すべてのクエリーとミューテーションのツリーリストが表示され、クエリーの作成が簡単になります。

警告

エクスプローラーAPIを使用すると、アカウントのデータを照会および編集できます。重要なデータを削除したり変更したりしないように注意してください。

APIトークンの作成

APIトークンは、システム・アプリケーション・インターフェースおよびポータルに接続されているカメラのアプリケーション・インターフェースへのクライアント・アクセスを認証するために使用されます。

  1. 右上にある、ログインしているユーザー名のボタン( )を押してください。
  2. APIタブを開く。
  3. Create API Tokenボタンを押します。
  4. 任意のトークン名を記入してください。
  5. 希望するトークンの有効期限を選択します。
  6. 保存 ボタンで確認する。

注意事項

トークンをカメラAPIの認証に使用するには、Configurationパーミッションを有効にする必要があります。

OAuth2 API認証

認証トークンを取得するには2つの方法がある。最初の方法は、ユーザー・インターフェースでトークンを作成する方法です。この方法は最もシンプルで、ほとんどのAPIアプリケーションで推奨されています。Oauth2プロトコルを使用してトークンを取得することもできる。以下に、OAuth2を使用して認証トークンを取得する手順を説明します。

ヒント

OAuth2を実装するには、利用可能なライブラリのいずれかを使用することをお勧めします。OAuth2についての詳細と紹介

クライアント・アプリケーションの作成

まず、新しいOAuth2アプリケーションを作成します。OAuth2アプリケーションは、任意のオーナーまたはゲストアカウントを使用してAPIへの承認を可能にします。アカウントにログインすると、クライアントアプリケーションの管理インターフェイスを利用できます。

  1. 右上のユーザーアイコンを押し、 APIを選択する。
  2. OAuth2アプリケーションを開きます。

OAuth2アプリケーションは、アプリケーション・インターフェースへのアクセス要求者を定義します。このアプリケーションは、あらゆるシステムアカウントの認証に使用できます。

注意事項

フルアクセスアカウントのみがアプリケーションを作成できます。

アプリケーションを作成する際には、以下の情報を入力する必要があります:

  • 名前 – “My application “など、任意の名前を入力してください。
  • 説明 – 任意の説明を入力します。
  • リダイレクトURLのリスト – 認証後にユーザーがリダイレクトされるURLを入力します。

ヒント

統合ごとに新しいクライアント・アプリケーションを作成することをお勧めします。

OAuth2アプリケーションが作成されると、アプリが生成されます:

  • client_id – 一意のアプリケーション識別子、
  • client_secret – アプリケーションキー、

これは OAuth2 が認証コード “AUTHORIZATION_CODE” を取得する際に使用します。

認証コードの取得

注意事項

コードスタイルブロックの例は異なる URL を含むことができます。別のリセラーの下にアカウントを持っている場合、リセラーの URL に従って変更する必要があります(例:cloud.camstreamer.com)。

さらにアクセストークンと交換できる認証コードを取得するには、エンドポイントhttps://system2.netrex.cz/oauth2/auth。

POST:
https://system2.netrex.cz/oauth2/auth/?response_type=code&client_id=CLIENT_ID&redirect_uri=CALLBACK_URL&scope=read,write

リクエストパラメーター

パラメータ説明
クライアントIDクライアント・アプリケーションを識別する。
範囲コンマで区切られた必要な権利のリスト。設定可能な権限は、
– read、
– write、
– liveview、
– audiotransmit、
– liveview_ptz、
– liveview_light、
– liveview_audioclip、
– recordings、
– recordings_delete、
– events。
リダイレクト_url認証コードを送信する URL。これは、クライアント・アプリケーション定義で許可されているURLと同じでなければなりません。
状態認証コードと共にそのまま redirect_url に渡されるオプションのセキュリティパラメータ。

まず、ポータルのログイン画面にリダイレクトされます。アカウントにログインすると、クライアントアプリケーションへのアクセスを許可するかどうかを尋ねるダイアログが表示されます。ダイアログを確認/拒否すると、redirect_url がリダイレクトされ、認証コードを示す “code” パラメータ、またはエラーの理由を示す “error” パラメータが GET パラメータに追加されます(ユーザがアクセス要求を拒否した場合は “access_denied”)。リクエストに “state “パラメータが指定されていた場合、それもリダイレクトに追加されます。

アクセストークンの取得

アクセストークンを取得するために、エンドポイントhttps://system2.netrex.cz/oauth2/token、場合によってはリフレッシュトークンも使用される。

POST:
https://system2.netrex.cz/oauth2/token?client_id=CLIENT_ID&client_secret=CLIENT_SECRET&grant_type=authorization_code&code=AUTHORIZATION_CODE&redirect_uri=CALLBACK_URL
パラメータ説明
クライアントIDクライアント・アプリケーションを識別する。
クライアント・シークレットクライアント・アプリケーションのシークレット・キー。このキーを使用して、APIへの永続的なアクセス(アクセストークンとリフレッシュ・トークン)を取得できます。このパラメータがない場合は、一時的なアクセスのみが許可されます(つまり、アクセストークンのみ)。client_secretパラメータは、漏洩の危険性がある場合には使用できないことに注意してください。例えば、JavaScriptアプリケーションでは使用できません。
リダイレクト_urlクライアント・アプリケーション定義に記載されているリダイレクトURLの1つ。このステップでは、追加のセキュリティ機能としてのみ機能し、それ以上のリダイレクトは発生しません。
グラントタイプ認証方法を指定するパラメータ。以下のオプションが利用可能。
auth_code。これは、前のステップの認証コードとアクセストークンの交換です。
refresh_token。これは、次の期間の新しいアクセストークンの更新または交換です。

JSON 形式で可能な回答:

{"access_token":"ACCESS_TOKEN","expires_in":3600,"refresh_token":"1234"} – APIへのアクセスは時間無制限。アクセストークンの有効期限が切れた場合は、トークンをリフレッシュすることで新しいアクセストークンを取得できます。このタイプのアクセスでは、クエリでclient_secretを使用する必要があります。
{"access_token":"ACCESS_TOKEN","expires_in":3600} – APIへの1回限りのアクセス。アクセストークンの有効期限が切れるとキャンセルされる。
{"error":"Error message"} – 無効なリクエストまたはシステムエラーです。

取得したACCESS_TOKENは、各Graph API呼び出しのヘッダーに挿入できる(”Authorization: Bearer TOKEN”)。

アクセストークンの取り消し

アクセストークンは、ユーザーインターフェースまたはAPIを使用していつでもキャンセルできます。アクセスのキャンセルにはエンドポイント https://system2.netrex.cz/oauth2/revoke を使用します。

POST:
https://system2.netrex.cz/oauth2/revoke?access_token=ACCESS_TOKEN
パラメータ説明
アクセストークン削除する既存のトークン。

JSON形式で回答する:

{"success":true,”message”:”Info message”} – 与えられたアクセストークンは(リフレッシュトークンも含めて)取り消される。

OAuth2のユーザー権限

システムは、閲覧が制限される可能性のあるフルアクセス・ユーザーとパーシャルアクセス・ユーザーを区別する。Oauth2 認証を使用する場合、API を通じて取得されるデータはユーザーのアクセス権に対応します。完全な可視性を確保したい場合は、OAuth2認証時にフルアクセス権を持つアカウントを使用するか、静的APIトークンを生成してください。

API統合の一般的なシナリオ

注意事項

コードスタイルブロックの例は異なる URL を含むことができます。別のリセラーの下にアカウントを持っている場合、リセラーの URL に従って変更する必要があります(例:cloud.camstreamer.com)。

APIエクスプローラーを使って、以下の例を簡単にテストすることができます。APIの認可情報を取得するには、ここをクリックしてください。

オブジェクトの構成

ユーザー、カメラ、電気入力、ダッシュボード、フォルダなどのオブジェクトは、ツリー構造のノードです。この構造により

  • 複数のオブジェクトから集約されたメトリクスを取得します。
  • オブジェクトグループのユーザー権限を管理する。
  • ユーザーインターフェイスをより分かりやすくするために、オブジェクトをグループに整理。

フォルダオブジェクトは無限の没入を可能にする。電気入力のようないくつかのオブジェクトは、常にカメラオブジェクトの下に没入しています。

ユーザーが見る権利を持つすべてのアイテムのリスト。OAuth2 認証では、すべてのアイテムを見ることができないゲストユーザーにもトークンが発行される可能性があることに注意しましょう。

query {
 nodeList {
  parent_node_id
  node_id
  type
  name
 }
}

回答

{
 "data": {
  "nodeList": [
   {
    "parent_node_id": null,
    "node_id": 138170,
    "type": "folder",
    "name": "rootfolder"
   },
   {
    "parent_node_id": 138170,
    "node_id": 138170,
    "type": "folder",
    "name": "San Diego"
   },
…
  ]
 }
}

オブジェクト “camera “だけを取得したい場合は、オプションのパラメータ・タイプを使用する。APIエクスプローラーの生成されたドキュメントで、利用可能なすべての型を見つけることができる。

query {
 nodeList(type:camera) {
  parent_node_id
  type
  name
  node_id
 }
}

回答

{
 "data": {
  "nodeList": [
   {
    "parent_node_id": 138170,
    "type": "camera",
    "name": "ACCC8EE8A9CA",
    "node_id": 140094
   }
  ]
 }
}

カメラパラメータの取得

カメラ・タイプは、録画のダウンロードやライブ・ストリームの取得に使用する最も包括的なタイプです。カメラ・タイプのクエリはカメラに関する多くのパラメータを返します。

カメラの種類をクエリすると、シリアル番号(serial_number)、接続状態(is_connected)、カメラの IP アドレス(source_ip)の情報が得られます。必須パラメータである node_id は前の cameraList または nodeList のクエリを使用して見つけることができます。

query {
 camera(node_id:140094){
  name
  serial_number
  is_connected
  connection{
   source_ip
  }
 }
}

回答

{
 "data": {
  "camera": {
   "name": "ACCC8EE8A9CA",
   "serial_number": "ACCC8EE8A9CA",
   "is_connected": true,
   "connection": {
    "source_ip": "211.21.111.111"
   }
  }
 }
}

KPIメトリクスへのアクセス

KPI指標を得るために使用できるいくつかのタイプがあります:

統計データ

1つのオブジェクト(カメラ)に対して1つの値を返す。1台のカメラから1つの数値を取得する場合に使用します。例えばカメラ1をカウントしている人の入場者数。

利用可能なメトリクス:

  • peopleCount – 訪問者数。
  • peopleCountIn – 訪問者数(エントリーのみ)。
  • peopleCountOut – 訪問者数(出力のみ)。
  • transactionValueIn – プラスの支払トランザクションの値(100倍)。
  • transactionCountIn – 正の支払いトランザクション数。
  • transactionValueOut – 負の支払トランザクションの値(100倍)。
  • transactionCountOut – 負の支払トランザクションの数。
統計データメトリック

フォルダー内の 1 つのオブジェクトまたは複数のオブジェクトに対する単一の値を返します。フォルダオブジェクトへのクエリは、フォルダ内のすべてのオブジェクトの集計値を返します。複数のカメラから集約された単一の値を取得する場合に使用します。例えば全店舗のカメラがフォルダ “San Diego” にある1つの店舗からの訪問者数。

利用可能なメトリクス:

  • peopleCountAverage – 訪問者数。
  • peopleCountIn – 訪問者数(受信のみ)。
  • peopleCountOut – 訪問者数(発信のみ)。
  • peopleCountPassBy – 店舗の前を通過した来客数。
  • transactionCountPositive – 正のトランザクション数。
  • transactionCountNegative – 負のトランザクションの数。
  • transactionAmountPositive – 正の取引の値。
  • transactionAmountNegative – 負の取引の値。
  • conversionCount – コンバージョン数; (正のトランザクション数 / 訪問者数) * 100.
  • conversionAmount(コンバージョンアマウント) – 訪問者1人あたりの支出。
  • transactionAmountAverage – 取引の平均値(正の取引のみ)。
statisticDataMetricBy粒度

単一のクエリで複数の値(データ系列)を返します。利用可能なメトリクスおよび集約は、上記の statisticDataMetric と同じです。これを使用して、1 つのクエリで複数の値をフェッチします。このクエリのパラメータは粒度です。粒度は、返されるデータ・ポイントの数を定義します。

粒度:

  • 本部 – 15分
  • H – 時
  • H4 – 4時間
  • H8 – 8時間
  • H12 – 12時間
  • W – 週
  • M – 月

システム内のすべてのメトリクスは15分の分解能で保存されている。クエリが 15 分間隔に一致しない場合、API は近隣の間隔を使用して結果を計算します。パラメータ “from “と “to “はUnix Timestamp形式です。テスト目的には、Unix Timestamp Converterを使用できます。

例 1 – 単一の値の取得

フォルダへのクエリは、フォルダ内のすべてのカメラの集計された peopleCountAverage を返します。

query {
 statisticDataMetric(from:1589186000, to:1589186780, type:peopleCountAverage,node_id:140094)
}​

回答

{
 "data": {
  "statisticDataMetric": 57
 }
}

例2 – 複数の値を取得する(時系列)

フォルダへのクエリは、15分単位で集計されたpeopleCountAverageを返します。

{
 statisticDataMetricByGranularity(from: 1589186000, to: 1589186780, type: peopleCountAverage, node_id: 63575, granularity: HQ) {
  from
  to
  value
 }
}

回答

{
 "data": {
  "statisticDataMetricByGranularity": [
   {
    "from": 1589185800,
    "to": 1589186700,
    "value": 20
   },
   {
    "from": 1589186700,
    "to": 1589187600,
    "value": 12
   }
   …
  ]
 }
}

カメラからのライブストリームを見る

カメラの種類を照会して、ライブ・ストリームにアクセスするための URL を調べます。ポータルはビデオ・ストリーミング用にいくつかのプロトコルをサポートしています。プロトコルはカメラアクセスによって異なります:

  • ローカルネットワーク内でのアクセス:
    • rtsp – 暗号化されていないプレーンなRTSP。
  • 公共インターネット経由でのアクセス:
    • rtsp – 暗号化されていないプレーンなRTSP。
    • rtsph – HTTP経由の暗号化されていないRTSP。
    • rtsphs – HTTPS上で暗号化されたRTSP。
    • rtspws – 非暗号化 RTSP over WebSocket。
    • rtspwss – RTSP over WebSocket Secure。

ライブストリームへのアクセスの安全性

ストリーミング URL に対する API クエリは、30 秒間有効な RTSP リンクを生成します。30秒が経過するか、プレーヤを切断すると、プレーヤに接続できなくなり、アプリケーションは新しいRTSPリンクを要求する必要があります。

選手

システムからライブビデオを再生するには、GitLabリポジトリで利用可能な私たちのウェブプレーヤーを使用することをお勧めします。このプレイヤーはWebSocket SecureとRTSPプロトコルの組み合わせを使用しており、インターネット上のどこでもビデオを再生するのに適しています。

この例では、リモートプレーヤー用のビデオストリームを取得する方法を示します。ほとんどのカメラでは、異なるプロファイル(解像度とキャプチャ)のストリーミングが可能です。streamProfileタイプをクエリして、利用可能なプロファイルを調べます。

query {
 camera(node_id:140094){
  stream_profiles{
   stream_profile_id
   width
   height
  }
 }
}

回答

{
 "data": {
  "camera": {
   "stream_profiles": [
    {
     "stream_profile_id": 120846,
     "width": 800,
     "height": 450
    },
    {
     "stream_profile_id": 120850,
     "width": 1920,
     "height": 1080
    }
   ]
  }
 }
}

次のクエリーは、現在生成されているRTSPストリームのRTSPとURLを取得する。

query {
 camera(node_id:140094){
  live_view(stream_profile_id:120850){
   remote{
    rtsp{
     url
    }
   }
  }
 }
}

回答

{
 "data": {
  "camera": {
   "live_view": {
    "remote": {
     "rtsp": {
      "url": "rtsp://nvhs10.survilla.net:2554/nvhs10~1600421245~9469bb1a2b831031456ef9c4abc182573d7a86a9f305f54df18621a9484d6134"
     }
    }
   }
  }
 }
}

複数のビデオ・チャンネルをサポートするカメラもある。例えば、複数の光学系を持つカメラや180°カメラのバーチャルビューなどです。チャンネルは、live_view タイプのオプションのパラメータ video_channel_node_id で選択できます(stream_profile_id:120850、video_channel_node_id:1000)。各カメラのビデオ・チャネルのリストはカメラの種類で確認できます。

録画の視聴とダウンロード

録画の視聴/ダウンロードのプロセスは、3つのステップに分かれています:

  1. 録画の有無を確認し、recording_idを取得する。
  2. 必要な解像度での録画の準備。
  3. 録画をダウンロードするためのURLを取得します。

以下の例は、全体のプロセスを示している。

Recording_idは一意のレコード識別子です。これは、次のクエリを使用して可用性をチェックするときに作成されます。また、次のステップで使用する使用可能な録画サイズについても尋ねます。利用可能なサイズのうち最も大きいものがデフォルトの録画解像度に相当し、準備に最も時間がかかる。from “と “to “パラメーターは、必要な録画期間を定義します。

query{
 camera(node_id:62303){
  recordings(from:1589190089, to:1589190689){
   recording_id
   duration
   download_url
   outputs{
    height
   }
  }
 }
}

回答

{
 "data": {
  "camera": {
   "recordings": [
    {
     "recording_id": "xRMElmAkh3",
     "duration": 598,
     "download_url": null,
     "outputs": [
      {
       "height": 480
      },
      {
       "height": 720
      },
      {
       "height": 800
      }
     ]
    }
   ]
  }
 }
}

答えが空のフィールドを含む場合、ユーザ・インターフェースで、指定されたカメラが録画中か、選択された間隔で録画中であったかどうかを確認します。このパラメータは前のステップのrecording_idとheightです。

mutation{
 recordingPrepare(recording_id:"xRMElmAkh3", height:720)
}

回答

{
 "data": {
  "recordingPrepare": true
 }
}

真の値は、録画準備が正常に開始されたことを示す。準備の状態は、recording_idをパラメータとする録画のタイプを問い合わせることで得られる。

query{
 recording(recording_id:"6RjiHGzqCE"){
  progress
  download_url
 }
}

回答

{
 "data": {
  "recording": {
   "progress": 100,
   "download_url": "https://cloud.camstreamer.com/api/download.php?auth_key=2YwmG01NAeNYz4m1bZfwIKLOaoHeCfxH"
  }
 }
}

回答には「progress」とある:100″.アップロードの準備が完了し、download_url にダウンロード URL が含まれています。録画がまだ準備中の場合、download_urlは値 “null “を含み、progressはパーセントで処理状況を表します。
未使用の録画IDは1時間で期限切れとなります。録画のダウンロード URL の有効期限は 24 時間です。録画がダウンロードされた場合、ダウンロードURLの有効期限は6時間後です。

外部IDを使用した要素のペアリング

NodeList タイプのクエリを実行すると、ユーザー・インタフェースで入力された外部 ID をツリー構造内のすべてのアイテムに対して表示できます。外部 ID は、サードパーティ・サービスに統合するためにアイテムを一意に識別するために使用されます。外部 ID は、API セクションで作成できます。

次のクエリーは、対応する外部IDを含むノードのリストを返す。

query{
 nodeList {
  name
  external_id
 }
}

回答

{
 "data": {
  "nodeList": [
   {
    "name": "Folder",
    "external_id": "001"
   },
   {
    "name": "ACCC8EE8A9CA",
    "external_id": "camera1"
   }
  ]
 }
}

カメラアクセスとVAPIXカメラインターフェース

クラウドに接続されたカメラは、カメラにリモートアクセスできる固有の URL を受け取ります。ULRは常にカメラのシリアル番号と1次および2次ドメインdevice-connect.netで構成されます。
https://SerialNumber.device-connect.net/
このようなアクセスは、VAPIX インターフェースによるカメラのプログラム制御 に特に適しています。VAPIXはカメラの制御とパラメータ変更を可能にするアプリケーション・インターフェースです。

カメラとそのVAPIX APIへのアクセスを許可するには、設定権限(DEVICE_ACCESS_TOKEN)を持つAPIトークンを生成する必要があります。トークンの正確な生成手順はこの記事を参照してください。

カメラAPIへのリクエスト例

URLとDEVICE_ACCESS_TOKENからカメラのVAPIXインターフェースに要求できます:

https://serialnumber.device-connect.net/axis-cgi/param.cgi?action=update&ImageSource.I0.Sensor.Brightness=89&root.ImageSource.I0.Sensor.ColorLevel=91&DEVICE_ACCESS_TOKEN=NvA7fxxxxxtYVQ

どこだ?

  • serialnumberはカメラのシリアル番号、
  • /axis-cgi/param.cgiはVAPIXインターフェースの標準URLです、
  • action=update&ImageSource.I0.Sensor.Brightness=89&root.ImageSource.I0.Sensor.ColorLevel=91はVAPIXリクエストです。この場合、画像の明るさと彩度を変更します、
  • DEVICE_ACCESS_TOKEN=NvA7fxxxxxtYVQは、クエリの最後のパラメータとして記載されているワンタイム・アクセストークンである。

CamStreamerアプリのAPI呼び出し例

カメラで使用可能なストリームのリストに対するクエリ:

https://accc8ed8cbf0.device-connect.net/local/camstreamer/stream/list.cgi?DEVICE_ACCESS_TOKEN=D8PxS7HyQZepEwM4

カメラで特定のストリームを開始するためのクエリ:

https://accc8ed8cbf6.device-connect.net/local/camstreamer/stream/set.cgi?stream_id=36559&enabled=1&DEVICE_ACCESS_TOKEN=D8PxS7HyQZepEwM4

エラーの答えと限界

APIリミット

1アカウントに対するAPIクエリの制限:

  • 1クエリー/秒、
  • 10,000クエリー/日。

メトリクス(訪問者数など)をクエリする場合、予想されるクエリサイズは次のようになります:

  • 最長1年、
  • 5 メトリクス(例えば、ブランチ、カメラ、または異なるメトリクス)。

上記で指定されたサイズ以上のクエリーについては、1秒あたりの最大クエリー数を個別に評価する必要がある。

エラー応答

{
 "errors": [
  {
   "message": "Invalid or empty access token.",
   "category": "authError"
  }
 ]
}

アクセストークンがありません:認証トークンが正しい形式でヘッダーに挿入されていることを確認してください。

{
 "errors": [
  {
   "message": "Access token expired.",
   "category": "expired"
  }
 ]
}

有効期限が切れたアクセストークン:システムのAPIセクションで、トークンが有効であることを確認してください。OAuth2トークンの場合は、トークンのリフレッシュをリクエストしてください。

{
 "errors":[
  {
   "message":"Request to an unknown or unavailable platform.",
   "category":"client"
  }
 ]
}

無効なアクセストークンです:認証トークンが正しい形式でヘッダーに挿入されていることを確認してください。トークンはヘッダーに挿入されていますが、有効ではありません。

外部IDの設定

外部IDは、サードパーティのサービスに統合するために、要素を一意に識別するために使用されます。外部 ID は、システムに入力された後、API を通して照会されるときに、各エレメントの一意な識別子として使用されます。外部 ID は、本機を制御するためのショートカットを設定するためにも使用されます。

外部IDの追加

  1. 右上にあるユーザー名のボタン( )を押してください。
  2. APIタブを開く。
  3. 外部IDアプリケーションインターフェースを選択する。
  4. Add identifierボタンを押す。
  5. 項目テキストボックスをクリックすると、項目ツリーウィンドウが開きます。
    • 外部IDを割り当てるフォルダまたは項目を選択します。
  6. 外部識別子を記入する。
  7. 保存 ボタンで確認する。

外部IDの編集

  1. 対応する外部 ID の横にある ボタンを押す。
  2. 必要なパラメータを編集する。
  3. 保存 ボタンで確認する

外部IDの削除

  1. 削除したい外部IDの横にある ボタンを押します。

APIで外部IDをリクエストする

ポーリングに関する情報と例については、Common API Integration Scenariosを参照のこと。