Skip to main content
先決條件: 具備 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。使用 EMAILPHONE_NUMBER 時,Fluz 會替你將連結發送給各收件人。
4

收件人啟用並領取卡片

收件人開啟連結並以一次性驗證碼驗證手機號碼——無須下載 App、無須密碼。卡片限額會在「領取時」而非「連結產生時」自你的消費帳戶扣抵。卡片在領取後不會自動顯示卡號;顯示時會提示收件人輸入其 PIN,或若尚未設定則先建立 PIN。完整流程請參見 Recipient Experience
收件人僅成為該虛擬卡物件的授權使用者——他們不會取得你帳戶、餘額或其他卡片的存取權。 Send cards flow diagram

可用性與範圍

卡片分享連結的物件類型為 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.” 建立 quantity 個分享請求,並為每個請求回傳一個託管連結。

輸入欄位

資金來源。 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)——完整教學包含 registerUser 呼叫與回應處理,請見 Register & Send

回應

shareLinks 是一個託管 URL 陣列,每個對應 quantity 的一個連結,格式為 https://fluz.app/virtual-prepaid-card/{share_request_id}
回應只會回傳 URL。若要取得你剛建立之連結所需的批次 ID展示用 ID(用於列表與停用),請以狀態為篩選條件呼叫 getVCShareLinks
列出先前產生的分享連結,以便檢視狀態、收件人、到期日與已發行卡片。

輸入欄位

建議流程。 第一次呼叫時,僅以 shareObjectStatuses 篩選。回應會提供 shareRequestBatchIdshareRequestDisplayId;後續呼叫(以及停用)可利用這些值做更精確的篩選。

回應欄位(GeneratedShareLink

範例

停用(使失效)你所產生的連結——例如批次誤送或需要撤銷未被領取的連結。停用會將連結設為 EXPIRED;未領取的連結將無法再被領取。

輸入欄位

getVCShareLinks 取得批次 ID。
回傳人類可讀的確認字串,例如 "3 share requests successfully deactivated!"
若收件人已領取連結(狀態 ISSUED/USED),停用連結不會回收已發行的卡片。若要停止已發行卡的消費,請使用相關的卡片生命週期/凍結控管。

到期與凍結

連結的到期日具備雙重用途:
  • 連結到期——在此日期之後,未領取的連結無法再被領取。
  • 卡片凍結/鎖定日——對於已發行的卡片,這是鎖定日(當天結束)。之後卡片會被凍結且不可消費。
  • 卡片效期會對齊至凍結日所在月份的月底(例如:凍結日為 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)。銀行帳戶與銀行卡資金尚未啟用;請勿傳送。usePrepaymentBalanceuseRewardsBalance 是目前唯一支援的額外資金來源。
  • 不支援託管的禮品卡連結。 此 API 僅適用於虛擬卡。

後續步驟

收件人體驗

當收件人開啟託管連結時所見的介面與其卡片適用規則。

Register & Send

使用 EXISTING_USER 先註冊收件人並預先建立其卡片,而非於領取時才建立。

建立大量訂單

一次發行多張卡片以利程式化分發。