Bài 2: Bài tập thực hành & Kiểm tra kiến thức VBot API
Bài tập Thực hành và Trắc nghiệm Ôn tập VBot Open API v3.0
Sau khi nắm bắt các tiêu chuẩn giao tiếp của VBot Open API ở Bài 1, hãy cùng thực hiện các bài tập dưới đây để đảm bảo bạn đã sẵn sàng tích hợp hệ thống [cite: 16].
Phần 1: Trắc nghiệm nhanh (Quick Quiz)
Câu 1: Để xác thực (Authentication) một request gửi đến VBot Open API, bạn cần truyền thông tin chứng thực vào đâu?
- A. Truyền vào Body của request dưới dạng JSON.
- B. Truyền vào Header thông qua khóa
Authorization. - C. Truyền vào Header thông qua khóa
X-API-Key[cite: 16]. - D. Truyền trực tiếp trên URL dưới dạng Query Parameter.
Câu 2: Bạn nhận được một Response từ VBot API. Theo chuẩn v3.0, bạn sẽ dựa vào thuộc tính nào để khẳng định Request đã được xử lý thành công?
- A. Kiểm tra trường
statusbằng "success". - B. Kiểm tra trường
errorbằng0[cite: 16]. - C. Kiểm tra trường
messagebằng "OK". - D. Kiểm tra HTTP Status Code là 200.
Câu 3: Mã lỗi (error code) 409 trong hệ thống VBot mang ý nghĩa gì?
- A. Dữ liệu bị trùng lặp / Đã tồn tại trong hệ thống (Conflict) [cite: 16].
- B. Không tìm thấy tài nguyên (ví dụ: sai ID).
- C. Không có quyền truy cập (Sai API Key).
- D. Lỗi cấu trúc tham số đầu vào.
Phần 2: Thực hành giả lập (Mock Practice)
Bài tập 1: Khởi tạo Request cơ bản bằng cURL
Giả sử hệ thống VBot có một endpoint kiểm tra trạng thái máy chủ tại đường dẫn /server-info (phương thức GET).
- Yêu cầu: Hãy viết một lệnh cURL (hoặc mô tả cách thiết lập trên Postman) để gọi API này, đảm bảo cấu hình đúng Base URL [cite: 16] và các Headers bắt buộc đã học [cite: 16]. Giả sử API Key của bạn là
abc-123-xyz.
Gợi ý lệnh cURL chuẩn:
curl --location --request GET 'https://open-api-h01.vbot.vn/v3.0/server-info' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: abc-123-xyz'
Bài tập 2: Xử lý logic Response
Hệ thống của bạn gửi một request tạo mới một Hotline và nhận về JSON Response như sau:
{
"error": -1,
"message": "Trường 'phone_number' không đúng định dạng.",
"data": null
}
- Yêu cầu: Là một lập trình viên tích hợp, bạn sẽ phân tích lỗi này như thế nào và hướng khắc phục (Debug) ra sao [cite: 16]?
- Phân tích: Mã lỗi
error: -1chỉ ra rằng đây là lỗi Sai tham số (Bad Request) [cite: 16]. Lỗi này xuất phát từ phía Client (hệ thống của bạn) truyền dữ liệu lên không hợp lệ [cite: 16]. - Hướng khắc phục: Dựa vào
message, hệ thống đang báo tham sốphone_numberbị sai định dạng [cite: 16]. Lập trình viên cần kiểm tra lại Payload truyền lên (ví dụ: số điện thoại bị chứa chữ cái, thiếu số 0 ở đầu, hoặc sai độ dài) và sửa lại trước khi gửi lại Request [cite: 16].
Bài tập 3: Gỡ lỗi hệ thống (Troubleshooting)
Hệ thống code của bạn hôm qua vẫn chạy bình thường, nhưng hôm nay khi gọi API lấy Lịch sử cuộc gọi, bạn liên tục nhận được mã lỗi sau:
{
"error": 401,
"message": "Unauthorized / Invalid Token",
"data": null
}
- Yêu cầu: Hãy chỉ ra ít nhất 2 nguyên nhân phổ biến gây ra lỗi này dựa trên kiến thức đã học [cite: 16].
- Nguyên nhân 1 (Thiếu Header): Code của bạn quên truyền header
X-API-Keytrong quá trình gửi Request [cite: 16]. - Nguyên nhân 2 (API Key không hợp lệ/Đã hết hạn): Key xác thực đã bị thay đổi, thu hồi trên hệ thống VBot, hoặc bạn đang copy sai một ký tự nào đó [cite: 16].
Phần 3: Đáp án & Giải thích (Answers & Explanations)
1. Đáp án Phần 1 (Trắc nghiệm):
- Câu 1: C —
X-API-Keylà header bắt buộc để định danh dự án [cite: 16]. - Câu 2: B — Bắt buộc kiểm tra
error: 0[cite: 16]. Kể từ v3.0, trườngstatuskhông còn được sử dụng [cite: 16]. - Câu 3: A — Mã
409báo hiệu Conflict (Dữ liệu đã tồn tại) [cite: 16].
All Rights Reserved