Public API là gói mở rộng trả phí. Liên hệ đội ngũ GoHost qua Zalo để nhận báo giá theo quy mô chuỗi của bạn.
Đọc phòng trống và giá theo thời gian thực, tạo và quản lý đặt phòng, nhận thông báo ngay khi booking thay đổi. Dành cho website đặt phòng riêng, chatbot, chuỗi khách sạn và đối tác công nghệ.
// Phản hồi mẫu (rút gọn)
{
"data": [{
"room_types": {
"title": "Deluxe Hướng Biển",
"quantity": 3,
"rate_plans": [{
"title": "Gồm bữa sáng",
"currency": "VND",
"estimated_total_price": 3400000
}]
}
}]
}
Hiện phòng trống, giá theo ngày và nhận đặt phòng trực tiếp trên website của bạn, không qua OTA.
Trả lời khách còn phòng không, báo giá và giữ phòng ngay trong cuộc trò chuyện.
Đồng bộ booking về hệ thống nội bộ, CRM hoặc kế toán của chuỗi bằng một API key duy nhất.
Xây ứng dụng, cổng bán phòng hoặc tích hợp cho khách hàng đang vận hành bằng GoHost.
Mỗi API key gắn với các quyền cụ thể. Bạn chỉ mở đúng phần đối tác cần dùng.
/properties
/properties/search
/room_types
/room_types/search
/bookings
/bookings/{id}/confirm
/bookings/{id}/payments
/bookings/{id}/rooms/{room}/checkout
/bookings/{id}/rooms/{room}/rate
/payment-methods
/reference/cities
/webhooks
/webhooks/{code}/ping
Đội ngũ GoHost tạo API key cho tổ chức của bạn. Secret chỉ hiện một lần khi tạo.
Bật đúng phạm vi cần dùng: đọc phòng, đọc hoặc ghi booking, webhook.
Gửi header Authorization: Bearer key:secret và đọc dữ liệu từ các cơ sở trong chuỗi.
Đăng ký URL HTTPS để biết ngay khi booking được tạo, đổi hoặc huỷ.
Dữ liệu dưới đây là mẫu minh hoạ. Đầy đủ tham số và mã lỗi có trong tài liệu API.
curl "https://platform.gohost.vn/pms/api/public/v1/properties/{tenant_id}/room_types/search?checkin_date=2026-12-24&checkout_date=2026-12-26" \
-H "Authorization: Bearer <api_key>:<api_secret>" \
-H "Accept: application/json"
const res = await fetch(
`https://platform.gohost.vn/pms/api/public/v1/properties/${tenantId}/room_types/search?checkin_date=2026-12-24&checkout_date=2026-12-26`,
{ headers: { Authorization: `Bearer ${apiKey}:${apiSecret}` } }
);
const { data } = await res.json();
$res = Http::withToken("{$apiKey}:{$apiSecret}")
->get("https://platform.gohost.vn/pms/api/public/v1/properties/{$tenantId}/room_types/search", [
'checkin_date' => '2026-12-24',
'checkout_date' => '2026-12-26',
]);
$roomTypes = $res->json('data');
{
"data": [
{
"room_types": {
"id": "…",
"title": "Deluxe Hướng Biển",
"quantity": 3,
"rate_plans": [
{
"id": "…",
"title": "Gồm bữa sáng",
"currency": "VND",
"has_breakfast": true,
"days_breakdown": [
{ "day": "2026-12-24", "price": 1700000 },
{ "day": "2026-12-25", "price": 1700000 }
],
"estimated_total_price": 3400000
}
]
}
}
]
}
curl -X POST "https://platform.gohost.vn/pms/api/public/v1/properties/{tenant_id}/bookings" \
-H "Authorization: Bearer <api_key>:<api_secret>" \
-H "Content-Type: application/json" \
-d '{
"checkin_date": "2026-12-24",
"checkout_date": "2026-12-26",
"source_name": "website",
"customer": { "name": "Khách Mẫu" },
"booking_rooms": [{ "room_type_id": "…", "rate_plan_id": "…" }]
}'
const res = await fetch(`https://platform.gohost.vn/pms/api/public/v1/properties/${tenantId}/bookings`, {
method: "POST",
headers: {
Authorization: `Bearer ${apiKey}:${apiSecret}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
checkin_date: "2026-12-24",
checkout_date: "2026-12-26",
source_name: "website", // lấy từ GET /booking-sources
customer: { name: "Khách Mẫu" },
booking_rooms: [{ room_type_id: "…", rate_plan_id: "…" }],
}),
});
$res = Http::withToken("{$apiKey}:{$apiSecret}")
->post("https://platform.gohost.vn/pms/api/public/v1/properties/{$tenantId}/bookings", [
'checkin_date' => '2026-12-24',
'checkout_date' => '2026-12-26',
'source_name' => 'website', // lấy từ GET /booking-sources
'customer' => ['name' => 'Khách Mẫu'],
'booking_rooms' => [['room_type_id' => '…', 'rate_plan_id' => '…']],
]);
Booking tạo qua API được ghi là đặt trực tiếp.
Booking chưa có thanh toán sẽ tự huỷ sau 16 phút:
ghi nhận thanh toán bằng POST /bookings/{id}/payments
hoặc xác nhận bằng POST /bookings/{id}/confirm.
# GoHost gửi tới URL HTTPS của bạn: POST https://your-app.example/webhooks/gohost X-Gohost-Event: booking.created X-Gohost-Event-Id: evt_… X-Gohost-Timestamp: 1767225600 X-Gohost-Signature: t=1767225600,v1=…
import crypto from "node:crypto";
// header = X-Gohost-Signature, dạng "t=<unix>,v1=<hex>"
function verify(rawBody, header, secret) {
const m = /t=(\d+),v1=([a-f0-9]+)/.exec(header || "");
if (!m || Math.abs(Date.now() / 1000 - Number(m[1])) > 300) return false;
const expected = crypto.createHmac("sha256", secret)
.update(`${m[1]}.${rawBody}`).digest("hex");
return expected.length === m[2].length &&
crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(m[2]));
}
// X-Gohost-Signature có dạng "t=<unix>,v1=<hex>", ký trên "<t>.<raw body>"
preg_match('/t=(\d+),v1=([a-f0-9]+)/', (string) $request->header('X-Gohost-Signature'), $m);
if (! $m || abs(time() - (int) $m[1]) > 300
|| ! hash_equals(hash_hmac('sha256', $m[1].'.'.$request->getContent(), $secret), $m[2])) {
abort(401);
}
// Dùng X-Gohost-Event-Id để bỏ qua sự kiện trùng
booking.created booking.updated booking.confirmed booking.cancelled booking.checked_in booking.checked_out
Một key đọc được mọi cơ sở trong chuỗi của bạn, không truy cập được cơ sở của tổ chức khác.
6 phạm vi quyền. Key mới mặc định chỉ được đọc thông tin cơ sở và loại phòng.
60yêu cầu / phút
Mức mặc định cho mỗi key, điều chỉnh được theo nhu cầu. Vượt mức nhận mã 429 kèm Retry-After.
GoHost chỉ lưu bản băm của secret. Mất secret thì GoHost cấp lại secret mới.
Mỗi sự kiện ký HMAC-SHA256 kèm thời điểm gửi trong header X-Gohost-Signature, chỉ gửi tới URL HTTPS.
8lần thử lại
Webhook gửi lỗi được thử lại tự động, giãn dần từ 5 giây tới 24 giờ.
Đặt phòng tạo qua API được ghi là đặt trực tiếp. GoHost tính lại phòng trống và đẩy ra Booking.com, Agoda, Airbnb… qua Channel Manager, nên bạn không lo bán trùng phòng.
Public API là gói mở rộng trả phí. Liên hệ đội ngũ GoHost qua Zalo để nhận báo giá theo quy mô chuỗi của bạn.
API key do GoHost tạo cho tổ chức của bạn. Nhắn đội ngũ GoHost qua Zalo, chúng tôi cấp key kèm phạm vi quyền phù hợp.
Được. Key gắn với tổ chức của bạn và đọc được mọi cơ sở trong chuỗi; mỗi lần gọi bạn chỉ rõ cơ sở cần thao tác.
Chưa. Phiên bản hiện tại tập trung vào cơ sở lưu trú, phòng, giá, đặt phòng và webhook. Hãy cho chúng tôi biết nhu cầu của bạn.
Danh sách endpoint, tham số, mã lỗi và ví dụ có tại platform.gohost.vn/docs/api.
Chúng tôi hỗ trợ bạn chọn phạm vi quyền, cấp API key và kiểm tra luồng đặt phòng đầu tiên.