– Trên màn hình Quản lý, từ menu Thiết lập, bạn chọn Cửa hàng.
– Bạn chọn Kết nối webhook, bật tính năng Thiết lập Webhook
– Nhập Wehook URL: Bắt đầu bằng https://
– Đặt lại Mã bảo mật (Secret key) nếu muốn.
– Bật xanh Thiết lập của các sự kiện muốn ghi nhận.
– Lưu ý: Thời gian xử lý của Server phải nhỏ hơn 3s và response status = 200
– Chọn Lưu để hoàn tất thao tác thiết lập
II. Hướng dẫn validate Webhook
– Thuật ngữ:
RetailerCode: Mã gian hàng
SecretKey: Mã bảo mật
Timestamp: Thời gian gửi được lấy bằng X-timestamp từ Header
Data: Request body
– Code mẫu:
C#
Javascript
III. Danh sách sự kiện
1. Có lịch dịch vụ mới
– Ghi nhận sự kiện khi gian hàng có lịch dịch vụ mới được tạo thành công
– Respone body:
{
“eventName”: “BOOKING_CREATED”, // Tên sự kiện được kích hoạt
“requestId”: “0e408c15-c8b4-4314-8339-bf6cf61cd259”, // ID duy nhất của yêu cầu
“data”: {
“id”: 1038177, // ID của booking
“uuid”: “2b306a07-399e-45fb-b8ce-9d1de9d95931”, // UUID của booking
“code”: “B001326”, // Mã booking
“status”: 1, // Trạng thái booking (1: Chưa tới, 2: Đang chờ, 3: Đang sử dụng, 4: Đã xong, 5: Đã hủy, 6: Chờ xác nhận)
“customerId”: 151644, // ID của khách hàng
“retailerId”: 594091, // ID của nhà bán lẻ
“branchId”: 3897, // ID của chi nhánh
“createdDate”: “2025-01-14T09:28:12.07”, // Ngày giờ tạo booking
“createdBy”: 23693, // ID của người tạo booking
“modifiedDate”: “2025-01-14T09:28:12.077”, // Ngày giờ chỉnh sửa lần cuối
“modifiedBy”: 0, // ID của người chỉnh sửa lần cuối
“originVersion”: 2,
“trackVersion”: 5694,
“bookingDetails”: [ // Danh sách chi tiết các mục trong booking
{
“id”: 2406270, // ID của chi tiết booking
“bookingId”: 1038177, // ID booking cha
“uuid”: “f85b4cde-7785-472a-9028-0bd9e52d8e08”, // UUID của bookingDetail
“bookingUuid”: “2b306a07-399e-45fb-b8ce-9d1de9d95931”, // UUID bookingId
“startTime”: “2025-01-15T11:00:00”, // Thời gian bắt đầu dịch vụ
“duration”: 60, // Thời lượng dịch vụ (phút)
“productId”: 558901, // ID sản phẩm/dịch vụ
“isDeleted”: false, // Trạng thái xóa của bookingDetail
“status”: 1, // Trạng thái bookingDetail (1: Chưa tới, 2: Đang chờ, 3: Đang sử dụng, 4: Đã xong, 5: Đã hủy, 6: Chờ xác nhận)
“createdDate”: “2025-01-14T09:28:12.077”, // Ngày giờ tạo bookingDetail
“createdBy”: 23693, // ID người tạo bookingDetail
“bookingDetailStaffs”: [ // Danh sách nhân viên phục vụ
{
“id”: 896830, // ID
“bookingDetailId”: 2406270, // ID của bookingDetail
“bookingDetailUuid”: “f85b4cde-7785-472a-9028-0bd9e52d8e08”, // UUID của bookingDetail
“staffId”: 24316, // ID nhân viên
“commissonRatio”: 1, // Giá trị tỉ lệ hoa hồng
“commissonPercent”: 0, // Giá trị phần trăm hoa hồng
“commissonPrice”: 0 // Giá trị số tiền hoa hồng
}
],
“quantity”: 1, // Số lượng sản phẩm/dịch vụ
“commissonType”: 1, // Loại hoa hồng (1: Hoa hồng mặc định, 2: Mức %, 3: Mức VND)
“retailerId”: 594091, // ID của nhà bán lẻ (của chi tiết này)
“branchId”: 3897 // ID của chi nhánh (của chi tiết này)
}
],
“revision”: “AAAAAAHmxg4=”,
“note”: “Ghi chú”, // Ghi chú cho booking
“isCompletedPayment”: false, // Trạng thái thanh toán
“saleChannelId”: 0 // ID kênh bán hàng
}
}
2. Có thay đổi thông tin lịch dịch vụ
– Ghi nhận sự kiện khi gian hàng có bất kỳ thay đổi thông tin trên lịch dịch vụ
– Respone body:
{
“eventName”: “BOOKING_UPDATED”, // Tên sự kiện được kích hoạt
“requestId”: “0e408c15-c8b4-4314-8339-bf6cf61cd259”, // ID duy nhất của yêu cầu
“data”: {
“id”: 1038177, // ID của booking
“uuid”: “2b306a07-399e-45fb-b8ce-9d1de9d95931”, // UUID của booking
“code”: “B001326”, // Mã booking
“status”: 1, // Trạng thái booking (1: Chưa tới, 2: Đang chờ, 3: Đang sử dụng, 4: Đã xong, 5: Đã hủy, 6: Chờ xác nhận)
“customerId”: 151644, // ID của khách hàng
“retailerId”: 594091, // ID của nhà bán lẻ
“branchId”: 3897, // ID của chi nhánh
“createdDate”: “2025-01-14T09:28:12.07”, // Ngày giờ tạo booking
“createdBy”: 23693, // ID của người tạo booking
“modifiedDate”: “2025-01-14T09:28:12.077”, // Ngày giờ chỉnh sửa lần cuối
“modifiedBy”: 0, // ID của người chỉnh sửa lần cuối
“originVersion”: 2,
“trackVersion”: 5694,
“bookingDetails”: [ // Danh sách chi tiết các mục trong booking
{
“id”: 2406270, // ID của chi tiết booking
“bookingId”: 1038177, // ID booking cha
“uuid”: “f85b4cde-7785-472a-9028-0bd9e52d8e08”, // UUID của bookingDetail
“bookingUuid”: “2b306a07-399e-45fb-b8ce-9d1de9d95931”, // UUID bookingId
“startTime”: “2025-01-15T11:00:00”, // Thời gian bắt đầu dịch vụ
“duration”: 60, // Thời lượng dịch vụ (phút)
“productId”: 558901, // ID sản phẩm/dịch vụ
“isDeleted”: false, // Trạng thái xóa của bookingDetail
“status”: 1, // Trạng thái bookingDetail (1: Chưa tới, 2: Đang chờ, 3: Đang sử dụng, 4: Đã xong, 5: Đã hủy, 6: Chờ xác nhận)
“createdDate”: “2025-01-14T09:28:12.077”, // Ngày giờ tạo bookingDetail
“createdBy”: 23693, // ID người tạo bookingDetail
“bookingDetailStaffs”: [ // Danh sách nhân viên phục vụ
{
“id”: 896830, // ID
“bookingDetailId”: 2406270, // ID của bookingDetail
“bookingDetailUuid”: “f85b4cde-7785-472a-9028-0bd9e52d8e08”, // UUID của bookingDetail
“staffId”: 24316, // ID nhân viên
“commissonRatio”: 1, // Giá trị tỉ lệ hoa hồng
“commissonPercent”: 0, // Giá trị phần trăm hoa hồng
“commissonPrice”: 0 // Giá trị số tiền hoa hồng
}
],
“quantity”: 1, // Số lượng sản phẩm/dịch vụ
“commissonType”: 1, // Loại hoa hồng (1: Hoa hồng mặc định, 2: Mức %, 3: Mức VND)
“retailerId”: 594091, // ID của nhà bán lẻ (của chi tiết này)
“branchId”: 3897 // ID của chi nhánh (của chi tiết này)
}
],
“revision”: “AAAAAAHmxg4=”,
“note”: “Ghi chú”, // Ghi chú cho booking
“isCompletedPayment”: false, // Trạng thái thanh toán
“saleChannelId”: 0 // ID kênh bán hàng
}
}
Như vậy, KiotViet đã thực hiện xong phần hướng dẫn sử dụng Webhook.
Mọi thắc mắc xin liên hệ tổng đài tư vấn bán hàng 1800 6162, tổng đài hỗ trợ phần mềm 1900 6522 hoặc email cho chúng tôi tại địa chỉ: hotro@kiotviet.com để được hỗ trợ và giải đáp.