Update Subscription
# 1. Tổng quan
- Action URL:
/subscription/update-subscription - Đặc tả chi tiết: Swagger Link (opens new window)
- Mô tả:
- Tính năng này cho phép cập nhật thông tin subscription package.
- Chỉ F1 agency mới có quyền cập nhật subscription của mình.
- Chỉ cho tài khoản agency F1.
# 2. Hướng dẫn sử dụng
Bước 1: Xây dựng request và gửi POST tới API Action URL.
Bước 2: Nhận về response từ API.
# 3. Parameters
# Bảng mô tả Parameters
| Thuộc tính | Bắt buộc | Kiểu dữ liệu | Mô tả |
|---|---|---|---|
| x-api-token | Có | string | Token API (F1) |
| x-api-password | Có | string | Mật khẩu API (F1) |
| x-api-account | Có | string | Tài khoản API (F1) |
# 4. Request Body
# 4.1 Ví dụ Request Body
{
"name": "string",
"description": "string",
"avatarUrl": "string",
"coverUrl": "string",
"price": 1000000,
"currency": "VND",
"billingCycle": "monthly",
"duration": 12,
"startsAt": "2025-11-01T00:00:00Z",
"expiresAt": "2025-12-31T00:00:00Z",
"bambooLimitSearch": 1000,
"bambooLimitHold": 100,
"bambooLimitIssues": 50,
"vietjetLimitSearch": 1000,
"vietjetLimitHold": 100,
"vietjetLimitIssues": 50,
"amadeusLimitSearch": 500,
"amadeusLimitHold": 100,
"amadeusLimitIssues": 50,
"vnaLimitSearch": 100,
"vnaLimitHold": 50,
"vnaLimitIssues": 20,
"sabreLimitSearch": 200,
"sabreLimitHold": 100,
"sabreLimitIssues": 50,
"amadeusRestLimitSearch": 200,
"amadeusRestLimitHold": 50,
"amadeusRestLimitIssues": 20,
"hasAmadeusAccess": true,
"hasAmadeusRestAccess": true,
"hasVietnamAirlineAccess": true,
"hasSabreAccess": false,
"hasBambooAirwaysAccess": true,
"hasVietjetAirAccess": true,
"hasTourAccess": false,
"hasEsimAccess": false,
"hasHotelAccess": false,
"hasAttractionAccess": false,
"tourLimitSearch": 100,
"tourLimitBooking": 50,
"esimLimitSearch": 200,
"esimLimitActivation": 100,
"hotelLimitSearch": 500,
"hotelLimitBooking": 100,
"attractionLimitSearch": 300,
"attractionLimitBooking": 80,
"hasPrioritySupport": false,
"hasAdvancedAnalytics": false,
"hasCustomBranding": false,
"hasMultiUserAccess": false,
"maxUsers": 1,
"features": "[\"Flight Search\", \"Booking\", \"Ticketing\"]",
"terms": "Điều khoản sử dụng gói",
"notes": "Gói cập nhật",
"subscribedAgencies": [],
"id": "uuid-string",
"status": "active"
}
# 4.2 Bảng mô tả Request Body
| Thuộc tính | Bắt buộc | Kiểu dữ liệu | Mô tả |
|---|---|---|---|
| id | Có | string | ID của subscription |
| name | Có | string | Tên gói subscription |
| description | Không | string | Mô tả gói subscription |
| avatarUrl | Có | string | URL ảnh đại diện |
| coverUrl | Có | string | URL ảnh bìa |
| price | Có | number | Giá gói subscription |
| currency | Không | string | Đơn vị tiền tệ |
| billingCycle | Có | string (enum: monthly, quarterly, yearly, one_time) | Chu kỳ thanh toán |
| duration | Có | number | Thời hạn gói |
| startsAt | Có | string (date-time) | Ngày bắt đầu có hiệu lực |
| expiresAt | Có | string (date-time) | Ngày hết hạn |
| status | Có | string | Trạng thái gói subscription |
| agencyName | Có | string | Tên agency tạo gói |
| remainingDays | Có | number | Số ngày còn lại |
| isActive | Có | boolean | Có đang hoạt động không |
| agencyId | Có | string | ID của agency tạo gói |
| activeSubscribersCount | Có | number | Số lượng agency F10 đang sử dụng gói này |
| activeSubscribers | Có | array<string> | Danh sách agency F10 đang sử dụng gói này |
| createdAt | Có | string (date-time) | Ngày tạo |
| updatedAt | Có | string (date-time) | Ngày cập nhật |
| hasAmadeusAccess | Có | boolean | Có quyền truy cập Amadeus |
| hasAmadeusRestAccess | Có | boolean | Có quyền truy cập Amadeus REST API |
| hasVietnamAirlineAccess | Có | boolean | Có quyền truy cập Vietnam Airlines |
| hasSabreAccess | Có | boolean | Có quyền truy cập Sabre |
| hasBambooAirwaysAccess | Có | boolean | Có quyền truy cập Bamboo Airways |
| hasVietjetAirAccess | Có | boolean | Có quyền truy cập Vietjet Air |
| hasTourAccess | Có | boolean | Có quyền truy cập Tour |
| hasEsimAccess | Có | boolean | Có quyền truy cập ESIM |
| hasHotelAccess | Có | boolean | Có quyền truy cập Khách sạn |
| hasAttractionAccess | Có | boolean | Có quyền truy cập Vé vui chơi |
| tourLimitSearch | Có | number | Giới hạn tìm kiếm Tour |
| tourLimitBooking | Có | number | Giới hạn đặt Tour |
| esimLimitSearch | Có | number | Giới hạn tìm kiếm ESIM |
| esimLimitActivation | Có | number | Giới hạn kích hoạt ESIM |
| hotelLimitSearch | Có | number | Giới hạn tìm kiếm Khách sạn |
| hotelLimitBooking | Có | number | Giới hạn đặt Khách sạn |
| attractionLimitSearch | Có | number | Giới hạn tìm kiếm Vé vui chơi |
| attractionLimitBooking | Có | number | Giới hạn đặt Vé vui chơi |
| bambooLimitSearch | Có | number | Giới hạn tìm kiếm Bamboo |
| bambooLimitHold | Có | number | Giới hạn giữ chỗ Bamboo |
| bambooLimitIssues | Có | number | Giới hạn xuất vé Bamboo |
| vietjetLimitSearch | Có | number | Giới hạn tìm kiếm Vietjet |
| vietjetLimitHold | Có | number | Giới hạn giữ chỗ Vietjet |
| vietjetLimitIssues | Có | number | Giới hạn xuất vé Vietjet |
| amadeusRestLimitSearch | Có | number | Giới hạn tìm kiếm Amadeus REST API |
| amadeusRestLimitHold | Có | number | Giới hạn giữ chỗ Amadeus REST API |
| amadeusRestLimitIssues | Có | number | Giới hạn xuất vé Amadeus REST API |
| maxUsers | Có | number | Số lượng người dùng tối đa |
| subscribedAgencies | Có | array<object> | Danh sách agency F10 đang sử dụng gói này |
| terms | Có | string | Điều khoản sử dụng |
| notes | Có | string | Ghi chú |
| features | Có | string (JSON string) | Danh sách tính năng |
| hasPrioritySupport | Có | boolean | Có quyền truy cập Priority Support |
| hasAdvancedAnalytics | Có | boolean | Có quyền truy cập Advanced Analytics |
| hasCustomBranding | Có | boolean | Có quyền truy cập Custom Branding |
| hasMultiUserAccess | Có | boolean | Có quyền truy cập Multi User Access |
# 5. Response
# 5.1 Ví dụ Response
{
"StatusCode": 200,
"Timestamp": "7:43:09 AM",
"Path": "/api/v1/subscriptions/list",
"Message": "Cập nhật subscription package 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",
"agencyName": "Agency F1 của henryhoang",
"createdAt": "2025-10-15T06:47:37.505Z",
"updatedAt": "2025-10-15T06:47:37.505Z"
}
]
}
},
"Errors": null,
"RequestId": "req_1760581747622_uyg66pbvv",
"TotalDuration": 1017
}
# 5.2 Bảng mô tả Response
| Thuộc tính | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|
| StatusCode | string | Mã trạng thái phản hồi | 201, 400, 401, 403, 409 |
| Timestamp | string | Thời gian thực thi | "7:43:09 AM" |
| Path | string | Đường dẫn API | "/api/v1/subscriptions/list" |
| Message | string | Thông báo phản hồi | "Cập nhật subscription thành công" |
| Errors | string | Thông tin lỗi (nếu có) | null |
| RequestId | string | Mã định danh duy nhất | "req_1760581747622_uyg66pbvv" |
| TotalDuration | string | Thời gian xử lý request | "1017" |
# 5.3 Bảng mô tả mã phản hồi
| Mã | Ý nghĩa |
|---|---|
| 201 | Subscription được cập nhật thành công |
| 400 | Dữ liệu không hợp lệ |
| 401 | Không có quyền cập nhật subscription |
| 403 | Chỉ F1 agency mới có quyền cập nhật |
| 409 | Subscription đã tồn tại |