Skip to content

Brand Information

As well as performing transactions, our API can be used to retrieve information to help you automate as much as possible.

  • Brands - Gives you access to the product catalog - use this to stay up to date with brands available on your account, T&Cs and more.
  • Templates - As you'll read later, using up to date brand templates to display the digital gift cards is important. If you're receiving the raw gift code from us, use these API calls to check & update your copy of the templates.

Brands API response

When fetching brand information from our Brands endpoint, you will receive the following information:

NOTE

By default, the response will contain information about all the brands you have access to. You can request information for one brand at a time using the brand parameter.

AttributeExample valueDescription
slug"amazon"Unique brand identifier
name"Amazon"Brand name
typeSee Product TypeWhat type of brand is it?
statusSee StatusCurrent status of the brand
currency"GBP"Supported currency
discount3Discount percentage you receive
last_updated"2021-03-26T10:03:50+00:00"When the brand's info was last updated
transaction_typessee Transaction TypesList of available transaction types
delivery_methodssee Delivery MethodsList of available delivery methods
countries_servedsee Countries ServedList of countries the brand serves
gc_poolfalseIs the brand 'stocked'?
async_onlyfalseIs the brand asynchronous?
categoriessee CategoriesList of categories assigned to brand
vatsee VATVAT information
choicessee Choice LinksList of choices a Choice Link contains
digital_face_value_limitssee Face ValueAvailable face value information for digital cards
physical_face_value_limitssee Face ValueAvailable face value information for physical cards
denominationssee Face ValueAvailable denominations (string representation)
digital_denominationssee Face ValueAvailable denominations (numeric representation)
shipping_methodssee Shipping MethodsList of available physical delivery methods
last_refreshed_at"2023-03-21T14:44:33+00:00"When the api call was made

If you provide the detail query parameter with a boolean value of true, you'll also get the following information about the brand(s) in the API response under the detail key:

NOTE

The detail object will only contain the attributes which are both relevant, and we have been provided data, for the brand. Not every attribute listed below will be present in the response.

AttributeExample valueDescription
assetsSee Brand AssetsBrand logo and gift card images
balance_enquiry_url"https://example.com"Balance enquiry url provided by brand
barcodeSee BarcodesBarcode information
description"This brand is cool!"Description provided by brand
digital_activation_limit"Instant"If the gift card has an activation delay after it's purchased
digital_cancellation_window"Must be cancelled within 15 minutes of issuance"If there is a window between when a digital gift card was issued, and when it can be cancelled we will provide details in a human-readable text format
digital_general_restrictions"Can not be used on alcohol or tobacco products"If the brand has any additional restrictions on the use of their digital gift cards
expiry"2 years"Expiry rules provided by brand
instore_order_restrictions"N/A" or "5"If the brand has a limit on the amount of gift cards that be used in a single instore transaction
faq_url"https://example.com"FAQ url provided by brand
online_order_restrictions"N/A" or "5"If the brand has a limit on the amount of gift cards that be used in a single online transaction
physical_cancellation_window"30 days after sale"If there is a window between when the physical gift card was issued, and when it can be cancelled we will provide details in a human-readable text format
physical_general_restrictions"May not be used on the purchase of lottery tickets"If the brand has any additional restrictions on the use of their physical gift cards
redemption_instructions_url"https://example.com"Redemption instructions provided by brand
redemption_methodssee Redemption MethodsList of available redemption methods
terms_and_conditions_copysee T&CsT&Cs text provided by brand
terms_and_conditions_urlsee T&CsT&Cs URL provided by brand
website_url"https://example.com"brand's website

Product Type

A string value for the type of product is returned for each brand in the response.

For example:

json
"type": "gift-card"
"type": "gift-card"

The possible values are:

  • "gift-card" — the product is a gift card
  • "choice-link" — the product is a Choice Link. See Choice Links for more information.

Status

The status represents the current state of the brand on our platform. If the brand status is not ENABLED, a reason will be supplied.

For example:

json
"status": {
    "code": "DISABLED",
    "reason": "Relationship disabled by brand"
}
"status": {
    "code": "DISABLED",
    "reason": "Relationship disabled by brand"
}

The possible values for status.code are:

  • "ENABLED" - The brand is available to purchase.
  • "DISABLED" - The brand is not available to purchase.
  • "PAUSED" - You have switched off the brand on your account, so it is not available to purchase.

Transaction Types

Transaction Types define the different actions you can take using the specified brand.

For example:

json
"transaction_types": [
    "digital_issuance",
    "cancelled_digital_issuance",
    "balance_check"
]
"transaction_types": [
    "digital_issuance",
    "cancelled_digital_issuance",
    "balance_check"
]

Each transaction type is associated with an endpoint in our API:

Transaction TypeEndpoint
digital_issuancePOST /digital/issue
cancelled_digital_issuanceDEL /digital/issue
physical_activationPOST /physical/activate
physical_top_upPOST /physical/top-up
cancelled_physical_activationDEL /physical/activate
cancelled_physical_top_upDEL /physical/top-up
balance_checkPOST /digital/check-balance

POST /physical/check-balance

Delivery Methods

A delivery method defines the way in which a gift card can be provided to you.

For example:

json
"delivery_methods": [
    "code",
    "url",
    "wrapped"
]
"delivery_methods": [
    "code",
    "url",
    "wrapped"
]

Here are the possible values:

Delivery MethodDescription
codeThe raw gift card code/number.
url recommendedA hosted html template containing the gift card.
wrappedA hosted interactive 'unwrapping' experience containing the gift card.
emailOnly used for the Reward Pass product.

NOTE

See Displaying Gift Cards for more information

Countries Served

The countries a brand serves are returned as an array of ISO-3166 Alpha-2 codes:

json
"countries_served": [
    "GB"
]
"countries_served": [
    "GB"
]

NOTE

In most cases, only one country is served per brand. This is to more easily support localised assets on a per-brand basis.

Categories new

Each brand will have one or more categories associated with it. A brand's assigned categories will be returned in the response from the Brands API endpoint.

json
"categories": [
    "food-and-drink",
    "tv-and-movies"
]
"categories": [
    "food-and-drink",
    "tv-and-movies"
]

List of all categories

Here is a list of all the categories we currently support:

Category codeCategory name
babyBaby
beautyBeauty
booksBooks
carsCars
charityCharity
craftCraft
cryptocurrencyCryptocurrency
cyclingCycling
department-storeDepartment Store
fashionFashion
electronicsElectronics
food-and-drinkFood & Drink
gamingGaming
homeHome
jewelleryJewellery
musicMusic
otherOther
school-vouchersSchool Vouchers
sportsSports
supermarketSupermarket
toysToys
travel-and-leisureTravel & Leisure
tv-and-moviesTV & Movies

VAT

For those who require it, VAT information is returned about each brand.

json
"vat": {
    "exempt": false,
    "type": "MPV",
    "rate": 8.00
}
"vat": {
    "exempt": false,
    "type": "MPV",
    "rate": 8.00
}

NOTE

vat.type can either be "MPV", "SPV", or "TBC" (if not currently set).

Face Value

The possible face value that can be requested for a brand is returned in the API response. It can be defined in two different ways:

Open value

An 'Open value' brand will have an upper and lower maximum value along with a 'minor unit' which the requested value must be divisible by.

For digital gift cards, the digital_face_value_limits values apply.

For physical gift cards, the physical_face_value_limits values apply.

For example:

json
"digital_face_value_limits": {
    "lower": 10.00,
    "upper": 200.00,
    "minor_unit": 0.01
}
"digital_face_value_limits": {
    "lower": 10.00,
    "upper": 200.00,
    "minor_unit": 0.01
}

This means you can request any value between 10.00 and 200.00, so long as it is divisible by 0.01. So valid values would be 65.43, 23.09, 150.00, etc. And invalid values would be 9.99, 200.01, 50000.00, etc.

MINOR UNIT

With a minor_unit of 1, only whole numbers would be available. For example; 4.00, 19.00, and 75.00 are okay, but 51.53 and 10.99 are not.

With a minor_unit of 0.5, only numbers divisible by 0.5 would be available. For example; 4.00, 19.50, and 75.50 are okay, but 51.53 and 10.99 are not.

Fixed denominations

Some brands do not support 'open value' requests and instead offer a list of available values we call 'denominations'.

These values apply to both digital and physical gift cards.

json
"denominations": [
    10.00,
    20.00,
    25.00,
    50.00,
    100.00
]
"denominations": [
    10.00,
    20.00,
    25.00,
    50.00,
    100.00
]

Shipping Methods

Shipping methods are only relevant to certain brands and only possible with physical gift cards.

More information on this can be found here

Shipping method information is returned as an array of shipping method objects:

json
"shipping_methods": [
    {
        "standard": {
            "identifier": "standard",
            "description": "First Class",
            "cost": {
                "currency": "GBP",
                "amount": 1.3
            }
        }
    },
    {
        "standard-signed": {
            "identifier": "standard-signed",
            "description": "First Class Signed For",
            "cost": {
                "currency": "GBP",
                "amount": 2.42
            }
        }
    }
]
"shipping_methods": [
    {
        "standard": {
            "identifier": "standard",
            "description": "First Class",
            "cost": {
                "currency": "GBP",
                "amount": 1.3
            }
        }
    },
    {
        "standard-signed": {
            "identifier": "standard-signed",
            "description": "First Class Signed For",
            "cost": {
                "currency": "GBP",
                "amount": 2.42
            }
        }
    }
]

Brand Assets detail

Urls to the brand's logo and gift card image:

json
"assets": {
    "logo_url": "https://example.com",
    "gift_card_url": "https://example.com"
}
"assets": {
    "logo_url": "https://example.com",
    "gift_card_url": "https://example.com"
}

Barcodes detail

The barcode type used by the brand. If the brand does not support barcodes, "NONE" is returned instead.

json
"barcode": "C128"
"barcode": "C128"

2D barcode types:

  • "C128"
  • "C128A"
  • "C39"
  • "I25"

3D barcode types:

  • "QRCODE"
  • "PDF417"

More information on handling barcodes can be found here

Redemption Methods detail

Redemption methods describe how the end user is able to use/spend/redeem the gift card.

json
"redemption_methods": [
    "online",
    "instore"
]
"redemption_methods": [
    "online",
    "instore"
]
Redemption method codeDescription
onlineThis card can be redeemed online.
instoreThis card can be redeemed in-store.
phoneThis card can be redeemed over the phone.

Terms and Conditions detail

If the brand has supplied terms and conditions for their gift card, it will be returnd as either a string of text or as a url:

json
"terms_and_conditions_url": "https://example.com",
"terms_and_conditions_copy": "Lorem ipsum dolor sit amet, consectetur adipiscing el..."
"terms_and_conditions_url": "https://example.com",
"terms_and_conditions_copy": "Lorem ipsum dolor sit amet, consectetur adipiscing el..."