先決條件: 具備
CREATE_SHARE_LINK 權限範圍的 Bearer 存取權杖。Basic auth 會被拒絕。請聯絡你的業務代表以啟用存取。請參閱 Authentication。什麼是「託管」/「open-loop」。 託管 連結會導向 Fluz 託管的啟用頁面。Open-loop 指產生的虛擬卡為網路卡(Visa/Mastercard 類型),可依你的計畫規則在多個商家使用——而非單一品牌的封閉式禮品卡。
運作方式
1
你產生連結
呼叫
generateVCShareLinks,帶入 offer、卡片限額、數量、資金來源與遞送方式。每個連結代表一張卡,各自擁有其限額,並由你指定的消費帳戶資助。2
Fluz 為每個連結建立一個分享請求
每個連結會對應一個分享請求(
PENDING)與一個託管 URL。3
連結被遞送
使用
GENERATE_URL 時,你會取得可自行分發的 URL。使用 EMAIL 或 PHONE_NUMBER 時,Fluz 會替你將連結發送給各收件人。4
收件人啟用並領取卡片
收件人開啟連結並以一次性驗證碼驗證手機號碼——無須下載 App、無須密碼。卡片限額會在「領取時」而非「連結產生時」自你的消費帳戶扣抵。卡片在領取後不會自動顯示卡號;顯示時會提示收件人輸入其 PIN,或若尚未設定則先建立 PIN。完整流程請參見 Recipient Experience。
可用性與範圍
卡片分享連結的物件類型為
VIRTUAL_CARD,卡片類型為 SINGLE_LOAD。
作業參考
共有三個公開作業,皆受CREATE_SHARE_LINK 權限範圍控管:
所有 Send Cards 作業皆在 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必須是 啟用中 的 offer 的有效 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})。請按回傳值原樣分發。 - 儘管 schema 標示為選填,
userCashBalanceId在實務上為必填。 - 隱藏/內部欄位不屬於此 API。 物件類型與卡片類型為固定值(
VIRTUAL_CARD/SINGLE_LOAD)。銀行帳戶與銀行卡資金尚未啟用;請勿傳送。usePrepaymentBalance與useRewardsBalance是目前唯一支援的額外資金來源。 - 不支援託管的禮品卡連結。 此 API 僅適用於虛擬卡。
後續步驟
收件人體驗
當收件人開啟託管連結時所見的介面與其卡片適用規則。
Register & Send
使用
EXISTING_USER 先註冊收件人並預先建立其卡片,而非於領取時才建立。建立大量訂單
一次發行多張卡片以利程式化分發。