CMS HubでCRMオブジェクトデータを使用する

Last updated:

CRMオブジェクトをクエリーすると、HubSpotでホスティングされるコンテンツ上のオブジェクトのレコードからのデータを使用して業務、ウェブサイト、Eメールの間でデータを共有できます。HubL関数crm_objectcrm_objectscrm_associationsを使用すると、CRMオブジェクトデータに基づいてロジックを表示および制御できます。 

ウェブサイト上でCRMデータを使用する場合、セールス、マーケティング、ウェブサイトのデータがすべて同じ場所に存在して常に同じ情報を反映することになります。さらに、CRMレコードを相互に関連付けることができるので、関連するデータをウェブサイトページに取り込むこともできます。

同様に、CRMオブジェクトまたはHubDBデータを使用して自動生成される動的ページのセットを作成できます。

データに基づくCMSページの構築について、詳しくはHubSpotアカデミーのCMSデータドリブン コンテンツ コースを参照してください。

使用例:

ページでCRMオブジェクトデータを使用する例の1つとして、不動産リストページがあります。「物件」と呼ばれるカスタムオブジェクトを使用すると、リストする必要のある家屋ごとに個々のオブジェクトレコードを作成できます。次に、不動産業者は物件オブジェクトに情報を追加して、場所、寝室の数、希望価格などの詳細を保存することができます。 

その後、ウェブサイトページで各物件のレコードデータを取り込んで、リスティングページと各物件の詳細ページを作成できます。 

この例全体を確認するには、GitHubリポジトリーをご覧ください。

この例の概要については、HubSpot Developer Day 2020の録画をご覧ください。 

サポートされるCRMオブジェクトタイプ

CMS Hubページのデータの取得元として可能なCRMオブジェクトの種類を以下に示します。すべてのページでデータを使用できるか、それとも非公開ページでのみデータを使用できるかは、オブジェクトタイプによって異なります。

以下の表は、CMSコンテンツで使用可能なオブジェクトタイプと、そのオブジェクトタイプ名および完全修飾名を示しています。 

注:「contact」などの標準的なオブジェクト名では大文字と小文字を区別しませんが、単数形でなければなりません。

すべてのページで使用できるCRMオブジェクトデータ

次のCRMオブジェクトからのデータは、任意のCMSページで使用可能です。

オブジェクトタイプ object_type名 完全修飾名
製品 product PRODUCT
マーケティングイベント marketing_event MARKETING_EVENT
カスタムオブジェクト

CMS Hub Enterprise」のみ。

オブジェクトの完全修飾名、あるいは作成時に入力した名前を使用できます。たとえば「Cars」という名前のオブジェクトを作成した場合、それを「cars」や「Car」で参照することはできません。

カスタムオブジェクトの名前が標準オブジェクトと同じである場合は、完全修飾名を使用する必要があります。

 

非公開ページで使用できるCRMオブジェクトデータ

以下のCRMオブジェクトからのデータは、パスワードまたはメンバーシップログインのいずれかを必要とするページでのみ使用可能です。

オブジェクトタイプ object_type名 完全修飾名
コンタクト contact CONTACT
会社 company COMPANY
取引 deal DEAL
チケット ticket TICKET
見積もり quote QUOTE
インテグレーターオブジェクト

インテグレーターオブジェクトの名前を取得するには、CRMオブジェクトスキーマAPIを使用します。

標準オブジェクトと同じ名前のインテグレーターオブジェクトでは、インテグレーターオブジェクトの完全修飾名を使用します。

 

crm_object関数を使用して単一のCRMレコードからのデータを表示する

crm_object関数を使用し、クエリーまたはCRMレコードIDを使ってHubSpot CRMから単一のレコードを取得します。 

オブジェクトレコードは、プロパティーと値からなるディクショナリーとして返されます。

{# Render custom object by query #} {% set event = crm_object("event", "name=Defensive Health") %} {{ event.name }} {# Render custom objects specifying the id of the object #} {% set event = crm_object("event", 289236) %} {{ event.name }}<p>Defensive Heatlh</p> <p>Defensive Heatlh</p>

クエリー結果としてレコードのコレクションが返された場合、この関数はコレクション内の最初のレコードを返します。

crm_objects関数を使用して複数のCRMレコードからのデータを表示する

crm_objects()関数を使用し、クエリーまたはレコードIDを使ってHubSpot CRMからオブジェクトタイプ別にCRMレコードを取得します。レコードは、プロパティーと値から成るディクショナリーとして返されます。

返されるオブジェクトにはresultsプロパティーが含まれ、これをループ処理することでレコード内の項目の情報を表示できます。

{# Render custom objects by query #} {% set events = crm_objects("event", "limit=3&type=virtual") %} <h3>{{events.total}} New Events:<h3> <ul> {% for event in events.results %} <li>Name: {{ event.name }}</li> {% endfor %} <ul> {# Render custom objects by ids #} {% set events = crm_objects("event", [289236,289237,289238]) %} <h3>{{events.total}} New Events:<h3> <ul> {% for event in events.results %} <li>Name: {{ event.name }}</li> {% endfor %} <ul> <h3>3 New Events:<h3> <ul> <li>Name: Defensive Health</li> <li>Name: Body Balance</li> <li>Name: Happy Heart</li> <ul> <h3>3 New Events:<h3> <ul> <li>Name: Defensive Health</li> <li>Name: Body Balance</li> <li>Name: Happy Heart</li> <ul>

関連付けられたレコードの表示

HubL関数crm_associationsを使用すると、特定のレコードID、関連付けカテゴリー、関連付け定義IDに基づき、関連付けられているレコードのリストをHubSpot CRMから取得できます。

レコードは、プロパティーと値から成るディクショナリーとして返されます。

{% set associated_objects = crm_associations(289236, "USER_DEFINED", 3) %} <h3>Contacts Associated With Event</h3> <ul> {% for contact in associated_objects.results %} <li>Name: {{ contact.firstname }} {{ contact.lastname }}</li> {% endfor %} </ul> <h3>Contacts Associated With Event<h3> <ul> <li>Name: Brian Halligan</li> <li>Name: Dharmesh Shah</li> <li>Name: Yamini Rangan</li>

カスタム オブジェクト タイプの詳細を取得する

カスタム オブジェクト タイプのnameidfullyQualifiedName、関連付けID、その他の詳細を取得するには、CRMオブジェクトスキーマAPIGETリクエストを送信します。

注:アカウント固有のオブジェクトタイプのfullyQualifiedNameにはHubSpotアカウントIDが含まれているので、複数のHubSpotアカウント用のコードを開発するときにはこれを使用しないことをお勧めします。

CRMオブジェクトモジュールのフィールド

CRMオブジェクトフィールドを含むモジュールを構築すると、コンテンツ作成者は表示またはロジックを実行する対象のCRMレコードを選択できるようになります。

たとえば、特定の製品、コンタクト、会社、取引、見積もり、チケット、またはカスタムオブジェクトからの情報を表示できます。

CRMオブジェクトフィールド

参考になりましたか?
こちらのフォームではドキュメントに関するご意見をご提供ください。HubSpotがご提供しているヘルプはこちらでご確認ください。