{
  "id": "aliexpress",
  "name": "AliExpress",
  "service": "aliexpress",
  "trust": "community",
  "domain": "aliexpress.com",
  "country": "global",
  "categories": [
    "marketplace",
    "retail"
  ],
  "version": "2026-08-08",
  "minVersion": "0.3.0",
  "keepRaw": true,
  "schema": "receipt@1",
  "match": [
    "https://www.aliexpress.com/*"
  ],
  "openUrl": "https://www.aliexpress.com/p/order/index.html",
  "auth": {
    "mode": "cookie",
    "replayHeaders": []
  },
  "api": {
    "host": "https://acs.aliexpress.com",
    "mtop": {
      "api": "mtop.aliexpress.trade.buyer.order.list",
      "v": "1.0",
      "request": {
        "H5Request": true,
        "type": "post",
        "dataType": "originaljson",
        "ecode": 1,
        "isSec": 1,
        "needLogin": true,
        "timeout": 15000
      },
      "pagePath": "params~.data~.pc_om_list_body_*.fields.pageIndex",
      "morePath": "data.data.pc_om_list_body_*.fields.hasMore",
      "startPage": 1,
      "maxPages": 100
    },
    "itemsFromKeys": {
      "at": "data.data",
      "prefix": "pc_om_list_order_",
      "sub": "fields"
    },
    "detail": {
      "as": "invoice",
      "mtop": {
        "api": "mtop.global.finance.taxation.invoice.queryorderreceiptinfo",
        "v": "1.0",
        "request": {
          "H5Request": true,
          "type": "post",
          "dataType": "originaljson",
          "ecode": 1,
          "isSec": 1,
          "needLogin": true,
          "timeout": 15000
        }
      },
      "params": {
        "orderId": "{internalId}",
        "shipToCountry": "@seed:shipToCountry",
        "_lang": "@seed:_lang",
        "timeZone": "@tz",
        "clientPlatform": "pc"
      },
      "dataPath": "data.data",
      "template": {
        "title": "{mcms.mainTitle}",
        "subtitle": "{mcms.orderSummary}",
        "meta": [
          {
            "label": "{mcms.orderIdTitle}",
            "value": "{orderId}"
          },
          {
            "label": "{mcms.orderTimeTitle}",
            "value": "{orderTime}"
          }
        ],
        "blocks": [
          {
            "title": "{mcms.shippingAddressTitle}",
            "lines": [
              "{deliveryAddress.contactName}",
              "{deliveryAddress.addressSummaryInfoDisplay}",
              "{deliveryAddress.fullPhoneNo}"
            ]
          },
          {
            "title": "{mcms.paymentTitle}",
            "lines": [
              "{paymentInfo.methodName}",
              "{paymentInfo.cardNo}",
              "{paymentInfo.paymentAmountStr}",
              "{paymentInfo.paymentDate}"
            ]
          }
        ],
        "items": {
          "title": "{mcms.itemsDetailTitle}",
          "from": "subOrders",
          "cols": [
            {
              "value": "{itemTitle}"
            },
            {
              "value": "{amount}"
            }
          ]
        },
        "totals": [
          {
            "label": "{mcms.allDiscountTitle}",
            "value": "{allDiscount}"
          },
          {
            "label": "{mcms.shippingFeeTitle}",
            "value": "{shippingFee}"
          },
          {
            "label": "{mcms.includedTax}",
            "value": "{includedTaxDisplay}"
          },
          {
            "label": "{mcms.orderTotal}",
            "value": "{orderTotal}"
          }
        ]
      }
    }
  },
  "fields": {
    "internalId": "orderId",
    "date": "orderDateText",
    "total": "totalPriceText",
    "currency": "currencyCode",
    "storeName": "storeName",
    "type": "statusText"
  },
  "changelog": [
    {
      "version": "2026-08-08",
      "changes": "Adds `content` (bilingual copy for the guide page on habeas.dev) and `brand`."
    },
    {
      "version": "2026-07-16",
      "changes": "Initial: order history via Alibaba's mtop gateway. Runs in the site tab and reuses the app's own live request payload (hook stashes it) + its lib.mtop signing (no hardcoded blob, no forged signature); paginates by bumping the component pageIndex. Orders extracted from the DIDA component response (itemsFromKeys). Per-order receipt as a self-contained printable HTML invoice, generated from mtop queryorderreceiptinfo (no seed needed — a known flat payload) via a declarative template using AliExpress's own labels."
    }
  ],
  "content": {
    "en": {
      "slug": "aliexpress-orders",
      "docs": "order receipts",
      "h1": "How to download your AliExpress order receipts",
      "intro": "AliExpress keeps your order history in your account, but the receipt for each order lives on its own screen and there is no way to take the lot with you."
    },
    "es": {
      "slug": "pedidos-aliexpress",
      "docs": "recibos de pedidos",
      "h1": "Cómo descargar tus pedidos y recibos de AliExpress",
      "intro": "AliExpress guarda tu historial de pedidos en tu cuenta, pero el recibo de cada uno vive en su propia pantalla y no hay forma de llevártelos todos."
    }
  },
  "brand": "AliExpress"
}
