# Douyin Selected Alliance Orders

List Douyin Selected Alliance settlement orders with pagination, filtering, sorting, and complete field definitions.

import ApiDebugger from '../../../../components/ApiDebugger.astro';

## Endpoint information

| Item | Value |
| --- | --- |
| Method | `GET` |
| Request URL | `https://backend.biotech-mkt.com/openapi/v1/doudian/order/union-settlement-orders` |
| Path | `/openapi/v1/doudian/order/union-settlement-orders` |
| Authentication | Bearer Access Token |
| Permission | Endpoint must be enabled and granted to the application |
| Rate limit | Configured per application and endpoint |

<ApiDebugger preset="union-settlement-orders" lang="en" />

Returns Douyin Selected Alliance orders that have already been synchronized into the platform database.

## Authentication and grant

This endpoint requires an Access Token. A platform administrator must register and enable the endpoint and grant it to the current application.

## Request parameters

### Pagination and sorting

| Parameter            | Type    | Default | Description                                        |
| -------------------- | ------- | ------- | -------------------------------------------------- |
| `page`               | integer | `1`     | Page number, starting at 1                         |
| `page_size`          | integer | `10`    | Number of records per page                         |
| `order_by`           | string  | `id`    | Sort field; `id` and `update_time` are recommended |
| `order_by_direction` | string  | `desc`  | `asc` or `desc`                                    |

### Text filters

The following parameters use contains matching:

| Parameter              | Description                      |
| ---------------------- | -------------------------------- |
| `order_id`             | Order number                     |
| `shop_name`            | Merchant name                    |
| `product_id`           | Product ID                       |
| `product_name`         | Product name                     |
| `product_img`          | Product image URL                |
| `media_type`           | Commerce media type code         |
| `flow_point`           | Order status code                |
| `app`                  | Application name                 |
| `author_buyin_id`      | Creator Buyin ID                 |
| `author_short_id`      | Creator Douyin handle            |
| `author_account`       | Creator account nickname         |
| `distributor_buyin_id` | Independent distributor Buyin ID |
| `distributor_name`     | Independent distributor nickname |

### Exact and multi-value filters

The following parameters use exact matching when sent once and set matching when sent as `field[]=a&field[]=b`:

| Parameter                    | Description                                      |
| ---------------------------- | ------------------------------------------------ |
| `media_id`                   | Video or live-room ID                            |
| `app_id`                     | Content application ID                           |
| `buyer_app_id`               | Buyer application ID                             |
| `shop_id`                    | Shop ID                                          |
| `item_num`                   | Item quantity                                    |
| `total_pay_amount`           | Total payment amount in yuan                     |
| `pay_goods_amount`           | Estimated settlement-eligible amount in yuan     |
| `settled_goods_amount`       | Actual settlement-eligible amount in yuan        |
| `estimated_commission`       | Estimated creator commission in yuan             |
| `real_commission`            | Actual creator commission in yuan                |
| `estimated_total_commission` | Estimated total commission in yuan               |
| `shop_estimated_commission`  | Estimated merchant commission expense in yuan    |
| `shop_real_commission`       | Actual merchant commission expense in yuan       |
| `ads_estimated_commission`   | Estimated distributor promotion fee in yuan      |
| `ads_real_commission`        | Actual distributor promotion fee in yuan         |
| `settled_tech_service_fee`   | Platform settlement service fee in yuan          |
| `commission_rate`            | Creator commission rate as a percentage value    |
| `ads_promotion_rate`         | Distributor promotion rate as a percentage value |
| `tenant_id`                  | Tenant ID                                        |
| `dept_id`                    | Department ID                                    |
| `created_by`                 | Creator user ID                                  |
| `updated_by`                 | Last updater user ID                             |

### Time filters

The following parameters use exact matching when sent once and an inclusive range when sent as two array values:

| Parameter          | Description                     |
| ------------------ | ------------------------------- |
| `pay_success_time` | Payment time                    |
| `confirm_time`     | Receipt confirmation time       |
| `settle_time`      | Settlement time                 |
| `refund_time`      | Refund time                     |
| `update_time`      | Alliance-side order update time |
| `created_at`       | Local record creation time      |

Use the `YYYY-MM-DD HH:mm:ss` format and URL-encode spaces.

## Request example

```bash
curl --get "https://backend.biotech-mkt.com/openapi/v1/doudian/order/union-settlement-orders" \
  --header "Authorization: Bearer $OPENAPI_ACCESS_TOKEN" \
  --data-urlencode "page=1" \
  --data-urlencode "page_size=20" \
  --data-urlencode "shop_id=10001" \
  --data-urlencode "flow_point=SETTLE" \
  --data-urlencode "update_time[]=2026-08-01 00:00:00" \
  --data-urlencode "update_time[]=2026-08-26 23:59:59"
```

## Response fields

Fields in each `data.list` item are serialized from the current database model, and `data.total` is the total number of matching records. Decimal values such as amounts and rates are typically returned as strings with two decimal places. The four `*_text` fields are currently generated by the server in Chinese; clients should use the underlying codes when they need locale-independent values.

### Response structure

| Field        | Return type     | Description                            |
| ------------ | --------------- | -------------------------------------- |
| `code`       | integer         | Business status code; `200` on success |
| `message`    | string          | Response message                       |
| `data`       | object          | Paginated response data                |
| `data.list`  | `array<object>` | Order records on the current page      |
| `data.total` | integer         | Total number of matching order records |

### Order and platform fields

| Field               | Return type | Description                                                |
| ------------------- | ----------- | ---------------------------------------------------------- |
| `id`                | integer     | Local record ID                                            |
| `order_id`          | string      | Order number                                               |
| `shop_id`           | integer     | Shop ID                                                    |
| `shop_name`         | string      | Merchant name                                              |
| `product_id`        | string      | Product ID                                                 |
| `product_name`      | string      | Product name                                               |
| `product_img`       | string      | Product image URL                                          |
| `item_num`          | integer     | Item quantity                                              |
| `media_id`          | integer     | Video or live-room ID                                      |
| `media_type`        | string      | `shop_list`, `video`, `live`, or `others`                  |
| `media_type_text`   | string      | Chinese label for the media type                           |
| `app`               | string      | Content application name                                   |
| `app_id`            | integer     | `1128` Douyin, `1112` Huoshan, `32` Xigua, or `13` Toutiao |
| `app_id_text`       | string      | Chinese label for the content application                  |
| `buyer_app_id`      | integer     | Buyer application ID; also supports `2329` for Douyin Lite |
| `buyer_app_id_text` | string      | Chinese label for the buyer application                    |
| `extra`             | string      | Other upstream data                                        |

### Status and time fields

| Field              | Return type | Description                                             |
| ------------------ | ----------- | ------------------------------------------------------- |
| `flow_point`       | string      | `PAY_SUCC`, `REFUND`, `SETTLE`, or `CONFIRM`            |
| `flow_point_text`  | string      | Chinese label for paid, refunded, settled, or confirmed |
| `pay_success_time` | string/null | Payment time                                            |
| `confirm_time`     | string/null | Receipt confirmation time                               |
| `settle_time`      | string/null | Settlement time                                         |
| `refund_time`      | string/null | Refund time                                             |
| `update_time`      | string/null | Alliance-side order update time                         |
| `created_at`       | string/null | Local creation time                                     |
| `updated_at`       | string/null | Local update time                                       |

### Amount and rate fields

During synchronization, upstream amounts in fen are divided by 100 and stored in yuan. Upstream rates expressed in ten-thousandths are divided by 100 and stored as percentage values. For example, an upstream amount of `12345` is returned as `123.45` yuan, and an upstream rate of `450` is returned as `4.50`.

| Field                          | Return type | Description                                         |
| ------------------------------ | ----------- | --------------------------------------------------- |
| `total_pay_amount`             | string      | Total payment amount, yuan                          |
| `pay_goods_amount`             | string      | Estimated settlement-eligible amount, yuan          |
| `settled_goods_amount`         | string      | Actual settlement-eligible amount, yuan             |
| `estimated_commission`         | string      | Estimated creator commission, yuan                  |
| `real_commission`              | string      | Actual creator commission, yuan                     |
| `estimated_total_commission`   | string      | Estimated total commission, yuan                    |
| `shop_estimated_commission`    | string      | Estimated merchant commission expense, yuan         |
| `shop_real_commission`         | string      | Actual merchant commission expense, yuan            |
| `ads_estimated_commission`     | string      | Estimated distributor promotion fee, yuan           |
| `ads_real_commission`          | string      | Actual distributor promotion fee, yuan              |
| `settled_tech_service_fee`     | string      | Platform settlement service fee, yuan               |
| `commission_rate`              | string      | Creator commission rate as a percentage value       |
| `ads_promotion_rate`           | string      | Distributor promotion rate as a percentage value    |
| `colonel_estimated_commission` | string      | Estimated group-leader service fee, yuan            |
| `colonel_real_commission`      | string      | Settled group-leader service fee, yuan              |
| `colonel_commission_rate`      | string      | Group-leader service fee rate as a percentage value |

### Creator, distributor, and group-leader fields

| Field                      | Return type  | Description                      |
| -------------------------- | ------------ | -------------------------------- |
| `author_buyin_id`          | string       | Creator Buyin ID                 |
| `author_short_id`          | string       | Creator Douyin handle            |
| `author_account`           | string       | Creator account nickname         |
| `aweme_id`                 | string       | Douyin UID                       |
| `distributor_buyin_id`     | string       | Independent distributor Buyin ID |
| `distributor_name`         | string       | Independent distributor nickname |
| `colonel_activity_id`      | string       | Group-leader campaign ID         |
| `colonel_institution_id`   | string       | Group-leader institution ID      |
| `colonel_institution_name` | string       | Group-leader institution name    |
| `colonel_colonel_buyin_id` | string       | Group-leader Buyin ID            |
| `tenant_id`                | integer      | Tenant ID                        |
| `dept_id`                  | integer      | Department ID                    |
| `created_by`               | integer/null | Creator user ID                  |
| `updated_by`               | integer/null | Last updater user ID             |

:::note[Data freshness]
This endpoint reads data that has already been synchronized into the platform. It does not call DouDian in real time. Use each record's `update_time` and the platform synchronization status to evaluate freshness.
:::

## Response example

```json
{
  "code": 200,
  "message": "Success",
  "data": {
    "list": [
      {
        "id": 101,
        "order_id": "U202608260001",
        "shop_id": 10001,
        "shop_name": "Example Shop",
        "product_id": "90001",
        "product_name": "Example Product",
        "item_num": 1,
        "media_type": "video",
        "media_type_text": "视频",
        "flow_point": "SETTLE",
        "flow_point_text": "结算",
        "total_pay_amount": "123.45",
        "commission_rate": "4.50",
        "pay_success_time": "2026-08-20 10:00:00",
        "update_time": "2026-08-26 12:00:00"
      }
    ],
    "total": 1
  }
}
```

## Errors and rate limits

This endpoint can return `401`, `403`, `404`, `405`, `429`, or `503`. Limits are counted independently by application ID and endpoint ID. See [Errors and Rate Limits](/en/guides/errors-rate-limits) for response headers and handling guidance.
