Skip to main content

Run in Postman

マーケティングイベントは、コンタクトおよび会社と同じCRMオブジェクトです。ウェビナーなどのマーケティングイベントを、イベントに登録・参加したコンタクトと共にトラッキングすることができます。この記事では、マーケティングイベントAPIを使用してマーケティングイベントをアプリと連携させる方法について詳しく説明します。

この記事では、以下の内容について説明します。

スコープの要件

いずれかのマーケティング イベント エンドポイントにAPIリクエストを送信するには、次のスコープが必要です。
  • crm.objects.marketing_events.read:マーケティングイベントおよび参加データを取得する権限を付与します。
  • crm.objects.marketing_events.write:マーケティングイベント情報を作成、削除、変更する権限を付与します。
アプリによって行われた呼び出しを認証する際は、非公開アプリのアクセストークンまたはOAuthのいずれかを使用できます。認証方式の詳細をご確認ください。利用可能なエンドポイントの完全なリストについては、リファレンスドキュメントをご確認ください。

内部IDエンドポイントと外部IDエンドポイントの相違点

以下に示す多くのエンドポイントでは、フェッチ(取得)または更新するイベントを識別する2つの異なる方法を提供しています。類似したエンドポイントの最終結果は同じである可能性がありますが、主に指定する関連IDが異なります。
  • 外部IDを使用するエンドポイント: externalEventIdパラメーターとexternalAccountIdパラメーターを必要とするエンドポイントは、イベントを最初に作成した同じアプリでのみ機能します。例えば、アプリAとアプリBという2つの公開アプリを作成し、アプリAに関連付けられた認証とIDを使用してマーケティングイベントを作成した場合、アプリAのみがイベントの読み取り、更新、または新しい参加者の追加を行うことができます。* __ __ __ *同じexternalEventIdとexternalAccountIdを使用して、アプリBで同じイベントにアクセスしようとすると、404エラーが返されます。_ _
  • objectIdを使用するエンドポイント: objectIdを必要とするエンドポイントを使用すると、イベントを最初に作成したアプリに関係なく、上記のセクションに記載されている関連スコープを持つ任意のアプリからイベントにアクセスできます。アプリAがマーケティングイベントを作成した場合、アプリBは引き続きobjectIdベースのエンドポイントを介して参加者の読み取り、更新、または追加を行うことができます。_ __ _

イベント管理エンドポイント

次のセクションでは、一般的なイベントプロパティーに関するコンテキストを提供し、さまざまなイベント管理エンドポイントを使用してイベントを作成、読み取り、更新、およびアーカイブする方法について詳しく説明します。

イベントプロパティー

イベント管理エンドポイントの使用時に、フェッチおよび更新できるプロパティーを以下に示します。

イベントを作成する

マーケティングイベントを作成するには、/marketing/v3/marketing-events/eventsPOSTリクエストを送信して、リクエストの本文にeventNameexternalEventIdexternalAccountIdeventOrganizerを指定します。必要に応じて、[上記の表](#イベントプロパティー )に記載されている追加のプロパティーをリクエストに指定できます。 例えば、アプリのexternalAccountId"12345"で、アプリ内のイベントのexternalEventId"67890"の場合、次のようなリクエストで"Winter webinar"という名前の新しいイベントを作成できます。

外部IDを使用したイベントプロパティーを更新する

/marketing/v3/marketing-events/events/upsertエンドポイントにPOSTリクエストを送信することで、マーケティングイベントを更新できます。任意のcustomProperties、イベントのその他の詳細(イベントの名前、開始時刻、説明など)を含めることができます。 リクエストで指定されたIDを持つマーケティングイベントが既に存在する場合、そのマーケティングイベントが更新されます。存在しない場合は、新しいイベントが作成されます。 例えば、次のリクエストは、「Virtual cooking class」という名前で、IDが4のイベントを作成します。

objectIdを使用してイベントプロパティーを更新する

イベントが作成されたら、/marketing/v3/marketing-events/{objectId}PATCHリクエストを送信して、そのプロパティーを更新できます。
  • 特定のマーケティングイベントのobjectIdを取得するには、ナレッジベース記事の手順に従ってHubSpotアカウント上のイベントの詳細を表示し、レコードIDフィールドの下にあるIDを見つけます。_ _イベントが正常に作成されると、レスポンスでobjectIdも返されます。
  • 次のセクションで説明する/marketing/v3/marketing-eventsエンドポイントにGETリクエストを送信することもできます。
  • イベントのexternalEventIdが分かっている場合は、/marketing/v3/marketing-events/{externalEventId}/identifiersへのGETリクエストを送信する際に、そのパスとして含めることができます。レスポンスには、全てのマーケティングイベントと各イベントに関連付けられたID(イベントのobjectIdappInfomarketingEventNameexternalAccountIdなど)が含まれます。

イベントの詳細を取得する

全てのマーケティングイベントとそのプロパティーのリストを取得するには、/marketing/v3/marketing-eventsGETリクエストを送信します。 HubSpot内のレコードで特定のマーケティングイベントの詳細を取得する必要がある場合は、/marketing/v3/marketing-events/{objectId}へのGETリクエストでIDをobjectIdとして指定できます。_ _

イベントを削除する

マーケティングイベントを削除するには、イベントに関連付けられているobjectIdを使用して、/marketing/v3/marketing-events/{objectId}DELETEリクエストを送信します。 リクエストが正常に完了すると、204 No Contentレスポンスが返されます。

複数のイベントを一括更新する

複数のマーケティングイベントを一括で更新するには、/marketing-events/v3/marketing-events/batch/updatePOSTリクエストを送信し、リクエスト本文のinputs配列内で各イベントについて更新するプロパティーを指定します。 例えば、オブジェクトIDが58237132332と54073507364を持つ2つのマーケティングイベントの複数のプロパティーを1つのリクエストで更新する場合、リクエストの本文は次のようになります。

イベント参加エンドポイント

イベント参加状態エンドポイントを使用すると、イベントに登録したか、出席したか、登録をキャンセルしたかなど、コンタクトの登録アクティビティーを記録できます。例えば、このエンドポイントを使用して、HubSpotのコンタクトがマーケティングイベントに登録したことを記録できます。

イベントのobjectIdを使用して参加状態を更新する

マーケティングイベントのobjectIdを使用する場合は、参加状態を記録するコンタクトの コンタクトIDを使用するか、Eメールアドレスを使用できます。
  • コンタクトのIDを使用するには、POSTリクエストを/marketing/v3/marketing-events/{objectId}/attendance/{subscribeState}/createに送信し、リクエスト本文のinputs配列内のvidフィールドを使用してコンタクトのIDを指定します。例えば、次のリクエスト本文は、IDが47733471576のコンタクトの出席データを更新し、joinedAtleftAtプロパティーを介して出席者がイベントに参加および退出した時間を指定する例を示しています。
  • コンタクトのEメールを使用するには、POSTリクエストを/marketing/v3/marketing-events/{objectId}/attendance/{subscribeState}/email-createに送信し、リクエスト本文のinputs配列内のemailフィールドを使用してコンタクトのEメールを指定します。
    • 新しいコンタクトを作成する場合は、リクエスト本文のinputs配列にcontactPropertiesフィールドを含めることにより、関連付ける任意のプロパティーを新規作成されたコンタクトに設定することができます。それ以外の場合、コンタクトが既に存在する場合は、リクエストで指定されているcontactProperties更新されません
    • 例えば、次のリクエスト本文は、Eメールアドレスがjohn@example.comのコンタクトの参加データを更新し、inputs配列のpropertiesオブジェクト内のjoinedAtフィールドとleftAtフィールドを使用して、出席者がイベントに参加および退出した時間を指定する例を示しています。
上記のエンドポイントの両方について、対応するパスパラメーターに次の値を指定します。
  • objectId:HubSpotアカウントのマーケティングイベントのレコードID。_ _イベントのobjectIdの使用と外部IDの使用の詳細については、前述のセクションをご確認ください。
  • subscriberState:コンタクトの新しい参加ステータスと一致する以下の列挙値。
  • REGISTERED:HubSpotコンタクトがイベントに登録したことを示します。
  • ATTENDED:HubSpotコンタクトがイベントに出席したことを示します。コンタクトのステータスをATTENDEDに更新する場合は、リクエスト本文のパラメーターとして、ISO 8601インスタント形式で指定したjoinedAtおよびleftAtタイムスタンプを含めることもできます。
  • CANCELLED:以前イベントに登録したHubSpotコンタクトが登録をキャンセルしたことを示します。

イベントの外部IDを使用して参加情報を更新する

注:

以前に/upsertまたは/email-upsertエンドポイントを使用して出席者のステータスを更新していた場合は、代わりに以下に示す代替エンドポイントを使用できます。ただし、上記のイベント出席エンドポイントと比較すると、これらのエンドポイントを使用しても、次のサポートは提供されません
  • 新しいコンタクトがまだ存在しない場合、コンタクトを新規作成する
  • コンタクトのレコードページでタイムラインイベントを表示する
  • joinedAtまたはleftAtプロパティーを指定する
  • リクエストが正常に完了した際に詳細なレスポンスを提供する
アプリからのexternalEventIdを必要とするエンドポイントを使用する場合は、既存のコンタクトコンタクトIDまたはEメールアドレスのいずれかを使用できます。
  • 既存のコンタクトのコンタクトIDを使用する場合:
    • 外部アプリケーションのイベントのIDをexternalEventIdとして使用し、/marketing/v3/marketing-events/attendance/{externalEventId}/{subscriberState}/createPOSTリクエストを送信します。
    • リクエスト本文で、次のフィールドを含むinputsオブジェクトを指定します。
      • interactionDateTime:コンタクトがイベントに登録した日時。
      • vid:既存のコンタクトのコンタクトID。
  • イベント参加者の1人のEメールアドレスを使用する場合:
    • POSTリクエストを/marketing/v3/marketing-events/attendance/{externalEventId}/{subscriberState}/email-createに送信します。
    • リクエスト本文で、次のフィールドを含むinputsオブジェクトを指定します。
      • interactionDateTime:コンタクトがイベントに登録した日時。
      • email:inputs内のemailフィールドの値として指定する、参加者のEメールアドレス
    • 指定したEメールアドレスが既存のコンタクトのアドレスと一致しない場合は、新しいコンタクトが作成されます。
上記のエンドポイントの両方について、対応するパスパラメーターに次の値を指定します。
  • externalEventIdマーケティングイベントのID。イベントのobjectIdの使用と外部IDの使用の詳細については、 前述のセクションをご覧ください。
  • subscriberState:コンタクトの新しい参加ステータスと一致する以下の列挙値。
    • REGISTERED:HubSpotコンタクトがイベントに登録したことを示します。
    • ATTENDED:HubSpotコンタクトがイベントに出席したことを示します。コンタクトのステータスをATTENDEDに更新する場合は、リクエスト本文のパラメーターとして、ISO 8601インスタント形式で指定したjoinedAtおよびleftAtタイムスタンプを含めることもできます。
    • CANCELLED:以前イベントに登録したHubSpotコンタクトが登録をキャンセルしたことを示します。

注:

これらのAPIは、コンタクトのIDとイベントのinteractionDateTime値が変更されていない限り、べき等性があります。これにより、重複したイベントがマーケティング イベント プロパティーにHubSpotによって作成されることなく、参加状態を複数回安全に設定できます。

参加者状態エンドポイント

参加エンドポイントを使用して、マーケティングイベントのイベント参加者データを取得します。特定のイベントの集計指標などのデータや、特定のコンタクトまたはイベントの参加者データをクエリーできます。 以下で利用可能な参加エンドポイントを確認してください。各エンドポイントで使用できる全パラメーターの一覧は、リファレンスドキュメントでご参照いただけます。

注:

ご使用のHubSpotアカウントのマーケティングイベントページに表示されるアクティビティー数は、参加カウンターAPIエンドポイントで取得できる、対応する集計指標と異なる場合があります。例えば、参加者がイベントに登録してからキャンセルした後で、同じイベントに再登録した場合、ご使用のアカウントのマーケティングイベントUIに表示される合計数には、これらのアクティビティー全てが含められます。以下の参加者状態エンドポイントを使用している場合、各測定指標の関連するカウンターには、参加者の現在の状態のみが含められます(例:attendedregisteredcancellednoShows)。

特定のコンタクトの参加を読み取る

特定のコンタクトのイベント参加データを取得するには、コンタクトのIDまたはEメールアドレスをcontactIdentifierパスパラメーターとして使用して、GETリクエストを/marketing/v3/marketing-events/participations/contacts/{contactIdentifier}/breakdownに送信します。 レスポンスのpropertiesフィールドには、コンタクトのイベント参加の概要が含まれています。

参加内訳データを読み取る

特定のイベントの参加データの内訳を取得するには、自分のexternalAccountIdとイベントのexternalEventIdを使用して、GETリクエストを/marketing/v3/marketing-events/participations/{externalAccountId}/{externalEventId}/breakdownに送信します。

参加カウンターを読み取る

イベントの参加集計の概要を取得するには、自分のexternalAccountIdとイベントのexternalEventIdを使用して、GETリクエストを/marketing/v3/marketing-events/participations/{externalAccountId}/{externalEventId}に送信します。 レスポンスには合計参加数が含まれます。

参加内訳データを絞り込む

特定のコンタクトの内訳データまたはイベント参加データを取得するには、リクエストでcontactIdentifier、state、limit、またはafterフィールドをクエリーパラメーターとして使用して、返されるデータを絞り込めます。

リストの関連付けエンドポイント

下記のセクションで説明するエンドポイントを使用して、リストとマーケティングイベント間の関連付けを管理できます。 これらのエンドポイントの多くでは、パスパラメーターとしてlistIdが必要です。詳細は、HubSpotアカウントのリストの詳細ページで確認できます。
  • HubSpotアカウントで、[CRM]>[リスト]に移動します**。 **** **
  • リストの名前をクリックします。
  • 右上の[詳細]をクリックします**。 **
  • 右側のパネルで[API連携のリストID]の下にリストIDが表示されます。_ _[リストIDをコピー]をクリックすると、IDをクリップボードにコピーできます**。 **
リストの詳細パネルのリストの関連付け-api
リストをマーケティングイベントに関連付けると、HubSpotアカウントのマーケティングイベントの詳細ページに表示されます。
  • HubSpotアカウントで、[CRM]>[コンタクト]に移動します**。 **** **
  • 左上の[コンタクト]をクリックし、ドロップダウンメニューから[マーケティングイベント]を選択します**。 **** **
  • マーケティングイベントの名前をクリックします。
  • [パフォーマンス]タブで、[リスト]をクリックしてセクションを展開し、[関連付け]タブから追加したリストをクリックします。_ _** **
マーケティングイベントapiのリストの関連付けの確認

マーケティングイベントIDを使用してリストの関連付けを作成する

マーケティングイベントと既存のリストの間に新しい関連付けを作成するには、PUTリクエストを/marketing/v3/marketing-events/associations/{marketingEventId}/lists/{listId}に送信します。 リクエストが正常に完了すると、204 No contentレスポンスが返されます。

外部イベントIDとアカウントIDを使用してリストの関連付けを作成する

外部アカウントIDと外部イベントIDを使用して、マーケティングイベントと既存のリストの間に新しい関連付けを作成するには、PUTリクエストを/marketing/v3/marketing-events/associations/{externalAccountId}/{externalEventId}/lists/{listId}に送信します。 リクエストが正常に完了すると、204 No contentレスポンスが返されます。

マーケティングイベントIDを使用してマーケティングイベントに関連付けられたリストを取得する

マーケティングイベントに関連付けられている全てのリストを取得するには、/marketing/v3/marketing-events/associations/{marketingEventId}/listsGETリクエストを送信します。 レスポンスは次のようになります。

外部イベントIDとアカウントIDを使用してイベントに関連付けられたリストを取得する

また、外部アカウントIDと外部イベントIDを使用してマーケティングイベントに関連付けられたリストを取得し、GETリクエストを/marketing/v3/marketing-events/associations/{externalAccountId}/{externalEventId}/listsに送信することもできます。

マーケティングイベントIDを使用してリストの関連付けを削除する

マーケティングイベントIDを使用してマーケティングイベントのリスト関連付けを削除するには、DELETEリクエストを/marketing/v3/marketing-events/associations/{marketingEventId}/lists/{listId}に送信します。 リクエストが正常に完了すると、204 No contentレスポンスが返されます。

外部イベントIDとアカウントIDを使用してリストの関連付けを削除する

外部アカウントIDと外部イベントIDを使用してマーケティングイベントのリストの関連付けを削除するには、DELETEリクエストを/marketing/v3/marketing-events/associations/{externalAccountId}/{externalEventId}/lists/{listId}に送信します。 リクエストが正常に完了すると、204 No contentレスポンスが返されます。

アプリ設定を構成する

マーケティングイベントがHubSpotと適切に同期するためには、いくつかの設定が必要です。 HubSpotに参加状態の変更(登録やキャンセルなど)を送信すると、HubSpotはまず、指定されたイベントIDに対応するマーケティングイベントが存在するかどうかを確認します。存在しない場合、HubSpotはアプリに設定されたエンドポイントを呼び出してマーケティングイベントの詳細を取得し、HubSpotでイベントを作成してから、参加状態の変更を公開します。 これは利便性を目的に提供されている機能ですが、HubSpotでマーケティングイベントを作成するこの機能には依存せず、リファレンスドキュメントに記載されているCRUDメソッドを使用して、マーケティングイベントを自分で作成することをお勧めします。

ステップ1:アプリでAPIを作成する

マーケティングイベントをサポートするためにHubSpotでは、マーケティングイベントを使用する各アプリでAPIを定義し、特定のマーケティングイベントに関する情報を取得することを要件としています。 要件:
  • 許容値:
    • externalAccountId:外部アプリの顧客のaccountIdを指定するクエリーパラメーター。
    • appId:イベントの詳細をリクエストしているHubSpotアプリケーションのIDを指定するクエリーパラメーター。これはアプリのIDになります。
    • externalEventId:HubSpotが詳細な情報をリクエストしている外部アプリのイベントのIDを指定する、リクエストのURL内のパスパラメーター。
  • 戻り値:
    • マーケティングイベントの詳細を提供するJSONオブジェクト。以下の表で詳しく説明しているフィールドを含みます。
| フィールド名 | 必須 | 型 | フィールドの説明 | | ------------------ | ----- | -------------------- | --------------------------------------------------------------------------------- | ---------------- | | eventName | true | 文字列 | マーケティングイベントの名前。 | | eventOrganizer | true | 文字列 | マーケティングイベントの主催者の名前。 | | eventType | false | 文字列 | このイベントのタイプを説明します。WEBINARCONFERENCEWORKSHOP | など。 | | startDateTime | false | 文字列(datetimeマーケティングイベントの開始日時。endDateTimefalse文字列(date-time) | マーケティングイベントの開始日時。 | | `endDateTime` | false | 文字列(date-time) | マーケティングイベントの終了日時。 | | eventDescription | false | 文字列 | マーケティングイベントの説明。 | | eventUrl | false | 文字列 | 外部イベントアプリケーションでマーケティングイベントが存在するURL。 | | eventCancelled | false | ブール値 | マーケティングイベントがキャンセルされたかどうかを示します。デフォルトではfalse | に設定されます。 | HubSpotはX-HubSpot-Signature-v3ヘッダーも送信します。これは、リクエストがHubSpotから送信されたことを確認するために使用できます。署名の詳細とその検証方法については、リクエスト署名を参照してください。

ステップ2:HubSpotにAPIへのURLパスを提供する

特定のマーケティングイベントの詳細を提供するオブジェクトを返すAPIをアプリで作成したので、次は/marketing/v3/marketing-events/{appId}/settingsPOSTリクエストを送信して、HubSpotにAPIへのURLパスを提供する必要があります。これにより、HubSpotはアプリにリクエストを送信してマーケティングイベントの詳細を取得する方法を決定できます。 POSTリクエストの本文で、eventDetailsURLフィールドを使用してURLを指定します。eventDetailsURLは次の2つの要件を満たす必要があります。
  • %s文字列を含んでいること。HubSpotはこの文字列をパスパラメーターとして使用し、イベントのID(externalEventId)に代入します。
  • https://プレフィックスとドメイン名(例:my.event.app)を含む、APIリソースへのフルパスであること。
例えば、https://my.event.app/events/%seventDetailsURLを設定し、IDが1234-event-XYZのイベントの詳細を取得するリクエストを送信する必要がある場合、HubSpotアプリのIDがapp-101で、アカウントのIDがABC-account-789だとすると、HubSpotは次のURLにGETリクエストを送信します。 https://my.event.app/events/1234-event-XYZ?appId=app-101&externalAccountId=ABC-account-789
最終更新日 2026年4月10日