List subscription package
# 1. Tổng quan
- Action URL:
/subscription/list - Đặc tả chi tiết: Swagger Link (opens new window)
- Mô tả: Lấy danh sách subscription packages với phân trang và lọc.
- F1 agency có thể xem tất cả.
- F10 agency chỉ xem được subscription của F1 cha.
- Chỉ áp dụng cho tài khoản agency F1.
# 2. Hướng dẫn
- Bước 1: Thực hiện xây dựng request và POST tới API action URL.
- Bước 2: Nhận về response.
# 3. Request Body
# 3.1 Ví dụ Request Body
{
"maxSize": 20,
"offset": 0,
"status": "active",
"orderBy": "createdAt",
"order": "desc"
}
# 3.2 Bảng mô tả Request Body
Cấu trúc dữ liệu request :
| Thuộc tính | Bắt buộc | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|---|
| maxSize | Có | Number | Số lượng items trên trang | 20 |
| offset | Có | Number | Vị trí bắt đầu | 0 |
| status | Có | String | Trạng thái lọc | Active/Inactive |
| orderBy | Có | String | Trạng thái của sub | createdAt / updatedAt |
| order | Có | String | Thứ tự sắp xếp | ASC/DESC |
# 4. Response
# 4.1 Ví dụ Response
{
"StatusCode": 200,
"Timestamp": "7:43:09 AM",
"Path": "/api/v1/subscriptions/list",
"Message": "Lấy danh sách subscription packages thành công",
"Data": {
"ListSubscription": {
"total": 28,
"list": [
{
"id": "06203055-efed-4db7-ba3c-5e236738573a",
"name": "F1 01",
"description": "Gói cơ bản cho các agency du lịch",
"avatarUrl": "https://example.com/avatar.jpg",
"coverUrl": "https://example.com/cover.jpg",
"price": "1000000.00",
"currency": "VND",
"billingCycle": "monthly",
"duration": 12,
"startsAt": "2025-11-01",
"expiresAt": "2025-12-31",
"status": "active",
"agencyId": "ca5b18b8-fa5d-485f-a615-984ee0d4df89",
"agencyName": "Agency F1 của henryhoang",
"remainingDays": 77,
"isActive": false,
"activeSubscribersCount": 0,
"activeSubscribers": [],
"features": "[\"Flight Search\", \"Booking\", \"Ticketing\"]",
"terms": "Điều khoản sử dụng gói Basic",
"notes": "Gói dành cho agency mới",
"createdAt": "2025-10-15T06:47:37.505Z",
"updatedAt": "2025-10-15T06:47:37.505Z",
"hasAmadeusAccess": true,
"hasAmadeusRestAccess": true,
"hasVietnamAirlineAccess": true,
"hasSabreAccess": false,
"hasBambooAirwaysAccess": false,
"hasVietjetAirAccess": false,
"hasTourAccess": false,
"hasEsimAccess": false,
"hasHotelAccess": false,
"hasAttractionAccess": false,
"tourLimitSearch": 100,
"tourLimitBooking": 50,
"esimLimitSearch": 200,
"esimLimitActivation": 100,
"hotelLimitSearch": 500,
"hotelLimitBooking": 100,
"attractionLimitSearch": 300,
"attractionLimitBooking": 80,
"bambooLimitSearch": 1000,
"bambooLimitHold": 100,
"bambooLimitIssues": 50,
"vietjetLimitSearch": 1000,
"vietjetLimitHold": 100,
"vietjetLimitIssues": 50,
"hasPrioritySupport": false,
"hasAdvancedAnalytics": false,
"hasCustomBranding": false,
"hasMultiUserAccess": false,
"maxUsers": 1
}
]
}
}
}
# 4.2 Bảng mô tả Response
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
| StatusCode | String | Tình trạng request | 200: Thành công 401: Không có quyền 403: Chỉ F1 agency mới có quyền |
| Timestamp | String | Thời gian trả về | "7:43:09 AM" |
| Path | String | Đường dẫn API | "/api/v1/subscriptions/list" |
| Message | String | Tin nhắn thông báo | "Lấy danh sách subscription packages thành công" |
| Errors | String | Lỗi khi thực hiện request | null |
| RequestId | String | Mã định danh request | "req_123456789" |
| TotalDuration | String | Thời gian xử lý request | "1023" |
| ListSubscription.total | Number | Tổng số subscription | 28 |
| ListSubscription.list | Array | Danh sách subscription | [...] |
| id | String | ID subscription | "06203055-efed-4db7-ba3c-5e236738573a" |
| name | String | Tên subscription | "F1 01" |
| description | String | Mô tả subscription | "Gói cơ bản cho các agency du lịch" |
| avatarUrl | String | URL ảnh đại diện | "https://example.com/avatar.jpg (opens new window)" |
| coverUrl | String | URL ảnh bìa | "https://example.com/cover.jpg (opens new window)" |
| price | Number | Giá gói | 1000000.00 |
| currency | String | Đơn vị tiền tệ | "VND" |
| billingCycle | String | Chu kỳ thanh toán | "monthly" |
| duration | Number | Thời hạn gói | 12 |
| startsAt | String | Ngày bắt đầu | "2025-11-01" |
| expiresAt | String | Ngày hết hạn | "2025-12-31" |
| status | String | Trạng thái gói | "active" |
| agencyName | String | Tên agency tạo gói | "Agency F1 của henryhoang" |
| remainingDays | Number | Số ngày còn lại | 77 |
| isActive | Boolean | Có đang hoạt động không | false |
| agencyId | String | ID agency tạo gói | "ca5b18b8-fa5d-485f-a615-984ee0d4df89" |
| activeSubscribersCount | Number | Số lượng agency F10 đang sử dụng gói | 0 |
| activeSubscribers | array<string> | Danh sách agency F10 đang sử dụng | [] |
| createdAt | String | Ngày tạo | "2025-10-15T06:47:37.505Z" |
| updatedAt | String | Ngày cập nhật | "2025-10-15T06:47:37.505Z" |
| hasAmadeusAccess | Boolean | Có quyền truy cập Amadeus | true |
| hasAmadeusRestAccess | Boolean | Có quyền truy cập Amadeus REST API | true |
| hasVietnamAirlineAccess | Boolean | Có quyền truy cập Vietnam Airlines | true |
| hasSabreAccess | Boolean | Có quyền truy cập Sabre | false |
| hasBambooAirwaysAccess | Boolean | Có quyền truy cập Bamboo Airways | false |
| hasVietjetAirAccess | Boolean | Có quyền truy cập Vietjet Air | false |
| hasTourAccess | Boolean | Có quyền truy cập Tour | false |
| hasEsimAccess | Boolean | Có quyền truy cập ESIM | false |
| hasHotelAccess | Boolean | Có quyền truy cập Khách sạn | false |
| hasAttractionAccess | Boolean | Có quyền truy cập Vé vui chơi | false |
| tourLimitSearch | Number | Giới hạn tìm kiếm Tour | 100 |
| tourLimitBooking | Number | Giới hạn đặt Tour | 50 |
| esimLimitSearch | Number | Giới hạn tìm kiếm ESIM | 200 |
| esimLimitActivation | Number | Giới hạn kích hoạt ESIM | 100 |
| hotelLimitSearch | Number | Giới hạn tìm kiếm Khách sạn | 500 |
| hotelLimitBooking | Number | Giới hạn đặt Khách sạn | 100 |
| attractionLimitSearch | Number | Giới hạn tìm kiếm Vé vui chơi | 300 |
| attractionLimitBooking | Number | Giới hạn đặt Vé vui chơi | 80 |
| bambooLimitSearch | Number | Giới hạn tìm kiếm Bamboo | 1000 |
| bambooLimitHold | Number | Giới hạn giữ chỗ Bamboo | 100 |
| bambooLimitIssues | Number | Giới hạn xuất vé Bamboo | 50 |
| vietjetLimitSearch | Number | Giới hạn tìm kiếm Vietjet | 1000 |
| vietjetLimitHold | Number | Giới hạn giữ chỗ Vietjet | 100 |
| vietjetLimitIssues | Number | Giới hạn xuất vé Vietjet | 50 |
| maxUsers | Number | Số lượng người dùng tối đa | 1 |
| subscribedAgencies | array<object> | Danh sách agency F10 đang sử dụng | [...] |
| terms | String | Điều khoản sử dụng | "Điều khoản sử dụng gói Basic" |
| notes | String | Ghi chú | "Gói dành cho agency mới" |
| features | string (JSON) | Danh sách tính năng | ["Flight Search","Booking","Ticketing"] |
| hasPrioritySupport | Boolean | Có quyền truy cập Priority Support | false |
| hasAdvancedAnalytics | Boolean | Có quyền truy cập Advanced Analytics | false |
| hasCustomBranding | Boolean | Có quyền truy cập Custom Branding | false |
| hasMultiUserAccess | Boolean | Có quyền truy cập Multi User Access | false |