**版本：202607**

# 查询兑换活动

**GET** `/openapi/2026-07/loyalty/redemption-campaigns`

查询积分可兑换折扣码的活动列表

## 请求

**Query参数**

- `member_id` string

  可选会员 ID,传入时仅返回该会员可兑换活动
- `status` string

  活动状态:active 或 inactive;不传返回全部
- `cursor` string

  翻页游标
- `limit` int32

  每页条数,默认 50,最大 200

## 响应

**200**

OK

**application/json**

**数据结构 | 示例**

**数据结构**

- `code` string

  错误码
- `message` string

  错误信息
- `data` object

  - `active_points` int64

    会员当前可用积分,请求包含会员 ID 时返回
  - `items` object[]

    兑换活动列表

    *   Array \[

    - `campaign_id` string

      活动唯一 ID
    - `name` string

      活动名称
    - `event_type` string

      内部事件类型,例如 redeem\_discount\_code
    - `activity_type` string

      活动类型:order\_discount、product\_discount、free\_shipping 或 buy\_x\_get\_y
    - `active` boolean

      活动是否开启
    - `redeem_points` int64

      单次兑换需要消耗的积分
    - `limit_redeem_count` int32

      单会员最大兑换次数,0 表示无限制
    - `member_used_times` int64

      该会员已兑换次数,仅在已知会员上下文时返回
    - `execution_schedule` object

      活动有效期规则(对应 vo.ExecutionScheduleRule),强类型映射

      - `type` string

        周期类型:time\_range / weekly / monthly / cycle
      - `effective_started_at` string

        开始时间,RFC3339,空表示无开始约束
      - `effective_ended_at` string

        结束时间,RFC3339,空表示长期有效
      - `months` string[]

        指定月份,type=monthly 时生效,数值字符串(1-12)
      - `days` string[]

        指定天:weekly 时 0-6 表示周日-周六;monthly 时 1-31 表示月内日期
      - `date` string

        指定日期(如 yyyy-MM-dd)
    - `member_condition` object

      适用会员范围

      - `type` string

        类型:scope 或 expression
      - `scope` object

        type 为 scope 时的范围参数
      - `expression` object

        type 为 expression 时的表达式参数
    - `campaign_reward` object

      兑换奖励配置

      - `discount_code_activity` object

        折扣码活动配置;event\_type=redeem\_discount\_code 时返回

        - `name` string

          活动名称
        - `discount_type` string

          折扣类型:percentage / fixed\_amount / free\_shipping / bxgy
        - `discount_value` string

          折扣值;percentage 为百分比数字字符串(如 "10"),fixed\_amount 为金额字符串(如 "10.00"),free\_shipping / bxgy 留空
        - `prerequisite_type` string

          前置条件类型:none / subtotal / quantity
        - `prerequisite_value` string

          前置条件值:subtotal 为金额字符串,quantity 为数量
        - `max_free_shipping` string

          免邮上限(免邮码用),-1 表示无上限。用 string 保留小数
        - `applicable_rule` object

          适用商品规则

          - `applicable_type` string

            适用类型:all / include\_products / include\_collections
          - `applicable_product_ids` string[]

            applicable\_type=include\_products 时的商品 ID 列表
          - `applicable_variant_ids` string[]

            applicable\_type=include\_products 时的 SKU/variant ID 列表
          - `applicable_collection_ids` string[]

            applicable\_type=include\_collections 时的合集 ID 列表
        - `obtain_products` object

          获取商品规则(BXGY 专用)

          - `applicable_rule` object

            可获取商品的适用规则

            - `applicable_type` string

              适用类型:all / include\_products / include\_collections
            - `applicable_product_ids` string[]

              applicable\_type=include\_products 时的商品 ID 列表
            - `applicable_variant_ids` string[]

              applicable\_type=include\_products 时的 SKU/variant ID 列表
            - `applicable_collection_ids` string[]

              applicable\_type=include\_collections 时的合集 ID 列表
          - `product_count` uint32

            获取商品数量
          - `obtain_type` string

            获取商品优惠类型:free / percentage / fixed\_amount
          - `obtain_value` string

            优惠值;decimal 字符串
        - `use_with_other` boolean

          是否允许跟其他折扣叠加
        - `limit_user_discount` int32

          每人活动使用次数上限,-1 表示无上限
        - `limit_code_user_discount` int32

          每人单码使用次数上限,-1 表示无上限
        - `limit_order_discount` int32

          每笔订单使用次数上限,-1 表示无上限
        - `limit_code_max_discount` int32

          单码最大使用次数,-1 表示无上限
        - `started_at` string

          活动开始时间;ISO 8601 UTC
        - `ended_at` string

          活动结束时间;ISO 8601 UTC,空串表示长期有效
    *   \]
  - `next_cursor` string

    下一页游标
  - `has_more` boolean

    是否还有下一页
  - `limit` int32

    本次返回的每页条数

```json
{
  "code": "string",
  "message": "string",
  "data": {
    "active_points": 0,
    "items": [
      {
        "campaign_id": "string",
        "name": "string",
        "event_type": "string",
        "activity_type": "string",
        "active": true,
        "redeem_points": 0,
        "limit_redeem_count": 0,
        "member_used_times": 0,
        "execution_schedule": {
          "type": "string",
          "effective_started_at": "string",
          "effective_ended_at": "string",
          "months": [
            "string"
          ],
          "days": [
            "string"
          ],
          "date": "string"
        },
        "member_condition": {
          "type": "string",
          "scope": {},
          "expression": {}
        },
        "campaign_reward": {
          "discount_code_activity": {
            "name": "string",
            "discount_type": "string",
            "discount_value": "string",
            "prerequisite_type": "string",
            "prerequisite_value": "string",
            "max_free_shipping": "string",
            "applicable_rule": {
              "applicable_type": "string",
              "applicable_product_ids": [
                "string"
              ],
              "applicable_variant_ids": [
                "string"
              ],
              "applicable_collection_ids": [
                "string"
              ]
            },
            "obtain_products": {
              "applicable_rule": {
                "applicable_type": "string",
                "applicable_product_ids": [
                  "string"
                ],
                "applicable_variant_ids": [
                  "string"
                ],
                "applicable_collection_ids": [
                  "string"
                ]
              },
              "product_count": 0,
              "obtain_type": "string",
              "obtain_value": "string"
            },
            "use_with_other": true,
            "limit_user_discount": 0,
            "limit_code_user_discount": 0,
            "limit_order_discount": 0,
            "limit_code_max_discount": 0,
            "started_at": "string",
            "ended_at": "string"
          }
        }
      }
    ],
    "next_cursor": "string",
    "has_more": true,
    "limit": 0
  }
}
```
