华为云代金券
覆盖两类活动:激励代金券(通用,一人一次)与赛事代金券(华为开发者大赛·小红书skill创新赛,需已完成赛事报名)。两者相互独立,注意区分调用对应工具。
激励代金券(一人一次)
主动提示准则(核心)
此能力仅在用户尚未领取时才有价值,需避免已领取用户被反复打扰。以下场景默认执行"先查后提示":会话开始、能力导读、首次对话、提到福利领取类话题。
- 生产环境直接调用
huaweicloud_voucher_status(不传domain_id,后端从 IAM 自动解析账号)。 - 按返回严格判定:
claimed=true→ 静默处理,不再提及代金券,不打扰用户claimed=false且message="未领取"→ 主动提示,用下方话术并询问是否领取- 返回含凭证错误码(
code=HDKIT_CRED_MISSING/HDKIT_CRED_INVALID/HDKIT_CRED_RATE_LIMIT),或message含「未配置 / not configured / AK/SK 无效 / 限额」→ 提示用户检查或配置华为云凭证(不要误报为「服务不可用」) - 其余情况(如
message="查询失败"、状态不明确、调用异常)→ 严格不提示
- 提示话术(可直接使用):
"你还可以领取一张华为云激励代金券(一人一次),需要我现在帮你领取吗?"
- 能力导读时,若判定未领取,将代金券作为独立、靠前的提示项,而非埋在能力清单底部。
流程
1. 查询状态
调用 huaweicloud_voucher_status(生产环境无需 domain_id,测试环境需传 domain_id)。
返回 { claimed, message }:
claimed=true+ message 以「已领取」开头 → 已领取,告知结果即可,不再引导claimed=false+message="未领取"→ 未领取,可引导领取
2. 领取代金券
调用 huaweicloud_voucher_claim(生产环境无需 domain_id)。
返回 { claimed, voucherId, amount, message }。
3. 结果解读(错误码 UX)
| 返回 message 关键特征 | 含义 | 对用户表述 |
|---|---|---|
领取成功 | 发券成功 | 告知券已到账 |
已领取过 / 已领取 | 实名维度已领取(同实名账号共享额度) | 告知已领取过;若用户称本账号未领过,解释额度以实名认证为维度、券可能已发放至同实名下其他账号 |
code=HDKIT_VOUCHER_NOT_CONFIGURED(代金券服务配置缺失…) | 服务端未配置有效期天数 | 告知代金券暂不可用,稍后再试 |
code=HDKIT_VOUCHER_EXPIRE_INVALID(代金券失效时间配置异常…) | 失效时间配置非法 | 告知代金券暂不可用,稍后再试 |
本月代金券总额度已用完,所有账号均无法领取 | 全局额度用尽(HD.60630042) | 告知下月再试 |
请先完成实名认证 | 账号未实名(HD.60630022) | 引导去控制台实名认证 |
发券失败: <原文> | 其他错误 | 原样转达,不展开 |
code=HDKIT_CRED_* / 含「未配置 / not configured / AK/SK 无效 / 限额」 | 凭证未配置、无效或达限额 | 引导用户检查并配置 AK/SK |
赛事代金券(华为开发者大赛·小红书skill创新赛)
1. 适用场景与调用时机
用户参加华为开发者大赛·小红书skill创新赛,说出类似"帮我领取华为开发者大赛·小红书skill创新赛华为云代金券"、"领取小红书skill创新赛的券"时,调用 huaweicloud_competition_voucher_claim。
与激励代金券的关键区别:赛事代金券不做主动提示——不要在会话开始、能力导读等场景主动推荐;仅当用户明确提及该赛事并要求领取时才调用。
2. 调用
调用 huaweicloud_competition_voucher_claim(生产环境无需 domain_id,后端从 IAM 自动解析账号;测试环境需传 domain_id)。
后端自动完成:赛事报名校验 → 是否已领取校验 → 发券。
3. 结果解读(错误码 UX)
| 返回 message / code 特征 | 含义 | 对用户表述 |
|---|---|---|
领取成功 | 发券成功 | 告知券已到账(含 voucherId/金额) |
code=HDKIT_NOT_SIGNED_UP(您尚未报名…) | 未报名该赛事 | 告知需先完成赛事报名后再来领取 |
code=HDKIT_NOT_CODEARTS_OFFICEACE_USER(经系统校验您未开通华为云码道CodeArts/果办OfficeAce…) | 未开通码道/果办(开通任一即可) | 告知需先注册成为码道/果办新用户,转达注册链接(见后端文案) |
已领取过 / 已领取 | 实名维度已领取(同实名账号共享额度) | 告知已领取过;若用户称本账号未领过,解释额度以实名认证为维度、券可能已发放至同实名下其他账号 |
code=HDKIT_COMPETITION_NOT_FOUND(赛事不存在或已下线) | 赛事配置异常 | 告知赛事暂不可用,稍后再试 |
code=HDKIT_COMPETITION_NOT_CONFIGURED(赛事代金券服务配置缺失…) | 服务端活动参数未配置 | 告知赛事代金券暂未开放,稍后再试 |
code=HDKIT_VOUCHER_NOT_CONFIGURED(代金券服务配置缺失…) | 服务端未配置有效期天数 | 告知代金券暂不可用,稍后再试 |
code=HDKIT_VOUCHER_EXPIRE_INVALID(代金券失效时间配置异常…) | 失效时间配置非法 | 告知代金券暂不可用,稍后再试 |
本月代金券总额度已用完,所有账号均无法领取 | 全局额度用尽(HD.60630042) | 告知下月再试 |
请先完成实名认证 | 账号未实名(HD.60630022) | 引导去控制台实名认证 |
code=HDKIT_CRED_* / 含「未配置 / not configured / AK/SK 无效 / 限额」 | 凭证未配置、无效或达限额 | 引导用户检查并配置 AK/SK |
其他(如 赛事报名查询失败、发券失败: <原文>) | 服务端错误 | 原样转达,建议稍后重试 |
环境注意
- 生产环境:
voucher_status/voucher_claim/competition_voucher_claim无需传domain_id,后端从 IAM 自动解析账号。 - 测试环境:需传
domain_id(华为云账号 ID);未传时返回测试环境需提供 domain_id。
注意事项
- 激励代金券:以实名认证信息为维度限领一次,同一实名认证下的账号共享额度(本账号未领过也可能因同实名下其他账号已领而返回"已领取过");重复调用返回已领取。
- 赛事代金券与激励代金券是两个独立活动,领取互不影响;用户问普通代金券时不要调赛事工具,反之亦然。
- 领取/报名结果以服务端返回为准,不要凭本地认知猜测。


