实名档案更新 —— 换一张托管屏链接
代会员调用 · 必带
x-on-behalf-of
需 x-idempotency-key
会员改名、换了证件、搬了家。在这一条之前无路可走:POST /v1/kyc/sessions 那一屏在已有档案时拒绝(每账户只许一份实名档案),于是唯一的办法是给他重新建一个会员 —— 而那会造出第二个余额为 0 的账号,旧账号里的钱与卡都留在原地。
托管屏会预填现有资料,用户只改要改的那几项;证件影像没重传的沿用原来那一份(强制重传三张照片会把「改一个字」变成一次完整的重新实名,多数人会因此放弃)。
⚠⚠ 改完一律退回待审核,包括已通过的档案。资料改了就不再是审核员看过的那一份 —— 要么拒绝编辑、要么重审,没有第三种。所以:
- 这个会员的
level会从 1 掉回 0; - 复审通过之前,发卡 / 汇款 / 高额转账都会停;
- 请在给出链接之前把这件事告诉用户,否则他会在半路上发现自己的卡不能用了。
⚠ 与卡补件那一屏刻意相反:那一屏只换证件影像、不动审核结论
(起因是某一家发卡机构的图像质量意见,不该让这个会员全线停摆)。
⚠ 该会员还没建过档时回 404 —— 不会兜底签一张建档的票。建档走 POST /v1/kyc/sessions,两条路不互相回落。
链接一次性、绑会员、24 小时。
前置条件
- 该会员已经有一份实名档案(任意状态)
请求头
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
x-idempotency-key |
string | 必填 | |
x-on-behalf-of |
string | 必填 |
响应
201票据已签发
{
"id": "kyc_1c8b7a45e9d24f3ab60e5c917f83d2b4",
"hosted_url": "https://api.zise.com/hosted/kyc/update/kyc_1c8b7a45e9d24f3ab60e5c917f83d2b4",
"expires_at": 1786000000
}400
idempotency_key_required · member_context_required · member_not_found404
not_found —— 这个会员还没有可改的实名档案。
先走 POST /v1/kyc/sessions 建档。请求
curl -X POST 'https://api.zise.com/v1/kyc/profile-sessions' \
-H 'x-auth-token: Bearer $TOKEN' \
-H 'x-on-behalf-of: $MEMBER_ID' \
-H 'x-idempotency-key: $IDEMPOTENCY_KEY'const res = await fetch("https://api.zise.com/v1/kyc/profile-sessions", {
method: "POST",
headers: {
"x-auth-token": "Bearer $TOKEN",
"x-on-behalf-of": "$MEMBER_ID",
"x-idempotency-key": "$IDEMPOTENCY_KEY",
},
});
// 金额按字符串读,别让它变成 number
const data = await res.json();import requests
res = requests.post(
"https://api.zise.com/v1/kyc/profile-sessions",
headers={
"x-auth-token": "Bearer $TOKEN",
"x-on-behalf-of": "$MEMBER_ID",
"x-idempotency-key": "$IDEMPOTENCY_KEY",
},
)
# 金额用 Decimal(str(...)),不要 float
data = res.json()req, _ := http.NewRequest("POST", "https://api.zise.com/v1/kyc/profile-sessions",
nil)
req.Header.Set("x-auth-token", "Bearer $TOKEN")
req.Header.Set("x-on-behalf-of", "$MEMBER_ID")
req.Header.Set("x-idempotency-key", "$IDEMPOTENCY_KEY")
res, err := http.DefaultClient.Do(req)
// 金额字段用 string 接,不要 float64HttpRequest req = HttpRequest.newBuilder()
.uri(URI.create("https://api.zise.com/v1/kyc/profile-sessions"))
.header("x-auth-token", "Bearer $TOKEN")
.header("x-on-behalf-of", "$MEMBER_ID")
.header("x-idempotency-key", "$IDEMPOTENCY_KEY")
.method("POST", HttpRequest.BodyPublishers.noBody())
.build();
// 金额字段用 String / BigDecimal,不要 double$ch = curl_init('https://api.zise.com/v1/kyc/profile-sessions');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'x-auth-token: Bearer $TOKEN',
'x-on-behalf-of: $MEMBER_ID',
'x-idempotency-key: $IDEMPOTENCY_KEY',
],
]);
$res = curl_exec($ch);
// 金额用 bcmath / 字符串,不要 floatval
201
{
"id": "kyc_1c8b7a45e9d24f3ab60e5c917f83d2b4",
"hosted_url": "https://api.zise.com/hosted/kyc/update/kyc_1c8b7a45e9d24f3ab60e5c917f83d2b4",
"expires_at": 1786000000
}