Nexscope

1688 Cancel Order

Request cancellation of an eligible 1688 order before fulfillment continues. Requires an active 1688 authorization and your Nexscope API key.

Cost10 credits / call
Try online
POST · https://api.nexscope.ai/alibaba1688/cancelOrderMCP · nexscope_data_alibaba1688_cancel_order

What this API does

Request cancellation of an eligible 1688 order before fulfillment continues. Requires an active 1688 authorization and your Nexscope API key. The request accepts aliOrderId, cancelReason, remark, confirmCancel. Its documented result includes aliOrderId, message, orderId, success.

1688 Cancel Order API use cases

Request order cancellation

Check the current order state and request cancellation only when the order is eligible.

Review the outcome

Inspect the cancellation result before taking further action. Cancellation does not itself issue a refund.

1688 Cancel Order API FAQ

What does the 1688 Cancel Order API return?

Request cancellation of an eligible 1688 order before fulfillment continues. Requires an active 1688 authorization and your Nexscope API key. The documented output includes aliOrderId, message, orderId, success. It corresponds to the supplied aliOrderId, cancelReason, remark, confirmCancel. Optional fields can be absent; a missing value should not be interpreted as a measured zero. Example values illustrate the response shape, rather than live account results.

How many credits does the 1688 Cancel Order API cost?

The current documented cost is 10 credits / call. This is the same cost shown at the top of this page. If a range or estimate is displayed, the final charge depends on the request. Review your available credits and the pricing page before calling the API, and check API usage records for the actual charge.

How do I call the 1688 Cancel Order API from my app or an MCP client?

Send a POST request to https://api.nexscope.ai/alibaba1688/cancelOrder with your API key as a Bearer token and the JSON inputs shown in API integration. In a compatible MCP client such as Claude or Cursor, connect Nexscope and call nexscope_data_alibaba1688_cancel_order. Use the MCP arguments shown in the MCP guide, or switch Online test to MCP to review its request before adding it to your app.

View plans and creditsConnect this API with MCP

Try this API
Endpoint
https://api.nexscope.ai/alibaba1688/cancelOrder
MCP method
nexscope_data_alibaba1688_cancel_order

Step 1 of 3 · Authenticate

Authentication

All run endpoints require a user API key. Send it as a bearer token in the Authorization header.

Authorization: Bearer nk-xxxxxxxxxxxxxxxxx
Missing or invalid API keys return an authentication error. Manage keys from .

Step 2 of 3 · Send a request

POSThttps://api.nexscope.ai/alibaba1688/cancelOrder

Run an API

Send a JSON request body using the parameters described below.

Example request

Replace YOUR_API_KEY, then run this command in your terminal.

curl -X POST 'https://api.nexscope.ai/alibaba1688/cancelOrder' \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "aliOrderId": "3309156590237728779",
  "confirmCancel": false
}'

Code example

{
  "aliOrderId": "3309156590237728779",
  "confirmCancel": false
}

Step 3 of 3 · Inspect the result

Check the response

Read code for the request status and data for the result. Open the parameter and response reference for the full field definitions.

HTTP status codes

CodeDescription
200Default HTTP response for both success and many business errors. Only outer JSON code 0 indicates success or asynchronous acceptance; inspect data for the result.
429Execution admission rate limit; honor Retry-After when present.
503Execution admission is temporarily unavailable; honor Retry-After when present.
Opt-inX-Nexscope-Http-Status: semantic maps controller-handled business errors to HTTP status on run and task routes. Pre-authentication failures, such as a missing API key (code 11209), may still return HTTP 200 before this mapping. Always check the outer JSON code; malformed requests and infrastructure failures may also return non-200 HTTP responses.
All categories/ 1688 Procurement
POSThttps://api.nexscope.ai/alibaba1688/cancelOrder

Run this API

Send a JSON request to execute this API and receive the documented response payload.

Endpoint

MethodPOST
Pathhttps://api.nexscope.ai/alibaba1688/cancelOrder
AuthBearer API key
Content-Typeapplication/json

Before testing 1688 procurement

Examples illustrate the request format. Product, SKU, address, logistics and order IDs are not verified for your account. Replace them with actual values before running a request.

Authorization and where to get your values
  1. Get an authorization URL

    Use your Nexscope API key and an accountName label of your choice. Your Nexscope key identifies your Nexscope account. Open the returned URL in your browser to authorize your own 1688 buyer account; its tokens are stored securely by the Nexscope backend.

    Authorization is supported by LinkFox Agent, Nexscope's strategic partner in China. You will see "LinkFox Agent" on the 1688 authorization page. Authorize your own 1688 account; Nexscope links it to your Nexscope user account.

    Use data only within the scope of your authorization and in accordance with applicable local laws, regulations, and platform terms.

    The permission descriptions and agreement notice on the 1688 authorization page are in Chinese. Use your browser's translation feature and select English to read them. Changing your browser's language alone does not switch these sections to English.

    1688 authorization page — English reference translation
    English reference translation of the 1688 authorization form showing LinkFoxAgent, access to member information, the consent notice and empty login fields.

    This translated screenshot is provided for reference only. Please refer to the actual 1688 authorization page and applicable agreements. The translation does not change the official page or indicate that your account is authorized.

    Open the full-size translated screenshot

    Complete authorization within 10 minutes of requesting the URL. If the link expires or authorization fails, request a new URL and try again. Check authorized accounts afterward; the redirect page alone does not verify authorization.

    Getting an authorization URL and checking authorized accounts each cost 10 credits per call. Internal token exchange and refresh are not charged separately. Other procurement calls use their configured credit price.

  2. Check authorized accounts

    Continue with buyer operations only when an account has status=ACTIVE and expired=false. Returning from the authorization page alone does not confirm success. Tokens and refresh are handled by the backend.

  3. Use a real product ID from a selected 1688 product or search result. Query its SKUs and use a returned specId when selecting a specification.

    Query your addresses and select a returned addressId, or supply the documented addressParam.

    Use your existing order ID or the orderId returned by order creation. Send it as aliOrderId, orderIdList or orderIds as required by the selected API. Keep all IDs as strings. Existing-order queries do not require creating a new order.

    For a shipment, select logisticsId from the order logistics result. For an invoice, copy each order's amount from the invoice amount result unchanged in cents and provide your actual invoice title details.

Request parameters and response index

Each link opens the complete request schema, required and conditional fields, types, supported values and response schema. These summaries do not replace the schemas. All operations use POST JSON and your Nexscope API key.

OperationRequest parametersBusiness response and next step
authorizeUrlaccountName: a nonblank buyer-account label.authorizeUrl: open manually and complete authorization within 10 minutes.
authorizedStoresAn empty object; the current Nexscope user is selected automatically.stores[].accountName, status and expired. Continue only with ACTIVE and expired=false.
receiveAddressListAn empty object; uses your authorized buyer account.items[].addressId and recipient/address details. Use your actual addressId.
skuofferId: a positive decimal ID string.skuList[].specId, price and amountOnSale. Select specId for a product specification.
orderPreviewaddressId or addressParam, cargoParamList and flow; optional invoiceParam.status, sumPayment, sumCarriage, discountFee, cargoList and payment/promotion options. Stop if status=false.
createOrderAddress, cargo and flow inputs; confirmCreateOrder=true. See the schema for optional creation fields; invoiceParam is preview-only.success, orderId and business messages. Save orderId for later reconciliation.
paymentUrlorderIdList: a nonempty string array; confirmGetPaymentUrl=true.success, payUrl, errorMessage and errorCode. Never open or pay automatically.
orderStatusaliOrderId: the actual order ID as a string.aliOrderId, aliStatus and normalizedStatus.
logisticsaliOrderId: the actual order ID as a string.logisticsOrders[].logisticsId, logisticsBillNo, logisticsCompanyName and status.
logisticsTracealiOrderId; optional logisticsId from logistics.traceList[].traceTime, location, traceDescription and traceStatus. Times use Asia/Shanghai.
confirmReceivealiOrderId and confirmReceive=true.success and aliOrderId. Confirm receipt only after checking the shipment.
cancelOrderaliOrderId and confirmCancel=true; optional cancelReason and remark.success, aliOrderId, compatibility orderId and message. Cancellation is not a refund request.
invoiceAmountorderIds: a nonempty array of positive decimal ID strings.orderInvoiceAmountModelList[].orderId/amount and retCodes. Copy each amount unchanged in cents.
invoiceApplyinvoiceApplyModelList with orderId, amount, invoiceType and purchaserInvoiceTitleModel; confirmApplyInvoice=true.successList and failedList, including per-order errors. Inspect both lists even when the platform code is 0.

Send product, SKU and order IDs as strings. For direct API requests, provide flow explicitly: general, fenxiao or boutiquefenxiao. The procurement Skill scripts default an omitted flow to general. Use distribution modes only when intended.

Preview totals, shipping and discounts are in cents; cargoList.finalUnitPrice and cargoList.amount are in yuan. SKU prices and stock are indicative; the preview determines purchasability and final amounts. Keep invoiceAmount values unchanged in cents.

Nexscope returns code, msg, data, ts, time, cost and traceId. Numeric outer code=0 means platform success; HTTP 200 alone does not. The procurement result keeps its provider code/message/data wrapper; inspect the business result inside data.data, including status, success and invoice rows. The outer cost field is elapsed time, not credits.

Actions that require confirmation

Confirm each exact action and its parameters separately. The confirmation field must be the JSON boolean true, not a string or number. Changing the account, order, goods, address, invoice details or other parameters requires a new confirmation. Online test requests confirmation before execution.

  • confirmCreateOrder: Create a real order after a successful preview.
  • confirmGetPaymentUrl: Retrieve a payment link; this does not make a payment.
  • confirmReceive: Confirm receipt of the exact order.
  • confirmCancel: Attempt to cancel the exact order; this does not request a refund.
  • confirmApplyInvoice: Submit invoice applications with the confirmed title and exact per-order amounts.

Do not automatically retry an uncertain write after a timeout or network error. Check order or invoice state first, then obtain confirmation for any further attempt. Never automatically open a payment link or make a payment.

Errors and how to recover

Check the HTTP status, Nexscope outer code and business result separately. Supplier 1002/1003/1005 codes are not Nexscope outer codes. Gateway HTTP authentication or credit errors can also occur; do not rely on HTTP status alone.

  • 11209: API key is missing or does not exist. Supply your Nexscope API key; this can be returned with HTTP 200.
  • 99001: Invalid parameters or missing confirmation. Follow the English message, correct the request and confirm again when necessary. Procurement pricing configuration errors also require support to check the service configuration.
  • 13007: Buyer authorization is unavailable, or a procurement service/proxy call failed. Read the message and check authorization when indicated; not every 13007 requires reauthorization. Do not switch to another buyer or repeat an uncertain write.
  • 13011: Insufficient Nexscope credits. Check your Nexscope balance.
  • 99000: Unexpected service failure. Keep the traceId when provided and contact support; reconcile uncertain writes before any retry.
  • code=0 with business status=false or success=false: The business operation failed or partially failed. Stop dependent actions and inspect business messages and per-order results. INVOICE_ALREADY_APPLIED means the order is already invoiced; do not resubmit the whole batch.

Request parameters

NameTypeRequiredDescription
aliOrderIdstringrequired
Exact positive integer identifier. Send as a JSON string.
Example: 3309156590237728779
cancelReasonstringoptional
-
remarkstringoptional
-
confirmCancelbooleanrequired
Must be JSON true after separate explicit user confirmation. Examples default to false and do not authorize this action.
Example: false

Response example

Platform response envelope. code 0 indicates success or acceptance; data contains the business result.

{
  "code": 0,
  "cost": "0",
  "data": {
    "aliOrderId": "3309156590237728779",
    "success": true
  },
  "msg": null,
  "time": "2026-10-20T00:00:00Z",
  "traceId": null,
  "ts": "0"
}

Response fields

NameTypeRequiredDescription
codeintegeroptional
Nexscope transport/business envelope code; 0 means the request was processed. Inspect data for operation outcomes.
coststringoptional
Processing time in milliseconds, not credits.
dataobjectoptional
Data value used by this API operation.
data.aliOrderIdstringoptional
Exact positive integer identifier. Send as a JSON string.
Pattern: ^[1-9][0-9]*$
data.messagestringoptional
Cancellation is not a refund or after-sales application.
data.orderIdstringoptional
Exact positive integer identifier. Send as a JSON string.
Pattern: ^[1-9][0-9]*$
data.successbooleanoptional
Success value used by this API operation.
msgstring | nulloptional
Safe response message.
timestringoptional
Server response time.
traceIdstring | nulloptional
Request trace identifier.
tsstringoptional
Server timestamp.

Responses

CodeDescription
200Default HTTP response for both success and many business errors. Only outer JSON code 0 indicates success or asynchronous acceptance; inspect data for the result.
429Execution admission rate limit; honor Retry-After when present.
503Execution admission is temporarily unavailable; honor Retry-After when present.
Opt-inX-Nexscope-Http-Status: semantic maps controller-handled business errors to HTTP status on run and task routes. Pre-authentication failures, such as a missing API key (code 11209), may still return HTTP 200 before this mapping. Always check the outer JSON code; malformed requests and infrastructure failures may also return non-200 HTTP responses.

Data source, freshness, and limitations

Source, freshness, coverage, rate limits, and estimation notes are not specified in this API definition unless they appear in the request or response field documentation above. Do not assume official marketplace data or real-time freshness when it is not explicitly documented.

Step 1 of 2 · Connect your MCP client

MCP

V2 recommended

Connect remote agents through the standard MCP 2025-11-25 Streamable HTTP endpoint. Use OAuth 2.1 Authorization Code with PKCE, or an API key for compatibility.

POST https://api.nexscope.ai/mcp
MCP-Protocol-Version: 2025-11-25
Content-Type: application/json
Authentication

OAuth clients request the mcp:tools scope. The endpoint's 401 response advertises protected-resource metadata for authorization discovery.

Step 2 of 2 · Call the tool

Call a tool

{
  "jsonrpc": "2.0",
  "id": "tool-call-1",
  "method": "tools/call",
  "params": {
    "name": "nexscope_data_alibaba1688_cancel_order",
    "arguments": {
      "aliOrderId": "3309156590237728779",
      "confirmCancel": false
    }
  }
}

Legacy MCP v1

Existing API-key clients can continue using the compatibility endpoint. New integrations should use MCP v2.

GET / POST /mcp/legacy

What can you do with this API?

Data explained and practical use cases

AI Guide

Question

What can 1688 Cancel Order do, and when should I use it?

AI answer

Cancel Order for the currently authenticated Nexscope user. Use your Nexscope API key. Requires an ACTIVE, unexpired 1688 authorization owned by the current user. Procurement responses are live; do not cache or automatically retry writes. Cancellation is not a refund. Eligibility depends on the current 1688 order state.

Data categoryDocumented fieldsHow to use them
RequestaliOrderId, cancelReason, remark, confirmCancelProvide the required identifiers, filters, or paging inputs listed in the API document.
Responsedata.success, data.aliOrderId, data.orderId, data.messageInspect returned values and source references; availability depends on the request and upstream source.
  • Request an eligible cancellation.
    • Prompt example: “Check whether my 1688 order [ORDER_ID] is eligible to cancel. Explain the consequence and ask for my explicit approval before requesting cancellation; then report the returned business outcome.”
  • Check whether the required store authorization and input identifiers are ready.
    • Prompt example: “Before using 1688 Cancel Order, show which store authorization and exact IDs this request needs. Tell me which values are still missing.”
  • Review the operation result and any missing fields.
    • Prompt example: “For my 1688 Cancel Order request, summarize the returned business status, IDs and amounts, and identify any missing or unsuccessful values without assuming success from HTTP 200.”

This action can change an order or invoice state. Obtain explicit approval for the exact operation, submit once, and do not automatically retry an uncertain result.

Online test

Execute the current API with your API key and JSON payload. Online tests use this site's configured API environment; the Endpoint and copyable examples use the public integration address.

10 credits / callAPI usage records

Try it

Send a real request with the same contract shown in the reference.

Before testing 1688 procurement

Examples illustrate the request format. Product, SKU, address, logistics and order IDs are not verified for your account. Replace them with actual values before running a request.

Authorization and where to get your values
  1. Get an authorization URL

    Use your Nexscope API key and an accountName label of your choice. Your Nexscope key identifies your Nexscope account. Open the returned URL in your browser to authorize your own 1688 buyer account; its tokens are stored securely by the Nexscope backend.

    Authorization is supported by LinkFox Agent, Nexscope's strategic partner in China. You will see "LinkFox Agent" on the 1688 authorization page. Authorize your own 1688 account; Nexscope links it to your Nexscope user account.

    Use data only within the scope of your authorization and in accordance with applicable local laws, regulations, and platform terms.

    The permission descriptions and agreement notice on the 1688 authorization page are in Chinese. Use your browser's translation feature and select English to read them. Changing your browser's language alone does not switch these sections to English.

    1688 authorization page — English reference translation
    English reference translation of the 1688 authorization form showing LinkFoxAgent, access to member information, the consent notice and empty login fields.

    This translated screenshot is provided for reference only. Please refer to the actual 1688 authorization page and applicable agreements. The translation does not change the official page or indicate that your account is authorized.

    Open the full-size translated screenshot

    Complete authorization within 10 minutes of requesting the URL. If the link expires or authorization fails, request a new URL and try again. Check authorized accounts afterward; the redirect page alone does not verify authorization.

    Getting an authorization URL and checking authorized accounts each cost 10 credits per call. Internal token exchange and refresh are not charged separately. Other procurement calls use their configured credit price.

  2. Check authorized accounts

    Continue with buyer operations only when an account has status=ACTIVE and expired=false. Returning from the authorization page alone does not confirm success. Tokens and refresh are handled by the backend.

  3. Use a real product ID from a selected 1688 product or search result. Query its SKUs and use a returned specId when selecting a specification.

    Query your addresses and select a returned addressId, or supply the documented addressParam.

    Use your existing order ID or the orderId returned by order creation. Send it as aliOrderId, orderIdList or orderIds as required by the selected API. Keep all IDs as strings. Existing-order queries do not require creating a new order.

    For a shipment, select logisticsId from the order logistics result. For an invoice, copy each order's amount from the invoice amount result unchanged in cents and provide your actual invoice title details.

Request parameters and response index

Each link opens the complete request schema, required and conditional fields, types, supported values and response schema. These summaries do not replace the schemas. All operations use POST JSON and your Nexscope API key.

OperationRequest parametersBusiness response and next step
authorizeUrlaccountName: a nonblank buyer-account label.authorizeUrl: open manually and complete authorization within 10 minutes.
authorizedStoresAn empty object; the current Nexscope user is selected automatically.stores[].accountName, status and expired. Continue only with ACTIVE and expired=false.
receiveAddressListAn empty object; uses your authorized buyer account.items[].addressId and recipient/address details. Use your actual addressId.
skuofferId: a positive decimal ID string.skuList[].specId, price and amountOnSale. Select specId for a product specification.
orderPreviewaddressId or addressParam, cargoParamList and flow; optional invoiceParam.status, sumPayment, sumCarriage, discountFee, cargoList and payment/promotion options. Stop if status=false.
createOrderAddress, cargo and flow inputs; confirmCreateOrder=true. See the schema for optional creation fields; invoiceParam is preview-only.success, orderId and business messages. Save orderId for later reconciliation.
paymentUrlorderIdList: a nonempty string array; confirmGetPaymentUrl=true.success, payUrl, errorMessage and errorCode. Never open or pay automatically.
orderStatusaliOrderId: the actual order ID as a string.aliOrderId, aliStatus and normalizedStatus.
logisticsaliOrderId: the actual order ID as a string.logisticsOrders[].logisticsId, logisticsBillNo, logisticsCompanyName and status.
logisticsTracealiOrderId; optional logisticsId from logistics.traceList[].traceTime, location, traceDescription and traceStatus. Times use Asia/Shanghai.
confirmReceivealiOrderId and confirmReceive=true.success and aliOrderId. Confirm receipt only after checking the shipment.
cancelOrderaliOrderId and confirmCancel=true; optional cancelReason and remark.success, aliOrderId, compatibility orderId and message. Cancellation is not a refund request.
invoiceAmountorderIds: a nonempty array of positive decimal ID strings.orderInvoiceAmountModelList[].orderId/amount and retCodes. Copy each amount unchanged in cents.
invoiceApplyinvoiceApplyModelList with orderId, amount, invoiceType and purchaserInvoiceTitleModel; confirmApplyInvoice=true.successList and failedList, including per-order errors. Inspect both lists even when the platform code is 0.

Send product, SKU and order IDs as strings. For direct API requests, provide flow explicitly: general, fenxiao or boutiquefenxiao. The procurement Skill scripts default an omitted flow to general. Use distribution modes only when intended.

Preview totals, shipping and discounts are in cents; cargoList.finalUnitPrice and cargoList.amount are in yuan. SKU prices and stock are indicative; the preview determines purchasability and final amounts. Keep invoiceAmount values unchanged in cents.

Nexscope returns code, msg, data, ts, time, cost and traceId. Numeric outer code=0 means platform success; HTTP 200 alone does not. The procurement result keeps its provider code/message/data wrapper; inspect the business result inside data.data, including status, success and invoice rows. The outer cost field is elapsed time, not credits.

Actions that require confirmation

Confirm each exact action and its parameters separately. The confirmation field must be the JSON boolean true, not a string or number. Changing the account, order, goods, address, invoice details or other parameters requires a new confirmation. Online test requests confirmation before execution.

  • confirmCreateOrder: Create a real order after a successful preview.
  • confirmGetPaymentUrl: Retrieve a payment link; this does not make a payment.
  • confirmReceive: Confirm receipt of the exact order.
  • confirmCancel: Attempt to cancel the exact order; this does not request a refund.
  • confirmApplyInvoice: Submit invoice applications with the confirmed title and exact per-order amounts.

Do not automatically retry an uncertain write after a timeout or network error. Check order or invoice state first, then obtain confirmation for any further attempt. Never automatically open a payment link or make a payment.

Errors and how to recover

Check the HTTP status, Nexscope outer code and business result separately. Supplier 1002/1003/1005 codes are not Nexscope outer codes. Gateway HTTP authentication or credit errors can also occur; do not rely on HTTP status alone.

  • 11209: API key is missing or does not exist. Supply your Nexscope API key; this can be returned with HTTP 200.
  • 99001: Invalid parameters or missing confirmation. Follow the English message, correct the request and confirm again when necessary. Procurement pricing configuration errors also require support to check the service configuration.
  • 13007: Buyer authorization is unavailable, or a procurement service/proxy call failed. Read the message and check authorization when indicated; not every 13007 requires reauthorization. Do not switch to another buyer or repeat an uncertain write.
  • 13011: Insufficient Nexscope credits. Check your Nexscope balance.
  • 99000: Unexpected service failure. Keep the traceId when provided and contact support; reconcile uncertain writes before any retry.
  • code=0 with business status=false or success=false: The business operation failed or partially failed. Stop dependent actions and inspect business messages and per-order results. INVOICE_ALREADY_APPLIED means the order is already invoiced; do not resubmit the whole batch.
Endpoint
/alibaba1688/cancelOrder
MCP method
nexscope_data_alibaba1688_cancel_order
cURL
curl -X POST \
  https://api.nexscope.ai/alibaba1688/cancelOrder \
  -H "Authorization: Bearer nk-..." \
  -H "Content-Type: application/json" \
  -d '{ "aliOrderId": "3309156590237728779", "confirmCancel": false }'
Response
No response yet. Run the request to see the response here.

Related APIs