**版本：202607**

# 扣减积分

**POST** `/openapi/2026-07/loyalty/members/points/deduct`

为指定会员扣减积分，支持批量操作

## 请求

**application/json**

**请求体 | 示例**

**请求体 (required)**

- `operate_type` string (required)

  会员定位方式:member\_id 或 email
- `operate_values` string[] (required)

  待扣分会员的定位值列表,单次最多 200 个
- `points` int64 (required)

  扣分数量,必须为正数;服务端记录为负向变更
- `reason` string

  业务原因,会写入积分变更记录
- `idempotency_key` string

  批次级幂等 ID
- `send_email` boolean

  是否给会员发送积分变动通知邮件

```json
{
  "operate_type": "string",
  "operate_values": [
    "string"
  ],
  "points": 0,
  "reason": "string",
  "idempotency_key": "string",
  "send_email": true
}
```

## 响应

**200**

OK

**application/json**

**数据结构 | 示例**

**数据结构**

- `code` string

  错误码
- `message` string

  错误信息
- `data` object

  - `success_count` int32

    成功条数
  - `failed_count` int32

    失败条数
  - `results` object[]

    积分变更结果列表,change\_value 为负数

    *   Array \[

    - `member_id` string

      服务端解析出的会员 ID
    - `transaction_id` string

      积分流水唯一 ID
    - `change_value` int64

      本次变动值,加分为正,扣减为负
    - `occurred_at` string

      变动生效时间,ISO-8601
    *   \]
  - `failed_values` string[]

    失败的会员定位值列表

```json
{
  "code": "string",
  "message": "string",
  "data": {
    "success_count": 0,
    "failed_count": 0,
    "results": [
      {
        "member_id": "string",
        "transaction_id": "string",
        "change_value": 0,
        "occurred_at": "string"
      }
    ],
    "failed_values": [
      "string"
    ]
  }
}
```
