Dịch vụ giao đồ ăn (Sàn Cam) Store API

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.

🤖 Dành cho AI / LLM

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.

Endpoint

GET https://data.addlivetag.com/shopeefood/store.php

Tham số

Tham sốBắt buộcMô tả
restaurant_idBắt buộcID 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.

Ví dụ request

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

Ví dụ response (rút gọn)

{
  "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"
      }
    }
  ]
}

Ghi chú

API miễn phí cho mục đích học tập, nghiên cứu và công cụ nội bộ. Không dùng cho mục đích thương mại.

🧾 API Đơn hàng

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.

🔥 Đừng để lỡ đơn nào! Hàng trăm shop đã bỏ cảnh dán cookie thủ công mỗi ngày — họ để addlivetag.com tự đồng bộ & lưu đơn hàng, xem doanh thu và thống kê realtime ngay trên dashboard. Còn bạn vẫn ngồi copy tay? Dùng thử miễn phí ngay →
🤖 Dành cho AI / LLM

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.

GET https://data.addlivetag.com/shopeefood/orders.php

Tham số

Tham sốBắt buộcMô tả
cookieBắt buộcCookie 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.
fromTuỳ chọnMố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.
toTuỳ chọnMốc kết thúc (định dạng như from). Mặc định: hiện tại.
page / page_sizeTuỳ chọnPhân trang. Mặc định 1 / 100 (tối đa 100).
keyTuỳ chọnChỉ bắt buộc khi admin đã bật khoá truy cập.

Ví dụ request

# 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: ...'

Ví dụ response (rút gọn)

{
  "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
              }
            ]
          }
        ]
      }
    ]
  }
}

Đọc kết quả — 3 quy tắc bắt buộc

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 JSONTiền thật
item_price: 650000000065.000đ
actual_amount: 450000000045.000đ
item_commission: 4050000004.050đ
checkout_cap: 250000000025.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đ).

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.

Trạng thái đơn

conversion_statusNghĩaHoa hồng
1Đang chờ — khách đã trả tiền, chưa đối soát xongTạm tính, còn đổi
2Hoàn tấtĐã chốt
3Bị từ chối (nghi gian lận)Bằng 0

Khoá dữ liệu khi lưu trữ

⚠️ Mã đơn ở đây KHÁC mã đơn khách thấy trong app đặt món. 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.

⇒ Muốn đối chiếu một đơn giữa app và báo cáo, phải dựa vào subid, tức đoạn đầu của utm_content (phần trước -AppS-). Đừng đối soát bằng mã đơn — sẽ không bao giờ khớp.

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ạngVí dụ thậtCá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-11010
6938992619562034-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.
⚠️ Tách dạng B bằng logic 5 phần sẽ cho 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-.

Lỗi thường gặp

Kết quả nhận đượcNguyên nhânXử lý
"Thiếu cookie tài khoản"Không truyền cookieTruyền cookie hoặc header X-SPF-Cookie
"Cookie quá dài"Cookie vượt 32 KBExport lại, đừng gộp nhiều tài khoản
"from/to không hợp lệ"Sai định dạng ngàyDùng YYYY-MM-DD
HTTP 401Site đang bật khoá truy cậpXin tham số key từ admin
HTTP 502Mạng lỗi hoặc máy chủ nguồn treoThử 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ỗngKhoảng thời gian không có đơnNới from / to

Ghi chú