Request Gift Card Purchase Approval

requestGiftCardPurchase

Submit a manager approval request to purchase a gift card. When approved, Fluz completes the purchase using the submitted parameters.

Scopes

ActionScope
Create requestREQUEST_GIFT_CARD
List requestsLIST_APPROVALS
Approve or declineMANAGE_APPROVALS

Webhook Identifiers

FieldValue
approvalTypeGIFT_CARD
approvalCode400007

Webhook events: APPROVAL_CREATE, APPROVAL_APPROVE, APPROVAL_DECLINE, and APPROVAL_HANDLER_ERROR on execution failure.

Create a Request

Input fields mirror the direct purchaseGiftCard mutation. See Purchase a Gift Card for offer and funding source details.

RequestGiftCardPurchaseInput

FieldTypeRequiredDescription
offerIdUUIDYesGift card offer ID
purchaseAmountFloatYesPurchase amount
channelSourcePlatformChannelYesRequest origin channel (for example, API)
fluzpayAmountFloatNoAmount to fund from Fluz balance
bankCardIdUUIDNoBank card funding source
bankAccountIdUUIDNoBank account funding source
paypalVaultIdUUIDNoPayPal funding source
userCashBalanceIdUUIDNoSpend account to fund the purchase
seatIdUUIDNoSeat associated with the purchase
exclusiveRateIdUUIDNoExclusive rate ID
merchantSlugStringNoMerchant slug
gcWarehouseMerchantIdUUIDNoGift card warehouse merchant ID
gcWarehouseUserRewardRateFloatNoWarehouse user reward rate
gcWarehouseDiscountRateFloatNoWarehouse discount rate
memoStringNoTransaction memo
categoryIdUUIDNoTransaction category ID

Sample Mutation

mutation {
  requestGiftCardPurchase(
    input: {
      offerId: "ed669305-5e43-40a0-9a25-7a15ed174628"
      purchaseAmount: 25.00
      channel: API
      fluzpayAmount: 25.00
      userCashBalanceId: "b1155504-ad30-4b2f-873d-b8795277b128"
    }
  ) {
    success
    messageId
    error {
      code
      message
    }
  }
}

Sample Response

{
  "data": {
    "requestGiftCardPurchase": {
      "success": true,
      "messageId": "1234567890"
    }
  }
}

Approve a Request

Call approveApprovalRequest with the approvalId. Requires MANAGE_APPROVALS.

mutation {
  approveApprovalRequest(approvalId: "07df5653-43a8-4532-9881-3ab5857bbe12") {
    success
    approvalId
    action
  }
}

On approval, Fluz purchases the gift card.

Decline a Request

Call declineApprovalRequest with the approvalId. Requires MANAGE_APPROVALS.

mutation {
  declineApprovalRequest(approvalId: "07df5653-43a8-4532-9881-3ab5857bbe12") {
    success
    approvalId
    action
  }
}

No gift card is purchased when a request is declined.