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

# Tình trạng dịch vụ

> Xem tình hình đăng bài của từng kênh, và kiểm tra API có đang phục vụ hay không.

Có hai endpoint trả lời câu hỏi về tình trạng dịch vụ, và cả hai đều không cần API key. Bạn gọi chúng từ công cụ giám sát cũng được: chúng không gắn với tài khoản nào và không tiêu tốn [rate limit](/vi/concepts/rate-limits) của bạn.

## Tình hình đăng bài theo từng kênh

`GET /v1/status` cho biết trong 24 giờ gần nhất, bài đăng đi tới từng kênh trong số 22 [kênh](/vi/concepts/channels) có tới nơi hay không. Đây cũng chính là dữ liệu vẽ nên [trang tình trạng](https://hub.madiad.com/status) công khai.

```bash theme={null}
curl https://api.madiad.com/v1/status
```

```json theme={null}
{
  "status": "operational",
  "window_minutes": 1440,
  "platforms": [
    {
      "platform": "instagram",
      "display_name": "Instagram",
      "status": "operational",
      "failure_rate": 0.125,
      "sample": 8,
      "failed": 1,
      "unknown": 0,
      "platform_wide": false
    }
  ],
  "updated_at": "2026-09-06T09:31:21.227Z"
}
```

| Trường                      | Ý nghĩa                                                                                          |
| --------------------------- | ------------------------------------------------------------------------------------------------ |
| `status` (ngoài cùng)       | Kết luận xấu nhất trong cả danh sách kênh: `operational`, `degraded` hoặc `outage`.              |
| `window_minutes`            | Khoảng thời gian quan sát. Hiện là `1440`, tức 24 giờ.                                           |
| `platform` / `display_name` | Mã kênh bạn điền vào `platforms[]`, và tên hiển thị của nó.                                      |
| `sample`                    | Số bài đăng tới kênh đó đã có kết quả rõ ràng trong khoảng quan sát.                             |
| `failed`                    | Trong số đó, bao nhiêu bài bị kênh từ chối.                                                      |
| `unknown`                   | Số bài chưa bao giờ xác định được kết quả. Không tính là thành công cũng không tính là thất bại. |
| `failure_rate`              | `failed / sample`, làm tròn 3 chữ số thập phân. Bằng `null` khi mẫu quá nhỏ để nói được tỷ lệ.   |
| `platform_wide`             | Bằng `true` khi kênh đó đang gặp sự cố ở phạm vi rộng hơn MADIAD Hub.                            |
| `updated_at`                | Thời điểm câu trả lời được tính.                                                                 |

Trường `status` của mỗi kênh có 5 giá trị, và 2 trong số đó cố ý không phải là kết luận về tình hình:

* **`operational`**: số bài lỗi dưới 25% mẫu.
* **`degraded`**: từ 25% mẫu trở lên bị lỗi.
* **`outage`**: từ 50% mẫu trở lên bị lỗi.
* **`no_activity`**: không có bài nào đăng tới kênh đó trong khoảng quan sát. Đây là thông tin về lưu lượng, không phải kết luận về tình hình.
* **`monitoring`**: có bài đăng nhưng chưa tới 8, quá ít để một tỷ lệ phần trăm nói lên điều gì. Các con số vẫn hiện, chỉ có kết luận là được giữ lại.

<Note>
  Các con số này là tổng hợp toàn bộ lượt đăng đi qua MADIAD Hub, không nhận ra được tài khoản, Profile hay bài đăng nào trong đó. Cũng vì vậy mà một kênh có thể đang `operational` ở đây, trong khi bài của riêng bạn tới kênh đó vẫn hỏng: một tài khoản bị nền tảng hạn chế thì con số chung không hề nhúc nhích. Muốn biết kết quả của chính mình, hãy đọc kết quả từng kênh trong mỗi bài đăng và xem [Vì sao bài không đăng được](/vi/concepts/publish-failures).
</Note>

Câu trả lời được cache tối đa một phút, nên gọi dày hơn mức đó cũng chỉ nhận lại đúng nội dung cũ.

## API có đang chạy không?

`GET /v1/health` là phép thử sống. Nó không đọc dữ liệu nào và trả lời ngay:

```bash theme={null}
curl https://api.madiad.com/v1/health
```

```json theme={null}
{ "ok": true, "service": "madiad-hub-gateway", "time": "2026-09-06T09:31:21.227Z" }
```

Nhận `200` nghĩa là API đang phục vụ request. Nó không nói gì về chuyện đăng bài có trơn tru hay không, câu hỏi đó thuộc về `GET /v1/status`. Hãy trỏ công cụ giám sát uptime vào đây thay vì vào một route cần xác thực, để phép thử mỗi phút không ăn vào số request mà tích hợp của bạn được dùng.
