> ## Documentation Index
> Fetch the complete documentation index at: https://developers.hubspot.jp/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# CRM API | 取引

export const postmanIcon = <svg xmlns="http://www.w3.org/2000/svg" width={25} height={25} preserveAspectRatio="xMidYMid" viewBox="0 0 256 256">
    <path fill="#FF6C37" d="M254.953 144.253c8.959-70.131-40.569-134.248-110.572-143.206C74.378-7.912 10.005 41.616 1.047 111.619c-8.959 70.003 40.569 134.248 110.572 143.334 70.131 8.959 134.248-40.569 143.334-110.7Z" />
    <path fill="#FFF" d="m174.2 82.184-54.007 54.007-15.229-15.23c53.11-53.11 58.358-48.503 69.236-38.777Z" />
    <path fill="#FF6C37" d="M120.193 137.47c-.384 0-.64-.128-.895-.384l-15.358-15.229a1.237 1.237 0 0 1 0-1.792c54.007-54.006 59.638-48.887 71.028-38.649.255.256.383.512.383.896s-.128.64-.383.896l-54.007 53.878c-.128.256-.512.384-.768.384Zm-13.437-16.509 13.437 13.438 52.087-52.087c-9.47-8.446-15.87-11.006-65.524 38.65Z" />
    <path fill="#FFF" d="m135.679 151.676-14.718-14.718 54.007-54.006c14.46 14.59-7.167 38.265-39.29 68.724Z" />
    <path fill="#FF6C37" d="M135.679 152.956c-.384 0-.64-.128-.896-.384l-14.718-14.718c-.256-.256-.256-.512-.256-.896s.128-.64.384-.895L174.2 82.056a1.237 1.237 0 0 1 1.791 0 15.58 15.58 0 0 1 4.991 11.902c-.256 14.206-16.38 32.25-44.28 58.614-.383.256-.767.384-1.023.384Zm-12.926-15.998c8.19 8.319 11.646 11.646 12.926 12.926 21.5-20.476 42.36-41.464 42.488-55.926.128-3.327-1.152-6.655-3.327-9.214l-52.087 52.214Z" />
    <path fill="#FFF" d="m105.22 121.345 10.878 10.878c.256.256.256.512 0 .768-.128.128-.128.128-.256.128l-22.524 4.863c-1.152.128-2.175-.64-2.431-1.791-.128-.64.128-1.28.512-1.664l13.053-13.054c.256-.256.64-.384.768-.128Z" />
    <path fill="#FF6C37" d="M92.934 139.262c-1.92 0-3.327-1.536-3.327-3.455 0-.896.384-1.792 1.024-2.432l13.053-13.054c.768-.64 1.792-.64 2.56 0l10.878 10.878c.768.64.768 1.792 0 2.56-.256.256-.512.384-.896.512l-22.524 4.863c-.256 0-.512.128-.768.128Zm11.902-16.51-12.542 12.543c-.256.256-.383.64-.128 1.024.128.383.512.511.896.383l21.116-4.607-9.342-9.342Z" />
    <path fill="#FFF" d="M202.739 52.238c-8.191-7.935-21.373-7.679-29.307.64-7.935 8.318-7.679 21.372.64 29.306A20.678 20.678 0 0 0 199.155 85l-14.59-14.59 18.174-18.172Z" />
    <path fill="#FF6C37" d="M188.405 89.223c-12.158 0-22.012-9.854-22.012-22.012 0-12.158 9.854-22.012 22.012-22.012 5.631 0 11.134 2.176 15.23 6.143.255.256.383.512.383.896s-.128.64-.384.895L186.357 70.41l13.566 13.566c.512.512.512 1.28 0 1.792l-.256.256c-3.327 2.047-7.295 3.199-11.262 3.199Zm0-41.337c-10.75 0-19.452 8.703-19.324 19.453 0 10.75 8.702 19.452 19.452 19.324 2.944 0 5.887-.64 8.575-2.047l-13.438-13.31c-.256-.256-.384-.512-.384-.896s.128-.64.384-.895l17.149-17.15c-3.456-2.943-7.807-4.479-12.414-4.479Z" />
    <path fill="#FFF" d="m203.122 52.622-.255-.256-18.301 18.044 14.461 14.462c1.408-.896 2.816-1.92 3.967-3.072a20.51 20.51 0 0 0 .128-29.178Z" />
    <path fill="#FF6C37" d="M199.155 86.28c-.384 0-.64-.128-.896-.384l-14.589-14.59c-.256-.256-.384-.512-.384-.896s.128-.64.384-.895l18.173-18.173a1.237 1.237 0 0 1 1.791 0l.384.256c8.575 8.574 8.575 22.396.128 31.098-1.28 1.28-2.687 2.432-4.223 3.328-.384.128-.64.256-.768.256Zm-12.798-15.87 12.926 12.926c1.024-.64 2.048-1.536 2.816-2.304 7.294-7.294 7.678-19.196.64-26.875L186.357 70.41Z" />
    <path fill="#FFF" d="M176.375 84.488a7.879 7.879 0 0 0-11.134 0l-48.247 48.247 8.063 8.063 51.062-44.792c3.328-2.816 3.584-7.807.768-11.134-.256-.128-.384-.256-.512-.384Z" />
    <path fill="#FF6C37" d="M124.929 142.077c-.384 0-.64-.128-.896-.383l-8.063-8.063a1.237 1.237 0 0 1 0-1.792l48.247-48.247a9.115 9.115 0 0 1 12.926 0 9.115 9.115 0 0 1 0 12.926l-.384.384-51.063 44.792c-.128.255-.384.383-.767.383Zm-6.143-9.342 6.27 6.271 50.167-44.024c2.816-2.304 3.072-6.527.768-9.342-2.303-2.816-6.526-3.072-9.342-.768-.128.128-.256.256-.512.384l-47.351 47.48Z" />
    <path fill="#FFF" d="M80.009 187.637c-.512.256-.768.768-.64 1.28l2.175 9.214c.512 1.28-.256 2.816-1.663 3.2-1.024.384-2.176 0-2.816-.768l-14.077-13.95 45.943-45.943 15.87.256 10.75 10.75c-2.56 2.175-18.045 17.149-55.542 35.961Z" />
    <path fill="#FF6C37" d="M78.985 202.61c-1.024 0-2.048-.383-2.688-1.151l-13.95-13.95c-.255-.256-.383-.512-.383-.896 0-.383.128-.64.384-.895l45.944-45.944c.256-.256.64-.384.895-.384l15.87.256c.383 0 .64.128.895.384l10.75 10.75c.256.256.384.64.384 1.024s-.128.64-.512.896l-.895.767c-13.566 11.902-31.995 23.804-54.902 35.194l2.175 9.086c.384 1.664-.384 3.456-1.92 4.352-.767.384-1.407.512-2.047.512Zm-14.078-15.997 13.182 13.054c.384.64 1.152.896 1.792.512.64-.384.896-1.152.512-1.792l-2.176-9.214c-.256-1.152.256-2.176 1.28-2.688 22.652-11.39 40.952-23.163 54.39-34.81l-9.47-9.47-14.718-.256-44.792 44.664Z" />
    <path fill="#FFF" d="m52.11 197.62 11.006-11.007 16.38 16.381-26.107-1.791c-1.151-.128-1.92-1.152-1.791-2.304 0-.512.128-1.024.512-1.28Z" />
    <path fill="#FF6C37" d="m79.497 204.146-26.236-1.791c-1.92-.128-3.199-1.792-3.071-3.712.128-.768.384-1.535 1.024-2.047L62.22 185.59a1.237 1.237 0 0 1 1.792 0l16.38 16.38c.385.385.512.897.257 1.408-.256.512-.64.768-1.152.768Zm-16.381-15.74-10.11 10.11c-.384.255-.384.895 0 1.151.127.128.255.256.511.256l22.652 1.536-13.053-13.054ZM104.452 146.557c-.768 0-1.28-.64-1.28-1.28 0-.384.128-.64.384-.896l12.414-12.414a1.237 1.237 0 0 1 1.792 0l8.062 8.063c.384.384.512.768.384 1.28-.128.384-.512.767-1.023.895l-20.477 4.352h-.256Zm12.414-11.902-8.446 8.446 13.821-2.943-5.375-5.503Z" />
    <path fill="#FFF" d="m124.8 140.926-14.077 3.071c-1.024.256-2.048-.384-2.303-1.408-.128-.64 0-1.28.511-1.791l7.807-7.807 8.063 7.935Z" />
    <path fill="#FF6C37" d="M110.467 145.277a3.168 3.168 0 0 1-3.2-3.2c0-.895.385-1.663.897-2.303l7.806-7.807a1.237 1.237 0 0 1 1.792 0l8.062 8.063c.384.384.512.768.384 1.28-.128.384-.512.767-1.023.895l-14.078 3.072h-.64Zm6.399-10.622-6.91 6.91c-.257.257-.257.512-.129.768s.384.384.768.384l11.774-2.56-5.503-5.502ZM203.25 64.907c-.256-.767-1.151-1.151-1.92-.895-.767.255-1.151 1.151-.895 1.92 0 .127.128.255.128.383.768 1.536.512 3.455-.512 4.863-.512.64-.384 1.536.128 2.048.64.512 1.536.384 2.048-.256 1.92-2.432 2.303-5.503 1.023-8.063Z" />
  </svg>;

export const ScopesList = ({scopes = [], description = "この API には、次のいずれかのスコープが必要です。"}) => {
  if (!scopes || scopes.length === 0) {
    return null;
  }
  const sortedScopes = scopes.sort((a, b) => a.localeCompare(b));
  return <div>
      <div className="text-sm mb-2">{description}</div>
      <div>
        {sortedScopes.map((scope, index) => <div key={index}>
            <code>
              <span className="text-xs">{scope}</span>
            </code>
          </div>)}
      </div>
    </div>;
};

<Card title="Run in Postman" href="https://app.getpostman.com/run-collection/8b5f74a661b06f5a54bd" icon={postmanIcon} horizontal={true} />

<RelatedApiLink />

<Accordion title="スコープ要件">
  <ScopesList
    scopes={[
  'crm.objects.deals.read',
  'crm.objects.deals.write'
]}
  />
</Accordion>

HubSpotにおける「取引」とは、コンタクトまたは会社との間で進めている商取引を表します。[パイプラインステージ](https://knowledge.hubspot.com/ja/object-settings/set-up-and-customize-pipelines)上で成約または失注になるまでの間、営業プロセスを通してトラッキングが行われます。取引エンドポイントを使用することにより、取引レコードを作成、管理したり、HubSpotと他のシステムの間で取引データを同期したりできます。

オブジェクト、レコード、プロパティー、および関連付けAPIの詳細については、[CRMのガイド](/guides/crm/understanding-the-crm)をご確認ください。HubSpotのオブジェクトとレコードに関する一般的な情報については、[CRMデータベースを管理する方法](https://knowledge.hubspot.com/ja/get-started/manage-your-crm-database)をご確認ください。

## 取引を作成する

新しい取引を作成するには、`POST`リクエストを`/crm/v3/objects/deals`に送信します。

リクエスト本文の`properties`オブジェクトに取引データを含めます。また、`associations`オブジェクトを追加して、新しい取引を既存のレコード（コンタクト、会社など）またはアクティビティー（ミーティング、メモなど）に関連付けることもできます。

### プロパティー

取引の詳細は、取引プロパティーに格納されます。HubSpot には[デフォルトの取引プロパティー](https://knowledge.hubspot.com/ja/properties/hubspots-default-deal-properties)が用意されていますが、[カスタムプロパティーを作成](https://knowledge.hubspot.com/ja/properties/create-and-edit-properties)することもできます。

新しい取引を作成する際には`dealname`と`dealstage`のプロパティーをリクエストに含める必要があります。また、複数のパイプラインがある場合は`pipeline`も含めます。パイプラインが指定されない場合、デフォルトのパイプラインが使用されます。

利用可能な全てのプロパティーを確認するには、`GET`リクエストを`/crm/v3/properties/deals`に送信して、アカウントの取引プロパティーのリストを取得します。詳しくは[プロパティーAPI](/api-reference/crm-properties-v3/guide)をご参照ください。

<Warning>
  ### 注：

  APIを介して取引を作成する際は、取引ステージまたはパイプラインの内部IDを使用する必要があります。APIを介して取引を取得すると、内部IDも返されます。取引ステージまたはパイプラインの内部IDは、[取引パイプライン設定](https://knowledge.hubspot.com/ja/object-settings/set-up-and-customize-pipelines#edit-or-delete-pipelines)で確認できます。
</Warning>

例えば、新しい取引レコードを作成する場合、リクエストの内容は以下のようになります。

```json theme={null}
{
  "properties": {
    "amount": "1500.00",
    "closedate": "2019-12-07T16:50:06.678Z",
    "dealname": "New deal",
    "pipeline": "default",
    "dealstage": "contractsent",
    "hubspot_owner_id": "910901",
    "hs_all_collaborator_owner_ids": ";12345678;9101112"
  }
}
```

### 関連付け

また、新しい取引を作成する際には、`associations`オブジェクトで[既存のレコード](https://knowledge.hubspot.com/ja/records/associate-records)または[アクティビティー](https://knowledge.hubspot.com/ja/records/associate-activities-with-records)に関連付けることもできます。例えば、新しい取引を既存のコンタクトと会社に関連付ける場合、リクエストの内容は以下のようになります。

```json theme={null}
{
  "properties": {
    "amount": "1500.00",
    "closedate": "2019-12-07T16:50:06.678Z",
    "dealname": "New deal",
    "pipeline": "default",
    "dealstage": "contractsent",
    "hubspot_owner_id": "910901"
  },
  "associations": [
    {
      "to": {
        "id": 201
      },
      "types": [
        {
          "associationCategory": "HUBSPOT_DEFINED",
          "associationTypeId": 5
        }
      ]
    },
    {
      "to": {
        "id": 301
      },
      "types": [
        {
          "associationCategory": "HUBSPOT_DEFINED",
          "associationTypeId": 3
        }
      ]
    }
  ]
}
```

以下を`associations`オブジェクトに含める必要があります。

| パラメーター  | 説明                                                                                                                                                                                                                                                                                                           |
| ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `to`    | 取引に関連付けるレコードまたはアクティビティー。一意の`id`値で指定します。                                                                                                                                                                                                                                                                      |
| `types` | 取引とレコードまたはアクティビティーの間の関連付けのタイプ。`associationCategory`と`associationTypeId`を含めます。デフォルトの関連付けタイプIDは[こちらのページ](/api-reference/crm-associations-v4/guide#association-type-id-values)に記載されています。または、[関連付けAPI](/api-reference/crm-associations-v4/guide#retrieve-association-types)を使用して、カスタム関連付けタイプ（ラベル）の値を取得することもできます。 |

## 取引を取得する

取引レコードを個別に、または一括で取得できます。

* 取引を個別に取得するには、`GET`リクエストを`/crm/v3/objects/deals/{dealId}`に送信します。
* 全ての取引のリストを要求するには、`GET`リクエストを`/crm/v3/objects/deals`に送信します。

これらのエンドポイントに対し、リクエストのURLに次のクエリーパラメーターを含めることができます。

| パラメーター                  | 説明                                                                                                                                      |
| ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| `properties`            | レスポンスで返されるプロパティーのカンマ区切りリスト。リクエスト対象の取引レコードで、指定したプロパティーに値が設定されていない場合、そのプロパティーはレスポンスに含まれません。                                               |
| `propertiesWithHistory` | レスポンスで返される現在および過去のプロパティーのカンマ区切りリスト。リクエスト対象の取引レコードで、指定したプロパティーに値が設定されていない場合、そのプロパティーはレスポンスに含まれません。                                       |
| `associations`          | 関連付けられたIDを取得する対象のオブジェクトのカンマ区切りリスト。存在しない関連付けを指定した場合、その関連付けはレスポンスで返されません。詳しくは[関連付けAPI](/api-reference/crm-associations-v4/guide)をご参照ください。 |

* レコードIDまたは[カスタム固有IDプロパティー](/api-reference/crm-properties-v3/guide#create-unique-identifier-properties)を指定して特定の取引を一括で取得するには、`POST`リクエストを`crm/v3/objects/deals/batch/read`に送信します。
  * このバッチエンドポイントは関連付けを取得<u>できません</u>。詳しくは、[関連付けAPI](/api-reference/crm-associations-v4/guide)を使用して関連付けを一括読み取りする方法をご参照ください。
  * 取引IDではなくカスタムの[固有IDプロパティー](/api-reference/crm-properties-v3/guide#create-unique-identifier-properties)によって取引を取得するには、リクエスト本文に`idProperty`パラメーターを含めてプロパティー名を指定します。次に、`inputs`配列に取引IDではなく固有IDプロパティーの値を含めます。

例えば、取引レコードを一括で取得する場合のリクエストは、以下のいずれかのようになります。

<CodeGroup>
  ```text get by id.txt theme={null}
  {
  "properties": ["dealname", "dealstage", "pipeline"],
  "inputs": [
  {
  "id": "7891023"
  },
  {
  "id": "987654"
  }
  ]
  }
  ```

  ```text get by unique property.txt theme={null}
  {
  "properties": ["dealname", "dealstage", "pipeline"],
  "idProperty": "uniqueordernumber",
  "inputs": [
  {
  "id": "0001111"
  },
  {
  "id": "0001112"
  }
  ]
  }
  ```
</CodeGroup>

特定のプロパティーの現在の値と過去の値を含む取引を取得するには、以下の通り、リクエスト本文に`propertiesWithHistory`パラメーターを含めます。

```json theme={null}
{
  "propertiesWithHistory": ["dealstage"],
  "inputs": [
    {
      "id": "7891023"
    },
    {
      "id": "987654"
    }
  ]
}
```

## 取引を更新する

取引レコードを個別に、または一括で更新できます。既存の取引の場合、APIを介してそのレコードを更新するために使用できるデフォルトの一意の値は、取引IDです。ただし、[カスタムの固有IDプロパティー](/api-reference/crm-properties-v3/guide#create-unique-identifier-properties)を使用して取引を識別することもできます。

* レコードIDを基に取引を個別に更新するには、`PATCH`リクエストに更新対象のデータを含めて`/crm/v3/objects/deals/{dealId}`に送信します。
* 複数の取引を更新するには、`POST`リクエストを`/crm/v3/objects/deals/batch/update`に送信します。リクエストの本文に、取引の識別子と更新するプロパティーを含む配列を含めます。

### 既存の取引を他のレコードまたはアクティビティーに関連付ける

取引を他のCRMレコードやアクティビティーに関連付けるには、`PUT`リクエストを`/crm/v3/objects/deals/{dealId}/associations/{toObjectType}/{toObjectId}/{associationTypeId}`に送信します。

<Info>
  `associationTypeId`値を取得するには、[デフォルト値のリスト](/api-reference/crm-associations-v4/guide#association-type-id-values)を参照するか、`GET`リクエストを`/crm/v4/associations/{fromObjectType}/{toObjectType}/labels`に送信します。
</Info>

レコード関連付けの詳細については[関連付けAPI](/api-reference/crm-associations-v4/guide)をご確認ください。

### 関連付けを削除する

取引とレコードまたはアクティビティーの間の関連付けを削除するには、`DELETE`リクエストを`/crm/v3/objects/deals/{dealId}/associations/{toObjectType}/{toObjectId}/{associationTypeId}`に送信します。

## 取引レコード上でアクティビティーをピン留めする

リクエストに`hs_pinned_engagement_id`パラメーターを含めることで、APIを介して取引レコードでアクティビティーをピン留めできます。パラメーターの値には、ピン留めするアクティビティーのIDを指定します。これは[エンゲージメントAPI](/api-reference/overview)を介して取得できます。レコードごとに1つのアクティビティーをピン留めすることができ、そのアクティビティーはピン留めする前にすでに取引に関連付けられている必要があります。

取引にピン留めするアクティビティーを設定または更新する場合、リクエストは以下のようになります。

```json theme={null}
{
  "properties": {
    "hs_pinned_engagement_id": 123456789
  }
}
```

同じリクエスト内で、取引を作成し、既存のアクティビティーに関連付け、アクティビティーをピン留めすることもできます。以下に例を示します。

```json theme={null}
{
  "properties": {
    "dealname": "New deal",
    "pipelines": "default",
    "dealstage": "contractsent",
    "hs_pinned_engagement_id": 123456789
  },
  "associations": [
    {
      "to": {
        "id": 123456789
      },
      "types": [
        {
          "associationCategory": "HUBSPOT_DEFINED",
          "associationTypeId": 213
        }
      ]
    }
  ]
}
```

## 取引を削除する

取引レコードを個別に、または一括で削除できます。削除した取引レコードは、HubSpot内のごみ箱に追加されます。後から[HubSpot内で取引を復元](https://knowledge.hubspot.com/ja/records/restore-deleted-records)することも可能です。

* IDを基準に[取引を個別に削除](/api-reference/crm-deals-v3/guide#delete-%2Fcrm%2Fv3%2Fobjects%2Fdeals%2F%7Bdealid%7D)するには、`DELETE`リクエストを`/crm/v3/objects/deals/{dealId}`に送信します。このリクエストにリクエスト本文は必要ありません。
* [取引を一括で削除する](/api-reference/crm-deals-v3/guide#post-%2Fcrm%2Fv3%2Fobjects%2Fdeals%2Fbatch%2Farchive)には、`POST`リクエストを`/crm/v3/objects/deals/batch/archive`に送信します。以下の例のように、リクエスト本文には取引IDの値を`id`入力として含めます。

```json theme={null}
{
  "inputs": [
    {
      "id": "123456"
    },
    {
      "id": "7891011"
    },
    {
      "id": "12123434"
    }
  ]
}
```

取引の削除について詳しくは、[リファレンスドキュメント](/api-reference/crm-deals-v3/guide#delete-%2Fcrm%2Fv3%2Fobjects%2Fdeals%2F%7Bdealid%7D)をご参照ください。
