🤖 国际物流比价系统 · AI 只读数据 API 文档

专供 AI 进行全量数据分析 · 纯只读 · 安全可控 · 实时数据
📊 8 张业务表 🔒 只读模式 🔑 API 密钥鉴权 🛡️ IP白名单 + 频率限制

1 AI 快速理解指南

⚡ 30秒掌握系统

这是一个国际物流比价系统,用于对比不同物流公司的产品报价,帮助用户找到最优物流方案。系统包含物流公司、产品、报价三个核心层级,支持空运和海运两种运输方式。

📋 系统名称和定位

系统名称:国际物流比价系统 (International Logistics Price Comparison System)

一句话定位:录入多家物流商的产品报价,按重量/体积等参数一键比价,找到最优发货方案。

🔄 核心业务循环

录入物流公司
→
录入物流产品
→
录入报价规则
→
输入包裹参数
→
自动比价排序

📊 主要业务线

✈️ 空运 (air)
速度快、价格高,适合轻小件、紧急货物
时效优先
🚢 海运 (sea)
价格低、时效长,适合大件、批量货物
成本优先

👥 组织架构和权限模型

admin(管理员):拥有所有权限,可管理用户、配置系统、增删改所有数据

user(普通用户):只能操作自己录入的数据,可查看和比价,不可管理用户

权限分为模块权限(home/mgmt/price/cmp/batch)和操作权限(add/edit/del)

🧭 推荐分析路径

overview
整体概览
→
daily_stats
趋势分析
→
group_stats
分布分析
→
list
明细查询
→
detail
确认详情

2 基本信息 & 鉴权方式

📌 基本信息

项目说明
Base URLhttps://wl.omejia.com/data.php
协议HTTPS
请求方式GET(OPTIONS 仅用于同源预检)
响应格式JSON (UTF-8)
字符编码UTF-8
跨域支持仅允许 https://wl.omejia.com 浏览器来源;服务端调用不受 CORS 影响

🔑 鉴权方式

X-API-Key Header(唯一允许的方式)

GET /data.php?action=overview HTTP/1.1
Host: wl.omejia.com
X-API-Key: wl_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
安全要求:密钥不得放入 URL、请求体、浏览器地址栏或日志。所有数据接口均为 GET,只能读取。

📦 统一响应格式

{
  "code": 0,
  "message": "success",
  "data": { ... },
  "timestamp": 1696876800
}
字段类型说明
codeint状态码,0 表示成功,其他表示错误
messagestring返回消息描述
dataobject/array返回数据主体
timestampint服务器时间戳(秒)

3 系统全貌

📝 系统一句话总结

国际物流比价系统是一个用于管理多家物流商产品报价并进行智能比价的工具,支持空运和海运两种运输方式,帮助用户快速找到最优物流方案。

👤 角色说明

👑 admin(管理员)
• 所有模块权限
• 用户管理
• 系统配置
• 所有数据增删改
👤 user(普通用户)
• 按分配的模块权限操作
• 只能操作自己录入的数据
• 不可管理用户
• 不可修改他人数据

📦 功能模块列表

模块说明对应表
🏠 首页概览数据统计、快捷入口-
🏢 物流公司管理管理物流公司信息logistics_companies
📦 物流产品管理管理各公司的物流产品logistics_products
💰 报价管理管理产品的报价规则pricing_records
⚖️ 比价查询按参数对比各产品报价pricing_records, logistics_products
📋 批量比价批量导入订单进行比价batch_orders
📮 偏远邮编管理偏远地区邮编库remote_zipcodes
🔗 数据源管理管理外部数据导入URLdata_urls
👥 用户管理管理员管理系统用户users
⚙️ 系统设置系统协议等配置settings

🌐 前端入口列表

地址说明
https://wl.omejia.com/系统主页(登录后使用)
https://wl.omejia.com/data-api.html本 API 文档页面
https://wl.omejia.com/data.phpAPI 接口入口

4 业务流程详解

📥 数据创建流程

1. 创建物流公司
→
2. 创建物流产品
→
3. 录入报价规则

说明:必须先有公司,才能在公司下创建产品;必须先有产品,才能在产品下录入报价。一个公司可以有多个产品,一个产品可以有多条报价(不同国家/不同类型)。

🔍 比价查询流程

1. 输入重量/体积/目的地
→
2. 匹配所有有效产品
→
3. 按报价规则计算费用
→
4. 按价格排序展示

📋 批量比价流程

1. 录入/导入批量订单
→
2. 逐单计算最优方案
→
3. 生成批量结果

🔒 权限控制规则

5 数据模型 ER 图

📐 文字版 ER 图

┌─────────────────────┐         ┌─────────────────────┐         ┌─────────────────────┐
│  logistics_         │         │  logistics_         │         │  pricing_           │
│  companies          │         │  products           │         │  records            │
│  (物流公司)         │1      n │  (物流产品)         │1      n │  (报价记录)         │
├─────────────────────┤◄────────┤                     ├────────►│                     │
│ 🔑 id (varchar)     │         │ 🔑 id (varchar)     │         │ 🔑 id (varchar)     │
│    name             │         │ 🔵 company_id       │         │ 🔵 company_id       │
│    code             │         │    name             │         │ 🔵 product_id       │
│    status           │         │    type             │         │    destination_     │
│    service_area     │         │    pricing_type     │         │    country          │
│    tracking         │         │    battery          │         │    type             │
│    reliable         │         │    status           │         │    base_pricing     │
│    phone/website    │         │    created_by       │         │    additional_fees  │
│    created_by       │         │    created_at       │         │    weight_limits    │
│    created_at       │         │                     │         │    length_limits    │
│                     │         │                     │         │    girth_limits     │
└─────────────────────┘         └─────────────────────┘         │    created_by       │
                                                                 │    created_at       │
                                                                 └─────────────────────┘

┌─────────────────────┐  ┌─────────────────────┐  ┌─────────────────────┐
│  users              │  │  batch_orders       │  │  remote_zipcodes    │
│  (用户表)           │  │  (批量订单)         │  │  (偏远邮编)         │
├─────────────────────┤  ├─────────────────────┤  ├─────────────────────┤
│ 🔑 id (int)         │  │ 🔑 id (int)         │  │ 🔑 id (int)         │
│ ✨ username         │  │    order_no         │  │ ✨ zipcode          │
│ 🔒 password         │  │    params           │  │                     │
│    role             │  │    imported_at      │  │                     │
│    perms            │  │                     │  │                     │
│    ops              │  └─────────────────────┘  └─────────────────────┘
│    status           │
│    created_at       │  ┌─────────────────────┐  ┌─────────────────────┐
│                     │  │  data_urls          │  │  settings           │
└─────────────────────┘  │  (数据源URL)        │  │  (系统配置)         │
                         ├─────────────────────┤  ├─────────────────────┤
                         │ 🔑 id (int)         │  │ 🔑 skey             │
                         │    url              │  │    svalue           │
                         │    sort_order       │  │                     │
                         │                     │  │                     │
                         └─────────────────────┘  └─────────────────────┘

  🔑 PK (主键)    🔵 FK (外键)    ✨ UNIQUE (唯一)    🔒 敏感字段(已过滤)

🔗 表关系详细列表

主表关联字段从表关联字段基数说明
logistics_companiesidlogistics_productscompany_id1 : N一个公司有多个产品
logistics_companiesidpricing_recordscompany_id1 : N一个公司有多条报价
logistics_productsidpricing_recordsproduct_id1 : N一个产品有多条报价

📝 冗余字段说明

6 状态字段速查表

⚠️ 重要提示

不同表的 status 字段含义不同,AI 分析时务必注意区分。本系统状态使用字符串枚举而非数字。

🏢 logistics_companies(物流公司)
active启用,参与比价
inactive禁用,不参与比价
📦 logistics_products(物流产品)
active启用,参与比价
inactive禁用,不参与比价
👥 users(用户)
active正常,可登录
inactive禁用,不可登录
📦 logistics_products.type(产品类型)
air空运
sea海运
💰 pricing_type(报价方式)
type1首重续重
type2公斤段定价
type3最低消费
🔋 battery(是否带电)
yes带电产品
no不带电

7 所有表字段详解 + 数据样例

🏢 logistics_companies - 物流公司表

业务说明:存储所有合作的物流公司基础信息。一个公司可以有多个物流产品,是产品和报价的上级归属。

数据来源:管理员或有权限的用户在「物流公司管理」模块手动录入

字段名类型说明约束
idvarchar(32)物流公司唯一ID(时间戳生成)PK
namevarchar(128)物流公司名称NOT NULL
codevarchar(64)公司简称/代码
statusvarchar(16)状态:active=启用, inactive=禁用默认 active
phonevarchar(64)联系电话
websitevarchar(255)官方网站
addressvarchar(255)公司地址
service_areavarchar(16)服务区域:us=美国, ca=加拿大, uk=英国, au=澳大利亚
trackingvarchar(8)是否支持全程轨迹:yes/no默认 yes
reliablevarchar(8)靠谱度评分(%)默认 100
reliable_notevarchar(255)靠谱度备注
notestext备注信息
created_byvarchar(64)创建者用户名
created_atvarchar(40)创建时间(ISO格式)

数据样例

{
  "id": "1770000959359",
  "name": "际通",
  "code": "JT",
  "status": "active",
  "phone": "",
  "website": "",
  "address": "",
  "service_area": "us",
  "tracking": "yes",
  "reliable": "100",
  "reliable_note": "",
  "notes": "",
  "created_by": "",
  "created_at": "2026-02-02T02:55:59.359Z"
}

📦 logistics_products - 物流产品表

业务说明:存储各物流公司提供的具体物流产品(如美森大包、空运专线等)。每个产品归属于一个物流公司。

数据来源:用户在「快递产品管理」模块手动录入

字段名类型说明约束
idvarchar(32)产品唯一IDPK
company_idvarchar(32)所属物流公司IDFK
namevarchar(128)产品名称NOT NULL
typevarchar(16)运输方式:air=空运, sea=海运
pricing_typevarchar(16)报价方式:type1=首重续重, type2=公斤段, type3=最低消费
batteryvarchar(8)是否带电:yes/no默认 no
statusvarchar(16)状态:active=启用, inactive=禁用默认 active
created_byvarchar(64)创建者用户名
created_atvarchar(40)创建时间

数据样例

{
  "id": "1770000978688",
  "company_id": "1770000959359",
  "name": "美森大包",
  "type": "sea",
  "pricing_type": "type1",
  "battery": "no",
  "status": "active",
  "created_by": "",
  "created_at": "2026-02-02T02:56:18.688Z"
}

💰 pricing_records - 报价记录表

业务说明:存储具体的报价规则,是比价计算的核心数据。每条报价关联一个产品和一个目的国家,包含基础定价、附加费、重量/尺寸限制等。

数据来源:用户在「报价管理」模块手动录入

字段名类型说明约束
idvarchar(32)报价记录唯一IDPK
company_idvarchar(32)所属物流公司ID(冗余)FK
product_idvarchar(32)所属产品IDFK
destination_countryvarchar(64)目的国家/地区
typevarchar(16)报价类型标识
base_pricinglongtext基础定价(JSON格式)
additional_feeslongtext附加费用(JSON格式)
weight_limitslongtext重量限制(JSON格式)
length_limitslongtext长度限制(JSON格式)
girth_limitslongtext围长限制(JSON格式)
created_byvarchar(64)创建者用户名
created_atvarchar(40)创建时间

JSON 字段说明

数据样例(type1 首重续重)

{
  "id": "1770026053836",
  "company_id": "1770000959359",
  "product_id": "1785205383708",
  "destination_country": "美国",
  "type": "type1",
  "base_pricing": {
    "firstWeight": "6.1",
    "firstPrice": "295",
    "additionalWeight": "",
    "additionalPrice": ""
  },
  "additional_fees": {
    "handlingFee": "",
    "volumeFactor": "8000",
    "deliveryTime": "",
    "oversizeSegments": [
      {"minLen": 120, "fee": 120},
      {"minLen": 240, "fee": 750}
    ],
    "girthFeeSegments": [
      {"minG": 325, "fee": 750}
    ],
    "remoteFee": "",
    "taxFee": "0",
    "lastMile": "UPS、FedEx"
  },
  "weight_limits": {"minWeight": "6.1", "maxWeight": "10.1"},
  "length_limits": {"minLength": "0", "maxLength": "270"},
  "girth_limits": {"minGirth": "0", "maxGirth": "400"},
  "created_by": "",
  "created_at": "2026-02-02T09:54:13.836Z"
}

📋 batch_orders - 批量订单表

业务说明:存储批量比价的订单数据,用于批量导入多个包裹信息后统一比价。

数据来源:用户在「批量比价」模块手动添加或从外部数据源导入

字段名类型说明约束
idint(10) unsigned自增IDPK
order_novarchar(64)订单号索引
paramslongtext订单参数(JSON格式,含重量、尺寸、目的地等)NOT NULL
imported_atvarchar(40)导入时间

📮 remote_zipcodes - 偏远邮编表

业务说明:存储偏远地区的邮政编码,比价时如果收货邮编在此库中,会额外计算偏远费。

数据来源:用户在「偏远地区邮编库」模块批量录入

字段名类型说明约束
idint(10) unsigned自增IDPK
zipcodevarchar(32)邮编UNIQUE

🔗 data_urls - 数据源URL表

业务说明:存储外部数据源的 API 地址,系统可定时从这些地址拉取报价数据进行同步。

数据来源:管理员在「数据源管理」模块配置

字段名类型说明约束
idint(10) unsigned自增IDPK
urlvarchar(512)数据源 API URLNOT NULL
sort_orderint(11)排序序号默认 0

⚙️ settings - 系统配置表

业务说明:存储系统级配置项,使用 key-value 结构。

数据来源:系统初始化时生成,管理员可修改

字段名类型说明约束
skeyvarchar(64)配置键名PK
svaluelongtext配置值

数据样例

{
  "skey": "agreement",
  "svalue": "欢迎使用国际物流比价系统!\n\n一、服务条款\n1. 本系统仅供内部使用..."
}

👥 users - 用户表

🔒 敏感字段已过滤

password 字段为敏感字段,API 不会返回。其他用户信息可正常读取用于分析。

业务说明:存储系统用户账号信息,用于登录鉴权和权限控制。

数据来源:管理员在「用户管理」模块创建

字段名类型说明约束
idint(10) unsigned自增IDPK
usernamevarchar(64)用户名UNIQUE
passwordvarchar(128)密码(bcrypt加密)已过滤NOT NULL
rolevarchar(16)角色:admin=管理员, user=普通用户默认 user
permstext模块权限(JSON数组)
opstext操作权限(JSON数组)
statusvarchar(16)状态:active=正常, inactive=禁用默认 active
created_atdatetime创建时间默认当前时间

权限字段说明

8 API 接口详情

GET overview
全站数据概览:获取所有表的记录数、各表状态统计、今日新增数据量。适合 AI 第一次访问时快速了解数据全貌。

参数

参数名类型必填说明
actionstring是固定值:overview
X-API-KeyHTTP Header是只读 API 密钥;不得放入 URL

返回示例

{
  "code": 0,
  "message": "success",
  "data": {
    "table_counts": {
      "logistics_companies": 23,
      "logistics_products": 52,
      "pricing_records": 45,
      "batch_orders": 0,
      "remote_zipcodes": 1,
      "data_urls": 0,
      "settings": 1,
      "users": 1
    },
    "status_stats": {
      "logistics_companies": {
        "active": 20,
        "inactive": 3
      },
      "logistics_products": {
        "active": 48,
        "inactive": 4
      },
      "users": {
        "active": 1
      }
    },
    "today_stats": {
      "logistics_companies": 0,
      "logistics_products": 0,
      "pricing_records": 0,
      "batch_orders": 0
    },
    "system_info": {
      "name": "国际物流比价系统",
      "version": "3.1",
      "tables": 8
    }
  },
  "timestamp": 1696876800
}
GET schema
获取指定表的字段结构定义,包括字段名、类型、是否可为空、键类型、默认值等。

参数

参数名类型必填说明
actionstring是固定值:schema
tablestring是表名(必须在白名单内)
X-API-KeyHTTP Header是只读 API 密钥;不得放入 URL

返回示例

{
  "code": 0,
  "message": "success",
  "data": {
    "table": "logistics_companies",
    "table_comment": "物流公司表",
    "engine": "InnoDB",
    "rows": 23,
    "columns": [
      {
        "field": "id",
        "type": "varchar(32)",
        "null": "NO",
        "key": "PRI",
        "default": null,
        "extra": "",
        "is_sensitive": false
      },
      {
        "field": "name",
        "type": "varchar(128)",
        "null": "NO",
        "key": "",
        "default": null,
        "extra": "",
        "is_sensitive": false
      }
    ],
    "primary_keys": ["id"]
  },
  "timestamp": 1696876800
}
GET list
列表查询:支持分页、关键词搜索、状态筛选、时间范围、排序。是最常用的数据查询接口。

参数

参数名类型必填说明
actionstring是固定值:list
tablestring是表名(必须在白名单内)
pageint否页码,默认 1
page_sizeint否每页条数,默认 20,最大 1000
keywordstring否关键词模糊搜索(搜索所有文本字段)
statusstring否状态筛选(该表有 status 字段时有效)
start_timestring否开始时间(该表有时间字段时有效)
end_timestring否结束时间(该表有时间字段时有效)
sort_bystring否排序字段(必须在排序白名单内)
sort_orderstring否排序方向:ASC / DESC,默认 DESC
X-API-KeyHTTP Header是只读 API 密钥;不得放入 URL

返回示例

{
  "code": 0,
  "message": "success",
  "data": {
    "table": "logistics_companies",
    "total": 23,
    "page": 1,
    "page_size": 20,
    "total_pages": 2,
    "list": [
      {
        "id": "1770000959359",
        "name": "际通",
        "code": "JT",
        "status": "active",
        "..."
      }
    ]
  },
  "timestamp": 1696876800
}
GET detail
按 ID 查询单条记录的详细信息。

参数

参数名类型必填说明
actionstring是固定值:detail
tablestring是表名
idstring是记录主键值
X-API-KeyHTTP Header是只读 API 密钥;不得放入 URL
GET stats
单表统计数据:总数 + 各状态数量 + 今日新增数。

参数

参数名类型必填说明
actionstring是固定值:stats
tablestring是表名
X-API-KeyHTTP Header是只读 API 密钥;不得放入 URL
GET daily_stats
按日统计数据新增趋势,返回指定天数内每天的新增记录数。用于趋势分析、增长预测等。

参数

参数名类型必填说明
actionstring是固定值:daily_stats
tablestring是表名
daysint否统计天数,默认 30,最大 365
X-API-KeyHTTP Header是只读 API 密钥;不得放入 URL

返回示例

{
  "code": 0,
  "message": "success",
  "data": {
    "table": "pricing_records",
    "days": 7,
    "total_in_period": 12,
    "daily_data": [
      {"date": "2026-10-02", "count": 3},
      {"date": "2026-10-03", "count": 0},
      {"date": "2026-10-04", "count": 5},
      {"date": "2026-10-05", "count": 2},
      {"date": "2026-10-06", "count": 1},
      {"date": "2026-10-07", "count": 0},
      {"date": "2026-10-08", "count": 1}
    ]
  },
  "timestamp": 1696876800
}
GET group_stats
按指定维度分组统计数量分布。用于分析数据分布结构。

参数

参数名类型必填说明
actionstring是固定值:group_stats
tablestring是表名
group_bystring是分组字段(必须在该表允许的分组字段内)
X-API-KeyHTTP Header是只读 API 密钥;不得放入 URL

各表允许的分组字段

表名允许的分组字段
logistics_companiesstatus, service_area, tracking
logistics_productscompany_id, type, pricing_type, battery, status
pricing_recordscompany_id, product_id, destination_country, type
usersrole, status
GET schema_all
一次性获取所有表的结构定义。方便 AI 首次访问时一次性获取完整数据模型。

参数

参数名类型必填说明
actionstring是固定值:schema_all
X-API-KeyHTTP Header是只读 API 密钥;不得放入 URL

9 AI 数据分析最佳实践

🧭 推荐分析路径:5 步法

Step 1
整体
overview 概览
→
Step 2
趋势
daily_stats
→
Step 3
分布
group_stats
→
Step 4
明细
list
→
Step 5
确认
detail

📊 典型场景 1:每日运营简报

快速生成每日数据概览,了解系统整体运营状况。

// 1. 获取整体概览
GET /data.php?action=overview

// 2. 获取核心表今日趋势
GET /data.php?action=daily_stats&table=pricing_records&days=7
GET /data.php?action=daily_stats&table=logistics_products&days=7

// 3. 按状态分布
GET /data.php?action=group_stats&table=logistics_companies&group_by=status

📉 典型场景 2:效率分析(找瓶颈)

分析各物流公司的产品丰富度和报价覆盖情况,找出数据空白点。

// 1. 按公司分组统计产品数量
GET /data.php?action=group_stats&table=logistics_products&group_by=company_id

// 2. 按公司分组统计报价数量
GET /data.php?action=group_stats&table=pricing_records&group_by=company_id

// 3. 按运输方式分布
GET /data.php?action=group_stats&table=logistics_products&group_by=type

// 4. 找出产品少的公司
GET /data.php?action=list&table=logistics_companies&status=active&sort_by=id
// 然后对比各公司产品数量,找出低于平均值的公司

📈 典型场景 3:增长预测

基于历史数据趋势,预测未来数据增长。

// 获取近 90 天报价录入趋势
GET /data.php?action=daily_stats&table=pricing_records&days=90

// 获取近 90 天产品新增趋势
GET /data.php?action=daily_stats&table=logistics_products&days=90

// 分析:
// 1. 计算日均新增量
// 2. 观察周内波动规律
// 3. 预测未来 30 天增长
// 4. 给出数据完善建议

⚖️ 典型场景 4:对比分析

对比不同公司的产品结构和报价策略。

// 1. 获取所有活跃公司
GET /data.php?action=list&table=logistics_companies&status=active&page_size=100

// 2. 按公司分组产品数量
GET /data.php?action=group_stats&table=logistics_products&group_by=company_id

// 3. 按公司分组报价数量
GET /data.php?action=group_stats&table=pricing_records&group_by=company_id

// 4. 空运 vs 海运产品分布
GET /data.php?action=group_stats&table=logistics_products&group_by=type

// 5. 报价方式分布
GET /data.php?action=group_stats&table=logistics_products&group_by=pricing_type

10 错误码说明

错误码名称说明排查建议
0 success 请求成功 -
1 参数错误 请求参数不正确,如表名无效、缺少必填参数等 检查 table 参数是否在白名单内,检查必填参数是否完整
401 未授权 API 密钥无效或缺失 检查 X-API-Key 请求头是否正确,密钥是否已被禁用
403 IP 限制 请求 IP 不在白名单中 联系管理员将你的 IP 加入白名单,或确认 IP 白名单是否启用
429 频率限制 请求过于频繁,超出每分钟限制 降低请求频率,默认每分钟 60 次。批量数据请使用分页。
500 服务器错误 服务器内部错误 联系管理员查看日志,检查数据库连接是否正常