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

# Hỗ trợ tương tác

> Credits tặng kèm gói trả phí, dùng để tăng tương tác cho bài viết và trang của chính bạn. Tính năng Beta (thử nghiệm), chưa mở cho khách hàng.

> [!WARNING]
>
> **Tính năng Beta (thử nghiệm).** Hỗ trợ tương tác **chưa mở cho khách hàng**. Trang này mô tả cách tính năng hoạt động khi mở. Trước lúc đó, dashboard của bạn không có trang Hỗ trợ tương tác, và mọi đường dẫn `/v1/boost/*` trả `404 not_found` như một đường dẫn không tồn tại.

## Tính năng là gì

*Beta (thử nghiệm), chưa mở cho khách hàng.*

Hỗ trợ tương tác là **tính năng bổ sung tặng kèm theo gói trả phí** của MADIAD Hub. Mỗi kỳ gói, tài khoản có gói trả phí đang hiệu lực nhận một mức credits. Bạn dùng credits đó để đặt đơn tăng tương tác (ví dụ lượt thích) cho bài viết hoặc trang của chính bạn trên mạng xã hội.

* **Không thu thêm khoản tiền nào ngoài giá gói.** Credits đi kèm gói, không quy đổi thành tiền.
* Tính năng đang ở giai đoạn thử nghiệm: kết quả của một đơn có thể chậm, lệch hoặc gián đoạn. Đơn nào chạy thiếu hay không chạy thì được hoàn credits (xem [Trạng thái đơn](#trạng-thái-đơn)).
* Điều khoản của tính năng nằm ở [mục 3 Điều khoản sử dụng](https://madiad.com/dieu-khoan-su-dung#interaction-support): giá trị, hạn dùng và cách hoàn credits. Trang Hỗ trợ tương tác của dashboard cũng có liên kết tới mục này.

Trang này không ghi mức credits của từng gói. Con số đó hiện trong dashboard, đúng cho kỳ gói của chính bạn, nên luôn đọc ở đó. Số credits một đơn sẽ dùng hiện ngay trong form, trước khi bạn bấm đặt.

## Ai có credits

*Beta (thử nghiệm), chưa mở cho khách hàng.*

| Tài khoản | Credits |
| - | - |
| Gói trả phí đang hiệu lực | Có, theo mức của gói, làm mới mỗi kỳ gói |
| Gói dùng thử, kỳ gói 0 đồng | Không |
| Gói đã hết hạn, chưa gia hạn | Không (credits còn lại hết hiệu lực cùng lúc với gói) |
| Tài khoản chưa có kỳ gói đã thanh toán | Không |

Khi kỳ này không có credits, dashboard nói rõ lý do bằng một câu (ví dụ "Gói dùng thử và kỳ gói 0 đồng không kèm credits Hỗ trợ tương tác."), và API trả mã lý do trong trường `reason` (xem [Dùng qua API](#dùng-qua-api)).

## Kỳ gói và hạn dùng credits

*Beta (thử nghiệm), chưa mở cho khách hàng.*

* **Kỳ gói dài một tháng**, tính từ ngày thanh toán của bạn theo giờ Việt Nam. Gói 6 tháng và 12 tháng cũng làm mới credits **hằng tháng**, không nhận một lần cho cả gói.
* **Credits không dùng hết sẽ hết hạn cùng kỳ**, không cộng dồn sang kỳ sau.
* Kỳ cuối của gói kết thúc đúng lúc gói hết hạn. Dashboard ghi rõ khi bạn đang ở kỳ cuối.
* Gia hạn trước hạn: kỳ gói mới bắt đầu ngay từ lần thanh toán đó, với trọn mức credits của kỳ. Phần còn lại của kỳ cũ không dùng tiếp được.
* Ngày bắt đầu và ngày kết thúc của kỳ hiện tại hiện trên trang Hỗ trợ tương tác của dashboard, giờ Việt Nam.

## Đặt đơn

*Beta (thử nghiệm), chưa mở cho khách hàng.*

Trên dashboard, mục **Hỗ trợ tương tác** (cuối nhóm Nội dung) có danh sách những gì đặt được trong kỳ, số credits còn lại, form đặt đơn và lịch sử đơn.

1. **Dán liên kết** bài viết hoặc trang: một địa chỉ `https://`, dài tối đa 2.048 ký tự. Form tự nhận ra liên kết thuộc nền tảng nào (Facebook, Instagram…).
2. **Chọn loại tương tác** của nền tảng đó, ví dụ lượt thích. Danh sách loại đang có hiện trong dashboard. Bạn không cần chọn gì thêm: phần chạy đơn do MADIAD lo.
3. **Nhập số lượng** trong khoảng tối thiểu đến tối đa. Form hiện ngay số credits đơn sẽ dùng và số credits còn lại sau đơn.
4. **Đặt đơn.** Credits được giữ ngay khi đơn được nhận. Đơn thường được gửi đi trong vài phút, và trạng thái cập nhật trong lịch sử đơn.

Với loại tương tác cần bình luận do bạn viết (khi kỳ của bạn có loại đó): mỗi dòng là một bình luận, **số dòng bằng số lượng**, mỗi dòng có chữ và dài tối đa 500 ký tự. Bình luận đi qua bộ lọc nội dung trước khi đơn được nhận. Dòng nào không qua thì đơn bị từ chối, không trừ credits, và dashboard chỉ ra đúng dòng đó để bạn sửa.

**Số credits theo kỳ gói của bạn.** Số credits một loại tương tác dùng được chốt theo kỳ gói đang chạy. MADIAD giảm mức này giữa kỳ thì đơn của bạn dùng ít credits hơn ngay. MADIAD tăng thì mức mới chỉ áp từ kỳ gói sau của bạn.

**Không đặt trùng.** Bấm đặt đơn mà mạng chập chờn, chưa rõ đơn đã được nhận hay chưa: xem lịch sử đơn trước. Đơn chưa có ở đó thì bấm đặt lại. Form giữ nguyên khoá của lần bấm trước, nên lần bấm lại không tạo đơn thứ hai.

## Trạng thái đơn

*Beta (thử nghiệm), chưa mở cho khách hàng.*

| Trạng thái (API) | Dashboard ghi | Ý nghĩa | Credits |
| - | - | - | - |
| `queued` | Đang chờ gửi | Đơn đã được nhận, đang chờ gửi đi | Đang giữ |
| `processing` | Đang chạy | Đơn đã gửi đi và đang chạy | Đang giữ |
| `completed` | Hoàn thành | Đơn chạy đủ | Đã dùng |
| `partial` | Hoàn thành một phần | Đơn chạy được một phần | Phần chưa chạy được hoàn |
| `cancelled` | Đã huỷ | Đơn bị huỷ, hoặc không được gửi đi | Phần chưa chạy được hoàn (đơn chưa gửi đi: hoàn đủ) |
| `rejected` | Bị từ chối | Đơn bị từ chối khi gửi đi | Hoàn đủ |
| `expired` | Quá hạn chờ | Đơn chờ quá lâu mà chưa gửi đi được (ví dụ trong lúc tính năng gián đoạn) | Hoàn đủ |
| `unknown` | Chưa rõ kết quả | Chưa xác nhận được đơn có chạy hay không | Đang giữ, hoàn nếu xác nhận đơn không chạy |
| `untracked` | Không theo dõi được | Đơn đã được tạo nhưng không theo dõi được tiến độ | Đang giữ |

Với `unknown`, dashboard ghi đúng câu: "Chưa rõ kết quả, credits đang được giữ và sẽ được hoàn nếu xác nhận đơn không chạy." MADIAD chỉ hoàn khi đã có bằng chứng đơn không chạy, nên trạng thái này có thể giữ lâu hơn các trạng thái khác.

**Credits hoàn về kỳ nào.** Đơn đã gửi đi (chạy thiếu, bị huỷ, bị từ chối, hay chưa rõ rồi xác nhận không chạy) hoàn vào **kỳ gói hiện tại** của bạn, kể cả khi đơn được đặt ở kỳ trước. Đơn chưa kịp gửi đi hoàn về **kỳ đã giữ chỗ** cho đơn đó. Không có nút huỷ hay hoàn đơn bằng tay: credits chỉ được hoàn theo kết quả thật của đơn.

## Khi tính năng gián đoạn, tạm ngừng hoặc ngừng

*Beta (thử nghiệm), chưa mở cho khách hàng.*

Đầu trang Hỗ trợ tương tác có một băng thông báo khi tính năng không ở trạng thái bình thường. Có thông báo công khai thì băng có liên kết "Xem thông báo".

| Trạng thái | Dashboard ghi | Đặt đơn mới |
| - | - | - |
| Gián đoạn tạm thời (sự cố kỹ thuật, bảo trì) | Tính năng đang gián đoạn tạm thời, credits của bạn vẫn được giữ | Chưa được, đặt lại khi tính năng chạy lại |
| Tạm ngừng | Tính năng đang tạm ngừng, chưa đặt được đơn mới | Không |
| Sẽ ngừng từ kỳ sau | Tính năng sẽ ngừng từ kỳ gói sau. Credits của kỳ này vẫn dùng được tới hết kỳ | Được, tới hết kỳ |
| Đã ngừng | Tính năng đã ngừng cung cấp | Không |

Credits trong từng trường hợp này theo điều khoản sử dụng của tính năng.

## Dùng qua API

*Beta (thử nghiệm), chưa mở cho khách hàng.*

> [!NOTE]
>
> Các đường dẫn dưới đây chỉ trả lời khi tính năng đã mở cho tài khoản của bạn. Phần Tham chiếu API của chúng được thêm vào khi tính năng mở. Mọi câu trả lời theo cách của [Lỗi](https://docs.madiad.com/vi/concepts/errors.md).

| Đường dẫn | Việc |
| - | - |
| `GET /v1/boost/services` | Các loại tương tác bạn đặt được trong kỳ: `id`, `name`, `platform`, `requires_comments`, `min`, `max`. Không kèm giá: số credits của một đơn nằm trong câu trả lời khi đặt đơn (`price_credits`) |
| `POST /v1/boost/orders` | Đặt một đơn: `service_id` (`id` của loại tương tác), `link`, `quantity`, và `comments` (chỉ với loại cần bình luận). **Bắt buộc header `Idempotency-Key`**, một khoá cho một đơn. `202` khi đơn đang chờ gửi |
| `GET /v1/boost/orders` | Đơn của bạn, mới nhất trước. `?limit=1..100`. Trang sau: `?before=<next_before>&before_id=<next_before_id>` |
| `GET /v1/boost/orders/{id}` | Một đơn của bạn. Id của tài khoản khác trả `404` |

Gửi lại cùng `Idempotency-Key` với cùng nội dung thì nhận lại đúng đơn cũ, không trừ thêm credits (xem [Idempotency](https://docs.madiad.com/vi/concepts/idempotency.md)). Cùng khoá mà nội dung khác thì nhận `409 idempotency_conflict`. Các đường dẫn này chỉ đọc header `Idempotency-Key` (không nhận `X-Idempotency-Key` hay `X-Request-Id`), và lần gửi lại không kèm header `Idempotent-Replayed`: câu trả lời là chính đơn đó, `202` nếu đơn còn chờ gửi, `200` nếu không.

Khi tính năng đã mở cho tài khoản, `GET /v1/usage` có thêm khối `boost_credits`:

| Trường | Ý nghĩa |
| - | - |
| `limit`, `used`, `remaining` | Mức credits của kỳ, đã dùng, còn lại. `remaining` có thể lớn hơn `limit` khi có credits hoàn vào kỳ |
| `period_start`, `period_end` | Đầu và cuối kỳ gói hiện tại |
| `is_last_period` | Kỳ này kết thúc cùng hạn của gói |
| `reason` | Vì sao kỳ không có credits: `not_eligible`, `plan_inactive`, `no_paid_term`, `trial_or_zero`, `feature_stopped`, `period_forfeited`, `account_disabled`; `null` khi có credits |
| `feature_state` | `on`, `paused` (gián đoạn), `suspended` (tạm ngừng), `stopping` (sẽ ngừng từ kỳ sau), `stopped` |
| `notice_url` | Thông báo công khai của trạng thái, nếu có |
| `feature_name`, `terms_url` | Tên tính năng, điều khoản sử dụng |

Các câu trả lời lỗi riêng của nhóm này:

| HTTP | `code` | Khi nào |
| - | - | - |
| 400 | `invalid_request` | Thiếu trường, trường lạ, liên kết sai, số lượng ngoài khoảng, số dòng bình luận khác số lượng |
| 403 | `forbidden` | Kỳ không có credits (kèm `reason`), tính năng đã tắt cho tài khoản, hoặc tài khoản đang bị khoá |
| 403 | `feature_suspended` | Tính năng đang tạm ngừng (kèm `notice_url`) |
| 404 | `not_found` | Loại tương tác không có trong danh sách của kỳ, hoặc đơn không phải của bạn |
| 409 | `idempotency_conflict` | `Idempotency-Key` đã dùng cho một đơn khác |
| 422 | `content_rejected` | Một dòng bình luận không qua bộ lọc nội dung (kèm `line`, `rule`) |
| 429 | `quota_exceeded` | Không đủ credits cho đơn (kèm `remaining`, `renews_at`) |
| 503 | `feature_paused` | Tính năng gián đoạn tạm thời, credits vẫn giữ. Thử lại sau `Retry-After` giây |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.