CRMプロパティーエンドポイントを使用すると、カスタムプロパティーを管理したり、あらゆるオブジェクトのデフォルトプロパティーの詳細を確認したりできます。
type
と一連のproperties
によって定義されます。タイプごとに標準のプロパティーセットがあり、名前と値のペアで表されます。
各オブジェクトのデフォルトのプロパティーは以下でご確認いただけます。
type
とfieldType
の両方の値が必要です。type
の値により、プロパティーの型、つまり文字列、数値などのデータ型が決まります。fieldType
プロパティーでは、HubSpotでのプロパティーの表示形式(プレーンテキスト、ドロップダウンメニュー、日付入力など)を指定します。
以下の表に、プロパティーの有効なtype
値とそれに対応するfieldType
値を示します。
type | 説明 | 有効なfieldType 値 |
---|---|---|
bool | バイナリーオプション(Yes またはNo 、True またはFalse など)を格納するフィールド。 | booleancheckbox 、calculation_equation |
enumeration | 一連のオプションを表す文字列。各オプションはセミコロンで区切ります。 | booleancheckbox 、checkbox 、radio 、select 、calculation_equation |
date | 特定の年月日を表す値。値はUTC時間で表す必要があります。値の形式として、ISO 8601文字列またはミリ秒単位のエポック時間タイムスタンプ(UTC深夜0時)が可能です。 | date |
datetime | 特定の年月日と時刻を表す値。値はUTC時間で表す必要があります。値の形式として、ISO 8601文字列またはミリ秒単位のUNIXタイムスタンプが可能です。 | date |
string | プレーンテキスト文字列。文字数の上限は65,536文字です。 | file 、text 、textarea 、calculation_equation 、html 、phonenumber |
number | 数字から成る、小数第1位までの数値。 | number 、calculation_equation |
object_coordinates | 他のHubSpotオブジェクトを参照するために使用されるテキスト値。内部プロパティーのみに使用されます。このタイプのプロパティーは作成/編集不可であり、HubSpotには表示されません。 | text |
json | 書式設定されたJSONとして格納されるテキスト値。内部プロパティーにのみ使用されます。このタイプのプロパティーは作成/編集不可であり、HubSpotには表示されません。 | text |
fieldType
値について以下に説明します。
fieldType | 説明 |
---|---|
booleancheckbox | ユーザーが「はい」または「いいえ」のいずれかを選択できる入力。フォーム内で使用する場合、1つのチェックボックスとして表示されます。詳しくは、単一チェックボックスプロパティーに値を追加する方法をご確認ください。 |
calculation_equation | 他のプロパティー値や関連付けに基づいて値を計算できるカスタム式。詳しくは、計算プロパティーを定義する方法をご確認ください。 |
checkbox | プロパティー内で使用可能な選択肢の中からユーザーが複数選択できるチェックボックスのリスト。詳しくは、複数チェックボックスプロパティーの更新時に値を書式設定する方法をご確認ください。 |
date | 日付値。日付入力として表示されます。 |
file | レコード上またはフォーム経由でのファイルアップロードを許可します。ファイルIDが格納されます。 |
html | サニタイズ(エスケープ)されたHTMLとしてレンダリングされる文字列。プロパティーに対するリッチ テキスト エディターの使用が可能になります。 |
number | 10進数または科学的表記で記述された、数字の文字列または数値。 |
phonenumber | 書式設定された電話番号として表示されるプレーンテキスト文字列。 |
radio | プロパティーで使用可能な選択肢の中からユーザーがいずれか1つを選択できる入力。フォーム内で使用する場合、一連のラジオボタンとして表示されます。 |
select | プロパティーで許容される選択肢の中からユーザーがいずれか1つを選択できるドロップダウンの入力。 |
text | プレーンテキスト文字列。単行テキスト入力として表示されます。 |
textarea | プレーンテキスト文字列。単行テキスト入力として表示されます。 |
POST
リクエストを/crm/v3/properties/{objectType}
に送信します。リクエスト本文に以下の必須フィールドを含めます。
groupName
:当該プロパティーが属するプロパティーグループ。name
:当該プロパティーの内部名(例:favorite_food)。label
:HubSpotに表示される当該プロパティーの名前(例:好きな食べ物)。type
:プロパティーの型。fieldType
:プロパティーのフィールドタイプ。hs_object_id
)が自動生成され、これを文字列として扱う必要があります。これらのIDはそのオブジェクトタイプ内でのみ一意です。したがって、コンタクトと会社のIDが同じになる場合があります。コンタクトと会社には、コンタクトのEメールアドレス(email
)や会社のドメイン名(domain
)など、他にも固有のIDがあります。
場合によっては、複数のレコードで同じ値を入力できないように、独自の固有IDプロパティーを作成することが推奨されます。固有IDプロパティーは、オブジェクト当たり10個まで作成できます。APIを介して一意の値を必要とするプロパティーを作成するには、次の操作を行います。
POST
リクエストを/crm/v3/properties/{objectType}
に送信します。hasUniqueValue
フィールドの値をtrue
に設定します。system_a_unique
プロパティー値がabc
である取引を取得するには、リクエストURLは/crm/v3/objects/deals/abc?idProperty=system_a_unique
になります。
hs_object_id
、email
(コンタクト)やdomain
(会社)を使用する場合と同じように、この固有IDプロパティーの値を使用して特定のレコードを識別し、更新できます。
calculation_equation
、データ型としてnumber
、bool
、string
、またはenumeration
を使用して計算プロパティーを作成したりできます。
プロパティーの計算式は、calculationFormula
フィールドを使用して定義できます。
calculationFormula
を使用すると、算術演算子、比較演算子、論理演算子、条件文、およびその他の関数を使用して式を記述できます。
'constant'
)または二重引用符("constant"
)のいずれかを使用できます。1005
と1.5589
はどちらも有効な定数です。true
またはfalse
を指定できます。string
関数でラップする必要があります。例えば、string(var1)
は文字列プロパティーvar1として解釈されます。var1
は数値プロパティーvar1の値として解釈されます。bool
関数でラップする必要があります。例えば、識別子bool(var1)
はブール型プロパティーvar1の値として解釈されます。If A ThEn B
はif a then b
とまったく同じですが、'a'
と'A'
は同じではありません。トークン化にスペース、タブ、改行が使用されますが、無視されます。演算子 | 説明 | 例 |
---|---|---|
+ | 数値または文字列を加算します。 | property1 + 100 |
- | 数値を減算します。 | property1 + 100 - property2 |
* | 数値を乗算します。 | 10property1 = 10 * property1 |
/ | 数値を除算します。 | property1 * (100 - property2/(50 - property3)) |
< | ある値が別の値より小さいことを確認します。数値プロパティーまたは定数で使用できます。 | a < 100 |
> | ある値が別の値より大きいことを確認します。数値プロパティーまたは定数で使用できます。 | a > 50 |
<= | ある値が別の値以下であることを確認します。数値プロパティーまたは定数で使用できます。 | a <= b |
>= | ある値が別の値以上であることを確認します。数値プロパティーまたは定数で使用できます。 | b>= c |
= | ある値が別の値と等しいことを確認します。数字と文字列の両方で使用できます。 | (a + b - 100c * 150.652) = 150-230b |
equals | ある値が別の値と等しいことを確認します。数字と文字列の両方で使用できます。 | a + b - 100.2c * 150 equals 150 - 230 |
!= | ある値が別の値と等しくないことを確認します。数字と文字列の両方で使用できます。 | string(property1) != 'test_string' |
or | 2つの値のいずれかまたは両方がtrueであることを確認します。 | a > b or b <= c |
and | 両方の値がtrueであることを確認します。 | bool(a) and bool(c) |
not | いずれの値もtrueでないことを確認します。 | not (bool(a) and bool(c)) |
関数 | 説明 | 例 |
---|---|---|
max | 2個から100個までの入力値を取り、全ての入力値の中から最大値を返します。 | max(a, b, c, 100) 、max(a, b) |
min | 2個から100個までの入力値を取り、全ての入力値の中から最小値を返します。 | min(a, b, c, 100) 、min(a, b) |
is_present | 式を評価できるかどうかを評価します。 | is_present(bool(a)) = true(プロパティーがブール型の場合)is_present(bool(a)) = false(プロパティーが空か、ブール型でない場合) |
contains | 入力として2個の値を取り、最初の入力値に2番目の入力値が含まれている場合はtrueを返します。 | contains('hello', 'ello') = true 、contains('ello', 'hello') = false |
concatenate | 文字列のリストを結合します。リストには、2個から100個までの入力を含めることができます。 | concatenate('a', 'b', string(a), string(b)) |
number_to_string
:入力された数値式を文字列に変換しようと試みます。string_to_number
:入力された文字列式を数値に変換しようと試みます。"Number of cars: " + num_cars
は有効なプロパティーではありませんが、"Number of cars: " + number_to_string(num_cars)
は有効です。
if
、elseif
、endif
、else
を使った条件文を使用して式を記述することもできます。
例えば、条件文はif boolean_expression then statement [elseif expression then statement]* [else statement | endif]
のようになります。ここで、括弧で囲まれた[a]
はオプションであることを表し、a|b
は「a」または「b」が有効であることを表します。*
は0以上であることを意味します。endif
を使用すると、条件文を早期に終了して、次のelseif
が属するif
をパーサーが特定できるようにすることができます。
GET
リクエストをcrm/v3/properties/{object}/{propertyName}
に送信します。例えば、favorite_food
プロパティーを取得する場合のリクエストURLは、/crm/v3/properties/contacts/favorite_food
になります。GET
リクエストを/crm/v3/properties/{objectType}
に送信します。sensitive
に設定したdataSensitivity
クエリーパラメーターを含めます。詳しくは、APIを使用したセンシティブデータの管理(ベータ版、Enterprise__のみ)についてご確認ください。PATCH
リクエストをcrm/v3/objects/{objectType}/{recordId}
に送信します。リクエスト本文で、以下のプロパティーとその値を配列に格納します。詳しくは、オブジェクトAPIを介したレコードの更新についてご確認ください。
2020-02-29
)2020-02-29T03:30:17.000Z
)。時刻は常にUTCで表現されるため、値には必ずUTC指定子""「Z」が使用されます。1427997766000
は、「2015年4月2日の18:02:46 UTC」、つまり「2015年4月2日の午後2:02:46 EDT(米国東部夏時間)」を表します。date
とdatetime
)が利用でき、これらも値の書式設定方法に影響します。
date
プロパティーは、時間ではなく日付を保存します。date
プロパティーには、アカウントやユーザーのタイムゾーン設定に関係なく、設定されている日付が表示されます。date
プロパティー値では、ISO 8601の完全な日付形式を使用することをお勧めします。UNIXタイムスタンプ形式を使用する場合は、エポックミリ秒タイムスタンプを使用する必要があります(つまり、対象となる日付のUTCの深夜の値に設定する必要があります)。例えば、2015年5月1日をそれぞれの形式で表すと以下のようになります。
datetime
プロパティーには、日付と時刻の両方が保存されます。両方のタイムスタンプ形式が受け入れられます。HubSpotのdatetime
プロパティーは、レコードを表示するユーザーのタイムゾーンに基づいて表示されるため、値はユーザーの現地タイムゾーンに変換されます。true
である必要があります。HubSpotで[いいえ]として表示するか、チェックが入っていない状態にするには、値がfalse
である必要があります。hs_buying_role
プロパティーに既存の値としてDECISION_MAKER
が格納されているとします。既存の値を置き換えずに追加の値を付加する場合、リクエストは以下のようになります。id
を指定する必要があります。所有者IDは、プロパティー設定または所有者APIを介して確認できます。例えば、ユーザーをコンタクトの所有者として割り当てるには、PATCH
リクエストの本文に{ "properties":{ "hubspot_owner_id": "41629779"}}
を設定してcrm/v3/objects/contacts/{contactId}
に送信します。
firstname
を消去するには、PATCH
リクエストの本文に{ "properties": { "firstname": ""}}
を指定して/crm/v3/objects/contacts/{contactId}
に送信します。