Skip to main content
先决条件: 一个携带 CREATE_SHARE_LINK 范围的 Bearer 访问令牌。Basic auth 会被拒绝。联系你的销售代表以开通权限。参见 Authentication
“托管”/“开放式”的含义。 托管 链接指向 Fluz 托管的激活页面。开放式 意味着生成的虚拟卡是一张网络卡(Visa/Mastercard 风格),可在多家商户消费,但需遵循你项目的规则——而非单品牌的封闭式礼品卡。

工作原理

1

你生成链接

使用 generateVCShareLinks,传入 offer、卡片限额、数量、资金来源和投递方式。每个链接代表一张卡片,拥有各自的限额,并从你指定的消费账户出资。
2

Fluz 为每个链接创建一个分享请求

每个链接映射到一个分享请求(PENDING)和一个托管 URL。
3

链接被投递

使用 GENERATE_URL 时,你会拿回 URL 自行分发。使用 EMAILPHONE_NUMBER 时,Fluz 会为你把链接投递给每位收件人。
4

收件人激活并领取卡片

收件人打开链接并用一次性验证码验证手机号——无需下载 App、无需密码。卡片限额会在领取时从你的消费账户中扣划,而不是在生成链接时。卡片在领取后不会自动展示;展示卡片会提示收件人输入其 PIN,若尚未设置则先创建。完整流程见 Recipient Experience
收件人仅成为该虚拟卡对象的授权用户——他们无法访问你的账户、余额或任何其他卡片。 发送卡片流程图

可用性与范围

e

礼品卡: 尽管更广的计划框架为“虚拟卡与礼品卡”,目前并没有托管的礼品卡领取流程。礼品卡余额仅作为托管虚拟卡的_潜在资金来源_出现(规划中,尚未启用)。请仅针对虚拟卡进行文档和集成开发。

操作参考

ce

共有三个公共操作,均受 CREATE_SHARE_LINK 范围控制

输入字段

s

资金来源。 userCashBalanceId(属于你这一发送方账户的消费账户)是主要且必需的资金来源。可选地将 usePrepaymentBalance 和/或 useRewardsBalance 设为 true,当消费账户在领取时余额不足时,允许 Fluz 回退使用你的预付或奖励余额。银行账户和银行卡不支持作为资金来源。

收件人识别与投递方式(shareMethod

)

EXISTING_USERREGISTER_USER 都会在 generateVCShareLinks 调用中创建虚拟卡,而不是将卡片创建延后到领取时。完整的 EXISTING_USER 流程(包括如何先用 registerUser 注册收件人)见 Register & Send

校验规则

  • cardLimit 必须为整数,且不小于项目最小值。
  • offerId 必须是活跃 offer 的有效 UUID v4,且其商户可分享
  • quantity 必须为整数。
  • shareMethod 匹配的收件人字段(recipientListEmailrecipientListPhonerecipientUserIdsrecipientRegistrations)的长度必须等于 quantity。不匹配会返回清晰错误,且不会创建任何记录。
  • recipientUserIdsrecipientRegistrations 互斥,且与投递名单字段互斥。
  • recipientUserIds 中的每个 ID 必须是有效、存在的 Fluz 用户。
  • userCashBalanceId 为必填,且必须是发送方账户所有的有效 UUID v4。usePrepaymentBalanceuseRewardsBalance 为可选回退来源,可同时开启。
  • 非法卡片类型或格式错误的输入会返回清晰错误且不会创建记录。
  • .

    示例

    对于 EXISTING_USER,先注册收件人(或直接使用现有用户的 ID)——完整流程见 Register & Send,包括 registerUser 的调用与响应处理。

    响应

    shareLinks 是托管 URL 的数组,数量等于 quantity,每个形如 https://fluz.app/virtual-prepaid-card/{share_request_id}
    响应只返回 URL。要检索你刚创建的链接的批次 ID展示 ID(用于列表与停用),请使用 getVCShareLinks 并按状态过滤。
    列出先前生成的分享链接,以便你查看状态、收件人、到期时间以及已发卡信息。

    输入字段

s

推荐流程。 第一次调用时,仅按 shareObjectStatuses 过滤。响应会给出 shareRequestBatchIdshareRequestDisplayId;在后续调用(以及停用操作)中使用这些值进行精确过滤。

响应字段(GeneratedShareLink

)

By status
By batch
By display ID
By display ID
使你生成的链接失效(过期)——例如,如果误发送了一个批次,或你需要撤销未领取的链接。将链接停用会将其状态设为 EXPIRED;未领取的链接将无法再被领取。

输入字段

s

返回一个可读的确认字符串,例如 "3 share requests successfully deactivated!"
如果收件人已领取链接(状态为 ISSUED/USED),停用链接并不会收回已发放的卡片。要停止已发卡的消费,请使用相关的卡片生命周期/冻结控制。

到期与冻结

链接的到期日期具有双重作用:
  • 链接到期——在此日期之后,未领取的链接将无法再被领取。
  • 卡片冻结/锁定日期——对于已发卡,这是锁定日期(当日结束)。此后卡片被冻结,无法消费。
  • 卡片到期与冻结日期所在月份末对齐(例如冻结日期为 2026/6/15,则卡片到期为 2026/6/30)。
  • . 在生成时通过 daysUntilExpiration 设置该窗口。若省略,则使用项目默认值(30 天)。此日期会展示给收件人(通常为“有效期至”)——参见 Recipient Experience

    状态与错误参考

    分享对象状态

s

注意事项与限制

  • 返回的 URL 是托管目标,而非短链。 在内部,链接也会被短链服务包装,但 API 返回规范的托管 URL(/virtual-prepaid-card/{share_request_id})。请按原样分发该 URL。
  • 即使 schema 标记为可选,userCashBalanceId 在实际中是必填项。
  • 隐藏/内部字段不属于本 API。 对象类型与卡片类型固定为(VIRTUAL_CARD / SINGLE_LOAD)。银行账户与银行卡资金尚未启用;不要发送它们。usePrepaymentBalanceuseRewardsBalance 是当前唯一支持的附加资金来源。
  • 不支持礼品卡托管链接。 此 API 仅适用于虚拟卡。

下一步

收件人体验

当收件人打开托管链接时会看到什么,以及其卡片所遵循的规则。

注册并发送

使用 EXISTING_USER 预先注册收件人并立即创建其卡片,而不是在领取时创建。

创建批量订单

一次性发多张卡,以便程序化分发。