Mission Express V2 API

Mission Express V2 API 接口文档

V2-only 正式接口说明。本文档以 https://v2-api.missionexpress.ca 为唯一生产 API 基础地址,不再保留 V1 / Legacy API 说明。

概览

本文档用于 Mission Express / Mission Rush / Mission Go 的 V2 API 集成说明,覆盖模块开关、下单、报价、支付、退款、Ship Parcel、Consolidation、Intercity Hitch 和司机端状态流转。

本版本为 V2-only 文档,只展示当前 V2 生产接口。旧版接口说明不再放入本页面。
文档版本
V2-only / 2026-05-22
适用系统
Mission Rush / Mission Go / V2 Admin

基础地址

Production Base URL
https://v2-api.missionexpress.ca
Mission Rush API Pattern
/index.php?s=/api/post/missionrush/{action}
Hitch API Pattern
/index.php?s=/api/post/hitch/{action}
Request Content-Type
application/x-www-form-urlencoded

除文件下载、图片和外部跳转外,V2 App API 默认使用 HTTP POST。

鉴权

V2 App 接口以登录后的 user_id + tokenrider_id + token 识别身份。后台管理接口不建议放入公开 API 文档。

场景必传字段说明
Mission Rush 用户端user_id, token客户下单、订单、钱包、退款、地址相关接口。
Mission Go 司机端rider_id, token司机上线、接单、确认取件、确认送达。
公开配置接口按接口要求如模块状态、部分价格配置可不强制登录,但上线前建议逐项确认。
curl -X POST "https://v2-api.missionexpress.ca/index.php?s=/api/post/missionrush/myOrders" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "user_id=14&token=USER_TOKEN&page=1&list_rows=20"

统一响应格式

code = 1 表示成功;code = 0 或其他值表示失败。错误信息以 msg 为准。

{
  "code": 1,
  "msg": "ok",
  "time": 1779227065,
  "data": {}
}
POST/index.php?s=/api/post/missionrush/getModuleStatus

模块状态 / getModuleStatus

用于 App 首页或功能入口判断模块是否可用。

字段类型说明
module_keystring可选;为空时返回全部模块。
statusstringenabledmaintenancedisabled
messagestring维护或停用时给用户显示的提示。
{
  "code": 1,
  "data": {
    "modules": {
      "send": {"status": "enabled"},
      "food_pickup": {"status": "maintenance"},
      "ship_parcel": {"status": "enabled"}
    }
  }
}
POST/index.php?s=/api/post/missionrush/getPricingConfig

价格配置 / getPricingConfig

返回 Mission Rush 当前价格策略,App 端用于展示政策说明、Ship Parcel 上门取件费等。

字段类型说明
groupstring可选;建议传 missionrush
missionrush_pickup_fixed_fee_amountnumber上门取件费配置。
ship_parcel_pickup_fee_amountnumberShip Parcel 使用的上门取件费。
group=missionrush

订单接口

订单列表用于 Mission Rush Orders 页面,返回 Direct / Cargo / Hitch / Consolidation / Ship Parcel 等统一订单行。

接口路径说明
myOrders/api/post/missionrush/myOrders我的订单列表,支持分页和状态分组。
orderSnapshots/api/post/missionrush/orderSnapshots订单快照 / 状态快速刷新。
submitOrderReview/api/post/missionrush/submitOrderReview提交订单评价。
POST https://v2-api.missionexpress.ca/index.php?s=/api/post/missionrush/myOrders
user_id=14&token=USER_TOKEN&page=1&list_rows=20&tab=in_progress

Send / Cargo

Send 为城市快递;Cargo 为大件 / 货运取送。距离费用应以后台路线计算为准,不以前端直线距离为准。

模块接口说明
Send QuotegetDirectOrderQuote创建前获取 Send 报价。
Send PaycreatePaidDirectOrderSquare / Apple Pay / Google Pay / saved card 支付后创建订单。
Send Wallet PaycreateBalancePaidDirectOrder余额支付 Send 订单。
Cargo PaycreatePaidCargoOrderSquare / saved card 支付后创建 Cargo 订单。
Cargo Wallet PaycreateBalancePaidCargoOrder余额支付 Cargo 订单。

Food Pickup / Grocery Pickup

Food Pickup 和 Grocery Pickup 共享直送履约体系,但入口、商家列表和订单类型不同。

接口说明
foodPickupShops返回餐厅 / Food Pickup 商家列表。
groceryPickupShops返回 Grocery Pickup 商家列表。
createPaidDirectOrder提交时通过 order_type / payload 区分 Food、Grocery、Send。

Ship Parcel / 寄包裹

Ship Parcel 是 V2 的正式模块,当前支持 Canada Post 报价、后台报价保存、支付、Label / Tracking 状态返回。

接口路径说明
getShipParcelRates/api/post/missionrush/getShipParcelRates实时获取 Canada Post 报价;Purolator 可作为后续扩展。
createShipParcelQuoteRequest/api/post/missionrush/createShipParcelQuoteRequest创建 Ship Parcel 报价请求 / 订单草稿。
getShipParcelQuoteStatus/api/post/missionrush/getShipParcelQuoteStatus查询报价、支付、tracking、label 状态。
getShipParcelPaymentQuote/api/post/missionrush/getShipParcelPaymentQuote进入支付页前获取应付金额和 line_items。
createPaidShipParcelOrder/api/post/missionrush/createPaidShipParcelOrder支付 Ship Parcel 订单。

请求字段重点

字段类型说明
from / toobject/json string发件地与收件地。
packagesarray/json string包裹数组:weight_kg、length_cm、width_cm、height_cm。
carrier_optionsobject/json string签名、保价等承运商选项。
handoff_methodstringdropoffpickup_from_address
pickup_fee_payerstringcustomerplatform

Label / Tracking 字段

字段说明
tracking_no承运商 tracking number。
label_urlLabel PDF 或图片地址。
carrier_label_statusreadychecking_configgeneratedfailedpending_api_integration 等。
carrier_label_errorLabel 失败原因。

Intercity Hitch / 顺路带

Hitch 使用独立控制器路径 /api/post/hitch,适合城市间固定路线、司机发布行程和客户匹配下单。

接口路径说明
cities/api/post/hitch/cities城市列表。
routes/api/post/hitch/routes开通路线与价格。
trips/api/post/hitch/trips司机发布的顺路行程。
quoteOrder/api/post/hitch/quoteOrder客户下单前报价。
createPaidHitchOrder/api/post/hitch/createPaidHitchOrder支付后创建 Hitch 订单。

Consolidation / 中国集运

Consolidation 包含客户注册、仓库地址、包裹预报、包裹列表、集运订单、最终报价、支付,以及客户端价目表展示。

包裹预报阶段不计算预估费用;客户端价目表仅用于展示线路规则。最终费用以集运公司入库称重、量方和报价为准。
接口路径说明
createConsolidationRegistration/api/post/missionrush/createConsolidationRegistration创建 / 更新集运客户资料。
consolidationWarehouses/api/post/missionrush/consolidationWarehouses返回可用仓库、收货地址和入库信息。
getConsolidationDashboard/api/post/missionrush/getConsolidationDashboard返回集运 Dashboard 汇总、客户编号、包裹状态等。
getConsolidationPriceList/api/post/missionrush/getConsolidationPriceList返回公开线路价目表。只用于展示,不用于 App 预估扣费。
createConsolidationPackage/api/post/missionrush/createConsolidationPackage提交包裹预报 / 国内快递单号。
listConsolidationPackages/api/post/missionrush/listConsolidationPackages返回包裹列表和状态。
createConsolidationOrder/api/post/missionrush/createConsolidationOrder创建集运订单 / 打包申请。
listConsolidationOrders/api/post/missionrush/listConsolidationOrders返回集运订单列表。
getConsolidationOrderPaymentQuote/api/post/missionrush/getConsolidationOrderPaymentQuote获取集运订单最终待支付报价。
payConsolidationOrderByBalance/api/post/missionrush/payConsolidationOrderByBalance使用余额支付集运订单。

getConsolidationPriceList / 价目表接口

POST/index.php?s=/api/post/missionrush/getConsolidationPriceList

该接口给 Mission Rush App 展示集运线路价格说明。它不会根据包裹预报生成预估费用,也不会生成待支付金额。

请求字段

字段类型必填说明
city_code / destination_city_codestring目的城市代码,例如 MOOSE_JAW。为空时返回全部可见线路。
transport_type / shipping_methodstringairsea
company_idint集运公司 ID。为空时返回全部可见集运公司。

返回字段重点

字段说明
company_name / company_code集运公司名称与编码。
transport_type / transport_type_name运输方式:空运 / 海运。
destination_city_code / destination_city_name目的城市。
station_id / station_name代收点 / 自提点。
route_code线路编码,来自后台覆盖规则。
price_rules.general普货价目表:首重、续重、报关费/票、体积重除数。
price_rules.sensitive敏感货价目表:首重、续重、报关费/票、体积重除数。
volume_divisor体积重除数。不同集运公司、不同线路可以不同,例如 5000 或 6000。
billing_notice最终费用说明。
curl -X POST "https://v2-api.missionexpress.ca/index.php?s=/api/post/missionrush/getConsolidationPriceList" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "city_code=MOOSE_JAW"
{
  "code": 1,
  "msg": "ok",
  "data": {
    "list": [
      {
        "company_id": 2,
        "company_name": "广州奕宁达国际供应链有限公司",
        "transport_type": "air",
        "transport_type_name": "空运",
        "destination_city_code": "MOOSE_JAW",
        "destination_city_name": "Moose Jaw",
        "station_name": "Lillooet",
        "route_code": "AIR_YININGDA_TO_MOOSE_JAW",
        "price_rules": {
          "general": {
            "goods_type_name": "普货",
            "currency": "CNY",
            "first_weight_kg": 0.5,
            "first_fee": 34,
            "additional_unit_kg": 1,
            "additional_fee": 68,
            "customs_fee_per_ticket": 35,
            "volume_divisor": 6000
          },
          "sensitive": {
            "goods_type_name": "敏感货",
            "currency": "CNY",
            "first_weight_kg": 0.5,
            "first_fee": 37,
            "additional_unit_kg": 1,
            "additional_fee": 74,
            "customs_fee_per_ticket": 45,
            "volume_divisor": 6000
          }
        }
      }
    ],
    "billing_notice": "以下价格仅作为价目表展示,包裹预报阶段不计算预估费用;最终费用以集运公司入库称重、量方和报价为准。"
  }
}

钱包与支付

V2 支付支持 Square card、saved card、Apple Pay、Google Pay、account balance 和 mixed payment。iOS 只显示 Apple Pay,Android 只显示 Google Pay。

接口说明
listWalletPaymentMethods列出用户 saved cards。
createWalletTopUpSquare source id 充值。
createWalletTopUpWithSavedCardsaved card 充值。
createPaidDirectOrder / createPaidCargoOrder / createPaidShipParcelOrder外部支付创建订单。
createBalancePaidDirectOrder / createBalancePaidCargoOrder / payChinaOrderByBalance余额支付。

退款

退款应先调用预览接口,确认是否允许退款、可退金额、扣费规则,再提交退款申请。

接口路径说明
refundPreview/api/post/missionrush/refundPreview返回 can_refund、refund_amount、rule、message。
requestRefund/api/post/missionrush/requestRefund提交退款请求;符合即时退款规则时可直接处理 Square / balance refund。
规则说明
already_refunded订单已退款。
completed_no_refund已完成订单不可退款。
no_refund_after_arrival司机已到达后不可退款。
full_refund符合全额退款。
base_fee_deducted司机已接单后取消,按规则扣除基础费用。

Mission Go 司机端

司机端接口用于在线状态、抢单/接单、确认到达、拍照取件、确认送达。Direct Pickup 和 Cargo 应限制完成一单后再接新单;Ship Parcel Online 为独立模块,可连续接单。

规则说明
Direct Pickup需要完成当前 Direct 订单后才能接下一单。
Cargo需要完成当前 Cargo 订单后才能接下一单。
Ship Parcel独立在线模块,可连续接单,不受 Direct / Cargo 当前单影响。
Confirm Pickup GPS建议执行 50m 经纬度校验;校验失败时允许司机拍照继续,并记录 override。

状态参考

字段说明
pay_status0 / 1 / 2未支付 / 支付中或待确认 / 已支付。
payment_statusunpaid / paid / completedShip Parcel / Consolidation 等字符串支付状态。
refund_status0 / 1 / 2 或 none/pending/refunded/failed不同表可能使用数字或字符串;前端应兼容。
post_order.status1 / 2 / 3 / 10待取件 / 待揽收 / 配送中 / 已完成。
ship_parcel.statuspending_quote / quoted / paid / shipped / delivered / cancelledShip Parcel 业务状态。
quote_statusmanual_pending / quoted / expired报价状态。

错误码与错误信息

V2 目前主要以 code=0 + msg 返回业务错误。客户端应直接展示可读 msg,并记录原始响应用于排查。

msg 示例说明
Invalid token登录已失效或 token 不匹配。
Order number is required缺少订单号。
Order not found订单不存在或不属于当前用户。
Missing square_source_id外部支付缺少 Square source id。
Square payment not completedSquare 未返回完成状态。
Package ... is over Canada Post single-parcel limit: 30 kgShip Parcel 单件超过 Canada Post 限制。

发布检查

  • 确认所有页面只写 https://v2-api.missionexpress.ca,不再出现 V1 域名。
  • 确认 api-docs-cn.htmlapi-docs-en.htmlapi-docs-index.html 三个文件同步上传。
  • 确认主站导航 API Docs 指向 api-docs-index.html
  • 正式公开前,再用当前服务器代码 grep 一次 public function,确保接口名与线上一致。