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

# Webhooks 常见问题

> 获取关于 webhooks 的最常见问题的答案，包括管理、网络支持、重试和故障排除

## 配额和速率限制

<Accordion title="一个 webhook 可以输入多少个地址？">
  使用 [API](/zh/api-reference/webhooks/create-webhook) 最多可以输入 100,000 个地址。
</Accordion>

<Accordion title="在创建 webhook 后，如果我在 Helius 仪表板中更改 webhook URL，会被扣除积分吗？">
  是的，通过 API 或仪表板编辑 webhook 每次请求需要 100 积分。这适用于任何修改，包括 URL 更改、添加/删除地址或更新交易类型。
</Accordion>

<Accordion title="接收 webhook 通知需要多少积分？">
  每个 webhook 事件在 Helius 处理并发送到您的端点时需要 1 积分。无论您的端点是否成功处理 webhook 或返回错误，您都将被扣除积分。
</Accordion>

<Accordion title="创建、编辑和删除 webhooks 需要多少积分？">
  通过 API 执行的所有 webhook 管理操作（创建、编辑、删除）每次请求需要 100 积分。这涵盖了更新您的 webhook 配置所需的处理。
</Accordion>

## 支持的网络

<Accordion title="Solana Devnet 上是否提供 webhooks？">
  是的。如果您通过 UI 创建 webhook，请选择“devnet”作为“Network”。如果您通过 Webhook API 创建它，请根据所需的 webhook 类型将“webhookType”参数设置为 "rawDevnet"、"enhancedDevnet" 或 "discordDevnet"。
</Accordion>

<Accordion title="我可以为我的 webhook URL 输入 'localhost' 吗？">
  不可以——URL 必须通过 HTTPS 公开可访问。Helius 无法通过 localhost URL 访问本地开发服务器。
</Accordion>

## 使用 Webhooks

<Accordion title="我如何验证 webhook 来自 Helius？">
  在创建或更新 webhook 时设置授权 header。在将数据发送到您的 webhook 端点时，Helius 会在 `Authorization` header 中回显此值，从而允许您验证请求的真实性。
</Accordion>

<Accordion title="'原始'和'增强'webhooks有什么区别？">
  **原始webhooks**直接从区块链返回常规的Solana交易数据。当监控的地址发生交易时，原始交易数据会被发送到您的webhook URL。

  **增强webhooks**提供Helius解释的交易类型。我们解析超过100种Solana交易类型（NFT列表、DeFi交换、转账等），并将其抽象为我们自己的模式。

  如果您想要所有的交易数据而不进行抽象，请使用原始webhooks；如果您想要内置的交易类型检测和解析，请使用增强webhooks。
</Accordion>

<Accordion title="Webhook何时发送通知？">
  Webhooks在匹配的交易在区块链上确认后立即发送通知。
</Accordion>

## 重试

<Accordion title="我的端点应该如何确认收到 Webhook 事件？">
  您的端点必须在 **1 秒内** 返回一个 `200` 状态码以确认成功接收。作为最佳实践，应立即响应 `200` 并异步处理任何处理——这可防止由于业务逻辑缓慢导致的超时。
</Accordion>

<Accordion title="Webhook 的重试策略是什么？">
  当您的端点返回 `5xx` 错误、`4xx` 错误（除了 `403`）、超时或因连接错误或 DNS 故障导致失败时，Helius 会重试发送。我们最多重试 **3 次**，每次尝试之间有 **1 秒间隔**。

  如果所有重试尝试都失败，则事件 **永久丢失**——没有重新排队或二次投递循环。

  在 [Helius Dashboard](https://dashboard.helius.dev/webhooks) 中监控您的 webhook 日志，以识别投递失败并调查端点问题。

  我们还为企业计划提供可定制的重试策略。
</Accordion>

<Accordion title="Webhook 事件是否只投递一次？">
  Helius 可能会多次发送相同的 webhook 事件。这可能是由于重试逻辑或网络问题造成的。

  您的 webhook 处理程序必须做好应对重复事件的准备——多次处理同一事件应产生与处理一次事件相同的结果。

  要处理重复事件，请使用交易签名或唯一的事件标识符来跟踪您已经处理过的事件。
</Accordion>

<Accordion title="Webhook 是否发送失败的交易？">
  这取决于 webhook 类型。增强型 webhook 不发送失败的交易，但原始 webhook 包含成功和失败的交易。
</Accordion>

## 自动禁用

<Accordion title="为什么我的 webhook 被自动禁用了？">
  Helius 监控端点的健康状态，并自动禁用 **≥ 95% 投递失败率** 的 webhook。付费计划（开发及以上）在 7 天的窗口期内评估，而免费计划的 webhook 在 24 小时的窗口期内评估。这可防止在无法访问的端点上浪费投递尝试。

  常见原因包括不可达的端点 URL、您的服务器返回一致的错误响应或网络/防火墙问题阻止了 Helius 的传递。
</Accordion>

<Accordion title="如何重新启用已禁用的 webhook？">
  1. 修复端点的根本问题。
  2. 登录 [Helius Dashboard](https://dashboard.helius.dev/webhooks)。
  3. 找到禁用的 webhook 并重新打开它。

  您也可以通过向 [Toggle Webhook API endpoint](/zh/api-reference/webhooks/toggle-webhook) 发送 PATCH 请求来以编程方式重新启用 webhook。
</Accordion>

<Accordion title="我重新启用 webhook 后会立即被禁用吗？">
  不会。在重新启用后，webhook 进入**24小时宽限期**，在此期间不会自动禁用。这给您时间验证端点是否正常，然后进行下一次评估。
</Accordion>

<Accordion title="webhook 被自动禁用时我会收到通知吗？">
  会的——**开发计划及以上**的用户将在 webhook 被自动禁用时收到电子邮件通知。免费计划用户可以在 [Helius Dashboard](https://dashboard.helius.dev/webhooks) 中监控 webhook 状态。
</Accordion>

<Accordion title="我可以在不删除的情况下禁用 webhook 吗？">
  可以。您可以从 [Helius Dashboard](https://dashboard.helius.dev/webhooks) 或通过 [Toggle Webhook API endpoint](/zh/api-reference/webhooks/toggle-webhook) 切换 webhook 的启用和禁用。这让您可以暂时暂停传递而不会丢失 webhook 配置。
</Accordion>

## 疑难解答 Webhooks

<Accordion title="为什么我的 webhook 正在丢弃数据？">
  数据丢弃通常发生在端点遇到错误时，导致 webhook 重试最终失败并导致数据丢失。检查 [dashboard](https://dashboard.helius.dev/webhooks) 中的 webhook 日志，确保有足够的客户端日志记录，如果问题仍然存在，请 [联系支持](/zh/support/contact-support)。
</Accordion>

<Accordion title="为什么我的网络钩子不起作用？">
  确保选择的交易类型与您正在监控的交易相匹配。可以从“ANY”交易类型开始，以识别是一般性的问题还是类型不匹配。使用[webhook.site](http://webhook.site/)测试问题是否出在您的端点配置上。
</Accordion>

<Accordion title="为什么我的网络钩子没有发送给我所有类型的某些交易（例如TOKEN_MINT）？">
  `TOKEN_MINT`网络钩子仅在特定程序如Candy Machine V1和Solana Program Library中触发。它不涵盖整个区块链的所有代币铸造事件。对于更广泛的监控，可以考虑使用通过网络钩子进行“ANY”交易类型过滤的更一般的帐户或程序订阅。
</Accordion>

***

## 需要更多帮助？

<CardGroup cols={2}>
  <Card title="联系支持" icon="headset" href="/zh/support/contact-support">
    通过Discord、聊天或电子邮件支持从我们的团队获得帮助。
  </Card>

  <Card title="状态页面" icon="wave-pulse" href="/zh/support/status-page">
    查看实时服务可用性和性能信息。
  </Card>
</CardGroup>
