Z Zise Developers

改商户侧属性(昵称、语言)

PATCH /v1/members/{id} scope: members:write
商户自身 x-idempotency-key

只有两个字段可改nicknamenotify_lang。传别的键会被忽略;

一个可改字段都没传时回 invalid_request(这是刻意的 ——

一次什么都没改的 200 会让你以为改成功了)。

两个字段都是静默截断而不是报错:昵称截到 60 字符、语言码截到 12。

所以回读一下响应里的值,别假设你发什么就存什么。

邮箱与 external_member_id 不可改

路径参数

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

请求体

字段类型必填说明
nickname string 可选 展示昵称。超过 60 字符静默截断
notify_lang string 可选 通知语言码(如 zh-Hans / en)。超过 12 字符静默截断; 我方不校验它是不是一个受支持的语言,认不出时通知按缺省语言发。

响应

200已更新,回读整行
{
  "id": "mem_9f1c0c8e-6f2a-4c1d-9d0b-2a7e5b3f8c41",
  "external_member_id": "u-10086",
  "uid": "80031427",
  "email": "alice@example.com",
  "nickname": "Alice",
  "status": "normal",
  "kyc_level": 1,
  "created_at": "2026-08-12T09:30:00.000Z"
}
400invalid_request body 非 JSON,或一个可改字段都没传
404member_not_found(含「属于别的商户」)
409idempotency_key_reused · idempotency_in_progress
请求
curl -X PATCH 'https://api.zise.com/v1/members/{id}' \
  -H 'x-auth-token: Bearer $TOKEN' \
  -H 'x-idempotency-key: $IDEMPOTENCY_KEY' \
  -H 'content-type: application/json' \
  -d '{
    "nickname": "Alice",
    "notify_lang": "zh-Hans"
  }'
const res = await fetch("https://api.zise.com/v1/members/{id}", {
  method: "PATCH",
  headers: {
    "x-auth-token": "Bearer $TOKEN",
    "x-idempotency-key": "$IDEMPOTENCY_KEY",
    "content-type": "application/json",
  },
  body: JSON.stringify({
    "nickname": "Alice",
    "notify_lang": "zh-Hans"
  }),
});
// 金额按字符串读,别让它变成 number
const data = await res.json();
import requests

res = requests.patch(
    "https://api.zise.com/v1/members/{id}",
    headers={
        "x-auth-token": "Bearer $TOKEN",
        "x-idempotency-key": "$IDEMPOTENCY_KEY",
        "content-type": "application/json",
    },
    json={
      "nickname": "Alice",
      "notify_lang": "zh-Hans"
    },
)
# 金额用 Decimal(str(...)),不要 float
data = res.json()
req, _ := http.NewRequest("PATCH", "https://api.zise.com/v1/members/{id}",
    strings.NewReader(`{
  "nickname": "Alice",
  "notify_lang": "zh-Hans"
}`))
req.Header.Set("x-auth-token", "Bearer $TOKEN")
req.Header.Set("x-idempotency-key", "$IDEMPOTENCY_KEY")
req.Header.Set("content-type", "application/json")
res, err := http.DefaultClient.Do(req)
// 金额字段用 string 接,不要 float64
HttpRequest req = HttpRequest.newBuilder()
    .uri(URI.create("https://api.zise.com/v1/members/{id}"))
    .header("x-auth-token", "Bearer $TOKEN")
    .header("x-idempotency-key", "$IDEMPOTENCY_KEY")
    .header("content-type", "application/json")
    .method("PATCH", HttpRequest.BodyPublishers.ofString("""
{
  "nickname": "Alice",
  "notify_lang": "zh-Hans"
}
"""))
    .build();
// 金额字段用 String / BigDecimal,不要 double
$ch = curl_init('https://api.zise.com/v1/members/{id}');
curl_setopt_array($ch, [
  CURLOPT_CUSTOMREQUEST => 'PATCH',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_HTTPHEADER => [
    'x-auth-token: Bearer $TOKEN',
    'x-idempotency-key: $IDEMPOTENCY_KEY',
    'content-type: application/json',
  ],
  CURLOPT_POSTFIELDS => <<<'JSON'
{
  "nickname": "Alice",
  "notify_lang": "zh-Hans"
}
JSON,
]);
$res = curl_exec($ch);
// 金额用 bcmath / 字符串,不要 floatval
200
{
  "id": "mem_9f1c0c8e-6f2a-4c1d-9d0b-2a7e5b3f8c41",
  "external_member_id": "u-10086",
  "uid": "80031427",
  "email": "alice@example.com",
  "nickname": "Alice",
  "status": "normal",
  "kyc_level": 1,
  "created_at": "2026-08-12T09:30:00.000Z"
}