最終更新日: 2025年8月22日
見積もりAPIを使用して、見込み客に価格情報を共有するための見積書を作成、管理、および取得します。設定が完了すると、指定されたURLまたはPDFのいずれかで、購入者に見積もりを共有できます。また、HubSpotで見積もりを管理して、詳細の追加や関連付けの更新などを行うこともできます。 HubSpot決済機能またはStripe決済処理のいずれかを設定している場合は、このAPIを介して見積もりを支払い可能に設定できます。詳しくは支払い可能な見積もりをご確認ください。
見積もりAPIの使用例
使用例: 貴社の年次SEO監査サービスパッケージの購入に関心がある顧客向けの契約提案書を作成する必要があるとします。 以下では、APIを使用して見積もりを作成し、さまざまなプロパティー、関連付け、ステータスなどを構成する方法について説明します。

概要

見積もりの作成プロセスは、次の手順に分けることができます。
  1. 見積もりの作成: 名前や有効期限など、いくつかの詳細を含む見積もりを作成します。また、電子署名決済が有効になるように見積もりを設定することもできます。
  2. 関連付けの設定: 見積もりと他のタイプのCRMオブジェクトに関連付けます。例えば、商品項目、見積もりテンプレート、取引などを関連付けます。次のステップで、見積もりはこれらの関連付けられたレコードの一部とアカウントの設定から、プロパティー値を継承します。
  3. 見積もりステータスの設定: 見積もりのステータスを設定し、購入者と共有できる状態かどうかを示します。見積もりのステータスを「下書き」または「公開中」などに設定すると、関連付けられたCRMレコードとアカウント設定から特定のプロパティーが継承されます。
  4. 見積もりの共有: 見積もりが公開されると、購入者と共有できるようになります。

見積もりの作成

見積もりを作成するには、まず/crm/v3/objects/quotesPOSTリクエストを送信して、基本的な情報を設定します。その後、見積もりを他のオブジェクト(見積もりテンプレート、商品項目、取引など)に関連付けるために、別の呼び出しを行います。
ご希望のワークフローに応じて、1つのPOSTリクエストで関連付けのある見積もりを作成することもできます。
POSTリクエスト本文には、次の必須プロパティーを含めて、基本的な情報を設定します。
{
  "properties": {
    "hs_title": "CustomerName - annual SEO audit",
    "hs_expiration_date": "2023-12-10"
  }
}
パラメータータイプ説明
hs_title文字列見積もりの名前。
hs_expiration_date文字列見積もりの有効期限。
上記は見積もりを作成するために最小限必要なプロパティーですが、見積もりを公開するには他のプロパティーも必要です。利用可能な全ての見積もりプロパティーを確認するには、crm/v3/properties/quotesGETリクエストを送信します。詳しくはプロパティーAPIをご参照ください。 レスポンスにはidが含まれ、これを使用して見積もりの設定を続けることができます。PATCHリクエストを/crm/v3/objects/quotes/{quoteId}に送信することで、見積もりプロパティーをいつでも更新できます。

見積もり担当者

hubspot_owner_idプロパティーは計算プロパティーであるため、手動で設定することはできません。値があれば、全ての値がオーバーライドされます。見積もりを使用する場合、プロパティーは次のように機能します。
  • 取引が見積もりに関連付けられている場合、hubspot_owner_idプロパティーにはhs_associated_deal_owner_idプロパティーが反映されます(hs_associated_deal_owner_idは計算プロパティーです)。
  • 取引が見積もりに関連付けられていない場合、hubspot_owner_idプロパティーにはhs_quote_owner_idプロパティーが反映されます。

電子署名を有効にする

見積もりで電子署名を有効にするには、trueの値を持つhs_esign_enabledブール値プロパティーをリクエスト本文に含めます。APIを使用して副署名者を追加することはできないため、見積もりを公開する前にHubSpotで副署名者を追加する必要があります。また、毎月の電子署名数の制限を超えた場合は、電子署名を有効にして見積もりを公開することはできません。
{
  "properties": {
    "hs_title": "CustomerName - annual SEO audit",
    "hs_expiration_date": "2023-12-10",
    "hs_esign_enabled": "true"
  }
}
後から、見積もりを署名者に関連付ける必要があります。見積もりに署名するコンタクトはHubSpotにコンタクトとして存在しますが、コンタクトとは別の関連付けタイプとして保存されます。詳しくは見積もり署名者を関連付ける方法をご確認ください。

支払いを有効にする

見積もりで支払いを有効にするには、リクエスト本文にhs_payment_enabledブール値プロパティーを含めて、その値をtrueに設定します。また、決済代行事業者と受け入れ可能な支払い方法によっては、hs_payment_typehs_allowed_payment_methodsも設定する必要があります。

注:

この機能を使用する前に、HubSpotアカウントでHubSpot決済機能またはStripe決済処理のいずれかが設定されている必要があります。
パラメータータイプ説明
hs_payment_enabledブール値trueに設定すると、見積もりでHubSpot決済機能またはStripe決済処理のいずれかを使用して支払いを回収できるようになります。デフォルトの値はfalseです。
hs_payment_type列挙使用する決済代行事業者を決定します。値はHUBSPOTまたはBYO_STRIPEのいずれかです。
hs_allowed_payment_methods列挙使用する支払い方法(クレジットカードなど)。
hs_collect_billing_addressブール値trueに設定すると、購入者は注文の確認時に請求先住所を入力できます。
hs_collect_shipping_addressブール値trueに設定すると、購入者は注文の確認時に発送先住所を入力できます。
例えば見積もりを作成し、クレジットカードおよびデビットカードまたはACHによるHubSpot決済機能を有効にする場合、リクエストは次のようになります。
{
  "properties": {
    "hs_title": "CustomerName - annual SEO audit",
    "hs_expiration_date": "2023-12-10",
    "hs_payment_enabled": "true",
    "hs_payment_type": "HUBSPOT",
    "hs_allowed_payment_methods": "CREDIT_OR_DEBIT_CARD;ACH"
  }
}
支払いを追跡する目的で、HubSpotはhs_payment_statusプロパティーとhs_payment_dateプロパティーを自動的に更新します。
  • 支払いが有効な状態で見積もりが公開されると、HubSpotは自動的にhs_payment_statusプロパティーをPENDINGに設定します。
  • ACHを使用している場合、支払いが処理されると、HubSpotは自動的にhs_payment_statusプロパティーをPROCESSINGに設定します。
  • 支払いが確認されると、HubSpotは自動的にhs_payment_statusプロパティーをPAIDに設定します。
  • 見積もりが支払われると、HubSpotは自動的にhs_payment_dateを支払い確認日時に設定します。
  • 支払いが確認されると、支払いは見積もりに自動的に関連付けられます。支払いの詳細を取得する場合は、決済APIをご確認ください。

関連付けを追加する

完全な見積もりを作成するには、関連付けAPIを使用して、商品項目など他のCRMレコードと関連付ける必要があります。次の表は、完全な見積もりに必要なCRMレコードの関連付けと、オプションの関連付けを示しています。IDの取得と、IDを使用して必要な関連付けを作成する方法の詳細については、続きをお読みください。
オブジェクトタイプ必須説明
商品項目はい見積もりを通して販売されている商品またはサービス。製品ライブラリー内の製品から商品項目を作成したり、カスタムのスタンドアロン商品項目を作成したりすることができます。
見積もりテンプレートはい見積もりを表示するテンプレート。見積もりのデフォルト設定(言語など)が含まれます。見積もりごとに1つのテンプレートを関連付けることができます。
取引はい収益と営業ライフサイクルを追跡するために使用される取引レコード。見積もりには、関連付けられた取引からの値(担当者、通貨など)が継承されます。見積もりごとに1つの取引を関連付けることができます。
コンタクトいいえ見積もりの対象となる特定の顧客。
会社いいえ見積もりの対象となる特定の会社。見積もりごとに1つの会社を関連付けることができます。
割引手数料税金いいえ決済時に適用される任意の割引、手数料、税金。合計見積もり金額を算定する際、HubSpotはまず割引を適用し、次に手数料、そして税金を適用します。hs_sort_orderフィールドを使用すると、同じタイプのオブジェクトを並べ替えることができます。hs_typeの値をFIXEDまたはPERCENTに設定することで、固定値またはパーセンテージを指定できます。

関連付けのIDの取得

各関連付けを作成するには、まず関連付ける各オブジェクトのIDを取得する必要があります。各IDを取得するには、関連するオブジェクトエンドポイントにGETリクエストを送信します。各CRMオブジェクトで同様の処理を行います。また、各リクエストを送信するときには、必要に応じてpropertiesクエリーパラメーターを含めることで、特定のプロパティーを返すことができます。以下は、各タイプのオブジェクトに対するGETリクエストの例です。
GET request for line items
/crm/v3/objects/line_items?properties=name

GET request for quote templates
/crm/v3/objects/quote_template?properties=hs_name

GET request for deals
/crm/v3/objects/deals?properties=dealname

GET request for contacts
/crm/v3/objects/contacts?properties=email

GET request for companies
/crm/v3/objects/companies?properties=name

GET request for discounts
crm/v3/objects/discounts?properties=hs_type,hs_value

GET request for fees
crm/v3/objects/fees?properties=hs_type,hs_value

GET request for taxes
crm/v3/objects/taxes?properties=hs_type,hs_value
呼び出しが成功するたびに、取得された各オブジェクトタイプの詳細を含む200レスポンスが返されます。次のステップでは、idフィールドの値を使用して関連付けを設定します。
{
  "results": [
    {
      "id": "235425923863",
      "properties": {
        "hs_createdate": "2023-06-12T16:27:32.794Z",
        "hs_lastmodifieddate": "2023-06-12T16:27:32.794Z",
        "hs_name": "Default Basic",
        "hs_object_id": "235425923863"
      },
      "createdAt": "2023-06-12T16:27:32.794Z",
      "updatedAt": "2023-06-12T16:27:32.794Z",
      "archived": false
    },
    {
      "id": "235425923864",
      "properties": {
        "hs_createdate": "2023-06-12T16:27:32.794Z",
        "hs_lastmodifieddate": "2023-06-12T16:27:32.794Z",
        "hs_name": "Default Modern",
        "hs_object_id": "235425923864"
      },
      "createdAt": "2023-06-12T16:27:32.794Z",
      "updatedAt": "2023-06-12T16:27:32.794Z",
      "archived": false
    },
    {
      "id": "235425923865",
      "properties": {
        "hs_createdate": "2023-06-12T16:27:32.794Z",
        "hs_lastmodifieddate": "2023-06-12T16:27:32.794Z",
        "hs_name": "Default Original",
        "hs_object_id": "235425923865"
      },
      "createdAt": "2023-06-12T16:27:32.794Z",
      "updatedAt": "2023-06-12T16:27:32.794Z",
      "archived": false
    }
  ]
}

関連付けの作成

IDが取得されると、関連付けAPIを呼び出して関連付けを作成できるようになります。 見積もりに関連付けるオブジェクトのタイプごとに、以下のURL構造を使ってPUTリクエストを送信することで、個別の呼び出しを行う必要があります。 /crm/v4/objects/quotes/{fromObjectId}/associations/default/{toObjectType}/{toObjectId}
パラメーター説明
fromObjectId見積もりのID。
toObjectType関連付けているオブジェクトのタイプ。例えば、line_itemsdealsquote_templateなどです。
toObjectId見積もりに関連付けているオブジェクトのID。
以下は、各タイプのオブジェクトに対するPUTリクエストの例です。
PUT request to associate a line item
/crm/v4/objects/quotes/{quoteId}/associations/default/line_items/{lineItemId}

PUT request to associate a quote template
/crm/v4/objects/quotes/{quoteId}/associations/default/quote_template/{quoteTemplateId}

PUT request to associate a deal
/crm/v4/objects/quotes/{quoteId}/associations/default/deals/{dealId}

PUT request to associate contacts
/crm/v4/objects/quotes/{quoteId}/associations/default/contacts/{contactId}

PUT request to associate companies
/crm/v4/objects/quotes/{quoteId}/associations/default/companies/{companyId}

PUT request to associate discounts
/crm/v4/objects/quotes/{quoteId}/associations/default/discounts/{discountId}

PUT request to associate fees
/crm/v4/objects/quotes/{quoteId}/associations/default/fees/{feeId}

PUT request to associate taxes
/crm/v4/objects/quotes/{quoteId}/associations/default/taxes/{taxId}
例えば、見積もりのIDが123456である場合、見積もりを関連付けるリクエストは次のような内容になります。
  • 商品項目(ID:5555566666:
    • /crm/v4/objects/quotes/123456/associations/default/line_items/55555
    • /crm/v4/objects/quotes/123456/associations/default/line_items/66666
  • 見積もりテンプレート(ID: 987654: /crm/v4/objects/quotes/123456/associations/default/quote_template/987654
  • 取引(ID:345345: /crm/v4/objects/quotes/123456/associations/default/deals/345345
関連付けが成功するたびに、その関連付けの詳細を含む200レスポンスが返されます。上記の呼び出しは、オブジェクトを両方向に関連付け、各方向に独自のIDがあります。例えば、見積もりを見積もりテンプレートに関連付けると、レスポンスには両方からの関連付けが記述されます。以下のレスポンスの例で、286は見積もりと見積もりテンプレートの関連付けタイプID、285は見積もりテンプレートと見積もりの関連付けタイプIDです。
{
  "status": "COMPLETE",
  "results": [
    {
      "from": {
        "id": "115045534742"
      },
      "to": {
        "id": "102848290"
      },
      "associationSpec": {
        "associationCategory": "HUBSPOT_DEFINED",
        "associationTypeId": 285
      }
    },
    {
      "from": {
        "id": "102848290"
      },
      "to": {
        "id": "115045534742"
      },
      "associationSpec": {
        "associationCategory": "HUBSPOT_DEFINED",
        "associationTypeId": 286
      }
    }
  ],
  "startedAt": "2023-10-12T16:48:40.624Z",
  "completedAt": "2023-10-12T16:48:40.712Z"
}

見積もりを見積もりテンプレートに関連付けるときには、次の点に注意してください。

  • 見積もりテンプレートに見積もりを関連付ける前に、見積もりテンプレートを作成しておく必要があります。
  • 見積もりは1つの見積もりテンプレートにのみ関連付けることができます。
  • このAPIは、旧バージョンの見積もりや見積もり提案をサポートしていません。CUSTOMIZABLE_QUOTE_TEMPLATEテンプレートタイプのみ使用できます。

見積もり署名者を関連付ける

見積もりで電子署名の使用を有効にする場合は、特定の見積もりとコンタクト間の関連付けラベルを使用して、見積もりと署名者であるコンタクトとの間に関連付けを作成する必要もあります。 上記のデフォルトの関連付けエンドポイントを使用するのではなく、次のURLにPUTリクエストを送信する必要があります。 /crm/v4/objects/quote/{quoteId}/associations/contact/{contactId} リクエスト本文で、次のようにassociationCategoryassociationTypeIdを指定する必要があります。
[
  {
    "associationCategory": "HUBSPOT_DEFINED",
    "associationTypeId": 702
  }
]

関連付けのある見積もりを作成する(1つのリクエスト)

次のリクエスト本文では、見積もりテンプレート、取引、2つの商品項目、およびコンタクトに関連付けられた、新しい見積もりを作成します。
以下のリクエスト本文でアカウント内に見積もりを作成するには、CRMの既存データに合わせてassociationsフィールドのオブジェクトIDを更新する必要があります。さらに詳しいガイダンスについては、関連付けのIDの取得セクションを参照してください。
POST /crm/v3/objects/quote
{
  "properties": {
    "hs_title": "CustomerName - annual SEO audit",
    "hs_expiration_date": "2023-09-30"
  },
  "associations": [
    {
      "to": {
        "id": 115045534742
      },
      "types": [
        {
          "associationCategory": "HUBSPOT_DEFINED",
          "associationTypeId": 286
        }
      ]
    },
    {
      "to": {
        "id": 14795354663
      },
      "types": [
        {
          "associationCategory": "HUBSPOT_DEFINED",
          "associationTypeId": 64
        }
      ]
    },
    {
      "to": {
        "id": 75895447
      },
      "types": [
        {
          "associationCategory": "HUBSPOT_DEFINED",
          "associationTypeId": 67
        }
      ]
    },
    {
      "to": {
        "id": 256143985
      },
      "types": [
        {
          "associationCategory": "HUBSPOT_DEFINED",
          "associationTypeId": 67
        }
      ]
    }
  ]
}
パラメータータイプ説明
propertiesオブジェクト見積もりの詳細を定義するプロパティー値。hs_titlehs_expiration_dateのプロパティーは必須です。
  • hs_title:見積もりの名前。
  • hs_expiration_date:見積もりの有効期限。
  • hs_status見積もりのステータス。作成時に指定しなかった場合、ユーザーはHubSpotで見積もりを編集できません。
associations配列見積もりに関連付けられているその他のCRMレコードとオブジェクト。見積もりを公開可能にするには、取引と見積もりテンプレートが関連付けられている必要があります。見積もりに関連付けられた商品項目は、見積もりの取引に関連付けられた商品項目とは異なる必要があります(つまり、商品項目のコピーを作成する必要があります)。

それぞれの関連付けを設定するには、以下のフィールドを持つ個別のオブジェクトを配列に含めます。
  • to:見積もりに関連付けるレコードまたはオブジェクトのID。
  • associationCategory:関連付けタイプのラベルカテゴリー"HUBSPOT_DEFINED"(デフォルトラベル)または"USER_DEFINED"(カスタムラベル)のいずれかを指定します。
  • associationTypeId:作成されている関連付けタイプのID。例えば以下の値があります。
    • 286:見積もりを見積もりテンプレートに関連付け
    • 64:見積もりを取引に関連付け
    • 67:見積もりを商品項目に関連付け

注:

これらの商品項目は、関連付けられている場合でも(見積もりを取引に関連付ける場合など)、他のオブジェクトの商品項目とは異なる必要があります。詳細については、商品項目APIのドキュメントをご確認ください。

見積もりステータスの更新

見積もりのステータスは、初期設定段階から公開までの作成プロセスの中で、どの段階に進んでいるかを表すものです。見積もり承認がアカウントに対して有効になっている場合、見積もりのステータスは見積もりの承認プロセスを反映することもできます。見積もりのステータスを設定すると、HubSpotでは特定のプロパティーが自動的に入力されます。 見積もりのステータスを更新するには、/crm/v3/objects/quote/{quoteId}PATCHリクエストを送信します。 見積もりのステータスはhs_statusフィールドに基づきます。特定の見積もりのステータスで、ユーザーは見積もり承認ワークフローで見積もりを編集、公開、使用できます。以下の見積もりのステータスを利用できます。
  • ステータスなし: hs_statusフィールドに値が指定されていない場合、見積もりには最小限のステータスが適用されます。この場合、見積もりは見積もりツールのインデックスページに表示されますが、直接編集することはできません。このステータスの見積もりも、シーケンスツールなどの自動化やレポートツール内での分析に使用できます。
  • DRAFT:HubSpotで見積もりを編集できます。このステータスは、見積もりが完全に設定されていない場合や、HubSpotでの見積もり設定プロセスを営業担当者によって完了できるようにしたい場合に役立ちます。
  • APPROVAL_NOT_NEEDED承認を必要とせずに、誰でもアクセス可能なURL(hs_quote_link)で見積もりを公開します。
  • PENDING_APPROVAL:見積もりが公開される前の承認待ち状態であることを示します。
  • APPROVED:見積もりが既に承認され、誰でもアクセス可能なURL(hs_quote_link)に公開されました。
  • REJECTED:見積もりが設定されたものの、まだ公開が承認されておらず、編集してから承認用に再送信する必要があることを示します。

注:

見積もりで電子署名を有効にしている場合、毎月の電子署名数の制限を超えると見積もりを公開できなくなります。
例えば次のリクエストは、誰でもアクセス可能なURLで見積もりを公開します。
{
  "properties": {
    "hs_status": "APPROVAL_NOT_NEEDED"
  }
}

注:

デフォルトでは、見積もりのステータスを更新した後には、HubSpotによって見積もりのhs_template_typeプロパティーがCUSTOMIZABLE_QUOTE_TEMPLATEに設定されます。このテンプレートタイプはv3 APIでサポートされていますが、次のテンプレートタイプは従来のテンプレートであり、サポートが終了しています。
  • QUOTE
  • PROPOSAL

見積もりステータスで設定されたプロパティー

見積もりのステータスを更新すると、次のプロパティーが更新されます。
  • hs_quote_amount:関連付けられている商品項目、税金、割引、手数料に基づいて計算されます。
  • hs_domain:関連付けられている見積もりテンプレートから設定されます。
  • hs_slug:指定されていない場合は、無作為に生成されます。
  • hs_quote_total_preference:ご使用のアカウントの設定に基づいて設定されます。この設定が指定されていない場合には、デフォルト値としてtotal_first_paymentフィールドの値が使用されます。
  • hs_timezone:デフォルト値としてHubSpotアカウントのタイムゾーンが使用されます。
  • hs_locale:関連付けられている見積もりテンプレートから設定されます。
  • hs_quote_number:指定されていない場合、現在の日付と時刻に基づいて設定されます。
  • hs_language:関連付けられている見積もりテンプレートから設定されます。
  • hs_currency:関連付けられている取引に基づいて設定されます。見積もりに取引を関連付けていない場合、HubSpotアカウントのデフォルトの通貨がデフォルト値として使用されます。
見積もりが「公開中」ステータスに設定されるときには、次のプロパティーも計算されます。
  • hs_pdf_download_link:見積もりのPDFのURLが取り込まれます。
  • hs_lockedtrueに設定されます。見積もりを公開した後にいずれかのプロパティーを変更するには、まず見積もりのhs_statusDRAFTPENDING_APPROVAL、またはREJECTEDに更新する必要があります。
  • hs_quote_link:見積もりの一般公開URL。これは読み取り専用プロパティーで、公開後にAPIを介して設定することはできません。
  • hs_esign_num_signers_required電子署名を有効にしている場合、必要な署名の数が表示されます。
  • hs_payment_status:支払いを有効にしている場合の支払い回収のステータス。支払いを有効にして公開すると、このプロパティーはPENDINGに設定されます。購入者が見積もりを通じて支払いを送信すると、ステータスはそれに応じて自動的に更新されます。詳しくは支払いを有効にする方法をご確認ください。

見積もりを取得する

見積もりを個別に、または一括で取得できます。
  • 個々の見積もりを取得するには、/crm/v3/objects/quotes/{quoteID}GETリクエストを送信します。
  • 全ての見積もりのリストをリクエストするには/crm/v3/objects/quotesGETリクエストを送信します。
これらのエンドポイントに対し、リクエストのURLに次のクエリーパラメーターを含めることができます。 | パラメーター | 説明 | | --- | --- | --- | | properties | レスポンスで返されるプロパティーのカンマ区切りリスト。リクエスト対象の見積もりで、指定したプロパティーに値が設定されていない場合、そのプロパティーはレスポンスに含まれません。 | | propertiesWithHistory | レスポンスで返される現在および過去のプロパティーのカンマ区切りリスト。リクエスト対象の見積もりで、指定したプロパティーに値が設定されていない場合、そのプロパティーはレスポンスに含まれません。 | | associations | 関連付けられたIDを取得する対象のオブジェクトのカンマ区切りリスト。存在しない関連付けを指定した場合、その関連付けはレスポンスで返されません。詳しくは関連付けAPI | をご参照ください。 | IDを指定して特定の複数の見積もりを一括取得するには、POSTリクエストをcrm/v3/objects/quotes/batch/readに送信し、そのリクエスト本文に取得する見積もりのIDを含めます。また、返すプロパティーを指定するproperties配列を含めることもできます。このバッチエンドポイントは関連付けを取得できません。詳しくは、関連付けAPIを使用して関連付けを一括読み取りする方法をご参照ください。
{
  "inputs": [{ "id": "342007287" }, { "id": "81204505203" }],
  "properties": ["hs_content", "hs_sentiment", "hs_submission_timestamp"]
}

スコープ

有効で公開可能な見積もりを作成するには、次のスコープが必要です。
  • crm.objects.quotes.writecrm.objects.quotes.readcrm.objects.line_items.writecrm.objects.line_items.readcrm.objects.owners.readcrm.objects.contacts.writecrm.objects.contacts.readcrm.objects.deals.writecrm.objects.deals.readcrm.objects.companies.writecrm.objects.companies.read
  • crm.schemas.quote.readcrm.schemas.line_items.readcrm.schemas.contacts.readcrm.schemas.deals.readcrm.schemas.companies.read