接入說明
API 作用
分銷 API 是方便您實現批次購買 eSIM 服務的介面,購買費用直接從賬戶餘額中扣除,請保持餘額充足。若介面返回餘額不足,請及時充值。
介面基本資訊
| Base URL |
https://mesimgo.com/api/v1
|
| 請求方式 | POST / GET |
| 返回格式 | JSON |
| 認證方式 |
Token 請透過請求頭部傳遞:
Authorization: Bearer {token}
|
當前有效 Token
獲取型別ID(categoryId)
呼叫購買、詳情、庫存等介面時,需要傳入
categoryId
引數。以下是當前全部可購買產品:
| categoryId | 名稱 | 原價 | 分銷價 | 庫存 |
|---|---|---|---|---|
| 登入後可複製 | CSL 30G | 登入後可見 | 登入後可見 | 有貨 |
| 登入後可複製 | CSL 40G | 登入後可見 | 登入後可見 | 有貨 |
| 登入後可複製 | 3HK 20G | 登入後可見 | 登入後可見 | 有貨 |
| 登入後可複製 | CMLink 吃到飽10G | 登入後可見 | 登入後可見 | 有貨 |
| 登入後可複製 | 樂天 吃到飽4G | 登入後可見 | 登入後可見 | 有貨 |
| 登入後可複製 | CMLink 52國吃到飽10g | 登入後可見 | 登入後可見 | 有貨 |
| 登入後可複製 | CMLink 52國吃到飽20G | 登入後可見 | 登入後可見 | 缺貨 |
| 登入後可複製 | 大眾電訊 30G | 登入後可見 | 登入後可見 | 有貨 |
| 登入後可複製 | orange 20g | 登入後可見 | 登入後可見 | 有貨 |
| 登入後可複製 | MeSIM 20G | 登入後可見 | 登入後可見 | 有貨 |
| 登入後可複製 | 3HK 24G | 登入後可見 | 登入後可見 | 有貨 |
| 登入後可複製 | True 6G | 登入後可見 | 登入後可見 | 缺貨 |
通用響應格式
{
"status": true, // 請求狀態:true 成功,false 失敗
"code": 0, // 狀態碼,0 表示成功
"msg": "獲取成功", // 請求說明
"data": { ... } // 請求資料(失敗時可能無此欄位)
}
全域性狀態碼
| 狀態碼 | 說明 |
|---|---|
0
|
請求成功 |
40000
|
API 功能未啟用 |
24002
|
Token 缺失、無效、已禁用或已過期 |
40001
|
IP 不在白名單內 |
42900
|
請求頻率超限 |
24001
|
型別不存在 |
40003
|
賬號已被凍結 |
24005
|
引數錯誤 |
22003
|
庫存不足 |
22004
|
訂單生成失敗 |
21006
|
發貨失敗 |
21010
|
餘額不足 |
50010
|
系統配置異常,請聯絡平臺處理 |
20000
|
訂單生成成功(正式已發貨 / 測試) |
20001
|
訂單已建立,等待人工發貨;請輪詢訂單詳情 |
請以本頁列出的公開介面為準。
Dujiao Next 對接
用途
本章節用於把本站作為 Dujiao Next 發卡網的上游供貨站點。下游站長在 Dujiao Next 後台填寫本站地址和憑證後,可同步分類、商品、價格、圖片、庫存,並透過本站餘額自動下單發貨。
下游後台填寫
| 站點地址 |
https://mesimgo.com
,填寫本站根地址;Dujiao Next 會自動拼接
/api/v1/upstream
,不要把介面路徑填進站點地址。
|
| 介面呼叫 Base URL |
https://mesimgo.com/api/v1/upstream
|
| API Key |
登入後顯示
|
| API Secret |
登入後顯示;如果重新整理後看不到,請重新生成 Token 取得
|
| 幣種 |
USD
|
| 扣款 | 建立訂單成功後,從本站帳戶餘額扣除商品分銷價。 |
簽名認證
| Header |
Dujiao-Next-Api-Key
/
Dujiao-Next-Timestamp
/
Dujiao-Next-Signature
|
| Timestamp | 10 位 Unix 秒級時間戳,允許誤差 60 秒。 |
| PATH |
只包含路徑,例如
/api/v1/upstream/products
,不包含網域和 query string。
|
| GET Body |
GET 請求 body 為空,參與簽名時使用
md5("") = d41d8cd98f00b204e9800998ecf8427e
|
sign_string = METHOD + "\n" + PATH + "\n" + TIMESTAMP + "\n" + md5(RAW_BODY)
signature = hmac_sha256(API_SECRET, sign_string)
# GET https://mesimgo.com/api/v1/upstream/products?page=1&page_size=20
# 參與簽名的 PATH: /api/v1/upstream/products
# 不要使用: /products 或帶 query 的路徑
curl -X POST "https://mesimgo.com/api/v1/upstream/ping" \
-H "Dujiao-Next-Api-Key: {api_key}" \
-H "Dujiao-Next-Timestamp: {timestamp}" \
-H "Dujiao-Next-Signature: {signature}" \
-H "Content-Type: application/json"
介面清單
| 方法 | 路徑 | 說明 |
|---|---|---|
POST
|
/ping
|
連通性、餘額與幣種 |
GET
|
/categories
|
分類列表 |
GET
|
/products?page=1&page_size=20
|
商品列表,最大每頁 100 筆 |
GET
|
/products/{id}
|
商品詳情 |
POST
|
/orders
|
建立採購單;本站只支援 quantity=1 |
GET
|
/orders/{order_no}
|
查詢訂單 |
POST
|
/orders/{order_no}/cancel
|
僅未付款/未扣款訂單可取消 |
商品與庫存 JSON
本站給 Dujiao Next 下游只返回二態庫存:有貨為
stock_status=in_stock
/
stock_quantity=999
,無貨為
stock_status=out_of_stock
/
stock_quantity=0
。有貨代表目前可售,不代表已經為下游鎖庫存;最終以下單結果為準。
{
"ok": true,
"items": [
{
"id": 31,
"title": {"zh-CN": "Hong Kong eSIM", "en": "Hong Kong eSIM"},
"images": ["https://mesimgo.com/uploads/example.jpg"],
"price_amount": "6.50",
"member_price": "6.50",
"original_price": "8.00",
"fulfillment_type": "auto",
"category_id": 8,
"skus": [
{
"id": 31,
"sku_code": "31",
"price_amount": "6.50",
"stock_status": "in_stock",
"stock_quantity": 999,
"is_active": true
}
]
}
],
"total": 1,
"page": 1,
"page_size": 20
}
下單與發貨 JSON
| sku_id | 使用商品 SKU ID;本站目前等於商品 ID。 |
| quantity |
1
,本站不支援一次購買多件。
|
| downstream_order_no | 必填下游訂單號;同一個值用於逾時重試,避免重複扣款。 |
| callback_url |
可選,填寫下游自己的 HTTPS 公網回調地址,例如
https://<A站域名>/api/v1/upstream/callback
;不能是 localhost、私網 IP 或解析到私網 IP。
|
{
"sku_id": 31,
"quantity": 1,
"downstream_order_no": "DN202606160001",
"callback_url": "https://<A站域名>/api/v1/upstream/callback"
}
{
"ok": true,
"order_no": "APIxxxxxxxxxxxxx",
"downstream_order_no": "DN202606160001",
"status": "completed",
"amount": "6.50",
"currency": "USD",
"fulfillment": {
"type": "auto",
"status": "delivered",
"payload": "LPA:1$xxx.prod.example.com$XXXXXX",
"delivery_data": {
"lpa": "LPA:1$xxx.prod.example.com$XXXXXX",
"number": "8985...",
"verify_code": "",
"qrcode": "data:image/png;base64,...",
"image_url": ""
}
}
}
狀態、錯誤碼與防損說明
| status |
pending_payment
/
paid
/
fulfilling
/
completed
/
canceled
;交付資訊中的 fulfillment.status 為
delivered
|
| error_code |
bad_request
,
invalid_signature
,
timestamp_expired
,
sku_unavailable
,
insufficient_stock
,
insufficient_balance
,
invalid_callback_url
,
order_not_found
,
cancel_not_allowed
|
| 價格 |
下單金額由本站服務端按商品
api_price
計算,下游傳入價格無效。
|
| 庫存 | 商品列表只作可售預檢;建立訂單時仍會複查庫存、餘額和商品狀態,失敗不會扣款。 |
| 回調 | 本站回調也會攜帶 Dujiao-Next 簽名頭;下游應按同一簽名規則驗簽,並用 order_no/downstream_order_no 做冪等。 |
{
"ok": false,
"error_code": "insufficient_stock",
"error_message": "Insufficient stock"
}
異次元對接
play_arrow 介面操作
配置方式
異次元髮卡網可透過共享平臺介面直接拉取本站分銷商品、查詢庫存並下單。異次元后臺新增共享平臺時,請填寫以下引數:
| 平臺型別 | 預設共享平臺介面(type 0) |
| 平臺地址 |
https://mesimgo.com
|
| app_id | 如果您用郵箱登入,請繫結 Telegram 後即可顯示 app_id |
| app_key | 填寫上方“當前有效 Token”裡的 API Token |
同步範圍
| 會同步 | 已上架、已設定分銷價、非實體發貨的商品 |
| 不會同步 | 實體發貨商品、未設定分銷價的商品、已下架商品 |
| 庫存顯示 |
共享介面對異次元返回虛擬庫存
9999
,實際是否可發貨以下單時結果為準
|
| 扣款方式 | 異次元下單成功後,從本站賬戶餘額扣除分銷價 |
注意事項
-
重新生成本站分銷 API Token 後,異次元后臺的
app_key必須同步更換。 - 請保持本站賬戶餘額充足,餘額不足時異次元下單會失敗。
- 如果設定了 IP 白名單,請把異次元伺服器出口 IP 加入白名單。
- 同一筆訂單重試時,異次元應保持相同請求單號,避免重複下單。
IP白名單
設定 IP 白名單後,僅限白名單內 IP 才可發起請求。不設定則不限制。
白名單按服務端識別到的當前請求 IP 精確匹配,不支援 CIDR、網段或萬用字元;為空或
null
表示不限制。白名單校驗發生在 Token 認證之後。
play_arrow 線上測試
檢視白名單
https://mesimgo.com/api/v1/whitelist
Headers
| Header 名 | 型別 | 必填 | 說明 |
|---|---|---|---|
Authorization
|
string | 是 |
Bearer {token}
,用於身份認證
|
* 請勿將 token 放在 query/body 引數中,預設配置不讀取引數
token
。
請求引數(Query / Body)
| 引數名 | 型別 | 必填 | 說明 |
|---|---|---|---|
| 無 | |||
響應資料
{
"status": true,
"code": 0,
"msg": "獲取成功",
"data": {
"ips": ["1.2.3.4", "5.6.7.8"],
"currentIp": "1.2.3.4"
}
}
響應欄位說明
| 欄位 | 型別 | 說明 |
|---|---|---|
status
|
boolean | 請求狀態:true 成功,false 失敗 |
code
|
number | 狀態碼 |
msg
|
string | 請求說明 |
data.ips
|
array | 當前白名單 IP 列表 |
data.currentIp
|
string | 當前請求 IP |
更新白名單
https://mesimgo.com/api/v1/whitelist
Headers
| Header 名 | 型別 | 必填 | 說明 |
|---|---|---|---|
Authorization
|
string | 是 |
Bearer {token}
,用於身份認證
|
* 請勿將 token 放在 query/body 引數中,預設配置不讀取引數
token
。
請求引數(Query / Body)
| 引數名 | 型別 | 必填 | 說明 |
|---|---|---|---|
ips
|
array | 否 | IP 地址陣列,傳空陣列 [] 清空白名單 |
clear
|
number | 否 | 傳 1 時清空白名單;建議清空時使用 clear=1,避免空陣列編碼差異 |
響應資料
{
"status": true,
"code": 0,
"msg": "白名單更新成功",
"data": {
"ips": ["1.2.3.4"]
}
}
響應欄位說明
| 欄位 | 型別 | 說明 |
|---|---|---|
status
|
boolean | 請求狀態:true 成功,false 失敗 |
code
|
number | 狀態碼 |
msg
|
string | 請求說明 |
data.ips
|
array | 更新後的白名單 IP 列表 |
eSIM購買
| 測試介面 |
https://mesimgo.com/api/v1/payTest
|
| 正式介面 |
https://mesimgo.com/api/v1/pay
|
play_arrow 線上測試
請求介面
https://mesimgo.com/api/v1/pay
測試:
https://mesimgo.com/api/v1/payTest
Headers
| Header 名 | 型別 | 必填 | 說明 |
|---|---|---|---|
Authorization
|
string | 是 |
Bearer {token}
,用於身份認證
|
* 請勿將 token 放在 query/body 引數中,預設配置不讀取引數
token
。
請求引數(Query / Body)
| 引數名 | 型別 | 必填 | 說明 |
|---|---|---|---|
categoryId
|
number | 是 | eSIM 型別 ID(參見接入說明中的產品列表) |
clientOrderNo
|
string | 否 | 客戶端訂單號,1-64位字母/數字/點/下劃線/短橫線;僅正式介面 /api/v1/pay 生效,用於超時重試冪等;/api/v1/payTest 不支援也不保證冪等 |
響應資料
{
"status": true,
"code": 20000,
"msg": "訂單生成成功",
"data": {
"sn": "APIxxxxxxxxxxx",
"verifyCode": "123456",
"currency": "USD",
"categoryId": 31,
"consumption": 5.5,
"carrier": "運營商名稱",
"brand": "品牌名稱",
"lpa": "LPA:1$xxx.prod.example.com$XXXXXX",
"number": "86866878",
"balance": 77.5,
"qrcode": "data:image/png;base64,iVBORw0KGgo..."
}
}
響應欄位說明
| 欄位 | 型別 | 說明 |
|---|---|---|
status
|
boolean | 請求狀態:true 成功,false 失敗 |
code
|
number | 狀態碼 |
msg
|
string | 請求說明 |
data.sn
|
string | 訂單號 |
data.currency
|
string | 貨幣型別 |
data.categoryId
|
number | eSIM 型別 ID |
data.consumption
|
number | 本次消耗餘額 |
data.carrier
|
string | 運營商 |
data.brand
|
string | 品牌 |
data.lpa
|
string | eSIM 配置(用於生成安裝二維碼) |
data.number
|
string | eSIM 卡號碼 |
data.verifyCode
|
string | eSIM 配置驗證碼 |
data.balance
|
number | 賬戶剩餘餘額 |
data.qrcode
|
string | eSIM 安裝二維碼 base64,可直接作為 <img src="..."> 使用 |
介面狀態碼
| 狀態碼 | 說明 |
|---|---|
20000
|
訂單生成成功(正式已發貨) |
20001
|
訂單已建立,等待人工發貨;請輪詢訂單詳情 |
20000
|
訂單生成成功(測試,餘額未扣除) |
24001
|
型別不存在 |
24005
|
引數錯誤 |
22003
|
庫存不足;預檢失敗時直接返回,已生成訂單後缺貨會非同步觸發庫存不足回撥 |
22004
|
訂單生成失敗 |
21010
|
餘額不足 |
21006
|
發貨失敗(訂單已記錄;如原因為庫存不足,會觸發庫存不足回撥) |
50010
|
系統配置異常,請聯絡平臺處理 |
22003
;如果訂單已建立但發貨階段確認庫存不足無法供貨,系統會向該商品配置的 HTTPS 回撥地址傳送
stock_insufficient
JSON 通知。測試介面
/payTest
不觸發該通知。完整欄位和安全邊界見“回撥通知”。
clientOrderNo
只在正式介面
/api/v1/pay
生效;測試介面
/api/v1/payTest
每次呼叫都可能生成新的 TEST 訂單,不支援也不保證冪等。
回撥通知
公共說明
平臺會向您配置的 HTTPS 回撥地址以
POST
方式傳送 JSON。請接收方返回 2xx,並自行按訂單號或事件 ID 做冪等處理。
普通訂單完成回撥
觸發條件:訂單完成後,平臺向您配置的回撥地址傳送完成通知。
/api/v1/pay
直接成功返回不代表一定會觸發此普通完成回撥,API 訂單最終狀態請優先透過
/api/v1/order
輪詢確認。
| 請求方式 |
POST
|
| Content-Type |
application/json
|
| 響應要求 | 請返回 2xx,並透過訂單查詢介面做結果補償。 |
{
"title": "商品名稱 x 1",
"order_sn": "APIxxxxxxxxxxxxx",
"email": "customer@example.com",
"actual_price": "5.50",
"order_info": "LPA:1$xxx.prod.example.com$XXXXXX",
"good_id": 31,
"gd_name": "商品名稱"
}
| 欄位 | 型別 | 說明 |
|---|---|---|
title
|
string | 訂單標題 |
order_sn
|
string | 訂單號;接收方應以此做冪等 |
email
|
string | 訂單郵箱,可能為空 |
actual_price
|
number|string | 訂單實付金額 |
order_info
|
string | 發貨內容或訂單備註,具體格式隨商品型別變化 |
good_id
|
number | 商品 ID |
gd_name
|
string | 商品名稱 |
庫存不足回撥(stock_insufficient)
觸發條件:正式介面
/api/v1/pay
下單後已建立訂單,但發貨階段確認庫存不足或無法供貨。預檢階段直接返回
22003
時不會傳送該回撥;測試介面
/api/v1/payTest
不觸發該回撥。
| 請求方式 |
POST
|
| Content-Type |
application/json
,並帶
Accept: application/json
|
| 地址限制 |
僅允許
https://
;拒絕 localhost、私有 IP 和保留 IP。
|
| 響應要求 | 請返回 2xx,並透過訂單查詢介面確認最終狀態。 |
{
"event": "stock_insufficient",
"status": false,
"code": 22003,
"msg": "庫存不足,訂單無法供貨",
"categoryId": 31,
"good_id": 31,
"gd_name": "商品名稱",
"clientOrderNo": "your-order-001",
"eventId": "sha256-event-id",
"occurredAt": "2026-04-30T12:34:56+00:00",
"sn": "APIxxxxxxxxxxxxx"
}
| 欄位 | 型別 | 說明 |
|---|---|---|
event
|
string |
固定為
stock_insufficient
|
status
|
boolean |
固定為
false
|
code
|
number |
固定為
22003
|
msg
|
string | 庫存不足說明 |
categoryId
|
number | eSIM 型別 ID |
good_id
|
number | 商品 ID |
gd_name
|
string | 商品名稱 |
clientOrderNo
|
string|null |
正式下單傳入的客戶端訂單號;未傳時為
null
|
eventId
|
string | 事件 ID;用於接收方冪等去重 |
occurredAt
|
string | ISO 8601 時間 |
sn
|
string | 已建立訂單的訂單號;僅訂單已建立時存在 |
該通知只包含上方欄位。收到回撥後建議呼叫
/api/v1/order
按
sn
查詢最終訂單狀態。
餘額查詢
play_arrow 線上測試
代理商系統下單前需確認餘額是否充足,避免下單失敗。
https://mesimgo.com/api/v1/balance
Headers
| Header 名 | 型別 | 必填 | 說明 |
|---|---|---|---|
Authorization
|
string | 是 |
Bearer {token}
,用於身份認證
|
* 請勿將 token 放在 query/body 引數中,預設配置不讀取引數
token
。
請求引數(Query / Body)
| 引數名 | 型別 | 必填 | 說明 |
|---|---|---|---|
| 無 | |||
響應資料
{
"status": true,
"code": 0,
"msg": "獲取成功",
"data": {
"balance": 252.05,
"currency": "USD"
}
}
響應欄位說明
| 欄位 | 型別 | 說明 |
|---|---|---|
status
|
boolean | 請求狀態:true 成功,false 失敗 |
code
|
number | 狀態碼 |
msg
|
string | 請求說明 |
data.balance
|
number | 賬戶餘額 |
data.currency
|
string | 貨幣型別 |
庫存查詢
play_arrow 線上測試
代理商系統下單前需確認庫存是否充足,避免下單失敗。
https://mesimgo.com/api/v1/esimStore
Headers
| Header 名 | 型別 | 必填 | 說明 |
|---|---|---|---|
Authorization
|
string | 是 |
Bearer {token}
,用於身份認證
|
* 請勿將 token 放在 query/body 引數中,預設配置不讀取引數
token
。
請求引數(Query / Body)
| 引數名 | 型別 | 必填 | 說明 |
|---|---|---|---|
categoryId
|
number | 是 | eSIM 型別 ID |
響應資料
{
"status": true,
"code": 0,
"msg": "獲取成功",
"data": {
"esimStore": 999,
"categoryId": "31"
}
}
響應欄位說明
| 欄位 | 型別 | 說明 |
|---|---|---|
status
|
boolean | 請求狀態:true 成功,false 失敗 |
code
|
number | 狀態碼 |
msg
|
string | 請求說明 |
data.esimStore
|
number | 是否有庫存:999 有,0 無 |
data.categoryId
|
string | eSIM 型別 ID |
產品列表
play_arrow 線上測試
https://mesimgo.com/api/v1/products
Headers
| Header 名 | 型別 | 必填 | 說明 |
|---|---|---|---|
Authorization
|
string | 是 |
Bearer {token}
,用於身份認證
|
* 請勿將 token 放在 query/body 引數中,預設配置不讀取引數
token
。
請求引數(Query / Body)
| 引數名 | 型別 | 必填 | 說明 |
|---|---|---|---|
| 無 | |||
響應資料
{
"status": true,
"code": 0,
"msg": "獲取成功",
"data": [
{
"id": 31,
"name": "產品名稱",
"vipPrice": 6.5,
"sellCurrency": "USD",
"note": "產品說明",
"hasNumber": 0,
"needRealname": 0,
"highSpeedFlow": 0,
"trafficType": 1,
"renew": 0,
"lifetime": 365,
"periodType": "month",
"esimStore": 999,
"brandInfo": {
"id": 18,
"brand": "品牌名稱"
},
"regionCode": "HK",
"roamingRegionList": []
}
]
}
響應欄位說明
| 欄位 | 型別 | 說明 |
|---|---|---|
status
|
boolean | 請求狀態:true 成功,false 失敗 |
code
|
number | 狀態碼 |
msg
|
string | 請求說明 |
data[].id
|
number | eSIM 型別 ID(即 categoryId) |
data[].name
|
string | eSIM 名稱 |
data[].vipPrice
|
number | 您的會員價格 |
data[].sellCurrency
|
string | 貨幣型別 |
data[].note
|
string | 產品說明 |
data[].hasNumber
|
number | 是否有號碼:1 有,0 無 |
data[].needRealname
|
number | 是否需要實名:1 需要,0 不需要 |
data[].highSpeedFlow
|
number | 高速流量(單位:MB) |
data[].trafficType
|
number | 流量型別 |
data[].renew
|
number | 是否可續費:1 可,0 不可 |
data[].lifetime
|
number | 有效期(單位:天) |
data[].periodType
|
string | 流量計算週期:month 每月,day 每日,total 總量 |
data[].esimStore
|
number | 是否有庫存:999 有,0 無 |
data[].brandInfo
|
object | 品牌資訊:id - 品牌ID,brand - 品牌名稱 |
data[].regionCode
|
string | 卡歸屬地程式碼(ISO 3166-1) |
data[].roamingRegionList
|
array | 可用漫遊地程式碼列表 |
產品詳情
play_arrow 線上測試
https://mesimgo.com/api/v1/product
Headers
| Header 名 | 型別 | 必填 | 說明 |
|---|---|---|---|
Authorization
|
string | 是 |
Bearer {token}
,用於身份認證
|
* 請勿將 token 放在 query/body 引數中,預設配置不讀取引數
token
。
請求引數(Query / Body)
| 引數名 | 型別 | 必填 | 說明 |
|---|---|---|---|
categoryId
|
number | 是 | eSIM 型別 ID |
響應資料
{
"status": true,
"code": 0,
"msg": "獲取成功",
"data": {
"id": 31,
"name": "產品名稱",
"vipPrice": 6.5,
"sellCurrency": "USD",
"note": "產品說明",
"hasNumber": 0,
"needRealname": 0,
"highSpeedFlow": 0,
"trafficType": 1,
"renew": 0,
"lifetime": 365,
"periodType": "month",
"esimStore": 999,
"brandInfo": {
"id": 18,
"brand": "品牌名稱"
},
"regionCode": "HK",
"roamingRegionList": []
}
}
響應欄位說明
| 欄位 | 型別 | 說明 |
|---|---|---|
status
|
boolean | 請求狀態:true 成功,false 失敗 |
code
|
number | 狀態碼 |
msg
|
string | 請求說明 |
data
|
object | 產品詳情,欄位同產品列表中的單個產品物件 |
介面狀態碼
| 狀態碼 | 說明 |
|---|---|
0
|
獲取成功 |
24001
|
型別不存在 |
24005
|
引數錯誤:缺少 categoryId |
訂單列表
play_arrow 線上測試
https://mesimgo.com/api/v1/orders
Headers
| Header 名 | 型別 | 必填 | 說明 |
|---|---|---|---|
Authorization
|
string | 是 |
Bearer {token}
,用於身份認證
|
* 請勿將 token 放在 query/body 引數中,預設配置不讀取引數
token
。
請求引數(Query / Body)
| 引數名 | 型別 | 必填 | 說明 |
|---|---|---|---|
page
|
number | 否 | 頁碼(預設 1) |
pageSize
|
number | 否 | 每頁數量(預設 20,最大 100) |
genre
|
string | 否 | 訂單型別:purchase - 購買訂單(當前 API 僅開放購買訂單查詢) |
status
|
string | 否 | 訂單狀態:pending - 待支付/待處理/處理中,payed - 已完成,closed - 已關閉,refused - 異常/已拒絕 |
響應資料
{
"status": true,
"code": 0,
"msg": "獲取成功",
"data": {
"page": 1,
"total": 9,
"totalPage": 1,
"results": [
{
"sn": "APIxxxxxxxxxxx",
"member": 123456,
"payFrom": "balance",
"status": "payed",
"currency": "USD",
"targetId": 31,
"addtime": 20260305162723,
"genre": "purchase",
"totalFee": 6.5,
"voucherInfo": [ ... ],
"categoryInfo": {
"id": 31,
"name": "產品名稱",
"vipPrice": 6.5,
"sellCurrency": "USD",
"regionCode": "HK",
"roamingRegionList": []
},
"brandInfo": {
"id": 18,
"brand": "品牌名稱"
}
}
]
}
}
響應欄位說明
| 欄位 | 型別 | 說明 |
|---|---|---|
status
|
boolean | 請求狀態:true 成功,false 失敗 |
code
|
number | 狀態碼 |
msg
|
string | 請求說明 |
data.page
|
number | 當前頁碼 |
data.total
|
number | 總訂單數 |
data.totalPage
|
number | 總頁數 |
data.results
|
array | 訂單列表 |
results[].sn
|
string | 訂單編號 |
results[].status
|
string | 訂單狀態:payed / pending / closed / refused;pending 包含待支付、待處理、處理中 |
results[].genre
|
string | 訂單型別:purchase 購買 |
results[].addtime
|
number | 建立時間(YYYYMMDDHHmmss 格式) |
results[].totalFee
|
number | 訂單金額 |
results[].currency
|
string | 貨幣型別 |
results[].voucherInfo
|
array | eSIM 憑證(已支付含 lpa/number/verifyCode/qrcode) |
results[].categoryInfo
|
object | eSIM 型別資訊 |
results[].brandInfo
|
object | 品牌資訊 |
訂單詳情
play_arrow 線上測試
https://mesimgo.com/api/v1/order
Headers
| Header 名 | 型別 | 必填 | 說明 |
|---|---|---|---|
Authorization
|
string | 是 |
Bearer {token}
,用於身份認證
|
* 請勿將 token 放在 query/body 引數中,預設配置不讀取引數
token
。
請求引數(Query / Body)
| 引數名 | 型別 | 必填 | 說明 |
|---|---|---|---|
sn
|
string | 是 | 訂單編號 |
響應資料
{
"status": true,
"code": 0,
"msg": "獲取成功",
"data": {
"sn": "APIxxxxxxxxxxx",
"member": 123456,
"payFrom": "balance",
"totalFee": 6.5,
"genre": "purchase",
"status": "payed",
"currency": "USD",
"targetId": 31,
"addtime": 20260210170728,
"voucherInfo": {
"orderSn": "APIxxxxxxxxxxx",
"categoryId": 31,
"lpa": "LPA:1$xxx.prod.example.com$XXXXXX",
"status": 1,
"number": "86866878",
"verifyCode": "123456",
"qrcode": "data:image/png;base64,iVBORw0KGgo..."
},
"categoryInfo": {
"id": 31,
"name": "產品名稱",
"vipPrice": 6.5,
"sellCurrency": "USD",
"regionCode": "HK",
"roamingRegionList": []
},
"brandInfo": {
"id": 18,
"brand": "品牌名稱"
}
}
}
響應欄位說明
| 欄位 | 型別 | 說明 |
|---|---|---|
status
|
boolean | 請求狀態:true 成功,false 失敗 |
code
|
number | 狀態碼 |
msg
|
string | 請求說明 |
data.sn
|
string | 訂單編號 |
data.status
|
string | 訂單狀態:payed / pending / closed / refused |
data.totalFee
|
number | 訂單金額 |
data.addtime
|
number | 訂單建立時間 |
data.voucherInfo
|
object | eSIM 憑證資訊(詳情為物件,列表為陣列) |
voucherInfo.lpa
|
string | eSIM 配置(用於生成安裝二維碼) |
voucherInfo.number
|
string | eSIM 號碼 |
voucherInfo.verifyCode
|
string | 驗證碼 |
voucherInfo.qrcode
|
string | eSIM 安裝二維碼(base64) |
data.categoryInfo
|
object | eSIM 型別資訊 |
data.brandInfo
|
object | 品牌資訊 |
介面狀態碼
| 狀態碼 | 說明 |
|---|---|
0
|
獲取成功 |
24001
|
訂單不存在 |
24005
|
引數錯誤:缺少 sn |