Vtrip B2B · 行程推荐与报价
本 Skill 面向 B2B(商家 / 分销商侧)场景,将用户的自然语言出行需求转为行程推荐,并给出基于行程的报价。脚本调用 VTRIP B2B 行程搜索接口 POST /api/vtrip/b2b/itinerary/search,返回行程方案与报价信息,由 Agent 整理后呈现给用户。
本 Skill 归属 vtrip_claw 渠道,出站固定该渠道,认证接入遵循本仓库 Skill 的统一规范(见 凭证)。
何时使用
- B2B 行程推荐:按出发地 / 目的地 / 天数 / 偏好生成行程方案
- 基于行程的报价计算:行程搜索结果含报价信息,用于为下游客户报价
- 「帮我出一个 B2B 方案」「川西 5 日游报价」「按这个需求推荐行程并算报价」
不要用于纯 C 端定制(用 vtrip-ai-itinerary),也不要在用户只想要路书展示时使用(用 vtrip-roadbook)。
凭证
本接口需要 两个 Bearer Token,均由视旅开发平台签发,通过环境变量注入,禁止写入配置文件:
| 用途 | 请求头 | 环境变量(优先) | 兼容变量 |
|---|---|---|---|
| Host / 智能体平台 | Authorization: Bearer <token> |
VTRIP_B2B_HOST_TOKEN |
VTRIP_B2B_AUTH_TOKEN |
| Supply 供应侧 | Supply-Authorization: Bearer <token> |
VTRIP_B2B_SUPPLY_TOKEN |
— |
两个 Base URL 可由环境变量覆盖,默认走开发环境:
| 请求头 | 环境变量 | 默认值 |
|---|---|---|
Host-API-Base-URL |
VTRIP_B2B_HOST_API_BASE_URL |
https://dev-ata-api.visiotrip.com.cn |
Supply-API-Base-URL |
VTRIP_B2B_SUPPLY_API_BASE_URL |
https://dev-gztmc.visiotrip.com |
- 无 Token:输出脚本返回的
requires_credentials申请与配置指引,不调用接口。 - 禁止回显、记录或传入输出的 Token / secret;脚本对响应做凭据字段阻断。
- 申请 Token 前往视旅开发平台,应用需包含
vtrip_claw。
详见 references/configure-credentials.md。
调用
行程搜索可能需要 1–3 分钟;调用前简短告诉用户正在生成。
node scripts/b2b-search.js \
--trip-needs "长沙出发,川西5日游,下周二出发,6大2小,不需要大交通,酒店要4钻的,安排下行程方案。" \
--trip-days 5 \
--destination-cities "川西" \
--departure-city "长沙" \
--departure-date "2026-09-15" \
--trip-entry-city "成都" \
--trip-exit-city "成都" \
--transport-preference "无需大交通" \
--hotel-preference "4钻酒店" \
--need-transport false
入参
| 参数 | 必填 | 说明 |
|---|---|---|
--trip-needs <自然语言> |
是 | 一句话完整出行需求(人数、偏好、大交通等) |
--trip-days <int> |
否 | 行程天数 |
--destination-cities <逗号分隔> |
否 | 目的地城市,如 川西 或 川西,九寨沟 |
--departure-city <string> |
否 | 出发城市 |
--departure-date <YYYY-MM-DD> |
否 | 出发日期 |
--trip-entry-city <string> |
否 | 行程入境/落地城市 |
--trip-exit-city <string> |
否 | 行程出境/返程城市 |
--transport-preference <string> |
否 | 大交通偏好,如 无需大交通 |
--hotel-preference <string> |
否 | 酒店偏好,如 4钻酒店 |
--included-pois <逗号分隔> |
否 | 必含 POI |
--excluded-pois <逗号分隔> |
否 | 排除 POI |
--need-transport <true\|false> |
否 | 是否需要大交通,默认 false |
> 业务入参以 --trip-needs 为主;结构化参数为可选补充,能提高搜索精度。未提供的可选参数不写入 body。
输出处理
脚本成功时输出 B2B_SEARCH_RESULT_START / END 包围的 JSON:
{
"status": "ok",
"markdown": "已生成 B2B 行程推荐与报价,共 N 个方案。",
"data": { /* 接口返回的 data */ }
}
- 将
data中的行程方案与报价信息整理为用户可读的回复(行程概览 + 报价明细)。 - 报价金额、天数、人数等只取自
data,禁止编造价格或行程。 - 失败时脚本输出
requires_credentials或errorJSON,按 references/error-handling.md 处理,不编造行程或报价。
硬性规则
- 渠道固定
vtrip_claw;不串渠道。 - 双 Token 必备:缺 Host Token 或 Supply Token 不调用接口,输出配置指引;不编造 Token。
- 不编造数据:行程与报价只来自接口返回;失败时不输出虚构方案或价格。
- 凭据安全:不回显 / 记录 / 写入 URL 或输出的 Token;响应含凭据字段时安全阻断。
- Base URL 仅 HTTPS(本机 localhost 除外);不绕过 WAF / 不改 Host 头规避网络限制。
- 品牌:湖南视旅科技有限公司 · Vtrip B2B 定制。
参考
- references/api.md:端点、请求 body、响应包络。
- references/configure-credentials.md:申请与配置双 Token。
- references/error-handling.md:错误分类。