Kuaimai ERP Open Platform

website·Indexed 34 days ago

https://open.kuaimai.com

Documentation for the Kuaimai ERP Open Platform, providing API guides for integrating business workflows. It covers API calling methods, signature algorithms, and endpoints for managing stores, customers, distributors, warehouses, and product archives (including V2 product modification and addition).

Tokens
191.6K
Snippets
917
Records
1.1K
Agent score
49%

What's inside Kuaimai

  1. Understand the item/sellerCats sub-table structure

    The item/sellerCats sub-table provides information about seller-defined categories for an item. It contains the following fields:

    • id (int): The unique identifier for the seller category. Required.
    • cid (int): The category ID. Required.
    • name (string): The name of the seller category (e.g., '未分类' / Uncategorized). Required.
  2. Understand the subTable: list after-sales work order schema

    The subTable: list object contains detailed information about after-sales work orders. It tracks the lifecycle of a request from application to completion, including financial details, logistics, and platform-specific identifiers.
    {
      "id": "long (After-sales work order ID)",
      "orderType": "string (Source: 1: Platform, 2: Manual)",
      "tid": "string (Platform order number)",
      "sid": "long (System order number)",
      "created": "string (Creation timestamp, e.g., 1640966400000)",
      "afterSaleType": "integer (0: Other, 1: Refund only (shipped), 2: Return, 3: Reissue, 4: Exchange, 5: Refund only (not shipped), 7: Refuse receipt return, 8: Stall return, 9: Repair)",
      "buyerName": "string",
      "buyerPhone": "string",
      "wangwangNum": "string (Buyer's WangWang ID)",
      "goodStatus": "integer (1: Buyer not received, 2: Buyer received, 3: Buyer returned, 4: Seller received return)",
      "status": "integer (2: Unresolved, 9: Resolved, 10: Void, 11: Merged, 12: Resolving)",
      "rawRefundMoney": "string (Actual platform refund in CNY)",
      "refundMoney": "double (Actual system refund in CNY)",
      "refundPostFee": "string (Refundable shipping fee)",
      "reason": "string (1: Shipping fee, 2: Damaged, 3: Wrong/Missing, 4: Repair, 5: Invoice, 6: Not as described, 7: No longer wanted, 8: Quality issue, 9: Late shipment)",
      "textReason": "string (Original platform remark)",
      "refundWarehouseId": "long",
      "refundWarehouseName": "string",
      "refundExpressCompany": "string",
      "refundExpressId": "string (Return tracking number)",
      "remark": "string (Work order remark)",
      "dealResult": "integer",
      "platformStatus": "integer",
      "refundRemindTimeout": "string (Timeout date)",
      "shortId": "long (Short work order ID)",
      "storageProgress": "integer (0: Not stocked, 1: Partially stocked, 2: Fully stocked)",
      "shopName": "string",
      "shopShortTitle": "string",
      "shopTitle": "string (Actual shop name)",
      "source": "string (Platform: e.g., tb, jd, pdd)",
      "finished": "string (Completion time)",
      "userId": "long (Shop ID)",
      "reissueSid": "long (Trade SID for reissues/exchanges)",
      "items": "array (Collection of after-sales item details)",
      "explains": "string (After-sales explanation)",
      "tagList": "array (After-sales markers)",
      "refundWarehouseCode": "string",
      "refundableMoney": "Long (System expected refund in CNY)",
      "modified": "Long (Modification time)",
      "applyDate": "Long (Application time - Required)",
      "sourceId": "Long (Distributor ID - Required)",
      "masterId": "Long (Parent order ID if split)",
      "sourceName": "string (Distributor name - Required)",
      "receiveGoodsTime": "long (Return arrival time - Required)",
      "advanceStatus": "Integer (Refund status: -1: Not applied, 0: Platform not applied, 1: Advance payment applying, 2: Advance complete, 3: Seller refused receipt, 4: Advance closed, 5: Advance split success - Required)",
      "advanceStatusText": "String (Refund status text - Required)",
      "platformId": "String (External platform after-sales ID - Required)",
      "tradeSysMemo": "String (Customer service remark - Required)",
      "handlerStatus": "Integer (Auto-processing status: -1: Pending, 0: Processing, 1: Success, 2: Failed - Required)",
      "handlerStatusText": "String (Auto-processing status text - Required)",
      "tradeWarehouseName": "String (Original shipping warehouse name - Required)",
      "tradeWarehouseId": "Long (Original shipping warehouse ID - Required)",
      "tradeWarehouseCode": "string (Original shipping warehouse code - Required)",
      "tradeOutSid": "string (Original tracking number - Required)",
      "afterSaleApplicationTime": "Long (After-sales application time - Required)",
      "onlineStatus": "Integer (Online status: 1: Empty, 2: Pending seller agreement, 3: Pending buyer return, 4: Pending seller confirmation, 5: Seller refused refund, 6: Refund closed, 7: Refund success, 8: Pending exchange shipment, 9: Pending buyer receipt, 10: Exchange closed, 11: Exchange success - Required)",
      "onlineStatusText": "String (Online status text - Required)",
      "labelNames": "array (After-sales labels)",
      "platformCompleteTime": "Long (Platform completion time)",
      "extraWarehouseStatus": "Integer (3rd party warehouse push status: 0: Not pushed, 1: Pushed, 2: Failed)",
      "rawPlatformTid": "string (Original platform order number)"
    }
    
  3. Understand the subTable: list response structure for shop labels

    The subTable: list object provides detailed information about shops associated with a company. It includes identifiers, status flags, and source platforms.
    {
      "list": [
        {
          "userId": 12345,           // long: Shop number (Required)
          "title": "string",       // string: Shop name (Required)
          "shortTitle": "string",  // string: Shop short name (Required)
          "shopLabel": "string",    // string: Shop label
          "remark": "string",      // string: Shop remark (Required)
          "source": "string",       // string: Shop source (e.g., tb=Taobao, tm=Tmall, jd=JD, pdd=Pinduoduo, sys=System shop) (Required)
          "state": 1,                // integer: Shop state (1=Disabled, 2=Not initialized, 3=Enabled, 4=Session expired) (Required)
          "active": 1,               // integer: Activation status (0=Not enabled, 1=Enabled) (Required)
          "nick": "string",        // string: Seller nickname (Required)
          "sendContactId": 12345,    // long: Default shipping address ID from Taobao address library (Required)
          "shopId": 12345,           // long: Shop ID (Required)
          "deadline": 1765961532000, // date: Shop expiration time (Required)
          "groupName": "string"     // string: Shop group
        }
      ]
    }
  4. Reference the subTable: items data structure

    The subTable: items object contains detailed information about a product. All fields listed below are mandatory (必填).
    {
      "typeTag": "integer (Secondary classification based on type. If type=0: 0-Normal, 1-SKU processed, 2-Pure processed, 3-SKU combo, 4-Non-SKU combo)",
      "created": "string (Creation time)",
      "sysItemId": "long (System item code)",
      "weight": "double (Weight in kg)",
      "shortTitle": "string (Short product title)",
      "title": "string (Full product title)",
      "type": "string (Product type: 0-Ordinary [includes virtual/combo], 1-SKU kit, 2-Pure kit, 3-Packaging material)",
      "isSkuItem": "integer (Has SKU: 1=Yes, 0=No)",
      "picPath": "string (Product image URL)",
      "catId": "string (Product category ID)",
      "unit": "string (Unit of measure)",
      "activeStatus": "integer (Availability: 1=Enabled, 0=Disabled)",
      "hasSupplier": "integer (Associated with supplier: 1=Yes, 0=No)",
      "modified": "string (Update time)",
      "outerId": "string (Platform merchant code)",
      "makeGift": "boolean (Is marked as a gift)",
      "isVirtual": "integer (Is virtual product: 1=Yes, 0=No)",
      "skus": "array (List of SKU data)",
      "barcode": "string (Barcode)",
      "brand": "string (Brand)",
      "sellerCids": "string (Product classification IDs from seller_cat)",
      "sellerCats": "array (Product category IDs)",
      "purchasePrice": "double (Cost price)",
      "priceOutput": "double (Selling price)",
      "x": "double (Length)",
      "y": "double (Width)",
      "z": "double (Height)",
      "purchaseLinkSkuList": "array (Purchase links)",
      "listTime": "long (Listing date)",
      "boxnum": "int (Box specifications)",
      "itemTagList": "array (Product tag list)"
    }
  5. Understand the memberList sub-table structure

    The memberList sub-table provides details about members associated with a record. It contains the following fields:

    • name (string, Required): The name of the member.
    • type (int, Required): The type of the member.
    • memberId (long, Required): The unique identifier for the member.
    {
        "name": "木子小店",
        "type": 1,
        "memberId": 75729
    }
  6. Define the orders subTable schema

    The orders subTable is used to provide detailed information about individual items within an order. It includes pricing, quantity, and platform status tracking.
    {
      "orders": [
        {
          "oid": 123456789, // Platform sub-order ID (long)
          "outerId": "merchant_sku_123", // Merchant code/SKU code (string, Required)
          "price": "100.00", // Item sale price in Yuan (string, Required)
          "num": 1, // Item quantity, must be > 0 (integer, Required)
          "giftNum": 0, // If > 0, item is treated as a gift (integer)
          "payment": "95.00", // Actual paid amount in Yuan (string, Required)
          "title": "Product Name", // Item title (string)
          "picPath": "http://image.url", // Item image path (string)
          "status": "WAIT_BUYER_PAY", // Platform sub-order status (string)
          "refundStatus": "SUCCESS", // Platform refund status (string)
          "orderExt": { "key": "value" } // Sub-order extension information (object)
        }
      ]
    }
  7. Understand the suppliers sub-table data structure

    The suppliers sub-table contains detailed information about product suppliers. All fields listed below are required.
    {
      "supplierName": "string",           // Supplier name
      "caigouUrl": "string",             // Procurement link
      "discountRate": "double",          // Discount rate (0-100), e.g., 98.88
      "returnRate": "double",            // Return rate or procurement return rate (0-100), e.g., 6.67
      "supplierId": "long",              // Supplier ID
      "supplierItemOuterId": "string",   // Supplier's merchant product code
      "created": "long",                 // Creation timestamp
      "sysItemId": "long",              // System main product ID
      "supplierCode": "string",          // Supplier code
      "sysSkuId": "long",               // System product SKU ID (0 if not a SKU)
      "modified": "long",               // Update timestamp
      "supplierItemTitle": "string",     // Supplier product name
      "supplierPurchasePrice": "double"  // Supplier quote/purchase price, e.g., 98.88
    }
  8. Understand the Transfer Inbound Order list data structure

    The subTable: list contains detailed information about transfer inbound orders. Key fields include order identifiers (shortId, code), warehouse details (inWarehouseName, outWarehouseName), quantity and amount tracking (outNum, inNum, diffNum, outTotalAmount, inTotalAmount), and shipping information (receiverName, receiverMobile, receiverAddress).

    Order Status Values (status):

    • REATED: Pending Audit
    • OUTING: Outbound in progress
    • AUDITED: Audited
    • ALLOCATE: Transferring
    • FINISHED: Completed
    • CANCELED: Voided
    • MIXED: Pending audit and outbound in progress, and picking is completed.
    // Field definitions for subTable: list
    {
      "shortId": "int (Short ID)",
      "code": "string (Order Number)",
      "inWarehouseName": "string (Inbound Warehouse Name)",
      "outLocation": "int (Location Type: 12345 for Bin, Inbound Temporary, Return Temporary, Defective Temporary, General Temporary)",
      "outWarehouseName": "string (Outbound Warehouse Name)",
      "outNum": "int (Total Requested Transfer Quantity)",
      "creatorName": "string (Creator Name)",
      "creatorId": "int (Creator ID)",
      "outTotalAmount": "Double (Total Transfer Amount in CNY)",
      "receiverCity": "string (City)",
      "outWarehouseId": "int (Outbound Warehouse ID)",
      "inWarehouseId": "int (Inbound Warehouse ID)",
      "outPostFee": "Double (Total Shipping Fee in CNY)",
      "receiverDistrict": "string (District)",
      "modified": "int (Modification Timestamp)",
      "inNum": "int (Inbound Quantity)",
      "id": "int (ID)",
      "inTotalAmount": "Double (Inbound Amount in CNY)",
      "receiverName": "string (Contact Person)",
      "created": "int (Creation Timestamp)",
      "receiverMobile": "string (Phone)",
      "diffNum": "int (Difference Quantity)",
      "diffAmount": "Double (Difference Amount in CNY)",
      "actualOutTotalAmount": "Double (Actual Outbound Total Amount in CNY)",
      "receiverAddress": "string (Detailed Address)",
      "actualOutNum": "int (Actual Outbound Total Quantity)",
      "receiverState": "string (Province)",
      "status": "string (Order Status)",
      "labelName": "string (Label)",
      "refundNum": "int (Total Rejected Quantity)",
      "actualRefundNum": "int (Total Returned Quantity)"
    }
  9. Understand the suppliers subTable schema

    The suppliers subTable contains detailed information about product suppliers, including pricing, identification, and performance metrics. All fields in this table are mandatory.
    {
      "supplierName": "string",           // Supplier name
      "caigouUrl": "string",             // Procurement link
      "discountRate": "double",          // Discount rate (0-100), e.g., 98.88
      "returnRate": "double",            // Return rate or procurement return rate (0-100), e.g., 6.67
      "supplierId": "long",              // Supplier ID
      "supplierItemOuterId": "string",    // Supplier's internal product code
      "created": "long",                 // Creation timestamp
      "sysItemId": "long",              // Product ID
      "supplierCode": "string",          // Supplier code
      "sysSkuId": "long",                // SKU ID (0 if not a SKU)
      "modified": "long",                // Update timestamp
      "supplierItemTitle": "string",     // Supplier product name
      "supplierPurchasePrice": "double"   // Supplier quote/purchase price, e.g., 98.88
    }
  10. Understand the subTable: list/items data structure

    The subTable: list/items object provides detailed information about items within an after-sales ticket. It contains order details, shipping information, and the current status of the ticket.
    {
      "payTime": "string",          // Payment time
      "receiverName": "string",     // Receiver name
      "num": "integer",             // Product quantity
      "sysMemo": "string",          // System remarks
      "receiverMobile": "string",    // Contact information
      "memo": "string",             // Ticket remarks
      "title": "string",            // Product title
      "tid": "string",              // Order number
      "receiverAddress": "string",   // Shipping address
      "outSid": "string",           // Tracking number
      "mainOuterId": "string",      // Merchant code
      "buyerMessage": "string",     // Buyer message
      "consignTime": "string",      // Shipping time
      "price": "string",            // Unit price
      "sysPicPath": "string",       // Image path
      "expressCode": "string",      // Courier company code
      "outerId": "string",          // SKU merchant code
      "payment": "string",          // Actual payment amount (including shipping)
      "status": "integer"           // Ticket status: 1: Unassigned, 2: Unresolved, 3: Priority Refund, 4: Agreed, 5: Rejected, 6: Return Confirmed, 7: Shipment Confirmed, 8: Refund Confirmed, 9: Processed, 10: Voided
    }
  11. Use Kuaimai Open Platform Markdown pages for AI consumption

    Kuaimai Open Platform provides specialized Markdown versions of its documentation designed for AI models and developer tools. These pages are generated during site build from public Markdown/MDX documents, preserving the main body, headings, tables, and code blocks while removing UI-related page components to ensure AI can read the documentation content more stably.
  12. Reference the subTable: list/items data structure

    The subTable: list/items object contains detailed information about items within a repair or order list. It includes shipping details, payment information, and the current processing status of the order.
    {
      "payTime": "string",          // Payment time
      "receiverName": "string",     // Receiver name
      "num": "integer",             // Item quantity
      "sysMemo": "string",          // System remarks
      "receiverMobile": "string",    // Contact phone number
      "memo": "string",             // Work order remarks
      "title": "string",            // Item title
      "tid": "string",              // Order number
      "receiverAddress": "string",  // Shipping address
      "outSid": "string",           // Waybill number
      "mainOuterId": "string",      // Merchant code
      "buyerMessage": "string",      // Buyer message
      "consignTime": "string",     // Shipping time
      "price": "string",            // Unit price
      "sysPicPath": "string",       // Image path
      "expressCode": "string",      // Courier company code
      "outerId": "string",         // SKU merchant code
      "payment": "string",          // Actual payment amount (including shipping)
      "status": "integer"            // Order status: 1:Unassigned, 2:Unresolved, 3:Priority Refund, 4:Agreed, 5:Rejected, 6:Return Confirmed, 7:Shipment Confirmed, 8:Refund Confirmed, 9:Processed, 10:Voided
    }