> ## 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.

# Webhook配信登録の設定（ベータ版）

> 最新バージョンの開発者プラットフォーム（ベータ版）でWebhook配信登録を定義する方法をご確認ください。

<style>
  {`
    .table-key, .table-key div, .table-key p {
      margin: 0;
      font-size: 14px;
    }
    code {
      text-wrap:nowrap!important;
    }

    `}
</style>

新しい開発者プラットフォームでアプリ用に一連のWebhook配信登録を定義するには、プロジェクトに、`*-hsmeta.json`構成ファイルを格納した`webhooks`ディレクトリーを含めます。

## ディレクトリー構造

```shell theme={null}
├──src
│   ├── app/
│   │   └── app-hsmeta.json
│   │   └── ...
│   │   └── webhooks/
│   │     └── webhooks-hsmeta.json
└──
```

## Webhookの設定

`*-hsmeta.json`ファイルで使用できる設定オプションを以下に示します。

```json theme={null}
{
  "uid": "webhooks",
  "type": "webhooks",
  "config": {
    "settings": {
      "targetUrl": "https://example.com/webhook",
      "maxConcurrentRequests": 10
    },
    "subscriptions": {
      "crmObjects": [
        {
          "subscriptionType": "object.creation",
          "objectType": "contact",
          "active": true
        }
      ],
      "legacyCrmObjects": [
        {
          "subscriptionType": "contact.propertyChange",
          "propertyName": "lastname",
          "active": true
        },
        {
          "subscriptionType": "contact.deletion",
          "active": true
        }
      ],
      "hubEvents": [
        {
          "subscriptionType": "contact.privacyDeletion",
          "active": true
        }
      ]
    }
  }
}
```

<p className="table-key">
  <span style={{ color: 'red' }}>\*</span>でマークされたフィールドは必須です。
</p>

| フィールド                                                | 型      | 説明                                                                                                                                                                                                                                                                                                                      |
| ---------------------------------------------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `uid`<span style={{color:"red"}}>\*</span>           | 文字列    | Webhookコンポーネントの内部固有ID。                                                                                                                                                                                                                                                                                                  |
| `type`<span style={{color:"red"}}>\*</span>          | 文字列    | コンポーネントのタイプ。この場合は`webhooks`にする必要があります。                                                                                                                                                                                                                                                                                  |
| `settings`<span style={{color:"red"}}>\*</span>      | オブジェクト | 2つのフィールドを指定するオブジェクト。一方の`targetUrl`フィールドで、HubSpotがイベントペイロードを配信するために呼び出す、一般公開されたURLを指定します。もう一方の`maxConcurrentRequests`フィールドでは、HubSpotが所定の時間枠内に送信するHTTPリクエスト数の上限しきい値を指定します。                                                                                                                                                |
| `subscriptions`<span style={{color:"red"}}>\*</span> | オブジェクト | アプリで配信登録する配信カテゴリーを指定するオブジェクト。                                                                                                                                                                                                                                                                                           |
| `crmObjects`                                         | 配列     | <p>イベント配信登録の定義からなる配列。これは標準で組み込まれる配列であり、[新しい形式](/apps/legacy-apps/public-apps/create-generic-webhook-subscriptions)（`object.*`）の全てのイベントにはこの配列を使用する必要があります。</p> <p>イベントによっては、代わりに`legacyCrmObjects`配列と`hubEvents`配列に、[従来のWebhook配信カテゴリー](/api-reference/webhooks-webhooks-v3/guide#webhook-subscriptions)を含める必要があります。</p> |
| `legacyCrmObjects`                                   | 配列     | [従来の配信カテゴリー](/api-reference/webhooks-webhooks-v3/guide#webhook-subscriptions)（`contact.creation`、`deal.deletion`など）からなる配列。                                                                                                                                                                                              |
| `hubEvents`                                          | 配列     | 従来の配信カテゴリー`contact.privacyDeletion`および`conversation.*`からなる配列。                                                                                                                                                                                                                                                           |

`subscription`オブジェクトごとに、対象とする配信登録定義のタイプ（`crmObjects`、`legacyCrmObjects`、`hubEvents`）や、特定のプロパティーの変更（`contact.propertyChange`など）に配信登録するかどうかに応じて、以下のフィールドを指定できます。

| フィールド              | 型    | 説明                                                                 |
| ------------------ | ---- | ------------------------------------------------------------------ |
| `subscriptionType` | 文字列  | 配信登録する対象のイベントのタイプ。                                                 |
| `objectType`       | 文字列  | `crmObjects`配列内で指定されている配信登録の場合、このフィールドで、アプリの配信登録先のCRMオブジェクトを指定します。 |
| `propertyName`     | 文字列  | プロパティー変更に対する配信登録の場合、このフィールドで、Webhookイベントをトリガーするプロパティーを指定します。       |
| `active`           | ブール値 | この配信登録に対してWebhookイベントをトリガーするかどうかを示します。                             |
