url: {domamin}/KhachHangAPI.php

ngay_sinh sẽ có dịnh dạng time YYYY-MM-DD 00:00:00 để lưu vào database
kw có thể là tên hoặc là số điện thoại 

1. Add Khách Hàng 
input
{
    "action": "addKhachHang", (*)
    "so_dien_thoai":  "0901234567", (*) 
	"ten_khach_hang": "Nguyễn Văn An", (*)
	"dia_chi": "23 Nguyễn Huệ, Quận 1, TP.HCM",
    "ngay_sinh": "2025-11-06 00:00:00",
    "ghi_chu": "Khách hàng lớn tuổi, khó tính"
}

output
{
	"status": "success",
    "data": "690f55acbb55c1a5aa049132"
}

{
    "status": "error",
    "message": "Số điện thoại đã tồn tại"
}

2. Update Khách Hàng
input
{
    "action": "updateKhachHang",(*)
    "_id": "690f55acbb55c1a5aa049132",(*)
    "so_dien_thoai": "0353353108", (*)
    "ten_khach_hang": "Nguyễn Văn An Bình" (*)
}

output
{
    "status": "success",
    "data": 1
}

3. AddThuCung
input
{
    "action": "addThuCung", (*)
    "id_khach_hang": "690f55acbb55c1a5aa049132", (*)
    "ten_thu_cung": "Hellcan", (*)
    "loai": "Chó",(*)
    "giong": "Chó nhật",
    "can_nang" : "5.5",
    "gioi_tinh" : "Đực",
    "mau_long": "Vàng",
    "tuoi": "5 tuổi",
    "moi_truong_song": "Trong nhà",
    "triet_san": true,
    "benh_nen": "Dị ứng với nước" 
}

output
{
    "status": "success",
    "data": "690f5f42bb55c1a5aa049135"
}

4. Update Khách Hàng 

input
{
    "action": "updateThuCung", (*)
    "_id": "69106e80af46d7a4da0241f4", (*)
    "id_khach_hang": "690f55acbb55c1a5aa049132", (*)
    "ten_thu_cung": "Mèo cam",
    "loai": "Mèo",
    "giong": "Mèo Nga",
    "moi_truong_song": "Trong nhà",
    "triet_san": false,
    "benh_nen": "Dị ứng với nước"
}

output

{
    "status": "success",
    "data": 1
}

5. Xoá thú cưng 

input
{
    "action": "deleteThuCung", (*)
    "_id": "69106e80af46d7a4da0241f4" (*)
}

output

{
    "status": "success",
    "data": 1
}

6. AutoComplele Khách Hàng
input
{
    "action": "autoCompleteKhachHang", (*)
    "kw": "Nguyễn" (*)
}

output
{
    "status": "success",
    "data": [
        {
            "_id": "690f55acbb55c1a5aa049132",
            "so_dien_thoai": "0901234567",
            "ten_khach_hang": "Nguyễn Văn An"
        },
        {
            "_id": "690f710bbb55c1a5aa049136",
            "so_dien_thoai": "0909456721",
            "ten_khach_hang": "Nguyễn Văn Sỹ"
        }
    ]
}

{
    "status": "success",
    "data": null
}

7. Get Khách Hàng với Thú Cưng với full thông tin
input
{
    "action": "getKhachHangWithPets", (*)
    "_id": "690f55acbb55c1a5aa049132" (*)
}

output
{
    "status": "success",
    "data": {
        "_id": "690f55acbb55c1a5aa049132",
        "so_dien_thoai": "0901234567",
        "ten_khach_hang": "Nguyễn Văn An",
        "dia_chi": "23 Nguyễn Huệ, Quận 1, TP.HCM",
        "ngay_sinh": "2025-11-06 00:00:00",
        "ghi_chu": "Khách hàng lớn tuổi, khó tính",
        "created_time": {
            "milliseconds": "1762612652228"
        },
        "pets": [
            {
                "_id": "690f5f42bb55c1a5aa049135",
                "id_khach_hang": "690f55acbb55c1a5aa049132",
                "ten_thu_cung": "Hellcan",
                "loai": "Chó",
                "giong": "Chó nhật",
                "can_nang": "5.5",
                "gioi_tinh": "Đực",
                "mau_long": "Vàng",
                "tuoi": "5 tuổi",
                "moi_truong_song": "Trong nhà",
                "triet_san": true,
                "benh_nen": "Dị ứng với nước"
            },
            {
                "_id": "69106e80af46d7a4da0241f4",
                "id_khach_hang": "690f55acbb55c1a5aa049132",
                "ten_thu_cung": "Pickle",
                "loai": "Mèo",
                "giong": "Mèo Nga",
                "moi_truong_song": "Trong nhà",
                "triet_san": false,
                "benh_nen": "Dị ứng với nước"
            }
        ]
    }
}

{
    "status": "success",
    "data": null
}


8.Get All Khách hàng with pets và full thông tin có phân trang và search kw 

{
    "action": "getAllKhachHang", (*)
    "page": 1, (*)
    "kw": "Bình"
}

