第548話:月曜朝の Analytics API リクエスト(3)

2017年8月14日

アナリティクスいわく「○×工務店さんが困ってマス!?」

前々回記事前回記事では、「先週のWebアクセス動向」が社内通知される(ほぼ無人の)ワークフローを紹介しました。

この業務プロセスが運用されれば、社員は毎週月曜日の朝、「Google Analytics Reporting API」を通じて得られた最新情報について、メールで確認できるようになります。その結果、日々の「サポート業務」や「セールス業務」は、より効率良いものになるでしょう。

ただ、もう少し欲を言えば、「Analytics に無い情報」も併記しておいてもらいたいものです。つまり、
  • 先週火曜日、プレスリリースを配信した
  • 先週木曜日、ユーザ向けセミナーを実施した(○×工務店さんも居た!)
もしこういった Analytics に無い情報も併記されていれば、「流入の多いリンク元」や「特定の顧客が調べているページ」といった動向情報について、もっと深い理解・洞察が可能となるかも知れません。

カレンダー情報も API 取得

以下の業務プロセス定義は、社内カレンダー『広報予定およおび出展予定』(Google Calendar)に書き込まれているイベント(先週分)が、通知メールの文頭に付加される仕組みです。

これにより、通知メールを受ける社員達は、「Webアクセスに影響を及ぼしたかもしれない関連情報」についても、同時に確認することが可能となります。

[自社サイト運用状況報告プロセス3]


API 経由での情報収集

工程『Request to Calendar』は、とある Google Calendar に登録されている「イベント」を一覧取得する自動工程です。(Google Calendar API v3)

<自動工程の設定項目>
  • 通信認可のコンフィグ名
  • 情報を抽出するカレンダーのID
  • 情報を抽出する期間(開始日が格納されている日付型データの名前)
  • 情報を抽出する期間(終了日が格納されている日付型データの名前)
  • タイムゾーン
  • 出力データを格納する文字列型データの名前
<出力データの例>
  • 2017-05-03 (--:--): 憲法記念日
  • 2017-05-04 (--:--): みどりの日
  • 2017-05-05 (--:--): こどもの日
  • 2017-07-21 (16:00): 取締役会
  • 2017-07-28 (09:30): 週次報告会

つまり、案件がこの工程に到達すれば、ワークフローシステム(Questetra等)は、Calendar API v3 の『Eventsリソース』に対してセキュアリクエスト(OAuth2通信)を投げます。そして、レスポンス情報(JSONデータ)にある「start.dateTime 情報」(終日イベントの場合「start.date」)と「summary」(イベントのタイトル)の情報を抽出し、複数行文字列型データとして格納します。

※ API 利用は「プログラミング知識を要する」と思われがちですが、業務フロー図に「自動工程」を配置し、いくつか項目設定するだけで、誰でも自動システムを構築することが可能です。

「APIを活用」は「メールを活用」と同じレベルに?

この業務プロセスの API 利用は、いずれも「自社が保有しているデータ」を単純取得しているだけです(当然無料)。

しかし、自社データの自動集計は、
  • 「他社が保有しているデータ」を取得する
  • 「自社が保有しているデータを他社に加工してもらったデータ」を取得する
といった将来拡張への第一歩とも言えます。

折しも近年では「APIエコノミー」という言葉が聞かれるようになり、
  • タクシー予約
  • ホテル予約
  • 代金の送金
  • コミュニティー内での情報共有
  • 会話文における話者感情の数値化
  • 質問文に対する回答文の草稿作成
といった、さまざまな手続きが API によって自動化されつつあります。これからの時代、API は「活用できて当然のツール」になるのかも知れません。(API で社内業務を改善する。API でお客様の満足度を高める。など)

※ Questetra は様々な API をコントロールできるプラットフォームです。API 利用者に貢献します。

なお、「情報ソースの提供」や「情報加工サービスの提供」といった【API提供者】としての事業展開を考える場合であれば、より深いレベルでトレンドキャッチに時間を使わなければならないと言えます。すなわち、使ってもらいやすい API を考えるには、世界で広く使われている API の深いレベルまでチェックしておきたいところです。それは、製造業における「ケーブル規格」のようなモノなのかも知れません。(たとえば「Request Query Parameters」あるいは「Request Body Parameters」のパラメータ名など)

「Events: list」のリファレンス

<自動工程の「定義ファイル」(Addon-XML)における通信部分>
// Set API Request
var apiRequest = httpClient.begin();
apiRequest.queryParam( "calendarId", calendarId );
apiRequest.queryParam( "orderBy", "startTime" );
apiRequest.queryParam( "singleEvents", "true" );
apiRequest.queryParam( "timeMax", endDate + "T23:59:59" + timezone ); // for request
apiRequest.queryParam( "timeMin", startDate + "T00:00:00" + timezone );
apiRequest.queryParam( "timeZone", timezone ); // Time zone for response

// Set OAuth2 Access Token
var token = httpClient.getOAuth2Token( oauth2 );
apiRequest.bearer( token );

// API Access
var accessLog = "";
var uri = "https://www.googleapis.com/calendar/v3/calendars/calendarId/events";
var response = apiRequest.get( uri );
var statusCode = response.getStatusCode() + "";
accessLog += "---GET request--- " + statusCode + "\n";
accessLog += response.getResponseAsString() + "\n";


[自社サイト運用状況報告プロセス3:「1.報告文作成」画面]

<データ項目一覧画面>


[雛形ダウンロード (無料)]
<類似プロセス>
≪関連記事≫

[英文記事 (English Entry) ]

0 件のコメント :

コメントを投稿