Tra cứu thông tin quán/nhà hàng Dịch vụ giao đồ ăn (Sàn Cam) theo restaurant_id: tên, địa chỉ, trạng thái mở cửa, giờ hoạt động, loại hợp đồng, link đặt món.
Copy toàn bộ hướng dẫn API dạng text rồi dán vào ChatGPT / Claude / Gemini — AI sẽ hiểu ngay cách tích hợp và viết code giúp bạn.
| Tham số | Bắt buộc | Mô tả |
|---|---|---|
| restaurant_id | Bắt buộc | ID quán Dịch vụ giao đồ ăn (Sàn Cam). Hỗ trợ nhiều ID phân tách bằng dấu phẩy: restaurant_id=1245352,1211381. |
GET https://data.addlivetag.com/shopeefood/store.php?restaurant_id=1245352 # Nhiều quán cùng lúc GET https://data.addlivetag.com/shopeefood/store.php?restaurant_id=1245352,1211381
{
"status": "ok",
"data": [
{
"delivery_id": 123456,
"restaurant_id": 1245352,
"name": "Tên quán...",
"address": "123 Đường ABC, Quận 1, TP.HCM",
"is_open": true,
"is_quality_merchant": true,
"is_pickup": false,
"restaurant_url": "https://shopeefood.vn/...",
"operating": {
"status": 1,
"open_time": "07:00",
"close_time": "22:00"
}
}
]
}
GET (method khác trả HTTP 405).restaurant_id trả HTTP 400 kèm thông báo lỗi.Asia/Ho_Chi_Minh.Lấy danh sách đơn hàng Dịch vụ giao đồ ăn (Sàn Cam) theo tài khoản. Truyền cookie tài khoản và khoảng thời gian, nhận về JSON danh sách đơn.
Copy trọn bộ quy tắc đọc dữ liệu đơn hàng (đơn vị tiền, công thức hoa hồng, trần mỗi đơn, trạng thái) rồi dán vào ChatGPT / Claude / Gemini — tránh được các lỗi tính sai tiền hay gặp nhất.
| Tham số | Bắt buộc | Mô tả |
|---|---|---|
| cookie | Bắt buộc | Cookie tài khoản. Chấp nhận chuỗi name=value; ... hoặc JSON export từ J2TEAM Cookies. Nên truyền qua header X-SPF-Cookie để tránh lộ trong URL/log. |
| from | Tuỳ chọn | Mốc bắt đầu: YYYY-MM-DD, YYYY-MM-DD HH:MM:SS hoặc unix timestamp. Mặc định: 30 ngày trước. |
| to | Tuỳ chọn | Mốc kết thúc (định dạng như from). Mặc định: hiện tại. |
| page / page_size | Tuỳ chọn | Phân trang. Mặc định 1 / 100 (tối đa 100). |
| key | Tuỳ chọn | Chỉ bắt buộc khi admin đã bật khoá truy cập. |
# Cookie qua query (nhớ urlencode): GET https://data.addlivetag.com/shopeefood/orders.php?from=2026-07-01&to=2026-07-17&page=1&cookie=... # An toàn hơn — cookie qua header: curl 'https://data.addlivetag.com/shopeefood/orders.php?from=2026-07-01&to=2026-07-17' \ -H 'X-SPF-Cookie: ...'
{
"code": 0,
"msg": "success",
"data": {
"page_num": 1,
"page_size": 100,
"total_count": 27,
"list": [
{
"checkout_id": "1872247192",
"purchase_time": 1787500239,
"conversion_status": 1,
"checkout_cap": 2500000000,
"gross_commission": 630000000,
"capped_commission": 630000000,
"is_shopee_capped": false,
"affiliate_net_commission": "630000000",
"orders": [
{
"order_id": "1872247192",
"order_status": "PAID",
"display_order_status": 1,
"items": [
{
"shop_id": 1190358,
"shop_name": "Tên quán...",
"promotion_id": "0_0_1901361979",
"item_id": 159006906,
"item_name": "Tên món...",
"item_price": 1400000000,
"actual_amount": 7000000000,
"qty": 5,
"platform_commission_rate": 9000,
"item_commission": 630000000,
"affiliate_item_status": 1
}
]
}
]
}
]
}
}
1. Mọi số tiền đã nhân sẵn 100 000. Chia 100000 mới ra VNĐ. Áp dụng cho item_price, actual_amount, refunded_amount, mọi *_commission và checkout_cap.
| Trong JSON | Tiền thật |
|---|---|
item_price: 6500000000 | 65.000đ |
actual_amount: 4500000000 | 45.000đ |
item_commission: 405000000 | 4.050đ |
checkout_cap: 2500000000 | 25.000đ |
platform_commission_rate cũng vậy: 9000 = 9%, 5000 = 5%, 25000 = 25%. Mọi mốc thời gian là unix timestamp (giây) — giá trị 0 nghĩa là chưa xảy ra.
2. Hoa hồng tính trên actual_amount, không phải item_price × qty.
hoa hồng 1 dòng = actual_amount × platform_commission_rate ÷ 100000
item_price là giá niêm yết 1 phần, chưa trừ khuyến mãi. actual_amount là tiền khách thực trả cho cả dòng đó — đã gồm số lượng, đã trừ giảm giá. Ví dụ có dòng item_price 58.800đ, qty 2, nhưng actual_amount chỉ 76.500đ.
3. Mỗi đơn bị chặn trần hoa hồng (checkout_cap, hiện là 25.000đ).
gross_commission — hoa hồng trước khi cắt trần (số bạn tính tay sẽ ra số này).capped_commission — số thực nhận = min(gross_commission, checkout_cap).is_shopee_capped: true, item_commission từng món đã bị chia lại theo tỉ lệ cho khớp trần, nên không còn bằng actual_amount × rate.item_commission = capped_commission = affiliate_net_commission.affiliate_net_commission trả về dạng chuỗi dù mang giá trị số — ép về số trước khi cộng. Các trường mcn_*, linked_mcn_*, eligible_seller_commission cũng vậy.conversion_status | Nghĩa | Hoa hồng |
|---|---|---|
| 1 | Đang chờ — khách đã trả tiền, chưa đối soát xong | Tạm tính, còn đổi |
| 2 | Hoàn tất | Đã chốt |
| 3 | Bị từ chối (nghi gian lận) | Bằng 0 |
1 sẽ chuyển sang 2 hoặc 3 ở lần đồng bộ sau → nếu lưu vào cơ sở dữ liệu thì ghi đè theo checkout_id, đừng cộng dồn.checkout_status (chuỗi) để phân loại — đơn đã hoàn tất vẫn ghi "Waiting for payment". Chỉ tin conversion_status.actual_amount: 0).checkout_id / order_id là mã nội bộ của báo cáo chuyển đổi, không phải mã đơn hiển thị cho người mua. Trường order_sn — vốn là chỗ mang mã đơn hiển thị — thì luôn rỗng ở dịch vụ giao đồ ăn, nên trong response không có trường nào chứa mã đơn của app.utm_content (phần trước -AppS-). Đừng đối soát bằng mã đơn — sẽ không bao giờ khớp.checkout_id (trùng với orders[0].order_id).order_sn luôn rỗng ở dịch vụ giao đồ ăn → không dùng làm khoá.utm_content, nhưng trường này có 2 dạng — xem ngay bên dưới. Dù dạng nào cũng lưu subid kiểu chuỗi, đừng ép kiểu số.utm_content có 2 dạng — đừng tách mùCả hai dạng đều dùng dấu - nhưng ý nghĩa khác hẳn. Đây là chỗ dễ viết code sai nhất.
| Dạng | Ví dụ thật | Cách đọc |
|---|---|---|
| A — link do bạn tự gắn tag | 225-------- |
Là sub_id1..sub_id5 nối bằng dấu -, phần trống để rỗng. Tách 5 phần là đúng; subid của bạn ở phần đầu. |
| B — link chia sẻ từ trong app | 37712193991759004-AppS-android-110106938992619562034-AccS-webapp |
Cấu trúc <mã chia sẻ>-<AppS|AccS>-<nền tảng>-<build>. Đoạn đầu là mã do sàn sinh, không phải subid bạn đặt. |
sub2="AppS", sub3 = nền tảng, sub4 = số build — toàn rác. Hệ thống nào lọc hoặc gom nhóm theo sub_id2 sẽ hỏng với nhóm đơn này. Nhận biết dạng B: utm_content có chứa -AppS- hoặc -AccS-.promotion_id. Không dùng item_id — cùng một món có thể xuất hiện nhiều dòng trong 1 đơn với item_price khác nhau (khác size/topping).shop_id chạy từ 4 tới 10 chữ số → dùng kiểu BIGINT, không dùng INT.| Kết quả nhận được | Nguyên nhân | Xử lý |
|---|---|---|
"Thiếu cookie tài khoản" | Không truyền cookie | Truyền cookie hoặc header X-SPF-Cookie |
"Cookie quá dài" | Cookie vượt 32 KB | Export lại, đừng gộp nhiều tài khoản |
"from/to không hợp lệ" | Sai định dạng ngày | Dùng YYYY-MM-DD |
HTTP 401 | Site đang bật khoá truy cập | Xin tham số key từ admin |
HTTP 502 | Mạng lỗi hoặc máy chủ nguồn treo | Thử lại sau vài phút |
{"status":"ok","raw":"<!DOCTYPE html..."} | Cookie hết hạn → bị đá về trang đăng nhập | Đăng nhập lại, lấy cookie mới |
data.list rỗng | Khoảng thời gian không có đơn | Nới from / to |
GET; response là JSON UTF-8, bật CORS.data.total_count là tổng số đơn khớp bộ lọc — dùng để biết còn bao nhiêu trang.global_category_lv1..3 luôn rỗng ở dịch vụ giao đồ ăn — không phân loại món theo đây được.page để lấy các trang tiếp theo.