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

# Webhook Solana: Thông báo sự kiện blockchain theo thời gian thực

> Giám sát các sự kiện blockchain Solana bằng webhook theo thời gian thực. Nhận thông báo tức thì về giao dịch bán NFT, chuyển token và các giao dịch được gửi đến điểm cuối của bạn.

## Webhook Solana là gì?

Webhook Solana là các thông báo HTTP theo thời gian thực được gửi đến ứng dụng của bạn khi có sự kiện trên chuỗi xảy ra. Thay vì liên tục thăm dò blockchain, Helius đẩy dữ liệu giao dịch đã phân tích trực tiếp đến điểm cuối của bạn mỗi khi một ví chuyển tiền, một NFT được bán hoặc bất kỳ loại giao dịch nào đang được giám sát được kích hoạt. Sử dụng webhook để vận hành bot giao dịch, bảng điều khiển phân tích, quy trình tuân thủ và hoạt động tự động hóa theo sự kiện.

Chúng tôi cung cấp giao diện thân thiện với người dùng, API lập trình và quyền truy cập SDK để bạn dễ dàng tạo và quản lý webhook. Để xem các câu hỏi thường gặp, hãy tham khảo [Câu hỏi thường gặp về Webhook](/docs/vi/faqs/webhooks).

Đối với các dự án mới cần giao dịch đã phân tích theo thời gian thực, hãy cân nhắc [Luồng đã phân tích](/docs/vi/parsed-streams). Tính năng này kế nhiệm Webhook giao dịch nâng cao, giải mã mọi lệnh thông qua danh mục IDL, lọc phía máy chủ theo chương trình, tài khoản và tên lệnh, đồng thời được tính phí ở mức 1 tín dụng cho mỗi sự kiện trên mọi gói.

<Warning>
  Helius có thể thử gửi lại webhook nếu máy chủ của bạn không phản hồi thành công, vì vậy bạn có thể nhận được các sự kiện trùng lặp. Để biết chi tiết về việc thử lại và xử lý dữ liệu trùng lặp, hãy xem [Câu hỏi thường gặp về Webhook](/docs/vi/faqs/webhooks#thử-lại).
</Warning>

## Giá

Sự kiện webhook được tính phí **1 tín dụng** 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 không. Việc chỉnh sửa, thêm hoặc xóa webhook qua API sẽ tốn 100 tín dụng/yêu cầu.

## Các loại webhook

Hiện tại, chúng tôi cung cấp một số loại webhook phù hợp với các nhu cầu khác nhau:

### Webhook giao dịch nâng cao

Cung cấp dữ liệu đã phân tích, dễ đọc cho các loại giao dịch cụ thể (ví dụ: giao dịch bán NFT) liên quan đến những địa chỉ bạn giám sát. Đây là lựa chọn lý tưởng nếu bạn cần thông tin chuyên sâu đã được lọc và có thể sử dụng ngay.

### Webhook giao dịch thô

Tùy chọn này cung cấp dữ liệu giao dịch thô cho tất cả giao dịch liên quan đến những địa chỉ bạn giám sát. Tùy chọn này không hỗ trợ lọc theo loại giao dịch.

<Info>
  Webhook giao dịch thô có độ trễ thấp hơn vì không cần phân tích các loại sự kiện.
</Info>

### Webhook Discord

Truyền trực tiếp thông tin cập nhật về các loại giao dịch cụ thể đến một kênh Discord được chỉ định dưới dạng tin nhắn đã định dạng. Để sử dụng tùy chọn này, bạn phải cung cấp URL Webhook Discord.

### Ví dụ về tải trọng sự kiện

<Accordion title="Enhanced">
  ```json theme={"system"}
  [
    {
      "accountData": [
        {
          "account": "CKs1E69a2e9TmH4mKKLrXFF8kD3ZnwKjoEuXa6sz9WqX",
          "nativeBalanceChange": -72938049280,
          "tokenBalanceChanges": []
        },
        {
          "account": "NTYeYJ1wr4bpM5xo6zx5En44SvJFAd35zTxxNoERYqd",
          "nativeBalanceChange": 0,
          "tokenBalanceChanges": []
        },
        {
          "account": "AAaTGaA3uVqikfVEwoSG7EwkCb4bBDsMEyueiVUS5CaU",
          "nativeBalanceChange": 0,
          "tokenBalanceChanges": []
        },
        {
          "account": "autMW8SgBkVYeBgqYiTuJZnkvDZMVU2MHJh9Jh7CSQ2",
          "nativeBalanceChange": 0,
          "tokenBalanceChanges": []
        },
        {
          "account": "D8TxfGwdu9MiNMoJmUoC9wQfNfNT7Lnm6DzifQHRTy6B",
          "nativeBalanceChange": 0,
          "tokenBalanceChanges": []
        },
        {
          "account": "5DxD5ViWjvRZEkxQEaJHZw2sBsso6xoXx3wGFNKgXUzE",
          "nativeBalanceChange": 71860273440,
          "tokenBalanceChanges": []
        },
        {
          "account": "25DTUAd1roBFoUQaxJQByL6Qy2cKQCBp4bK9sgfy9UiM",
          "nativeBalanceChange": -2039280,
          "tokenBalanceChanges": [
            {
              "mint": "FdsNQE5EeCe57tbEYCRV1JwW5dzNCof7MUTaGWhmzYqu",
              "rawTokenAmount": {
                "decimals": 0,
                "tokenAmount": "-1"
              },
              "tokenAccount": "25DTUAd1roBFoUQaxJQByL6Qy2cKQCBp4bK9sgfy9UiM",
              "userAccount": "1BWutmTvYPwDtmw9abTkS4Ssr8no61spGAvW1X6NDix"
            }
          ]
        },
        {
          "account": "DTYuh7gAGGZg2okM7hdFfU1yMY9LUemCiPyD5Z5GCs6Z",
          "nativeBalanceChange": 2039280,
          "tokenBalanceChanges": [
            {
              "mint": "FdsNQE5EeCe57tbEYCRV1JwW5dzNCof7MUTaGWhmzYqu",
              "rawTokenAmount": {
                "decimals": 0,
                "tokenAmount": "1"
              },
              "tokenAccount": "DTYuh7gAGGZg2okM7hdFfU1yMY9LUemCiPyD5Z5GCs6Z",
              "userAccount": "CKs1E69a2e9TmH4mKKLrXFF8kD3ZnwKjoEuXa6sz9WqX"
            }
          ]
        },
        {
          "account": "rFqFJ9g7TGBD8Ed7TPDnvGKZ5pWLPDyxLcvcH2eRCtt",
          "nativeBalanceChange": 1080000000,
          "tokenBalanceChanges": []
        },
        {
          "account": "CgXS5xC3qAGSg9txD9bS7BUgugZwshivGXpCJcGmdwrd",
          "nativeBalanceChange": -2234160,
          "tokenBalanceChanges": []
        },
        {
          "account": "M2mx93ekt1fmXSVkTrUL9xVFHkmME8HTUi5Cyc5aF7K",
          "nativeBalanceChange": 0,
          "tokenBalanceChanges": []
        },
        {
          "account": "E8cU1WiRWjanGxmn96ewBgk9vPTcL6AEZ1t6F6fkgUWe",
          "nativeBalanceChange": 0,
          "tokenBalanceChanges": []
        },
        {
          "account": "11111111111111111111111111111111",
          "nativeBalanceChange": 0,
          "tokenBalanceChanges": []
        },
        {
          "account": "FdsNQE5EeCe57tbEYCRV1JwW5dzNCof7MUTaGWhmzYqu",
          "nativeBalanceChange": 0,
          "tokenBalanceChanges": []
        },
        {
          "account": "AYZsWahcrSnkwqbA1ji7wEzgAnGjLNJhVUMDPfACECZf",
          "nativeBalanceChange": 0,
          "tokenBalanceChanges": []
        },
        {
          "account": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
          "nativeBalanceChange": 0,
          "tokenBalanceChanges": []
        },
        {
          "account": "SysvarRent111111111111111111111111111111111",
          "nativeBalanceChange": 0,
          "tokenBalanceChanges": []
        },
        {
          "account": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL",
          "nativeBalanceChange": 0,
          "tokenBalanceChanges": []
        },
        {
          "account": "1BWutmTvYPwDtmw9abTkS4Ssr8no61spGAvW1X6NDix",
          "nativeBalanceChange": 0,
          "tokenBalanceChanges": []
        }
      ],
      "description": "5DxD5ViWjvRZEkxQEaJHZw2sBsso6xoXx3wGFNKgXUzE sold Fox #7637 to CKs1E69a2e9TmH4mKKLrXFF8kD3ZnwKjoEuXa6sz9WqX for 72 SOL on MAGIC_EDEN.",
      "events": {
        "nft": {
          "amount": 72000000000,
          "buyer": "CKs1E69a2e9TmH4mKKLrXFF8kD3ZnwKjoEuXa6sz9WqX",
          "description": "5DxD5ViWjvRZEkxQEaJHZw2sBsso6xoXx3wGFNKgXUzE sold Fox #7637 to CKs1E69a2e9TmH4mKKLrXFF8kD3ZnwKjoEuXa6sz9WqX for 72 SOL on MAGIC_EDEN.",
          "fee": 10000,
          "feePayer": "CKs1E69a2e9TmH4mKKLrXFF8kD3ZnwKjoEuXa6sz9WqX",
          "nfts": [
            {
              "mint": "FdsNQE5EeCe57tbEYCRV1JwW5dzNCof7MUTaGWhmzYqu",
              "tokenStandard": "NonFungible"
            }
          ],
          "saleType": "INSTANT_SALE",
          "seller": "5DxD5ViWjvRZEkxQEaJHZw2sBsso6xoXx3wGFNKgXUzE",
          "signature": "5nNtjezQMYBHvgSQmoRmJPiXGsPAWmJPoGSa64xanqrauogiVzFyGQhKeFataHGXq51jR2hjbzNTkPUpP787HAmL",
          "slot": 171942732,
          "source": "MAGIC_EDEN",
          "staker": "",
          "timestamp": 1673445241,
          "type": "NFT_SALE"
        }
      },
      "fee": 10000,
      "feePayer": "CKs1E69a2e9TmH4mKKLrXFF8kD3ZnwKjoEuXa6sz9WqX",
      "nativeTransfers": [
        {
          "amount": 72936000000,
          "fromUserAccount": "CKs1E69a2e9TmH4mKKLrXFF8kD3ZnwKjoEuXa6sz9WqX",
          "toUserAccount": "AAaTGaA3uVqikfVEwoSG7EwkCb4bBDsMEyueiVUS5CaU"
        },
        {
          "amount": 2011440,
          "fromUserAccount": "CKs1E69a2e9TmH4mKKLrXFF8kD3ZnwKjoEuXa6sz9WqX",
          "toUserAccount": "D8TxfGwdu9MiNMoJmUoC9wQfNfNT7Lnm6DzifQHRTy6B"
        },
        {
          "amount": 71856000000,
          "fromUserAccount": "AAaTGaA3uVqikfVEwoSG7EwkCb4bBDsMEyueiVUS5CaU",
          "toUserAccount": "5DxD5ViWjvRZEkxQEaJHZw2sBsso6xoXx3wGFNKgXUzE"
        },
        {
          "amount": 1080000000,
          "fromUserAccount": "AAaTGaA3uVqikfVEwoSG7EwkCb4bBDsMEyueiVUS5CaU",
          "toUserAccount": "rFqFJ9g7TGBD8Ed7TPDnvGKZ5pWLPDyxLcvcH2eRCtt"
        },
        {
          "amount": 2039280,
          "fromUserAccount": "CKs1E69a2e9TmH4mKKLrXFF8kD3ZnwKjoEuXa6sz9WqX",
          "toUserAccount": "DTYuh7gAGGZg2okM7hdFfU1yMY9LUemCiPyD5Z5GCs6Z"
        }
      ],
      "signature": "5nNtjezQMYBHvgSQmoRmJPiXGsPAWmJPoGSa64xanqrauogiVzFyGQhKeFataHGXq51jR2hjbzNTkPUpP787HAmL",
      "slot": 171942732,
      "source": "MAGIC_EDEN",
      "timestamp": 1673445241,
      "tokenTransfers": [
        {
          "fromTokenAccount": "25DTUAd1roBFoUQaxJQByL6Qy2cKQCBp4bK9sgfy9UiM",
          "fromUserAccount": "1BWutmTvYPwDtmw9abTkS4Ssr8no61spGAvW1X6NDix",
          "mint": "FdsNQE5EeCe57tbEYCRV1JwW5dzNCof7MUTaGWhmzYqu",
          "toTokenAccount": "DTYuh7gAGGZg2okM7hdFfU1yMY9LUemCiPyD5Z5GCs6Z",
          "toUserAccount": "CKs1E69a2e9TmH4mKKLrXFF8kD3ZnwKjoEuXa6sz9WqX",
          "tokenAmount": 1,
          "tokenStandard": "NonFungible"
        }
      ],
      "type": "NFT_SALE"
    }
  ]
  ```
</Accordion>

<Accordion title="Raw">
  ```javascript theme={"system"}
  [
    {
      "blockTime": 1673445241,
      "indexWithinBlock": 2557,
      "meta": {
        "err": null,
        "fee": 10000,
        "innerInstructions": [
          {
            "index": 0,
            "instructions": [
              {
                "accounts": [
                  0,
                  2
                ],
                "data": "3Bxs3zs3x6pg4XWo",
                "programIdIndex": 12
              }
            ]
          },
          {
            "index": 1,
            "instructions": [
              {
                "accounts": [
                  0,
                  4
                ],
                "data": "11112nba6qLH4BKL4MW8GP9ayKApZeYn3LQKJdPdeSXbRW1n6UPeJ8y77ps6sAVwAjdxzh",
                "programIdIndex": 12
              }
            ]
          },
          {
            "index": 2,
            "instructions": [
              {
                "accounts": [
                  2,
                  5
                ],
                "data": "3Bxs3zx147oWJQej",
                "programIdIndex": 12
              },
              {
                "accounts": [
                  2,
                  8
                ],
                "data": "3Bxs3zwT1TGLhiT9",
                "programIdIndex": 12
              },
              {
                "accounts": [
                  0,
                  7,
                  0,
                  13,
                  12,
                  15
                ],
                "data": "1",
                "programIdIndex": 17
              },
              {
                "accounts": [
                  13
                ],
                "data": "84eT",
                "programIdIndex": 15
              },
              {
                "accounts": [
                  0,
                  7
                ],
                "data": "11119os1e9qSs2u7TsThXqkBSRVFxhmYaFKFZ1waB2X7armDmvK3p5GmLdUxYdg3h7QSrL",
                "programIdIndex": 12
              },
              {
                "accounts": [
                  7
                ],
                "data": "P",
                "programIdIndex": 15
              },
              {
                "accounts": [
                  7,
                  13
                ],
                "data": "6YTZgAHgNKVRJ2mAHQUYC1DgXF6dPCgbSWA5P4gZoSfGV",
                "programIdIndex": 15
              },
              {
                "accounts": [
                  6,
                  7,
                  18
                ],
                "data": "3DdGGhkhJbjm",
                "programIdIndex": 15
              },
              {
                "accounts": [
                  6,
                  5,
                  18
                ],
                "data": "A",
                "programIdIndex": 15
              }
            ]
          }
        ],
        "loadedAddresses": {
          "readonly": [],
          "writable": []
        },
        "logMessages": [
          "Program M2mx93ekt1fmXSVkTrUL9xVFHkmME8HTUi5Cyc5aF7K invoke [1]",
          "Program log: Instruction: Deposit",
          "Program 11111111111111111111111111111111 invoke [2]",
          "Program 11111111111111111111111111111111 success",
          "Program M2mx93ekt1fmXSVkTrUL9xVFHkmME8HTUi5Cyc5aF7K consumed 10148 of 600000 compute units",
          "Program M2mx93ekt1fmXSVkTrUL9xVFHkmME8HTUi5Cyc5aF7K success",
          "Program M2mx93ekt1fmXSVkTrUL9xVFHkmME8HTUi5Cyc5aF7K invoke [1]",
          "Program log: Instruction: Buy",
          "Program 11111111111111111111111111111111 invoke [2]",
          "Program 11111111111111111111111111111111 success",
          "Program log: {\"price\":72000000000,\"buyer_expiry\":0}",
          "Program M2mx93ekt1fmXSVkTrUL9xVFHkmME8HTUi5Cyc5aF7K consumed 30501 of 589852 compute units",
          "Program M2mx93ekt1fmXSVkTrUL9xVFHkmME8HTUi5Cyc5aF7K success",
          "Program M2mx93ekt1fmXSVkTrUL9xVFHkmME8HTUi5Cyc5aF7K invoke [1]",
          "Program log: Instruction: ExecuteSaleV2",
          "Program 11111111111111111111111111111111 invoke [2]",
          "Program 11111111111111111111111111111111 success",
          "Program 11111111111111111111111111111111 invoke [2]",
          "Program 11111111111111111111111111111111 success",
          "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [2]",
          "Program log: Create",
          "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]",
          "Program log: Instruction: GetAccountDataSize",
          "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1622 of 497733 compute units",
          "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=",
          "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success",
          "Program 11111111111111111111111111111111 invoke [3]",
          "Program 11111111111111111111111111111111 success",
          "Program log: Initialize the associated token account",
          "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]",
          "Program log: Instruction: InitializeImmutableOwner",
          "Program log: Please upgrade to SPL Token 2022 for immutable owner support",
          "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 491243 compute units",
          "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success",
          "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]",
          "Program log: Instruction: InitializeAccount3",
          "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4241 of 487361 compute units",
          "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success",
          "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 21793 of 504630 compute units",
          "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL success",
          "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]",
          "Program log: Instruction: Transfer",
          "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 475696 compute units",
          "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success",
          "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]",
          "Program log: Instruction: CloseAccount",
          "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 3033 of 456654 compute units",
          "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success",
          "Program log: {\"price\":72000000000,\"seller_expiry\":-1,\"buyer_expiry\":0}",
          "Program M2mx93ekt1fmXSVkTrUL9xVFHkmME8HTUi5Cyc5aF7K consumed 109266 of 559351 compute units",
          "Program M2mx93ekt1fmXSVkTrUL9xVFHkmME8HTUi5Cyc5aF7K success"
        ],
        "postBalances": [
          371980779080,
          0,
          0,
          100129388687,
          0,
          81872924494,
          0,
          2039280,
          993583055919,
          0,
          1141440,
          3654000,
          1,
          1461600,
          5616720,
          934087680,
          1009200,
          731913600,
          457953014766
        ],
        "postTokenBalances": [
          {
            "accountIndex": 7,
            "mint": "FdsNQE5EeCe57tbEYCRV1JwW5dzNCof7MUTaGWhmzYqu",
            "owner": "CKs1E69a2e9TmH4mKKLrXFF8kD3ZnwKjoEuXa6sz9WqX",
            "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
            "uiTokenAmount": {
              "amount": "1",
              "decimals": 0,
              "uiAmount": 1,
              "uiAmountString": "1"
            }
          }
        ],
        "preBalances": [
          444918828360,
          0,
          0,
          100129388687,
          0,
          10012651054,
          2039280,
          0,
          992503055919,
          2234160,
          1141440,
          3654000,
          1,
          1461600,
          5616720,
          934087680,
          1009200,
          731913600,
          457953014766
        ],
        "preTokenBalances": [
          {
            "accountIndex": 6,
            "mint": "FdsNQE5EeCe57tbEYCRV1JwW5dzNCof7MUTaGWhmzYqu",
            "owner": "1BWutmTvYPwDtmw9abTkS4Ssr8no61spGAvW1X6NDix",
            "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
            "uiTokenAmount": {
              "amount": "1",
              "decimals": 0,
              "uiAmount": 1,
              "uiAmountString": "1"
            }
          }
        ],
        "rewards": []
      },
      "slot": 171942732,
      "transaction": {
        "message": {
          "accountKeys": [
            "CKs1E69a2e9TmH4mKKLrXFF8kD3ZnwKjoEuXa6sz9WqX",
            "NTYeYJ1wr4bpM5xo6zx5En44SvJFAd35zTxxNoERYqd",
            "AAaTGaA3uVqikfVEwoSG7EwkCb4bBDsMEyueiVUS5CaU",
            "autMW8SgBkVYeBgqYiTuJZnkvDZMVU2MHJh9Jh7CSQ2",
            "D8TxfGwdu9MiNMoJmUoC9wQfNfNT7Lnm6DzifQHRTy6B",
            "5DxD5ViWjvRZEkxQEaJHZw2sBsso6xoXx3wGFNKgXUzE",
            "25DTUAd1roBFoUQaxJQByL6Qy2cKQCBp4bK9sgfy9UiM",
            "DTYuh7gAGGZg2okM7hdFfU1yMY9LUemCiPyD5Z5GCs6Z",
            "rFqFJ9g7TGBD8Ed7TPDnvGKZ5pWLPDyxLcvcH2eRCtt",
            "CgXS5xC3qAGSg9txD9bS7BUgugZwshivGXpCJcGmdwrd",
            "M2mx93ekt1fmXSVkTrUL9xVFHkmME8HTUi5Cyc5aF7K",
            "E8cU1WiRWjanGxmn96ewBgk9vPTcL6AEZ1t6F6fkgUWe",
            "11111111111111111111111111111111",
            "FdsNQE5EeCe57tbEYCRV1JwW5dzNCof7MUTaGWhmzYqu",
            "AYZsWahcrSnkwqbA1ji7wEzgAnGjLNJhVUMDPfACECZf",
            "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
            "SysvarRent111111111111111111111111111111111",
            "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL",
            "1BWutmTvYPwDtmw9abTkS4Ssr8no61spGAvW1X6NDix"
          ],
          "addressTableLookups": null,
          "header": {
            "numReadonlySignedAccounts": 1,
            "numReadonlyUnsignedAccounts": 9,
            "numRequiredSignatures": 2
          },
          "instructions": [
            {
              "accounts": [
                0,
                1,
                2,
                3,
                11,
                12
              ],
              "data": "3GyWrkssW12wSfxjTynBnbif",
              "programIdIndex": 10
            },
            {
              "accounts": [
                0,
                1,
                13,
                14,
                2,
                3,
                11,
                4,
                3,
                15,
                12,
                16
              ],
              "data": "3Jmjmsq2jyrch5iz612vBLZCRB498owPe7qezQVetRZhiMu",
              "programIdIndex": 10
            },
            {
              "accounts": [
                0,
                5,
                1,
                6,
                13,
                14,
                2,
                7,
                3,
                11,
                8,
                4,
                3,
                9,
                3,
                15,
                12,
                17,
                18,
                16
              ],
              "data": "B2rqPwAgvj3t35y6HpdumfhdhsZMLNFLmXMC9Uz2HX4nNAwirTk3o98vTazFB1y",
              "programIdIndex": 10
            }
          ],
          "recentBlockhash": "3NRncb7FJuDruQjMDxnHvJBQkvkHa7KSUBqBsxG21roZ"
        },
        "signatures": [
          "5nNtjezQMYBHvgSQmoRmJPiXGsPAWmJPoGSa64xanqrauogiVzFyGQhKeFataHGXq51jR2hjbzNTkPUpP787HAmL",
          "4dWBkbLHGvU2jw9Sjj6YETtKfaVKAAN1M8aWzXRNC4aHBckUzM73n3FddNbWTtfUvkU2vFRQ7bKHMwKZQ5dGy1iH"
        ]
      }
    }
  ]
  ```
</Accordion>

## Bắt đầu

<Card title="Webhooks Quickstart" icon="bolt" href="/docs/vi/webhooks/quickstart">
  Tạo webhook đầu tiên qua Bảng điều khiển, REST API hoặc SDK TypeScript / Rust chính thức.
</Card>

## Tự động vô hiệu hóa webhook bị lỗi

Helius giám sát tình trạng của điểm cuối webhook và tự động vô hiệu hóa những webhook liên tục không nhận được dữ liệu gửi đến. Điều này giúp tránh lãng phí các lần thử gửi đến những điểm cuối không thể truy cập hoặc bị lỗi.

### Cách hoạt động

* **Gói trả phí (Dev trở lên):** Webhook có **tỷ lệ lỗi ≥ 95% trong 7 ngày** sẽ tự động bị vô hiệu hóa.
* **Gói miễn phí:** Webhook được đánh giá trong **khoảng thời gian 24 giờ** với cùng ngưỡng lỗi.

Hệ thống kiểm tra tình trạng webhook sau mỗi 4 giờ. Khi webhook bị vô hiệu hóa, việc gửi dữ liệu sẽ dừng trong vòng vài giây.

### Thông báo qua email

Người dùng **gói Dev trở lên** sẽ nhận được thông báo qua email khi webhook tự động bị vô hiệu hóa.

### Bật lại webhook đã bị vô hiệu hóa

<Steps>
  <Step title="Fix your endpoint">
    Khắc phục sự cố gây lỗi gửi dữ liệu (ví dụ: máy chủ ngừng hoạt động, URL không chính xác, lỗi điểm cuối).
  </Step>

  <Step title="Log in to the Helius Dashboard">
    Truy cập [Bảng điều khiển Helius](https://dashboard.helius.dev/webhooks).
  </Step>

  <Step title="Re-enable the webhook">
    Tìm webhook đã bị vô hiệu hóa và bật lại.
  </Step>
</Steps>

Bạn cũng có thể bật lại webhook bằng lập trình thông qua [điểm cuối API bật/tắt webhook](/docs/vi/api-reference/webhooks/toggle-webhook).

<Note>
  Sau khi được bật lại, webhook sẽ bước vào **thời gian gia hạn 24 giờ** và không bị tự động vô hiệu hóa lại trong khoảng thời gian này. Nhờ đó, bạn có thời gian xác minh rằng điểm cuối đang hoạt động bình thường.
</Note>

## Ví dụ sử dụng

### Bot

* Khi một NFT được niêm yết trên thị trường X, kích hoạt hành động "mua NFT".
* Khi một vị thế ký quỹ không an toàn, kích hoạt hành động "thanh lý".

### Giám sát và cảnh báo

* Khi một chương trình phát ra nhật ký nhất định, thao tác đó sẽ kích hoạt tích hợp PagerDuty.
* Khi số dư tài khoản token thay đổi hơn X%, sử dụng Dialect để gửi cảnh báo.

### Lập chỉ mục theo sự kiện

* Khi có bất kỳ giao dịch nào xảy ra với một chương trình nhất định, gửi giao dịch đó trực tiếp đến cơ sở dữ liệu hoặc phần backend của bạn.

### Thông báo và theo dõi hoạt động

* Khi chuyển tiền từ ví X sang ví Y — gửi thông báo Slack hoặc email.

### Phân tích và nhật ký

* Khi sự kiện X xảy ra, gửi sự kiện đó đến quy trình ETL hoặc lưu trực tiếp trên Helius để xem xu hướng theo thời gian.

### Tự động hóa quy trình làm việc

* Khi sự kiện X xảy ra, kích hoạt bất kỳ tập hợp hành động nào.
