Sign in
Guides / Integration guides

Sending Rewards

Sending a gift card reward involves four steps: choosing a card type, setting up a delivery email, specifying your recipients, and placing the order.

Step 1 — Choose a card type

Giftronaut supports two card types: Branded Card and Choice Card. If you're unsure which to use, Choice Card is the most commonly used option and works well when you want to give recipients flexibility.

Branded CardChoice Card
Brand selectionYou choose (e.g. Visa, Amazon, Starbucks)Recipient chooses their preferred brand.
RedemptionRedeemed directly with the selected brandRedeemed as the recipient's selected brand
DenominationFixed denomination or denomination range, depending on the brandFlexible face value
Best forTargeted rewards tied to a specific brandGeneral incentives and recipient choice

Both card types require a productId — but they come from different catalogs.

You can also browse all available branded cards visually in the portal: Brand Catalog (Please note that the public catalog may not reflect real-time availability. For the most accurate and up-to-date catalog data, utilize the API.)

Branded Card — Query the product catalog to find the brand you want to send. Each product corresponds to a specific brand and currency (e.g. Starbucks in USD).

GET /api/v1/catalog/branded-cards

Choice Card — Query the choice card catalog to find a card design. Each product corresponds to a card design, not a specific brand — the recipient picks the brand at redemption.

GET /api/v1/catalog/choice-cards

Branded Card order endpoint

POST /api/v1/orders/branded-cards — requires productId from the catalog.

JSON
{
  "productId": "GC-AMAZON-USD",
  "recipients": [
    { "firstName": "Alice", "email": "alice@giftronaut.com", "amount": 50 }
  ],
  ...
}

Choice Card order endpoint

POST /api/v1/orders/choice-cards — requires productId from the choice card catalog.

JSON
{
  "productId": "CHOICE-GLOBAL-USD",
  "recipients": [
    { "firstName": "Bob", "email": "bob@giftronaut.com", "amount": 100 }
  ],
  ...
}

Step 2 — Set up your delivery email

All gift cards are delivered by email. You can customize the sender name, subject line, message, brand logo, and colors using an email template.

Create a template

Templates control the banner image, layout, button colors, and border style of your delivery email. Create one with POST /api/v1/templates:

Banner image — The banner image is fixed to the default Giftronaut logo for security reasons. To use a custom banner, update it in the Giftronaut Portal ↗.
JSON
{
  "name": "Corporate Blue",
  "senderName": "Acme Corp",
  "message": "Enjoy your gift!",
  "imageAlignment": "center",
  "imageSize": 40,
  "borderColor": "#1F35FF",
  "buttonColor": "#1F35FF",
  "buttonFontColor": "#ffffff"
}

Save the templateId — you'll reference it when placing orders.

Template fields at a glance

Field
Type
Required
Description
name
string
Yes
Internal name for this template (max 100 chars)
senderName
string
Yes
Default sender name for emails using this template
message
string
No
Default gift message text
imageAlignment
string
No
left | center | right. Default center
imageSize
integer
No
Banner height as a percentage (1–100). Default 40
borderColor
string
No
Hex color for email border, e.g. #303033
buttonColor
string
No
Hex color for CTA button background
buttonFontColor
string
No
Hex color for CTA button text
Color fields must be valid 6-digit hex codes (#RRGGBB).
Deleting templates — The default template cannot be deleted. Templates referenced by active campaigns must be removed from those campaigns first.

Email template preview

Templates are applied to recipient emails as shown below.

Email template example
Logo image — For security reasons, the logo image is fixed to the default Giftronaut logo. If you need a custom logo, please update it through the Giftronaut Portal ↗.

How to change the email template logo image

  1. Log in to the Giftronaut portal and go to the dashboard.
  2. Navigate to Settings > Email Template.
  3. Click the Create button.
  4. Upload your logo image and click Save.
  5. Use the generated Template ID to display the uploaded image in recipient emails.
If no logo is uploaded, the default template logo will be applied.
You can also find your Template ID in the Email Template list.

Attach the template to an order

Include an emailSetting object in any order request to customize the delivery email:

JSON
{
  "productId": "CHOICE-GLOBAL-USD",
  "recipients": [ ... ],
  "emailSetting": {
    "senderName": "Acme Rewards",
    "subject": "Your reward is here!",
    "message": "Thank you for your contribution.",
    "templateId": "15"
  },
  ...
}
Field
Type
Required
Description
senderName
string
Yes
Display name shown in the email From header
subject
string
Yes
Email subject line
message
string
No
Personal message included in the gift email
templateId
string
No
Email template ID. Falls back to the organization's default template.
Learn More

Step 3 — Specify your recipients

There are two ways to specify recipients. For a quick one-off send, include them inline. For recurring sends, build an address book.

Option A — Inline recipients (one-off sends)

Include the recipient list directly in your order request. Each recipient can receive a different denomination.

JSON
{
  "recipients": [
    { "firstName": "Alice", "lastName": "Kim", "email": "alice@giftronaut.com", "amount": 50 },
    { "firstName": "Bob",   "lastName": "Lee", "email": "bob@giftronaut.com",   "amount": 25 }
  ]
}

Option B — Recipient address book (recurring sends)

Save recipients via POST /api/v1/recipients and organize them into groups. Reference a group in your order to avoid re-submitting the same list every time.

Recipient Groups

Step 4 — Place the order

Now put it all together. Pass your productId, templateId, recipients, and (optionally) a scheduled send time.

Shell
curl -X POST "https://api.giftronaut.com/api/v1/orders/branded-cards" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -H "X-Idempotency-Key: 550e8400-e29b-41d4-a716-446655440000" \
  -d '{
    "idempotencyKey": "550e8400-e29b-41d4-a716-446655440000",
    "productId": "10042",
    "emailSetting": {
      "senderName": "Acme Rewards",
      "subject": "Your gift has arrived!",
      "message": "Thank you for your contribution.",
      "templateId": "15"
    },
    "sendTiming": {
      "type": "SCHEDULED",
      "scheduledAt": "2024-12-25T09:00:00",
      "timezone": "America/New_York"
    },
    "recipients": [
      { "email": "alice@giftronaut.com", "firstName": "Alice", "lastName": "Kim", "amount": 50 }
    ]
  }'
Sending immediately? Omit sendTiming entirely, or set type to IMMEDIATE. Scheduled orders can be cancelled any time before scheduledAt using DELETE /api/v1/orders/{orderId} .
Always include an idempotency key. Add idempotencyKey to every order creation request. If the same key is submitted twice — say, due to a network timeout — the second request returns the original order instead of creating a duplicate.
Learn More