Chuyển tới nội dung chính

Backend API Design

API Versioning

Tất cả endpoints đều có prefix /api/v1/.

Authentication

Xem chi tiết tại Authentication Guide.

Các nhóm API

Auth

MethodEndpointMô tả
POST/api/v1/auth/loginĐăng nhập
POST/api/v1/auth/logoutĐăng xuất
GET/api/v1/auth/meThông tin user hiện tại

Teams

MethodEndpointMô tả
GET/api/v1/teamsDanh sách team của user
POST/api/v1/teamsTạo team mới
GET/api/v1/teams/{team_id}Chi tiết team
PATCH/api/v1/teams/{team_id}Cập nhật team
GET/api/v1/teams/{team_id}/membersDanh sách thành viên
POST/api/v1/teams/{team_id}/membersThêm thành viên

Listings

MethodEndpointMô tả
GET/api/v1/teams/{team_id}/listingsDanh sách listing của team
POST/api/v1/teams/{team_id}/listingsTạo listing mới
POST/api/v1/listings/previewPreview listing trước khi tạo
GET/api/v1/listings/{listing_id}Chi tiết listing
PATCH/api/v1/listings/{listing_id}Cập nhật listing
DELETE/api/v1/listings/{listing_id}Xóa listing
POST/api/v1/listings/{listing_id}/duplicateNhân bản listing
GET/api/v1/listings/{listing_id}/childrenDanh sách listing con
GET/api/v1/listings/{listing_id}/parentListing cha

Listing Availability & Pricing

MethodEndpointMô tả
GET/api/v1/listings/{listing_id}/availabilityLịch khả dụng
PATCH/api/v1/listings/{listing_id}/availabilityCập nhật availability
GET/api/v1/listings/{listing_id}/pricing-rulesQuy tắc giá
POST/api/v1/listings/{listing_id}/pricing/weeklyGiá theo tuần
PATCH/api/v1/listings/{listing_id}/commissionCập nhật hoa hồng
PATCH/api/v1/listings/{listing_id}/policiesCập nhật chính sách

Listing Calendar (iCal)

MethodEndpointMô tả
GET/api/v1/listings/{listing_id}/ical-urlsDanh sách iCal URL
POST/api/v1/listings/{listing_id}/calendar/icalThêm iCal URL
POST/api/v1/listings/{listing_id}/calendar/airbnbSync Airbnb calendar
MethodEndpointMô tả
GET/api/v1/searchTìm kiếm listing

Cart & Checkout

MethodEndpointMô tả
GET/api/v1/cartXem giỏ hàng
POST/api/v1/cartThêm vào giỏ hàng
DELETE/api/v1/cart/{item_id}Xóa khỏi giỏ hàng
POST/api/v1/checkoutTiến hành checkout
POST/api/v1/checkout/confirmXác nhận checkout

Bookings

MethodEndpointMô tả
GET/api/v1/bookingsDanh sách booking
GET/api/v1/bookings/{booking_id}Chi tiết booking
PATCH/api/v1/bookings/{booking_id}Cập nhật booking
POST/api/v1/bookings/{booking_id}/cancelHủy booking

Payments

MethodEndpointMô tả
POST/api/v1/paymentsTạo payment
POST/api/v1/payments/webhookPayment webhook
GET/api/v1/payments/{payment_id}Chi tiết payment

Messaging

MethodEndpointMô tả
GET/api/v1/threadsDanh sách thread
POST/api/v1/threadsTạo thread
GET/api/v1/threads/{thread_id}/channelsDanh sách channel
POST/api/v1/threads/{thread_id}/channels/{channel_id}/messagesGửi tin nhắn

Reviews

MethodEndpointMô tả
GET/api/v1/reviewsDanh sách đánh giá
POST/api/v1/reviewsTạo đánh giá

Financial

MethodEndpointMô tả
GET/api/v1/financial/transactionsLịch sử giao dịch
GET/api/v1/financial/summaryTổng kết tài chính

Catalogs & Amenities

MethodEndpointMô tả
GET/api/v1/catalogsDanh mục dữ liệu tham chiếu
GET/api/v1/amenitiesDanh sách tiện ích

Notifications

MethodEndpointMô tả
GET/api/v1/notificationsDanh sách thông báo
PATCH/api/v1/notifications/{id}/readĐánh dấu đã đọc

Locations

MethodEndpointMô tả
GET/api/v1/locations/provincesDanh sách tỉnh/thành
GET/api/v1/locations/countriesDanh sách quốc gia

Admin

MethodEndpointMô tả
GET/api/v1/admin/api-tokensQuản lý API tokens
POST/api/v1/admin/api-tokensTạo API token mới
DELETE/api/v1/admin/api-tokens/{token_id}Thu hồi token

Booking States

PENDING → CONFIRMED → CHECKED_IN → CHECKED_OUT → COMPLETED
↓ ↓
CANCELLED CANCELLED
StateMô tả
PENDINGChờ xác nhận / chờ thanh toán
CONFIRMEDĐã xác nhận, chờ check-in
CHECKED_INKhách đã check-in
CHECKED_OUTKhách đã check-out
COMPLETEDHoàn tất
CANCELLEDĐã hủy

Listing States

StateMô tả
DRAFTĐang soạn thảo
ACTIVEĐang hoạt động, có thể đặt
INACTIVETạm ngưng
DELETEDĐã xóa (soft delete)