Skip to main content

 

上記の記事にて、CSVファイルなど外部のシステムからTimeline API経由でのアクティビティの登録についてはご紹介しましたが、Gainsight内の日時項目を利用した際のTimeline APIの登録の際に少しテクニックが必要なので、その方法をご紹介致します。
(この記事では、日時変換の部分をご説明するためルールエンジンからのAPI呼び出し処理等については上記記事をご確認下さい)

Previewで閲覧する際の日時文字列と実際にAPIで投げられる文字列の形式は異なることがあるため、以下の形式をご参考に設定して下さい。

 

まず、gainsight内での日時(datetime)データの保存形式は

YYYY-MM-DDThh:mm:ssXXX (例: 2025-09-13T11:46:00.000+09:00)

YYYY-MM-DDThh:mm:ssXXX (例: 2025-09-13T11:46:00.000+09:00)

となっています。

一方で、Timeline Activity登録のAPIが受け付けられるフォーマットは

YYYY-MM-DDThh:mm:ss.SSSXXX (例: 2025-09-13T11:46:00.000+09:00)

のように、ミリ秒(.SSSの部分)を含める必要があります。

 

ルールエンジンの中では以下の3つのTransform処理で日時項目を上記のフォーマットに変更できます。

  1. Datetime型の日時項目をString型に変更する
    Datetime型でのフォーマット変更は難しいため、一度文字列に変換します。
    文字列への変換はToString関数を利用することで実施できます。(デフォルト値を第2引数として与える必要がありますので、必要があればデフォルトの日時をセットして下さい。気にしない場合は適当な文字でOKです)
  2. String型の日時項目からタイムゾーンを取り除く
    ミリ秒を追加するため、LEFT関数を使って一度タイムゾーン(+09:00の部分)を取り除きます。
    (タイムゾーンの値は環境のLocaleに依存するのでアプリケーション設定をご確認下さい)
  3. ミリ秒とタイムゾーンを結合し、APIで利用可能な文字列に変換
    先程取り除いたタイムゾーン(ここでは+09:00)とミリ秒(.000)をConcat関数を使って先程の文字列と結合します。

これでAPIで利用可能な日時形式の文字列が作成できました。

Be the first to reply!