Mission Express API Documentation
Mission Express API Documentation
A web-ready version of the uploaded source API document, restyled to match the Mission Express website header and footer.
Overview
This page reorganizes the uploaded source document into a public-facing web version. Except for the PDF viewer endpoint, all endpoints use HTTP POST, and both requests and responses use UTF-8 encoded JSON.
https://me.missionexpress.ca/api/post/outContent-Type: application/x-www-form-urlencodedAuthentication & Signature
app_key and app_secret are issued by the platform. Business parameters must first be converted to a JSON string and then submitted in the data field.
Signature rule:
sign = SHA256(request_json + "app_secret=" + app_secret)
PHP example:
private function createSign(string $request_str, string $key) {
return hash("sha256", $request_str . "app_secret=" . $key);
}
Common Request Fields
| Field | Required | Type | Description |
|---|---|---|---|
| app_key | Yes | string | App key issued by the platform |
| sign | Yes | string | Signature value |
| data | Yes | string | JSON string of business parameters |
Unified Response Format
When code = 1, the request is successful; any other value represents an error.
{
"code": 1,
"msg": "ok",
"time": "1690796144",
"data": {
"orderNo": "491d930ef328d4ec142233c82cc28816",
"time": 1690796144
}
}
Error Codes
| Code | Description |
|---|---|
| 1001 | Missing required parameter: sign |
| 1003 | Failed to parse request data |
| 1004 | Missing required parameter: app_key |
| 1005 | app_key does not exist |
| 1006 | Signature verification failed |
| 0 | General error |
/pdfPDF Viewer
Displays the PDF label or document. According to the uploaded source, this is the only endpoint that uses GET.
| Field | Required | Type | Description |
|---|---|---|---|
| token | Yes | string | Token returned by the Get PDF URL / token endpoint |
| order_no | Yes | string | Logistics order number; separate multiple values with commas |
For additional error handling, refer to the common error-code rules above.
/createCreate Order
Creates a new order.
Common Request Fields
| Field | Required | Type | Description |
|---|---|---|---|
| app_key | Yes | string | App key issued by the platform |
| sign | Yes | string | Signature value |
| data | Yes | string | JSON string of business parameters |
Business Parameters
| Field | Required | Type | Description |
|---|---|---|---|
| shop_order_no | Yes | string | Merchant order number |
| goods_desc | No | string | Package/item description |
| from_username | Yes | string | Sender name |
| from_mobile | Yes | string | Sender phone number |
| from_province | No | string | Sender province |
| from_city | No | string | Sender city |
| from_address | No | string | Sender address |
| from_address1 | No | string | Sender street / unit / door number |
| from_zip_code | Yes | string | Sender postal code |
| to_username | Yes | string | Recipient name |
| to_mobile | Yes | string | Recipient phone number |
| to_province | Yes | string | Recipient province |
| to_city | Yes | string | Recipient city |
| to_address | Yes | string | Recipient address |
| to_address1 | Yes | string | Recipient street / unit / door number |
| to_zip_code | Yes | string | Recipient postal code |
| remark | No | string | Remarks |
| is_direct | Yes | string | Direct delivery flag: 0 = No, 1 = Yes |
Sample Response
{
"code": 1,
"msg": "ok",
"time": "1773801661",
"data": {
"shop_id": 1,
"shop_order_no": "69ba0e778bf94",
"order_no": "1075638798736",
"from_username": "aa",
"from_mobile": "1234567891",
"from_province": "aa",
"from_city": "bb",
"from_address": "sdfsd",
"from_address1": "sdfsd",
"from_zip_code": "12345",
"to_username": "aaab",
"to_mobile": "1236547896",
"to_province": "sdf",
"to_city": "sdf",
"to_address": "ggg",
"to_address1": "ss",
"to_zip_code": "1263",
"goods_desc": "包裹物品",
"remark": "订单备注",
"is_direct": 1,
"createtime": 1773801661,
"updatetime": 1773801661,
"id": "8"
}
}
/cancelCancel Order
Cancels an existing order.
Common Request Fields
| Field | Required | Type | Description |
|---|---|---|---|
| app_key | Yes | string | App key issued by the platform |
| sign | Yes | string | Signature value |
| data | Yes | string | JSON string of business parameters |
Business Parameters
| Field | Required | Type | Description |
|---|---|---|---|
| order_no | Yes | string | Logistics order number |
Sample Response
{
"code": 0,
"message": "取消成功",
"data": ""
}
/getPdfGet Order PDF Token / URL
Returns the URL token used to open the PDF viewer endpoint.
Common Request Fields
| Field | Required | Type | Description |
|---|---|---|---|
| app_key | Yes | string | App key issued by the platform |
| sign | Yes | string | Signature value |
| data | Yes | string | JSON string of business parameters |
Business Parameters
| Field | Required | Type | Description |
|---|---|---|---|
| non_str | Yes | string | Random string, 6–12 characters |
Sample Response
{
"code": 1,
"msg": "ok",
"time": "1773804544",
"data": {
"url": "http://test.jianadame.com/index.php/api/post/out/pdf?token=..."
}
}
/detailOrder Detail
Returns detailed order information.
Common Request Fields
| Field | Required | Type | Description |
|---|---|---|---|
| app_key | Yes | string | App key issued by the platform |
| sign | Yes | string | Signature value |
| data | Yes | string | JSON string of business parameters |
Business Parameters
| Field | Required | Type | Description |
|---|---|---|---|
| order_no | Yes | string | Courier / logistics order number |
Sample Response
{
"code": 1,
"msg": "ok",
"time": "1773803058",
"data": {
"id": 8,
"type": 1,
"order_no": "1075638798736",
"shop_id": 1,
"shop_order_no": "69ba0e778bf94",
"weight": "0.00",
"charge_weight": "0.00",
"length": 0,
"width": 0,
"height": 0,
"goods_desc": "包裹物品",
"status": 0,
"dis_status": 0,
"images": null,
"remark": "订单备注",
"post_price": "0.00",
"order_price": "0.00",
"insure_amount": "0.00",
"insure_price": "0.00",
"pickup_time": 0,
"pay_type": "",
"pay_status": 0,
"pay_time": 0,
"from_username": "aa",
"from_mobile": "1234567891",
"from_province": "aa",
"from_city": "bb",
"from_address": "sdfsd",
"from_address1": "sdfsd",
"from_zip_code": "12345",
"to_username": "aaab",
"to_mobile": "1236547896",
"to_province": "sdf",
"to_city": "sdf",
"to_address": "ggg",
"to_address1": "ss",
"to_zip_code": "1263",
"delivery_num": 0,
"delivery_status": 0,
"createtime": 1773801661,
"updatetime": 1773801661,
"rider_amount": "0.00",
"rider_id": 0,
"delete_time": null,
"is_direct": 1
}
}
Mission Rush status reference
This reference is intended for the Mission Rush app Orders page and other client-side order views. It summarizes the current direct-order creation logic and backend status transitions.
| post_order.status | Recommended client label | Notes |
|---|---|---|
| 1 | Waiting for pick up | Initial status after a Mission Rush paid direct order is created successfully. |
| 2 | Waiting for pick up | Pending pickup / pending collection. Client apps may group it with status 1. |
| 3 | Delivering | Picked up and currently in delivery. |
| 10 | Completed | Order completed. |
Recommended client grouping
| Group | Recommended rule |
|---|---|
| All | All orders |
| In progress | status in [1, 2, 3] |
| Completed | status = 10 |
pay_status = 2 for successful payment, while the initial order status is status = 1. If your product needs “reviewed / not reviewed”, keep that as a separate client or business-layer flag rather than reusing post_order.status.