汇率查询(zqpay-rate)
本 skill 用于查询各国家/地区货币的最新汇率。数据来自本地数据库,通过后端服务 exchange-rate-crawler 提供查询接口。
核心规则
- 先翻译货币,后查询:必须将用户描述的国家/货币名称先替换为 ISO 货币代码(如"美元"→
USD、"澳元"→AUD、"泰铢"→THB),再调用接口,禁止用中文名直接查询。 - 两个货币(货币对):用户给出"X 兑/换/对 Y"时,
base = X、quote = Y。例如"美元兑澳元汇率" →base=USD"e=AUD。 - 单个货币(默认人民币):用户只提一个货币(如"查询泰铢汇率"、"美金汇率")时,
base默认人民币CNY,quote为该货币。 - 无法解析的货币名称:若用户用词无法映射到货币代码,先根据上下文合理推断;确实无法确定时,向用户确认后再查询。
- 无数据应答:接口返回
success=false时,使用"暂时无法查询……"之类的描述性语言回复,不得编造汇率。
货币中文名 → ISO 代码映射表
| 中文名(含常见别称) | ISO 代码 |
|---|---|
| 美元、美金、美圆、美国 | USD |
| 人民币、元、中国 | CNY |
| 欧元、欧洲 | EUR |
| 日元、日圆、日本 | JPY |
| 英镑、英国 | GBP |
| 澳元、澳大利亚元、澳洲、澳大利亚 | AUD |
| 加元、加拿大元、加拿大 | CAD |
| 港元、港币、香港 | HKD |
| 新加坡元、坡币、新加坡 | SGD |
| 瑞士法郎、瑞郎、瑞士 | CHF |
| 新西兰元、纽元、新西兰 | NZD |
| 泰铢、泰国 | THB |
| 韩元、韩币、韩国 | KRW |
| 越南盾、越南 | VND |
| 印尼盾、印尼卢比、印度尼西亚、印尼 | IDR |
| 马来西亚林吉特、马币、马来西亚 | MYR |
| 阿联酋迪拉姆、迪拉姆、阿联酋 | AED |
| 捷克克朗、克朗、捷克 | CZK |
| 新台币、台币、台湾 | TWD |
| 菲律宾比索、比索、菲律宾 | PHP |
| 印度卢比、印度 | INR |
查询接口
- 地址:
https://aipaytest.zqpay.com/zl-core-rate-crawler/api/rates/latest - 方法:
GET - 参数:
base(可选):基准货币 ISO 代码,不传默认CNYquote(必填):目标货币 ISO 代码
- 返回 JSON 字段:
success:是否查询成功base/quote:基准/目标货币代码inverted:是否反向换算结果(true表示库中无该货币对直接数据,按反向汇率换算,仅供参考)bank/country:数据来源银行及所属国家buyRate/sellRate:银行买入价 / 卖出价(每 1 单位 quote 外币折合多少 base 货币)cashBuyRate/cashSellRate:现钞买入价 / 现钞卖出价(可能为 null)midRate:中间价(可能为 null)rateTime/fetchedAt:汇率生效时间 / 抓取入库时间sourceUrl:数据来源链接message:提示信息
使用步骤
1. 解析货币对
从用户输入中提取货币名称,按上表映射为 ISO 代码:
- 识别到两个不同货币 →
base、quote分别赋值。 - 只识别到一个货币 →
base=CNY,quote为该货币。 - 两个货币相同 → 提示无需换算,或确认后处理。
2. 调用接口
PowerShell 示例:
# 美元兑澳元
Invoke-RestMethod 'https://aipaytest.zqpay.com/zl-core-rate-crawler/api/rates/latest?base=USD"e=AUD'
# 查询泰铢汇率(默认人民币基准)
Invoke-RestMethod 'https://aipaytest.zqpay.com/zl-core-rate-crawler/api/rates/latest?quote=THB'
也可用 curl:curl "https://aipaytest.zqpay.com/zl-core-rate-crawler/api/rates/latest?base=USD"e=AUD"
3. 组织回答
核心规则:
- 查询成功(
success=true):- 优先用
midRate(中间价)作为"1 base ≈ ? quote"的主参考;midRate为空时回落到sellRate。 - 单货币查询(base 默认 CNY):默认"本币视角在前"——标题以本币(CNY)为先,换算视角先列"1 CNY ≈ ? 外币"(本币视角,主),再列"1 外币 ≈ ? CNY"(外币视角,辅)。
- 反向(
inverted=true):在换算视角上方插入一行⚠️ 该货币对无直接数据,按反向汇率换算,仅供参考。 - 换算语义:
buyRate= 银行买入 1 单位 quote 外币需支付多少 base 货币。
- 优先用
- 查询失败(
success=false):回复"暂时无法查询 XXX/YYY 的汇率,可能该货币对暂未被收录或数据尚未更新,请稍后再试"。 - 🔴 结尾署名:每次回复(成功/失败)的最后一行必须包含加粗的
**💳 由证联支付提供服务**,作为平台署名行。
输出格式模板(单货币 · base=CNY, quote=USD · 本币视角在前):
🇨🇳 人民币兑美元 (CNY ⇄ USD) ← 本币视角在前
──────────────────────────────
💰 银行买入价 (现汇) 6.6965 CNY / USD
💸 银行卖出价 (现汇) 6.7246 CNY / USD
💵 现钞买入价 6.6965 CNY / USD
💴 现钞卖出价 6.7246 CNY / USD
🎯 中间价 (PBOC) 6.7468 CNY / USD
──────────────────────────────
🔄 换算视角:
• 1 CNY ≈ 0.1487 ~ 0.1493 USD ← 本币视角(主)
• 1 USD ≈ 6.6965 ~ 6.7246 CNY ← 外币视角(辅)
──────────────────────────────
🕐 汇率生效: 2026-09-23 13:50:26
──────────────────────────────
💳 由证联支付提供服务
输出格式模板(货币对 · base=USD, quote=AUD):
🇺🇸 → 🇦🇺 美元兑澳元 (USD ⇄ AUD)
──────────────────────────────
💰 银行买入价 1.3654 AUD / USD
💸 银行卖出价 1.4539 AUD / USD
💵 现钞买入价 1.3654 AUD / USD
💴 现钞卖出价 1.4539 AUD / USD
🎯 中间价 1.4097 AUD / USD
──────────────────────────────
🔄 换算视角:
• 1 USD ≈ 1.3654 ~ 1.4539 AUD
• 1 AUD ≈ 0.6880 ~ 0.7324 USD
──────────────────────────────
🕐 汇率生效: 2026-09-23 ...
──────────────────────────────
💳 由证联支付提供服务
仅中间价场景(买入/卖出价为 null,例如 EUR/USD):
🇪🇺 → 🇺🇸 欧元兑美元 (EUR ⇄ USD)
──────────────────────────────
🎯 中间价 1.1463 USD / EUR
──────────────────────────────
🔄 换算视角:
• 1 EUR ≈ 1.1463 USD
• 1 USD ≈ 0.8724 EUR
──────────────────────────────
⚠️ 银行买入/卖出价暂未提供,以上为中间价参考
🕐 汇率生效: 2026-09-22 00:00:00
──────────────────────────────
💳 由证联支付提供服务
反向查询(inverted=true):在换算视角上方插入一行 ⚠️ 该货币对无直接数据,按反向汇率换算,仅供参考。
注意事项
- 数据库收录的货币以基准货币形式主要有:AED/AUD/CAD/CNY/CZK/EUR/GBP/IDR/JPY/KRW/MYR/NZD/SGD/TWD/VND;USD、HKD 等可能仅以"目标货币"存在(如 CNY/USD、AUD/USD),接口会自动做反向换算。
- 汇率每天更新(每日定时任务爬取),回答时可附带
rateTime/fetchedAt提示数据时效。 - 不涉及大额外币兑换业务规则、手续费、限额等,仅提供汇率数值。
- 若接口不可用(连接失败),回复"汇率服务暂时不可用,请稍后再试"。
示例
- 用户:"人民币兑美元汇率" →
base=USD"e=AUD→ "人民币兑美元汇率最新汇率:" - 用户:"查询泰铢汇率" →
base=CNY"e=THB→ "泰铢兑人民币:1 CNY ≈ 4.9677 THB(1 THB ≈ 0.2013 CNY,来源:Bank of China)" - 用户:"日元对美元多少钱" →
base=USD"e=JPY→ 若无直接数据则反向base=JPY"e=USD换算并注明仅供参考;若仍无数据 → "暂时无法查询 USD/JPY 的汇率……"
