Subscription Packages API — Định nghĩa & Hướng dẫn cho Đối Tác (v1.0)
Đối tượng: Agency F1 (Parent) tạo & quản lý gói dịch vụ
Trạng thái: Stable
Ngôn ngữ: VI
1. Tổng quan
1.1 Định nghĩa
Subscription Packages API cho phép Agency F1 (Parent Agency) tạo và quản lý các gói subscription để phân phối cho F10 (Child Agency) sử dụng dịch vụ API và tính năng của hệ thống.
- F1: chủ sở hữu gói, có quyền tạo mới & cấu hình chi tiết.
- F10: chỉ có thể sử dụng các gói mà F1 đã cấp quyền.
1.2 Lợi ích
- Chuẩn hóa quản lý: tập trung quản lý các gói dịch vụ API cho F10.
- Cấu hình linh hoạt: tuỳ chỉnh giá, chu kỳ thanh toán, thời hạn, giới hạn dịch vụ.
- Phân quyền rõ ràng: chỉ F1 có quyền tạo → đảm bảo kiểm soát hệ thống.
- Mở rộng dễ dàng: thêm dịch vụ/giới hạn mới mà không phá cấu trúc cũ.
2. Tạo yêu cầu tạo Subscription
2.1 Endpoint & Method
| Header | Mô tả |
x-api-account | Tài khoản API của Agency F1 |
x-api-password | Mật khẩu API của Agency F1 |
x-api-token | Token API của Agency F1 |
3 Request Body (JSON)
3.1. Ví dụ Request
3.2 Bảng mô tả trường (Request Body)
| Trường | Type | Bắt buộc | Mô tả |
name | string | Yes | Tên gói subscription (duy nhất). |
price | number | Yes | Giá gói. |
billingCycle | string | Yes | MONTHLY | QUARTERLY | YEARLY | ONE_TIME. |
duration | number | Yes | Thời hạn của gói, tính theo billingCycle. |
startsAt | string | Yes | Ngày bắt đầu hiệu lực (YYYY-MM-DD). |
expiresAt | string | Yes | Ngày hết hạn (YYYY-MM-DD). |
has...Access | boolean | No | Bật/tắt quyền truy cập cho một dịch vụ |
...Limit... | number | No | Bắt buộc nếu dịch vụ tương ứng được bật; là quota cho từng hành động. |
features | string | No | Danh sách tính năng (định dạng JSON string). |
subscribedAgencies | array | Yes | Danh sách agency đã đăng ký; khi tạo mới thường là []. |
4 Response (JSON)
4.1 Bảng mô tả trường (Response)
4.2 Bảng mô tả mã phản hồi
| HTTP | Mô tả |
| 201 | Subscription package được tạo thành công |
| 400 | Dữ liệu không hợp lệ |
| 401 | Không có quyền tạo subscription |
| 403 | Chỉ F1 agency mới có quyền tạo subscription |
| 409 | Tên subscription đã tồn tại |