Assign sub for Agency F10
# 1. Tổng quan
- Action URL:
/api/vi/agencies - Đặc tả chi tiết: Swagger Link (opens new window)
- Mô tả: Tính năng này assign gói subscription cho F10 agency sau khi đã tạo xong.
# 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. 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
{
"subscriptionId": "string",
"agencyId": "string",
"notes": "string"
}
# 4.2 Bảng mô tả Request Body
| Thuộc tính | Bắt buộc | Kiểu dữ liệu | Mô tả | Ví dụ |
|---|---|---|---|---|
| subscriptionId | Có | String | ID của Sub cần assign | |
| agencyId | Có | String | ID của agency cần assign | |
| notes | Có | String | Ghi chú | Gán gói Basic cho agency mới |
# 5. Response
# 5.1 Ví dụ Response
{
"StatusCode": 200,
"Timestamp": "3:26:09 AM",
"Path": "/api/v1/agencies/assign-subscription",
"Message": "Assign subscription cho F10 agency thành công",
"Data": {
"Agency": {
"id": "9625853d-5ae3-49c9-80f7-901e614a8edd",
"companyName": "test 01",
"contactEmail": "test006@gmail.com",
"contactPhone": "+0123123006",
"apiAccount": "...",
"apiPassword": "...",
"apiToken": "...",
"address": "123 Đường ABC, Quận XYZ, TP.HCM",
"notes": "...",
"agencyType": "F10",
"firstName": "Nguyễn",
"lastName": "Văn A",
"isActive": true,
"tier": "premium",
"defaultLanguage": "VI",
"defaultCurrency": "VND",
"subscriptionId": "045c4a26-3180-4378-a03e-bf2165ab4b11",
"balenceAmount": "100000.00",
"balenceLimit": "0.00",
"industry": "Travel",
"agencyCredit": "limit",
"parentAgencyId": "ca5b18b8-fa5d-485f-a615-984ee0d4df89",
"createdAt": "2025-10-15T03:16:04.643Z",
"updatedAt": "2025-10-16T03:26:07.008Z"
},
"Subscription": {
"id": "045c4a26-3180-4378-a03e-bf2165ab4b11",
"name": "Basic Travel Package test06",
"description": "Gói cơ bản cho các agency du lịch",
"price": "1000000.00",
"duration": 12,
"features": "[\"Flight Search\", \"Booking\", \"Ticketing\"]",
"status": "active"
},
"AssignmentDetails": {
"assignedAt": "2025-10-16T03:26:07.008Z",
"assignedBy": "Agency F1 của henryhoang",
"expiresAt": "2025-10-28T03:26:07.008Z",
"isReplacement": true,
"previousSubscriptionId": "6a65e6d9-aa6d-4a6a-819c-d7c6eb302a77"
},
"DealInfo": {
"dealId": "68f065d03889c9398",
"invoiceId": "68f065d0b22c84ac9"
}
},
"Errors": null,
"RequestId": "req_1760585167001_gr5be16v6",
"TotalDuration": 2020
}
# 5.2 Bảng mô tả Response
| Thuộc tính | Kiểu dữ liệu | Mô tả |
|---|---|---|
| StatusCode | number | Mã trạng thái HTTP |
| Timestamp | string | Dấu thời gian phản hồi |
| Path | string | Đường dẫn API |
| Message | string | Thông báo kết quả |
| Data | object | Đối tượng dữ liệu trả về |
| Errors | null | Lỗi (nếu có) |
| RequestId | string | Mã yêu cầu |
| TotalDuration | number | Tổng thời gian xử lý (ms) |
| Agency.id | string | ID của agency |
| Agency.companyName | string | Tên công ty |
| Agency.contactEmail | string | Email liên hệ |
| Agency.contactPhone | string | Số điện thoại liên hệ |
| Agency.apiAccount | string | Tài khoản API (mã hóa) |
| Agency.apiPassword | string | Mật khẩu API (mã hóa) |
| Agency.apiToken | string | Token API (mã hóa) |
| Agency.address | string | Địa chỉ |
| Agency.notes | string | Ghi chú/nhật ký thay đổi subscription |
| Agency.agencyType | string | Loại agency |
| Agency.firstName | string | Họ |
| Agency.lastName | string | Tên |
| Agency.isActive | boolean | Trạng thái hoạt động |
| Agency.tier | string | Cấp độ agency |
| Agency.defaultLanguage | string | Ngôn ngữ mặc định |
| Agency.defaultCurrency | string | Tiền tệ mặc định |
| Agency.subscriptionId | string | ID subscription hiện tại |
| Agency.balenceAmount | string | Số dư agency |
| Agency.balenceLimit | string | Giới hạn số dư |
| Agency.industry | string | Ngành nghề |
| Agency.agencyCredit | string | Tín dụng agency |
| Agency.parentAgencyId | string | ID agency cha |
| Agency.createdAt | string | Ngày tạo |
| Agency.updatedAt | string | Ngày cập nhật |
| Subscription.id | string | ID gói subscription |
| Subscription.name | string | Tên gói |
| Subscription.description | string | Mô tả gói |
| Subscription.price | string | Giá gói |
| Subscription.duration | number | Thời hạn (tháng) |
| Subscription.features | string | Tính năng (JSON dạng chuỗi) |
| Subscription.status | string | Trạng thái gói |
| AssignmentDetails.assignedAt | string | Thời điểm gán |
| AssignmentDetails.assignedBy | string | Người/Đơn vị gán |
| AssignmentDetails.expiresAt | string | Thời điểm hết hạn |
| AssignmentDetails.isReplacement | boolean | Có thay thế gói trước đó hay không |
| AssignmentDetails.previousSubscriptionId | string | ID gói bị thay thế |
| DealInfo.dealId | string | Mã giao dịch |
| DealInfo.invoiceId | string | Mã hóa đơn |