# 概览

> 为你的 Firecrawl 操作提供实时通知

import CrawlWebhookCURL from "/snippets/zh/v2/crawl-webhook/base/curl.mdx";
import BatchScrapeWebhookCURL from "/snippets/zh/v2/batch-scrape-webhook/base/curl.mdx";
import WebhookConfigBasic from "/snippets/zh/v2/webhook-config/basic/json.mdx";

在爬取、批量抓取、提取、代理任务或监控检查开始、进行或完成时立即收到通知。你无需主动轮询状态，只需提供一个 HTTPS 端点，Firecrawl 就会将事件实时投递到该端点。

<div id="supported-operations">
  ## 支持的操作
</div>

| 操作   | 事件                                                      |
| ---- | ------------------------------------------------------- |
| 爬取   | `started`, `page`, `completed`                          |
| 批量抓取 | `started`, `page`, `completed`                          |
| 提取   | `started`, `completed`, `failed`                        |
| 代理   | `started`, `action`, `completed`, `failed`, `cancelled` |
| 监控   | `check.completed`                                       |

请参见[事件类型](/zh/webhooks/events)以查看完整的 payload 详情和示例。

<div id="configuration">
  ## 配置
</div>

在你的请求中添加一个 `webhook` 对象：

<WebhookConfigBasic />

| 字段       | 类型   | 必填 | 描述                                      |
| ---------- | ------ | ---- | ----------------------------------------- |
| `url`      | string | 是   | 你的端点 URL (HTTPS)                       |
| `headers`  | object | 否   | 要附带的自定义请求头                       |
| `metadata` | object | 否   | 包含在负载中的自定义数据                   |
| `events`   | array  | 否   | 要接收的事件类型 (默认：全部)             |

<div id="usage">
  ## 用法
</div>

<div id="crawl-with-webhook">
  ### 通过 Webhook 爬取
</div>

<CrawlWebhookCURL />

<div id="batch-scrape-with-webhook">
  ### 通过 Webhook 进行批量抓取
</div>

<BatchScrapeWebhookCURL />

<div id="timeouts-retries">
  ## 超时与重试
</div>

你的 endpoint 必须在 **10 秒** 内返回 `2xx` 状态码。

如果发送失败 (超时、非 2xx 状态码或网络错误) ，Firecrawl 会自动重试：

| 重试次数 | 失败后的延迟时间 |
| ------- | ---------------- |
| 第 1 次 | 1 分钟           |
| 第 2 次 | 5 分钟           |
| 第 3 次 | 15 分钟          |

在 3 次重试均失败后，该 webhook 会被标记为失败，不再进行后续尝试。
