> ## Documentation Index
> Fetch the complete documentation index at: https://generaltranslation.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# クイックスタート

<div id="getting-started-with-the-filtered-stream-webhooks-api">
  ## フィルタ済みストリーム Webhooks API の利用を開始する
</div>

v2 フィルタ済みストリーム Webhooks API は、どのルールでフィルタするかを設定する点では、[v2 フィルタ済みストリームエンドポイント](/ja/x-api/posts/filtered-stream/introduction) と似ています。違いは、ルールに一致した投稿の配信方法にあります。

* v2 フィルタ済みストリームエンドポイントの場合は、永続的な接続を確立し、ルールに一致した投稿を受信し続ける必要があります。
* このフィルタ済みストリーム Webhook エンドポイントの場合は、Webhook を登録すると、X がルールに一致した投稿をその Webhook に配信します。

このガイドでは、フィルタ済みストリーム Webhooks エンドポイントを使って投稿をフィルタし、受信する方法を説明します。ここでは次の 3 つのステップを行います。

1. フィルタ済みストリームのルールを設定する
2. Webhook を作成する
3. Filtered Stream インスタンスを Webhook に関連付ける

Filtered Stream インスタンスを Webhook に関連付けると、X はルールに一致した投稿をその Webhook に送信します。

<div id="setting-up-your-filtered-stream-rules">
  ### フィルタ済みストリームルールの設定
</div>

フィルタ済みストリームルールは、1 つ以上のオペレーターをブール論理と括弧で組み合わせて構成されており、どの投稿が webhook に配信されるかを定義するのに役立ちます。Filtered stream webhooks API は、ルールの作成と管理に [v2 filtered stream endpoint](/ja/x-api/posts/filtered-stream/introduction) と同じエンドポイント群を使用します。フィルタの構築方法を説明した [詳細なガイド](/ja/x-api/posts/filtered-stream/integrate/build-a-rule) も参照してください。

<div id="creating-your-webhook">
  ### Webhook の作成
</div>

X API に対して外部からアクセス可能な HTTPS URL を登録して、イベントを受信するための webhook を作成します。Webhook は、CRC 検証用の GET リクエストと、イベントペイロード用の POST リクエストの両方を処理できる必要があります。Webhook の作成と管理に関する詳細な手順については、[Webhooks の概要ドキュメント](/ja/x-api/webhooks/introduction)を参照してください。

**注:** すでに [Account Activity API (AAA)](/ja/x-api/account-activity/introduction) 用に webhook を使用している場合、そのために設定されている webhook は、ここでもまったく同じものです。実際、十分な帯域があり、イベントを分離できるのであれば、AAA 用に使用しているのと同じ webhook エンドポイントをこの API にも使用できます。

<div id="linking-your-filtered-stream-instance-to-your-webhook">
  ### Filtered Stream インスタンスを webhook にリンクする
</div>

ルールを設定して webhook を作成したら、その webhook を Filtered Stream インスタンスにリンクします。これにより、条件にマッチしたポストイベントが webhook の URL に送信されます。

使用するエンドポイント: `POST /2/tweets/search/webhooks/:webhook_id `

ストリーミングエンドポイント `/2/tweets/search/stream` で使用するものと同じクエリパラメータ (`expansions`、フィールド、メディアオプションなど) を指定できます。これにより、イベントペイロードに含めるデータをカスタマイズできます。

**例:**

```bash theme={null}
curl --request POST \ 
  --url 
'https://api.x.com/2/tweets/search/webhooks/123456789012345678?ex
pansions=author_id&user.fields=username,name,id' \ 
  --header 'Authorization: Bearer $BEARER_TOKEN' 
```

成功したレスポンスの例：

```json theme={null}
{ 
  "data": { 
    "provisioned": true 
  } 
}
```

**Tip:** 冗長性を確保したり、異なるフィールドセットを受け取ったりするために、同じストリームに複数の webhook をリンクできます。各リンクごとに固有のパラメータを指定できます。

Filtered Stream インスタンスを webhook にリンクすると、以下のようにルールに一致する投稿の受信が始まります。

```json theme={null}
{
    "data": {
        "id": "1346889436626259968",
        "text": "Learn how to use the user Post timeline and user mention timeline endpoints in the X API v2 to explore Post… https://t.co/56a0vZUx7i",
        "created_at": "2021-01-06T18:40:40.000Z",
        "author_id": "2244994945"
    },
    "includes": {
        "users": [
            {
                "id": "2244994945",
                "name": "Developers",
                "username": "Xdevelopers",
                "created_at": "2013-12-14T04:35:55Z",
                "protected": false
            }
        ]
    },
    "matching_rules": [
        {
            "id": "120897978112909812",
            "tag": "api-posts"
        }
    ]
}
```

<div id="retrieving-webhooks-linked-to-filtered-stream">
  ### Filtered Stream にリンクされている Webhook の取得
</div>

現在 Filtered Stream にリンクされているすべての Webhook の一覧を取得します。

```bash theme={null}
GET /2/tweets/search/stream/webhooks 
```

レスポンス例：

```json theme={null}
{
    "data": {
        "links": [
            {
                "application_id": "29893711",
                "business_user_id": "1877374016438091776",
                "fields": [
                    "user.fields=username",
                    "name",
                    "id",
                    "expansions=author_id"
                ],
                "instance_id": "1877375130462289920",
                "webhook_id": "1952390923729424384"
            }
        ]
    }
}
```

<div id="unlinking-your-webhook-from-filtered-stream">
  ### Filtered Stream から Webhook のリンクを解除する
</div>

特定の Webhook でイベントの受信を停止するには、次のようにリンクを解除します。

```bash theme={null}
DELETE /2/tweets/search/webhooks/:webhook_id
```

レスポンスは次のとおりです。

```json theme={null}
{
    "data": {
        "deleted": true
    }
}
```
