プロジェクトの構成
プロジェクトのコンテキストで、イベントタイプの定義をapp/内のapp-eventsディレクトリーに配置します。app-eventsディレクトリーには、各イベントタイプのJSONスキーマ定義ファイル(*-hsmeta.json)が含まれている必要があります。
- アプリがOAuth認証を使用しており、アプリマーケットプレイスでの配布用に設定されている必要があります。また、アプリの
requiredScopesにtimelineが含まれている必要があります。アプリの設定についての詳細をご確認ください。 - アプリ イベント コンポーネントを含めるには、その前にプロジェクトが正常にデプロイされている必要があります。
イベント タイプ スキーマ
イベント タイプ スキーマで使用できる設定オプションを以下に示します(*-hsmeta.json)。以下の属性の一部は、イベントタイプが作成された後に変更することはできません。
*でマークされたフィールドは必須です。
イベントプロパティー
イベントスキーマを定義するときには、properties配列を使用して、イベント オカレンス データの送信先フィールドを定義します。イベントタイプごとに最大500個のプロパティーを設定できます。
*でマークされたフィールドは必須です。
プロパティーへのデータの付加
場合によっては、アプリ イベント オカレンス データに基づいてCRMレコードのプロパティー値を変更することがあります。例えば、コンタクトの姓名を、オカレンス(例:フォーム送信)によって設定された新しい値に更新することがあります。 イベントオカレンスによってCRMレコードプロパティーを更新するには、イベントプロパティーをイベント タイプ スキーマ内のCRMプロパティーにリンクします。特定のイベントプロパティーの定義フィールドに、objectPropertyNameフィールドを含め、リンクするCRMプロパティーを指定します。プロパティーがリンクされると、HubSpotは常にtimestampフィールドに基づく最新のオカレンスの値を使用して、CRMレコードのプロパティー値を更新します。
例えば以下のイベント タイプ スキーマは、イベントプロパティーcustomerNameをカスタム コンタクト プロパティーcustom_property_nameにリンクします。イベント オカレンス データにcustomerNameの値が含まれている場合、関連付けられているCRMレコードのcustom_property_nameが更新されます。
表示テンプレート
イベント タイプ スキーマにはheaderTemplateフィールドとdetailTemplateフィールドを含めることができます。これらのフィールドにより、イベントオカレンスがCRMレコードタイムラインにどのように表示されるかを設定できます。
headerTemplate:アクティビティーカードの上部に、イベントに関する1行の説明(最大1,000文字)として表示する。detailTemplate:アクティビティカードの本文に、イベントの詳細(最大10,000文字)として表示する。
- どちらのテンプレートでも、構文
{{propertyName}}を使用して、イベントオカレンスによって渡されるpropertyデータにアクセスできます。 detailTemplateでは、構文{{extraData.fieldName}}を使用して、イベントオカレンスによって渡されるextraData値にもアクセスできます。ドット表記(例:{{extraData.person1.preferredName}})を使用して、extraDataの任意の属性ティアにアクセスできます。
customerNameプロパティーとloginLocationプロパティーのデータと、イベントオカレンスにより送信されたextraDataのsurveyDataフィールドが使用されています。
detailTemplateには、イベント オカレンス データのextraDataにsurveyDataフィールドが含まれているかどうかに基づいて、コンテンツを条件付きで表示する#ifヘルパーが含まれています。
extraDataにsurveyDataが含まれている場合は、ログイン後のアンケートの回答が表示されます。- イベントオカレンスに
surveyDataがない場合は、No additional information.が表示されます。
iframeの使用
イベント オカレンス データにtimelineIFrameフィールドが含まれている場合、タイムライン アクティビティー カードには、ユーザーがリンク先のコンテンツをiframeで表示できるハイパーリンクが含まれます。
イベントオカレンス
特定のイベントタイプのイベントオカレンスを送信するには、以下のエンドポイントに対するPOSTリクエストを送信します。アプリイベントAPIには、1件のイベントオカレンスを送信するためのエンドポイントと、複数のイベントオカレンスを一括送信するためのエンドポイントが含まれています。どちらのエンドポイントでも、イベント オカレンス データを既存のイベント タイプ スキーマに照らして検証する必要があります。これはリクエスト本文のeventTypeNameで指定します。
- 1件のオカレンスを送信する
- 複数のオカレンスを一括送信する
1件のイベントオカレンスを送信するには、
/integrators/timeline/v4/eventsに対するPOSTリクエストを送信します。リクエスト本文に、イベントタイプの定義済みスキーマに従ってイベント オカレンス データを含めます。eventTypeNameを含める必要があります。これは、APIを使用して取得できます。
*でマークされたフィールドは必須です。
検証に失敗したオカレンスがある場合でも、正常に検証されたオカレンスは引き続き受け入れられ、保持されます。レスポンスに含まれるエラーメッセージには、修正が必要な内容に関する情報が記述されます。
CRMレコードの関連付け
各イベントオカレンスは、イベント タイプ スキーマで定義されたCRMオブジェクトタイプを持つCRMレコードに関連付けられている必要があります。アプリイベントAPIには、イベント オカレンス データをCRMレコードに関連付けるための複数のフィールドがあります。サポートされている全てのCRMオブジェクトでは、objectIdフィールドを使用することをお勧めします。ただし、場合によっては他のフィールドを使用することがあります。
utk/email:コンタクトのIDが不明な場合は、識別にutkフィールドとemailフィールドのいずれかまたは両方を使用します。両方の識別子を指定すると、コンタクトを作成および更新することもできます。以下に例を示します。utkが既存のコンタクトに一致してもemailが一致しない場合、HubSpotは新しいEメールアドレスでコンタクトを更新します。objectIdが指定されていない場合、イベントオカレンスはutk/emailに一致する既存のコンタクトに関連付けられ、一致するコンタクトが見つからない場合はHubSpotによって新しいコンタクトが作成されます。utkのみでは新しいコンタクトレコードを作成できないことにご注意ください。適切な関連付けを確保するために、常にutkとemailを含める必要があります。
domain:会社の関連付けの場合、objectIdを指定する必要があります。また、会社のdomainプロパティーを更新するためにdomainを含めることもできます。