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

# Câu hỏi thường gặp về webhook

> Tìm câu trả lời cho những câu hỏi phổ biến nhất về webhook, bao gồm quản lý, hỗ trợ mạng, thử lại và khắc phục sự cố

## Credit và giới hạn tốc độ

<Accordion title="How many addresses can I input for 1 webhook?">
  Tối đa 100.000 địa chỉ khi sử dụng [API](/docs/vi/api-reference/webhooks/create-webhook).
</Accordion>

<Accordion title="Will I be charged credits if I change the webhook URL in the Helius dashboard after creating the webhook?">
  Có, việc chỉnh sửa webhook qua API hoặc bảng điều khiển sẽ tốn 100 credit cho mỗi yêu cầu. Điều này áp dụng cho mọi thay đổi, bao gồm thay đổi URL, thêm/xóa địa chỉ hoặc cập nhật loại giao dịch.
</Accordion>

<Accordion title="How many credits does it cost to receive a webhook notification?">
  Mỗi sự kiện webhook tốn 1 credit khi Helius xử lý và gửi sự kiện đến điểm cuối của bạn. Bạn vẫn bị tính phí bất kể điểm cuối có xử lý webhook thành công hay trả về lỗi.
</Accordion>

<Accordion title="How much does it cost to create, edit, and delete webhooks?">
  Mọi thao tác quản lý webhook (tạo, chỉnh sửa, xóa) đều tốn 100 credit cho mỗi yêu cầu khi thực hiện qua API. Chi phí này bao gồm quá trình xử lý cần thiết để cập nhật cấu hình webhook.
</Accordion>

## Các mạng được hỗ trợ

<Accordion title="Are webhooks available on Solana Devnet?">
  Có. Nếu tạo webhook qua giao diện người dùng, hãy chọn “devnet” cho “Mạng”. Nếu tạo qua Webhook API, hãy đặt tham số “webhookType” thành "rawDevnet", "enhancedDevnet" hoặc “discordDevnet” tùy theo loại webhook mong muốn.
</Accordion>

<Accordion title="Can I input 'localhost' for my webhook URL?">
  Không—URL phải có thể truy cập công khai qua HTTPS. Helius không thể truy cập các máy chủ phát triển cục bộ qua URL localhost.
</Accordion>

## Sử dụng webhook

<Accordion title="How can I verify that the webhook came from Helius?">
  Hãy đặt tiêu đề ủy quyền khi tạo hoặc cập nhật webhook. Helius gửi lại giá trị này trong tiêu đề `Authorization` khi gửi dữ liệu đến điểm cuối webhook, nhờ đó bạn có thể xác minh tính xác thực của yêu cầu.
</Accordion>

<Accordion title="What is the difference between 'raw' and 'enhanced' webhooks?">
  **Webhook thô** trả về dữ liệu giao dịch Solana thông thường trực tiếp từ blockchain. Khi có giao dịch xảy ra với các địa chỉ đang được theo dõi, dữ liệu giao dịch thô sẽ được gửi đến URL webhook của bạn.

  **Webhook nâng cao** cung cấp các loại giao dịch do Helius diễn giải. Chúng tôi phân tích hơn 100 loại giao dịch Solana (niêm yết NFT, hoán đổi DeFi, chuyển khoản, v.v.) và trừu tượng hóa chúng theo lược đồ riêng.

  Hãy sử dụng webhook thô nếu bạn muốn nhận toàn bộ dữ liệu giao dịch mà không có lớp trừu tượng, hoặc webhook nâng cao nếu bạn muốn tích hợp sẵn khả năng phát hiện và phân tích loại giao dịch.
</Accordion>

<Accordion title="When does the Webhook send a notification?">
  Webhook gửi thông báo ngay sau khi một giao dịch khớp điều kiện được xác nhận trên blockchain.
</Accordion>

## Thử lại

<Accordion title="How should my endpoint acknowledge a webhook event?">
  Điểm cuối phải trả về mã trạng thái `200` trong vòng **1 giây** để xác nhận đã nhận thành công. Theo phương pháp hay nhất, hãy phản hồi bằng `200` ngay lập tức và xử lý mọi tác vụ theo cách bất đồng bộ — điều này ngăn tình trạng hết thời gian chờ do logic nghiệp vụ chậm.
</Accordion>

<Accordion title="What is the retry policy for webhooks?">
  Helius thử gửi lại khi điểm cuối trả về lỗi `5xx`, lỗi `4xx` (ngoại trừ `403`), hết thời gian chờ hoặc thất bại do lỗi kết nối hay lỗi DNS. Chúng tôi thử lại tối đa **3 lần**, với **khoảng cách 1 giây** giữa mỗi lần thử.

  Nếu tất cả các lần thử lại đều thất bại, sự kiện sẽ **mất vĩnh viễn** — không có cơ chế đưa trở lại hàng đợi hoặc chu kỳ gửi lần hai.

  Theo dõi nhật ký webhook trong [Bảng điều khiển Helius](https://dashboard.helius.dev/webhooks) để xác định lỗi gửi và điều tra sự cố ở điểm cuối.

  Chúng tôi cũng cung cấp chính sách thử lại có thể tùy chỉnh cho các gói doanh nghiệp.
</Accordion>

<Accordion title="Is a webhook event delivered exactly once?">
  Helius có thể gửi cùng một sự kiện webhook nhiều lần. Điều này có thể xảy ra do logic thử lại hoặc sự cố mạng.

  Trình xử lý webhook phải có khả năng xử lý trùng lặp một cách an toàn — việc xử lý cùng một sự kiện nhiều lần phải tạo ra kết quả giống như khi chỉ xử lý một lần.

  Để xử lý dữ liệu trùng lặp, hãy dùng chữ ký giao dịch hoặc mã định danh sự kiện duy nhất để theo dõi những sự kiện đã được xử lý.
</Accordion>

<Accordion title="Do webhooks post failed transactions?">
  Điều này phụ thuộc vào loại webhook. Webhook nâng cao không gửi các giao dịch thất bại, nhưng webhook thô bao gồm cả giao dịch thành công và thất bại.
</Accordion>

## Tự động vô hiệu hóa

<Accordion title="Why was my webhook automatically disabled?">
  Helius theo dõi tình trạng của điểm cuối và tự động vô hiệu hóa webhook có **tỷ lệ gửi thất bại ≥ 95%**. Các gói trả phí (Dev trở lên) được đánh giá trong khoảng thời gian 7 ngày, còn webhook thuộc gói Free được đánh giá trong khoảng thời gian 24 giờ. Điều này ngăn lãng phí các lần gửi đến những điểm cuối không thể truy cập.

  Các nguyên nhân phổ biến bao gồm URL điểm cuối không thể truy cập, máy chủ liên tục trả về phản hồi lỗi hoặc sự cố mạng/tường lửa chặn dữ liệu gửi từ Helius.
</Accordion>

<Accordion title="How do I re-enable a disabled webhook?">
  1. Khắc phục sự cố gốc ở điểm cuối.
  2. Đăng nhập vào [Bảng điều khiển Helius](https://dashboard.helius.dev/webhooks).
  3. Tìm webhook đã bị vô hiệu hóa và bật lại.

  Bạn cũng có thể bật lại webhook bằng mã thông qua [điểm cuối Toggle Webhook API](/docs/vi/api-reference/webhooks/toggle-webhook) bằng cách gửi yêu cầu PATCH với `{ "active": true }`.
</Accordion>

<Accordion title="Will my webhook get disabled again right after I re-enable it?">
  Không. Sau khi được bật lại, webhook bước vào **thời gian ân hạn 24 giờ** và sẽ không bị tự động vô hiệu hóa trong khoảng thời gian này. Điều này cho bạn thời gian xác minh rằng điểm cuối hoạt động bình thường trước lần đánh giá tiếp theo.
</Accordion>

<Accordion title="Will I be notified when a webhook is auto-disabled?">
  Có — người dùng **gói Dev trở lên** sẽ nhận được thông báo qua email khi webhook bị tự động vô hiệu hóa. Người dùng gói Free có thể theo dõi trạng thái webhook trong [Bảng điều khiển Helius](https://dashboard.helius.dev/webhooks).
</Accordion>

<Accordion title="Can I disable a webhook without deleting it?">
  Có. Bạn có thể bật hoặc tắt webhook trong [Bảng điều khiển Helius](https://dashboard.helius.dev/webhooks) hoặc qua [điểm cuối Toggle Webhook API](/docs/vi/api-reference/webhooks/toggle-webhook). Điều này cho phép bạn tạm dừng việc gửi mà không làm mất cấu hình webhook.
</Accordion>

## Khắc phục sự cố webhook

<Accordion title="Why is my webhook dropping data?">
  Dữ liệu thường bị mất khi điểm cuối gặp lỗi, khiến webhook thử lại nhưng cuối cùng vẫn thất bại và dẫn đến mất dữ liệu. Hãy kiểm tra nhật ký webhook trong [bảng điều khiển](https://dashboard.helius.dev/webhooks), đảm bảo có đủ nhật ký ở phía máy khách và [liên hệ bộ phận hỗ trợ](/docs/vi/support/contact-support) nếu sự cố vẫn tiếp diễn.
</Accordion>

<Accordion title="Why aren't my webhooks working?">
  Hãy đảm bảo loại giao dịch đã chọn khớp với các giao dịch bạn đang theo dõi. Bắt đầu với loại giao dịch "ANY" để xác định đây là sự cố chung hay do loại giao dịch không khớp. Sử dụng [webhook.site](http://webhook.site/) để kiểm tra xem sự cố có nằm ở cấu hình điểm cuối hay không.
</Accordion>

<Accordion title="Why does my webhook not send me all transactions of a certain type (such as TOKEN_MINT)?">
  Webhook `TOKEN_MINT` chỉ được kích hoạt cho các chương trình cụ thể như Candy Machine V1 và Solana Program Library. Webhook này không bao quát tất cả sự kiện tạo token trên toàn bộ blockchain. Để theo dõi rộng hơn, hãy cân nhắc sử dụng gói đăng ký tài khoản hoặc chương trình tổng quát hơn qua webhook với bộ lọc loại giao dịch "ANY".
</Accordion>

***

## Bạn cần thêm trợ giúp?

<CardGroup cols={2}>
  <Card title="Contact Support" icon="headset" href="/docs/vi/support/contact-support">
    Nhận trợ giúp từ đội ngũ của chúng tôi qua Discord, trò chuyện hoặc email.
  </Card>

  <Card title="Status Page" icon="wave-pulse" href="/docs/vi/support/status-page">
    Kiểm tra thông tin theo thời gian thực về tính khả dụng và hiệu suất của dịch vụ.
  </Card>
</CardGroup>
