先决条件: 一个携带
CREATE_SHARE_LINK 范围的 Bearer 访问令牌。基本认证会被拒绝。联系你的销售代表以开启访问权限。参见 Authentication。“托管”/“开放式”的含义。 托管 链接指向 Fluz 托管的激活页面。开放式 意味着生成的虚拟卡是网络卡(Visa/Mastercard 类型),可在多家商户消费,受你的项目规则约束——而非单一品牌的封闭式礼品卡。
工作原理
1
你生成链接
调用
generateVCShareLinks,传入优惠、卡片限额、数量、资金来源和一种交付方式。每个链接代表一张卡,拥有各自的限额,并从你指定的消费账户出资。2
Fluz 为每个链接创建一个分享请求
每个链接映射到一个分享请求(
PENDING)和一个托管 URL。3
链接被送达
使用
GENERATE_URL 时,你会获得可自行分发的 URL。使用 EMAIL 或 PHONE_NUMBER 时,Fluz 会为你向每位收件人发送一个链接。4
收件人激活并领取卡片
收件人打开链接,并通过一次性验证码验证其手机号——无需下载 App,无需密码。卡片限额会在领取时而非生成链接时,从你的消费账户中预扣。卡片在领取后不会自动展示;展示卡片会提示收件人输入其 PIN,若尚未设置则需先创建。完整流程参见 Recipient Experience。
可用性与范围
卡片分享链接对象类型为
VIRTUAL_CARD,卡片类型为 SINGLE_LOAD。
操作参考
共有三项公开操作,均受CREATE_SHARE_LINK 范围控制:
所有“发送卡片”操作均位于 Fluz GraphQL API:
POST https://<your-fluz-api-host>/api/v1/graphql,并带 Authorization: Bearer <access_token> 头。令牌必须携带 CREATE_SHARE_LINK 范围——否则每个操作都会返回 “Missing permissions! Please contact your sales rep to get access to generate VC share links.”
generateVCShareLinks
创建quantity 个分享请求,并为每个请求返回一个托管链接。
输入字段
资金来源。
userCashBalanceId(属于你作为发送方账户的消费账户)是主要且必需的资金来源。可选地将 usePrepaymentBalance 和/或 useRewardsBalance 设为 true,以便在领取时消费账户余额不足时,Fluz 回退使用你的预付或奖励余额。银行账户与银行卡目前不支持作为资金来源。收件人识别与交付方式(shareMethod)
EXISTING_USER 与 REGISTER_USER 都会在 generateVCShareLinks 调用中创建虚拟卡,而非将卡片创建延后到领取时。完整的 EXISTING_USER 流程,包括如何先用 registerUser 注册收件人,参见 Register & Send。校验规则
cardLimit必须为整数且不小于项目最小值。offerId必须是一个针对激活优惠且其商户可分享的有效 UUID v4。quantity必须为整数。- 与
shareMethod对应的收件人字段(recipientListEmail、recipientListPhone、recipientUserIds或recipientRegistrations)长度必须等于quantity。不匹配将返回清晰错误,且不会创建任何记录。 recipientUserIds与recipientRegistrations互斥,且与交付列表字段互斥。recipientUserIds中的每个 ID 必须是有效、存在的 Fluz 用户。userCashBalanceId为必填,且必须是发送方账户所拥有的有效 UUID v4。usePrepaymentBalance与useRewardsBalance为可选回退资金来源,可同时启用。- 无效卡片类型或畸形输入会返回清晰错误,且不会创建记录。
示例
响应
shareLinks 是一个托管 URL 数组,数量等于 quantity,每个形式为 https://fluz.app/virtual-prepaid-card/{share_request_id}。
getVCShareLinks
列出先前生成的分享链接,以便你查看状态、收件人、到期时间以及已发行的卡片。输入字段
响应字段(GeneratedShareLink)
示例
deactivateVCShareLinks
停用(使过期)你生成的链接——例如某个批次误发,或你需要撤销未被领取的链接。停用后链接状态将设为EXPIRED;未被领取的链接将无法再被领取。
输入字段
从
getVCShareLinks 获取批次 ID。
"3 share requests successfully deactivated!"。
到期与冻结
链接的到期日期具有双重作用:- 链接到期——在此日期之后,未领取的链接将无法再被领取。
- 卡片冻结/锁定日期——对于已发行的卡,此日期为锁定日期(当天结束时)。此后,卡片被冻结且无法消费。
- 卡片失效日与冻结日期所在月份的月末对齐(例如,冻结日为 2026/6/15,则卡片失效日为 2026/6/30)。
daysUntilExpiration 设置窗口。若省略,则使用项目默认(30 天)。该日期会展示给收件人(通常作为“有效期至”)——参见 Recipient Experience。
状态与错误参考
分享对象状态
对于当链接过期、被撤销或已被领取时收件人所见状态,参见面向收件人的链接错误。
常见 API 错误
注意事项与限制
- 返回的 URL 为托管目的地而非短链。 内部上,链接也会由短链服务包装,但 API 返回规范的托管 URL(
/virtual-prepaid-card/{share_request_id})。请按原样分发该 URL。 - 尽管模式标记为可选,
userCashBalanceId实际上是必填的。 - 隐藏/内部字段不属于此 API。 对象类型与卡片类型固定为(
VIRTUAL_CARD/SINGLE_LOAD)。银行账户与银行卡出资尚未启用;请勿发送。当前仅支持usePrepaymentBalance与useRewardsBalance作为额外资金来源。 - 不支持托管的礼品卡链接。 此 API 仅用于虚拟卡。
下一步
收件人体验
收件人在打开托管链接时所见内容,以及管理其卡片的规则。
注册并发送
使用
EXISTING_USER 预先注册收件人并立即创建其卡片,而不是等到领取时。创建批量订单
一次性发行多张卡,用于程序化分发。