Z Zise Developers
POST /v1/members/{id}/suspend

商户级停用(不影响该人在其他商户)

Scope members:write 商户自身 x-idempotency-key

只写商户级那一位。平台级封禁与黑名单是另一套,你看不到也改不了 ——

两者正交,不是同一个字段的两个取值。

停用会挡住 x-on-behalf-of:被停用的会员在代调用时回

member_not_found(与「不存在」同一响应)。所以停用之后,

你手上以他为主体的任何在途流程都会开始拿 404,那是预期行为。

body 的判据是「等不等于 false{"suspended": false} 恢复,

其余一切(缺 body、body 非 JSON、{"suspended": "false"} 字符串、

{})都停用。传字符串 "false" 会把人停掉而不报错。

恢复与停用发同一条事件 member.suspended,靠 status 区分方向 ——

另造一条 member.unsuspended 会让「这个会员现在能不能用」需要看两条

事件流。

路径参数

字段类型必填说明
id string 必填 external_member_idmem_<uuid>
字段类型必填说明
x-idempotency-key string 必填 UUID v4

请求体

字段类型必填说明
suspended boolean 可选 必须是布尔字面量 false 才表示恢复,其余任何取值 (含省略、含字符串 "false")都是停用。

响应

200已写入。status 是写入后的值(suspended / normal
{
  "id": "mem_9f1c0c8e-6f2a-4c1d-9d0b-2a7e5b3f8c41",
  "status": "suspended"
}
404member_not_found(含「属于别的商户」)
409idempotency_key_reused · idempotency_in_progress

触发的事件

调用样例
curl -X POST 'https://api.zise.com/v1/members/{id}/suspend' \
  -H 'authorization: Bearer $TOKEN' \
  -H 'x-zise-merchant: $MERCHANT_ID' \
  -H 'x-idempotency-key: $(uuidgen)' \
  -H 'content-type: application/json' \
  -d '{
    "suspended": false
  }'
const res = await fetch(
  "https://api.zise.com/v1/members/{id}/suspend",
  {
    method: "POST",
    headers: {
      "authorization": "Bearer $TOKEN",
      "x-zise-merchant": "MERCHANT_ID",
      "x-idempotency-key": "crypto.randomUUID()",
      "content-type": "application/json"
    },
    body: JSON.stringify({
      "suspended": false
    }),
  },
);
// 金额一律按字符串读,不要 JSON.parse 成 number
const data = await res.json();
import requests

res = requests.post(
    "https://api.zise.com/v1/members/{id}/suspend",
    headers={
        "authorization": "Bearer $TOKEN",
        "x-zise-merchant": "$MERCHANT_ID",
        "x-idempotency-key": "$(uuidgen)",
        "content-type": "application/json"
    },
    json={
        "suspended": false
    },
)
# 金额用 Decimal(str(...)),不要 float
data = res.json()