技術情報

アノテーションAPI

 

UIからノートを作成できるだけでなく、注釈プラグインは、注釈を表示、追加、変更できるウェブAPIも提供している。もしあなたがプログラマーなら、このAPIを使って面白いアプリを作ることができる。

まだ作られていないアプリ:

以下は、Annotations APIを使用するアプリのアイデアのリストです。これらのアプリはまだ作成されていませんが、もし存在するのであれば、私たちはそれが大好きです。

  • 変更が加えられたり、新しいブログ記事が書かれたりするたびに、Matomoのデータに自動的に注釈を付けるWordPressプラグイン。
  • あなたのgithubアカウントを監視し、コミットや新しいリリースのたびにMatomoのデータに注釈を付けるアプリです。
  • 購読者リストにメールを送信するたびに、Matomoのデータに注釈を付けるアプリです。

アノテーションAPIはMatomoのAPIの一部です。APIがどのように動作するかについては、こちらをご覧ください。すでにAPIの使い方を知っていて、それを使ってアノテーションを操作する方法を知りたいなら、このまま読み進めて下さい。

APIを使ってアノテーションを表示する

既存のアノテーションを照会するには、2つのAPIメソッドを使用できます:

  • Annotations.get– 単一の注釈を取得します。パラメーターは以下。
    • idSite:注釈が属するウェブサイトのID。
    • idNote:注釈のID。
  • Annotations.getAll– 複数の注釈を取得する。パラメーターは以下。
    • idSite:注釈を検索するウェブサイトのID。複数のIDを指定する場合は、カンマ区切りで指定する。
    • date:注釈が付けられた日付。periodが’range’に設定されている場合は日付範囲。
    • period:使用する期間。デフォルトでは’day’が使用される。他の値 (例えば ‘week’、’month’、’year’、’range’) を指定すると、その期間内のアノテーションが返されます。
    • lastN(オプション) 指定された場合、最後の N 期間が検索に含まれる。

ただし、アノテーションのカウントだけに興味がある場合は、別のAPIメソッドを使うことができる:

  • Annotations.getAnnotationCountForDates– 期間内の注釈とスター付き注釈の数を取得します。パラメーターは以下。
    • idSite:注釈をカウントするウェブサイトのID。
    • date:注釈が付けられた日付。periodが’range’に設定されている場合は日付範囲。
    • period:使用する期間。デフォルトでは’day’が使用される。他の値 (例えば ‘week’、’month’、’year’、’range’) を指定すると、その期間内のアノテーションが返されます。
    • lastN(オプション) 指定された場合、最後の N 期間が検索に含まれる。

APIを使ってアノテーションを追加・変更する

アノテーションを作成、変更、削除するには、以下のAPIメソッドを使用します:

  • Annotations.add – ウェブサイトと日付の新しい注釈を追加する。パラメーターは以下。
    • idSite:注釈が追加されるウェブサイトのID。
    • date:注釈を付ける日付。
    • note:注釈のテキスト。
    • starred: オプ シ ョ ナル)1か0のどちらか。1の場合、 こ の注釈は星印で始ま る。0または指定がない場合は使用しない。
  • Annotations.save– 既存の注釈を変更する。パラメーターは以下。
    • idSite:注釈が属するウェブサイトのID。
    • idNote:注釈のID。
    • date(オプ シ ョ ナル) 設定すると 、 既存の注釈の日付が、 与え る日付に変更 さ れます。
    • note(オプ シ ョ ナル) 設定すると、 既存の注釈テキス ト は、 与え るテキス ト に変更 さ れます。
    • starred:オプ シ ョ ナル)指定する と 、 注釈は、 こ のパ ラ メ タ の値に基づいて、 星印付きか星印なしかのいずれかにな り ます。1 の場合はスター付き、0 の場合はスターなしとなる。
  • Annotations.delete– 既存の注釈を削除します。パラメーターは以下。
    • idSite:注釈が属するウェブサイトのID。
    • idNote:注釈のID。

MatomoのBulk Request機能を使ってアプリを高速化する

作成しようとしているアプリが大量のアノテーションを作成または変更する場合は、一括APIリクエストの送信を検討するとよいだろう。一度に1つのHTTPリクエストを送信して数十個(またはそれ以上)のアノテーションを作成すると、一括リクエストを発行するよりもはるかに遅くなります。詳細はこちらをお読みください