MarkAPI
Version
Contents
Version: 2026-06-04 12:03

MMall API Documentation

Changelog

General Information

ItemValue
Base URLhttps://api.demo.mmall.example
Content-Typeapplication/json
AuthenticationBearer Token
Time formatYYYY-MM-DD HH:mm:ss
Money unit
Default paginationpage=1, page_size=20

Common Data Definitions

Currency

ValueDescription
Chinese yuan
US dollar
Euro
Japanese yen

Product

ValueDescription
Draft
On sale
Off sale
Sold out

Order

ValueDescription
Pending payment
Paid
Packing
Shipped
Completed
Cancelled
Closed

Payment

ValueDescription
WeChat Pay
Alipay
Account balance
Bank transfer

Payment

ValueDescription
Unpaid
Processing
Paid
Refunding
Refunded
Failed

Delivery

ValueDescription
Standard express
Same-day delivery
Store pickup
Cross-border shipping

After-sales

ValueDescription
Refund only
Return and refund
Exchange

After-sales

ValueDescription
Submitted
Under review
Approved
Rejected
Waiting for return
Refunding
Completed
Cancelled

Coupon

ValueDescription
Available
Used
Expired
Locked

Inventory change

ValueDescription
Purchase inbound
Order stock lock
Cancelled order release
Shipment deduction
Manual adjustment

Notification

ValueTitleMessage template
Order paidYour order {order_no} has been paid successfully.
Order shippedYour order {order_no} has been shipped. You can view tracking details on the order page.
Coupon receivedYou received a {coupon_name}.
After-sales updateThe status of after-sales request {after_sale_no} has changed.
Back-in-stock noticeThe product {product_name} you followed is back in stock.

Users and Sessions

1. Sign in with SMS

POST

Signs in a user with a phone number and SMS verification code. Returns access and refresh tokens after successful verification.

Request Parameters

ParameterTypeRequiredDescription
stringYesPhone number
stringYes6-digit SMS verification code
stringNoSign-in scene. Default is MINI_APP

Field Values

FieldValueDescription
Mini app sign-in
Web sign-in

Response Example

{
  : {
    : "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.demo",
    : "refresh_20260603103000_8c7a",
    : 7200,
    : {
      : 90001,
      : "13800138000",
      : "Mia Chen",
      : "https://cdn.demo.mmall.example/avatar/u90001.png",
      : "GOLD"
    }
  },
  : ""
}

2. Refresh access

POST

Exchanges a refresh token for a new access token.

Request Parameters

ParameterTypeRequiredDescription
stringYesRefresh token

Response Example

{
  : {
    : "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.new",
    : 7200
  },
  : ""
}

3. Get current

GET

Returns the profile and membership information of the signed-in user.

Response Example

{
  : {
    : 90001,
    : "13800138000",
    : "Mia Chen",
    : "https://cdn.demo.mmall.example/avatar/u90001.png",
    : "GOLD",
    : 1280,
    : true
  },
  : ""
}

4. Update current

PATCH

Updates the user's nickname, avatar, and birthday.

Request Parameters

ParameterTypeRequiredDescription
stringNoNickname, up to 32 characters
stringNoAvatar URL
stringNoBirthday in YYYY-MM-DD format

Response Example

{
  : {
    : 90001,
    : "Mia C.",
    : "https://cdn.demo.mmall.example/avatar/u90001-new.png",
    : "1996-08-18"
  },
  : ""
}

5. List shipping

GET

Returns the current user's shipping addresses.

Response Example

{
  : [
    {
      : 3101,
      : "Mia Chen",
      : "13800138000",
      : "Zhejiang",
      : "Hangzhou",
      : "Xihu",
      : "Building 3, 188 Wensan Road, Room 602",
      : "HOME",
      : true
    }
  ],
  : ""
}

6. Create shipping

POST

Creates a new shipping address for the current user.

Request Parameters

ParameterTypeRequiredDescription
stringYesReceiver name
stringYesReceiver phone number
stringYesProvince or state
stringYesCity
stringYesDistrict
stringYesDetailed address
stringNoAddress tag
booleanNoWhether to set this address as default

Field Values

FieldValueDescription
Home
Company
School

Response Example

{
  : {
    : 3102,
    : false
  },
  : ""
}

7. Update shipping

PATCH

Updates a shipping address.

Request Parameters

ParameterTypeRequiredDescription
numberYesAddress ID
stringNoReceiver name
stringNoReceiver phone number
stringNoDetailed address
booleanNoWhether to set this address as default

Response Example

{
  : {
    : 3102,
    : "2026-06-03 10:32:00"
  },
  : ""
}

8. Delete shipping

DELETE

Deletes one of the current user's shipping addresses.

Request Parameters

ParameterTypeRequiredDescription
numberYesAddress ID

Response Example

{
  : {},
  : ""
}

Product Catalog

1. Search

GET

Searches products by keyword, category, brand, price range, and status.

Request Parameters

ParameterTypeRequiredDescription
stringNoSearch keyword
numberNoCategory ID
numberNoBrand ID
numberNoMinimum price in cents
numberNoMaximum price in cents
stringNoSort order
numberNoPage number
numberNoItems per page

Field Values

FieldValueDescription
Recommended order
Price low to high
Price high to low
Sales high to low

Response Example

{
  : {
    : 128,
    : [
      {
        : 501,
        : "Aurora Wireless Noise-Cancelling Earbuds",
        : "Aurora",
        : "https://cdn.demo.mmall.example/products/501-cover.jpg",
        : 59900,
        : 79900,
        : "CNY",
        : 8321,
        : "ON_SALE"
      }
    ]
  },
  : ""
}

2. Get product

GET

Returns product details, SKUs, service promises, and images.

Request Parameters

ParameterTypeRequiredDescription
numberYesProduct ID

Response Example

{
  : {
    : 501,
    : "Aurora Wireless Noise-Cancelling Earbuds",
    : "Adaptive active noise cancellation, 8-hour battery life",
    : "Aurora",
    : 59900,
    : "CNY",
    : "ON_SALE",
    : [
      "https://cdn.demo.mmall.example/products/501-1.jpg",
      "https://cdn.demo.mmall.example/products/501-2.jpg"
    ],
    : [
      {
        : 801,
        : "AU-EAR-SPACE-BLK",
        : "Space Black",
        : 59900,
        : 56
      }
    ],
    : [
      "7-day returns",
      "National warranty",
      "Free shipping over 99 CNY"
    ]
  },
  : ""
}

3. List product

GET

Returns the storefront product category tree.

Response Example

{
  : [
    {
      : 10,
      : "Electronics",
      : [
        {
          : 101,
          : "Headphones and Audio"
        },
        {
          : 102,
          : "Smart Wearables"
        }
      ]
    }
  ],
  : ""
}

4. Get home

GET

Returns home page banners, quick entries, and recommended products.

Response Example

{
  : {
    : [
      {
        : "https://cdn.demo.mmall.example/banners/summer-sale.jpg",
        : "CAMPAIGN",
        : 88
      }
    ],
    : [
      {
        : "New Arrivals",
        : "https://cdn.demo.mmall.example/icons/new.png",
        : "/campaigns/new-arrivals"
      }
    ],
    : [
      {
        : 501,
        : "Aurora Wireless Noise-Cancelling Earbuds",
        : 59900,
        : "https://cdn.demo.mmall.example/products/501-cover.jpg"
      }
    ]
  },
  : ""
}

5. Get product

GET

Returns sellable stock for each SKU of a product.

Request Parameters

ParameterTypeRequiredDescription
numberYesProduct ID

Response Example

{
  : [
    {
      : 801,
      : "AU-EAR-SPACE-BLK",
      : 56,
      : 12
    },
    {
      : 802,
      : "AU-EAR-MOON-WHT",
      : 34,
      : 5
    }
  ],
  : ""
}

6. Subscribe to back-in-stock

POST

Subscribes the user to a back-in-stock notice for a SKU.

Request Parameters

ParameterTypeRequiredDescription
numberYesProduct ID
numberYesSKU ID

Response Example

{
  : {
    : 7012,
    : 501,
    : 802,
    : "2026-06-03 10:32:00"
  },
  : ""
}

Shopping Cart

1. Get

GET

Returns the current user's cart items, selected state, and invalid items.

Response Example

{
  : {
    : [
      {
        : 12001,
        : 501,
        : 801,
        : "Aurora Wireless Noise-Cancelling Earbuds",
        : "Space Black",
        : 59900,
        : 1,
        : true,
        : true
      }
    ],
    : 1,
    : 59900
  },
  : ""
}

2. Add cart

POST

Adds a SKU to the shopping cart.

Request Parameters

ParameterTypeRequiredDescription
numberYesProduct ID
numberYesSKU ID
numberYesQuantity

Response Example

{
  : {
    : 12001,
    : 2
  },
  : ""
}

3. Update cart

PATCH

Updates the quantity or selected state of a cart item.

Request Parameters

ParameterTypeRequiredDescription
numberYesCart item ID
numberNoQuantity
booleanNoWhether the item is selected

Response Example

{
  : {
    : 12001,
    : 1,
    : true
  },
  : ""
}

4. Delete cart

DELETE

Deletes a cart item.

Request Parameters

ParameterTypeRequiredDescription
numberYesCart item ID

Response Example

{
  : {},
  : ""
}

5. Select cart

POST

Updates selected state for multiple cart items.

Request Parameters

ParameterTypeRequiredDescription
arrayYesCart item ID list
booleanYesWhether the items are selected

Response Example

{
  : {
    : 2,
    : 129800
  },
  : ""
}

Orders

1. Preview

POST

Calculates product amount, discount amount, shipping fee, and payable amount before creating an order.

Request Parameters

ParameterTypeRequiredDescription
arrayNoRequired when checking out from cart
arrayNoRequired for buy-now checkout
numberYesShipping address ID
numberNoCoupon ID
stringNoDelivery type. Default is EXPRESS

Response Example

{
  : {
    : [
      {
        : 801,
        : "Aurora Wireless Noise-Cancelling Earbuds",
        : 1,
        : 59900,
        : 59900
      }
    ],
    : 59900,
    : 5000,
    : 0,
    : 54900,
    : "CNY"
  },
  : ""
}

2. Create

POST

Creates an order and locks inventory.

Request Parameters

ParameterTypeRequiredDescription
arrayNoRequired when checking out from cart
arrayNoRequired for buy-now checkout
numberYesShipping address ID
numberNoCoupon ID
stringYesDelivery type
stringNoBuyer message

Response Example

{
  : {
    : 880001,
    : "MM202606031030008801",
    : "PENDING_PAYMENT",
    : 54900,
    : "2026-06-03 11:00:00"
  },
  : ""
}

3. List

GET

Returns a paginated list of the current user's orders.

Request Parameters

ParameterTypeRequiredDescription
stringNoOrder status
numberNoPage number
numberNoItems per page

Response Example

{
  : {
    : 12,
    : [
      {
        : 880001,
        : "MM202606031030008801",
        : "PENDING_PAYMENT",
        : 54900,
        : "2026-06-03 10:30:00",
        : "https://cdn.demo.mmall.example/products/501-cover.jpg",
        : "Aurora Wireless Noise-Cancelling Earbuds and 1 more item"
      }
    ]
  },
  : ""
}

4. Get order

GET

Returns order details, shipping address, payment information, and logistics information.

Request Parameters

ParameterTypeRequiredDescription
numberYesOrder ID

Response Example

{
  : {
    : 880001,
    : "MM202606031030008801",
    : "PAID",
    : "PAID",
    : 54900,
    : {
      : "Mia Chen",
      : "13800138000",
      : "Building 3, 188 Wensan Road, Xihu, Hangzhou"
    },
    : [
      {
        : 801,
        : "Aurora Wireless Noise-Cancelling Earbuds",
        : "Space Black",
        : 1,
        : 59900
      }
    ]
  },
  : ""
}

5. Cancel

POST

Cancels an order that has not been shipped.

Request Parameters

ParameterTypeRequiredDescription
numberYesOrder ID
stringYesCancellation reason

Response Example

{
  : {
    : 880001,
    : "CANCELLED",
    : "2026-06-03 10:45:00"
  },
  : ""
}

6. Confirm

POST

Confirms that the user has received the order and completes it.

Request Parameters

ParameterTypeRequiredDescription
numberYesOrder ID

Response Example

{
  : {
    : 880001,
    : "COMPLETED",
    : "2026-06-06 18:20:00"
  },
  : ""
}

Payments and Invoices

1. Create

POST

Creates a payment for an order and returns payment parameters.

Request Parameters

ParameterTypeRequiredDescription
numberYesOrder ID
stringYesPayment type

Response Example

{
  : {
    : 660001,
    : "PAY202606031032006601",
    : "WECHAT",
    : 54900,
    : {
      : "1780463520",
      : "n0nce20260603",
      : "prepay_id=wx201410272009395522657a690389285100",
      : "RSA",
      : "mock-signature"
    }
  },
  : ""
}

2. Get payment

GET

Returns the current payment status.

Request Parameters

ParameterTypeRequiredDescription
numberYesPayment ID

Response Example

{
  : {
    : 660001,
    : "PAY202606031032006601",
    : "PAID",
    : "2026-06-03 10:33:12"
  },
  : ""
}

3. Request

POST

Requests an electronic invoice for a paid order.

Request Parameters

ParameterTypeRequiredDescription
numberYesOrder ID
stringYesInvoice title
stringNoTax number
stringYesRecipient email address

Response Example

{
  : {
    : 55001,
    : "SUBMITTED",
    : "finance@example.com"
  },
  : ""
}

4. Get invoice

GET

Returns invoice request details and issuing result.

Request Parameters

ParameterTypeRequiredDescription
numberYesInvoice ID

Response Example

{
  : {
    : 55001,
    : "Hangzhou Mancang Technology Co., Ltd.",
    : 54900,
    : "ISSUED",
    : "https://cdn.demo.mmall.example/invoices/55001.pdf"
  },
  : ""
}

Coupons and Promotions

1. List available

GET

Returns the current user's available, used, and expired coupons.

Request Parameters

ParameterTypeRequiredDescription
stringNoCoupon status
numberNoPage number
numberNoItems per page

Response Example

{
  : {
    : 3,
    : [
      {
        : 41001,
        : "New user 10 off 99",
        : "AVAILABLE",
        : 9900,
        : 1000,
        : "2026-06-30 23:59:59"
      }
    ]
  },
  : ""
}

2. Claim

POST

Claims a coupon for the current user.

Request Parameters

ParameterTypeRequiredDescription
numberYesCoupon ID

Response Example

{
  : {
    : 41001,
    : "AVAILABLE"
  },
  : ""
}

3. Quote

POST

Calculates available discounts based on SKUs, shipping address, and coupon.

Request Parameters

ParameterTypeRequiredDescription
arrayYesSKU and quantity list
numberNoAddress ID
numberNoCoupon ID

Response Example

{
  : {
    : [
      {
        : 41001,
        : "New user 10 off 99",
        : 1000
      }
    ],
    : 41001,
    : 1000,
    : 0
  },
  : ""
}

After-Sales

1. Create after-sales

POST

Creates a refund, return-and-refund, or exchange request for an order item.

Request Parameters

ParameterTypeRequiredDescription
numberYesOrder ID
numberYesOrder item ID
stringYesAfter-sales type
stringYesReason
numberYesRequested quantity
arrayNoProof image URL list

Response Example

{
  : {
    : 730001,
    : "AS202606031055007301",
    : "SUBMITTED",
    : "2026-06-03 10:55:00"
  },
  : ""
}

2. List after-sales

GET

Returns a paginated list of the current user's after-sales requests.

Request Parameters

ParameterTypeRequiredDescription
stringNoAfter-sales status
numberNoPage number
numberNoItems per page

Response Example

{
  : {
    : 2,
    : [
      {
        : 730001,
        : "AS202606031055007301",
        : "RETURN_AND_REFUND",
        : "REVIEWING",
        : 54900,
        : "2026-06-03 10:55:00"
      }
    ]
  },
  : ""
}

3. Get after-sales

GET

Returns after-sales request details, review result, and processing timeline.

Request Parameters

ParameterTypeRequiredDescription
numberYesAfter-sales request ID

Response Example

{
  : {
    : 730001,
    : "AS202606031055007301",
    : "REVIEWING",
    : "RETURN_AND_REFUND",
    : "The left earbud cannot be charged",
    : 54900,
    : [
      {
        : "SUBMITTED",
        : "User submitted after-sales request",
        : "2026-06-03 10:55:00"
      }
    ]
  },
  : ""
}

4. Upload after-sales

POST

Adds proof images to an after-sales request.

Request Parameters

ParameterTypeRequiredDescription
numberYesAfter-sales request ID
arrayYesProof image URL list

Response Example

{
  : {
    : 730001,
    : 3
  },
  : ""
}

5. Cancel after-sales

POST

Cancels an after-sales request that has not been completed.

Request Parameters

ParameterTypeRequiredDescription
numberYesAfter-sales request ID

Response Example

{
  : {
    : 730001,
    : "CANCELLED"
  },
  : ""
}

Notifications

1. List

GET

Returns system and transaction notifications for the current user.

Request Parameters

ParameterTypeRequiredDescription
booleanNoWhether to return unread notifications only
numberNoPage number
numberNoItems per page

Field Values

FieldValueDescription
Unread
Read

Response Example

{
  : {
    : 8,
    : [
      {
        : 99001,
        : "ORDER_SHIPPED",
        : "UNREAD",
        : "Order shipped",
        : "Your order MM202606031030008801 has been shipped. You can view tracking details on the order page.",
        : "2026-06-03 16:20:00"
      }
    ]
  },
  : ""
}

2. Mark notifications as

POST

Marks a batch of notifications as read.

Request Parameters

ParameterTypeRequiredDescription
arrayYesNotification ID list

Response Example

{
  : {
    : 3
  },
  : ""
}

Admin Operations

1. Get operation

GET

Returns order count, sales amount, after-sales count, and inventory risk overview for operators.

Request Parameters

ParameterTypeRequiredDescription
stringYesStart date in YYYY-MM-DD format
stringYesEnd date in YYYY-MM-DD format

Response Example

{
  : {
    : 328,
    : 18992000,
    : 12,
    : 7,
    : [
      {
        : 501,
        : "Aurora Wireless Noise-Cancelling Earbuds",
        : 86
      }
    ]
  },
  : ""
}

2. List inventory

GET

Returns SKU inventory change records for operators.

Request Parameters

ParameterTypeRequiredDescription
numberNoSKU ID
stringNoInventory change type
stringNoStart date
stringNoEnd date
numberNoPage number
numberNoItems per page

Response Example

{
  : {
    : 42,
    : [
      {
        : 180001,
        : 801,
        : "ORDER_LOCK",
        : -1,
        : 57,
        : 56,
        : "MM202606031030008801",
        : "2026-06-03 10:30:05"
      }
    ]
  },
  : ""
}

3. Adjust

POST

Manually adjusts available stock for a SKU.

Request Parameters

ParameterTypeRequiredDescription
numberYesSKU ID
numberYesAdjustment quantity. Positive values increase stock and negative values decrease stock
stringYesAdjustment reason

Response Example

{
  : {
    : 180002,
    : 801,
    : 66
  },
  : ""
}

4. Update product sale

PATCH

Updates whether a product is visible and purchasable in the storefront.

Request Parameters

ParameterTypeRequiredDescription
numberYesProduct ID
stringYesProduct status

Response Example

{
  : {
    : 501,
    : "ON_SALE",
    : "2026-06-03 17:10:00"
  },
  : ""
}

5. List order operation

GET

Returns internal operation notes for an order.

Request Parameters

ParameterTypeRequiredDescription
numberYesOrder ID

Response Example

{
  : [
    {
      : 25001,
      : "Customer requested weekend delivery. Warehouse has been notified.",
      : "Operator Zoe",
      : "2026-06-03 11:20:00"
    }
  ],
  : ""
}

6. Create order operation

POST

Adds an internal operation note to an order.

Request Parameters

ParameterTypeRequiredDescription
numberYesOrder ID
stringYesNote content

Response Example

{
  : {
    : 25002,
    : "2026-06-03 17:20:00"
  },
  : ""
}