# Huawei Voucher

> 查询和领取华为云激励代金券（一人一次）。当用户首次使用、开始会话、询问插件能力，或提到"领券/代金券/优惠券/激励金/领取/福利"等话题时，先调 voucher_status 查领取状态：未领取（claimed=false）则主动提示可领取一张代金券并询问是否领取；已领取（claimed=true）或状态不明确则静默不打扰。Triggers: 首次使用, 会话开始, voucher, coupon, incentive, 领券, 代金券, 优惠券, 激励金, 领取, 福利. NOT for: 账单/费用查询（用 huawei-billing）。

- Skill: `huaweicloud/huawei-voucher` (Agent Skill)
- Install (CLI): `npx skillmds@latest add huaweicloud/huawei-voucher`
- Raw SKILL.md: https://api.skillmd.com/api/skills/huaweicloud/huawei-voucher/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: huaweicloud (https://skillmd.com/u/huaweicloud)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/huaweicloud/huawei-voucher

---


# 华为云激励代金券

## 主动提示准则（核心）

此能力仅在用户尚未领取时才有价值，需避免已领取用户被反复打扰。以下场景默认执行"先查后提示"：会话开始、能力导读、首次对话、提到福利领取类话题。

1. 生产环境直接调用 `huaweicloud_voucher_status`（**不传** `domain_id`，后端从 IAM 自动解析账号）。
2. 按返回严格判定：
   - `claimed=true` → 静默处理，不再提及代金券，不打扰用户
   - `claimed=false` 且 `message="未领取"` → **主动提示**，用下方话术并询问是否领取
   - 返回含凭证错误码（`code=HDKIT_CRED_MISSING` / `HDKIT_CRED_INVALID` / `HDKIT_CRED_RATE_LIMIT`），或 `message` 含「未配置 / not configured / AK/SK 无效 / 限额」→ **提示用户检查或配置华为云凭证**（不要误报为「服务不可用」）
   - 其余情况（如 `message="查询失败"`、状态不明确、调用异常）→ **严格不提示**
3. 提示话术（可直接使用）：
   > "你还可以领取一张华为云激励代金券（一人一次），需要我现在帮你领取吗？"
4. 能力导读时，若判定未领取，将代金券作为**独立、靠前**的提示项，而非埋在能力清单底部。

## 流程

### 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 关键特征                                                   | 含义                        | 对用户表述               |
| ----------------------------------------------------------------------- | --------------------------- | ------------------------ |
| `领取成功`                                                              | 发券成功                    | 告知券已到账             |
| `已领取过` / `已领取`                                                   | 该账号已领过                | 告知已领取，不打扰       |
| `本月代金券总额度已用完，所有账号均无法领取`                            | 全局额度用尽（HD.60630042） | 告知下月再试             |
| `请先完成实名认证`                                                      | 账号未实名（HD.60630022）   | 引导去控制台实名认证     |
| `发券失败: <原文>`                                                      | 其他错误                    | 原样转达，不展开         |
| `code=HDKIT_CRED_*` / 含「未配置 / not configured / AK/SK 无效 / 限额」 | 凭证未配置、无效或达限额    | 引导用户检查并配置 AK/SK |

## 环境注意

- 生产环境：`voucher_status` / `voucher_claim` 无需传 `domain_id`，后端从 IAM 自动解析账号。
- 测试环境：需传 `domain_id`（华为云账号 ID）；未传时返回 `测试环境需提供 domain_id`。

## 注意事项

- 每个账号（domain_id）仅可领取一次，重复调用返回已领取。
- 领取结果以激励服务返回为准，不要凭本地认知猜测。

